From 56f54d9bcb018f791c262e3b88011d7e24ce161e Mon Sep 17 00:00:00 2001 From: Michael Netshipise Date: Mon, 19 Jan 2026 06:22:42 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + grammar.js | 544 + package-lock.json | 39 + package.json | 42 + queries/highlights.scm | 120 + src/grammar.json | 2749 +++++ src/node-types.json | 1968 ++++ src/parser.c | 21527 +++++++++++++++++++++++++++++++++++++ src/tree_sitter/alloc.h | 54 + src/tree_sitter/array.h | 291 + src/tree_sitter/parser.h | 266 + tree-sitter.json | 24 + 12 files changed, 27625 insertions(+) create mode 100644 .gitignore create mode 100644 grammar.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 queries/highlights.scm create mode 100644 src/grammar.json create mode 100644 src/node-types.json create mode 100644 src/parser.c create mode 100644 src/tree_sitter/alloc.h create mode 100644 src/tree_sitter/array.h create mode 100644 src/tree_sitter/parser.h create mode 100644 tree-sitter.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..07e6e47 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules diff --git a/grammar.js b/grammar.js new file mode 100644 index 0000000..2e646ff --- /dev/null +++ b/grammar.js @@ -0,0 +1,544 @@ +/// +// @ts-check + +module.exports = grammar({ + name: "waltzing", + + extras: ($) => [/\s/], + + conflicts: ($) => [ + [$.expression, $.pattern], + [$.rust_path, $.expression], + [$.struct_pattern, $.expression], + [$.html_element], + [$.self_closing_function_tag, $.container_function_tag], + ], + + rules: { + // Root rule + template: ($) => repeat($.template_element), + + template_element: ($) => + choice( + $.use_statement, + $.import_statement, + $.struct_definition, + $.enum_definition, + $.function_definition, + $.template_node, + ), + + // Rust imports + use_statement: ($) => + seq("@use", $.rust_path, optional(seq("as", $.identifier))), + + // Use token() to properly handle :: in paths + rust_path: ($) => + token( + seq( + /[a-zA-Z_][a-zA-Z0-9_]*/, + repeat(seq("::", /[a-zA-Z_][a-zA-Z0-9_]*/)), + ), + ), + + // Template imports + import_statement: ($) => + seq("@import", $.string_literal, "as", $.identifier), + + // Struct definition + struct_definition: ($) => + seq( + "@struct", + optional($.attribute_list), + $.identifier, + optional($.generic_params), + "{", + repeat($.struct_field), + "}", + ), + + struct_field: ($) => + seq( + $.identifier, + optional($.attribute_list), + ":", + $.type_expression, + optional(","), + ), + + // Enum definition + enum_definition: ($) => + seq( + "@enum", + optional($.attribute_list), + $.identifier, + optional($.generic_params), + "{", + repeat($.enum_variant), + "}", + ), + + enum_variant: ($) => + seq( + $.identifier, + optional(seq("(", repeat(seq($.type_expression, optional(","))), ")")), + optional(","), + ), + + // Attribute list + attribute_list: ($) => + seq("[", optional(seq($.attribute, repeat(seq(",", $.attribute)))), "]"), + + attribute: ($) => + seq($.identifier, optional(seq("(", $.attribute_content, ")"))), + + attribute_content: ($) => /[^)]*/, + + generic_params: ($) => + seq("<", $.identifier, repeat(seq(",", $.identifier)), ">"), + + type_expression: ($) => $.rust_type, + + // Function definition + function_definition: ($) => + seq("@func", $.identifier, $.parameter_list, $.content_block), + + parameter_list: ($) => + seq( + "(", + optional( + seq($.parameter, repeat(seq(",", $.parameter)), optional(",")), + ), + ")", + ), + + parameter: ($) => + seq($.identifier, ":", $.rust_type, optional(seq("=", $.default_value))), + + default_value: ($) => $.expression, + + content_block: ($) => seq("{", repeat($.template_node), "}"), + + // Template nodes + template_node: ($) => + choice( + $.html_element, + $.function_tag, + $.template_expression, + $.template_control_flow, + $.comment, + $.embedded_language, + $.escape_at, + $.text_content, + ), + + // HTML elements + html_element: ($) => + choice( + // Self-closing tag + seq("<", $.tag_name, repeat($.html_attribute), "/", ">"), + // Void elements (no closing tag needed) + seq("<", $.tag_name, repeat($.html_attribute), ">"), + // Full element with content and closing tag + seq( + "<", + $.tag_name, + repeat($.html_attribute), + ">", + repeat($.template_node), + "", + ), + ), + + tag_name: ($) => /[a-zA-Z][a-zA-Z0-9-]*/, + + html_attribute: ($) => + seq($.attribute_name, optional(seq("=", $.attribute_value))), + + attribute_name: ($) => /[a-zA-Z_:@][a-zA-Z0-9_:.-]*/, + + attribute_value: ($) => + choice( + $.string_literal, + $.template_expression, + seq("@", "{", $.expression, "}"), + ), + + // Template expressions + template_expression: ($) => + choice($.simple_expression, $.complex_expression, $.safe_expression), + + simple_expression: ($) => seq("@", $.expression_path), + + complex_expression: ($) => seq("@", "(", $.expression, ")"), + + safe_expression: ($) => + seq( + "@", + "safe", + "(", + $.expression, + optional(seq(",", $.expression)), + ")", + ), + + expression_path: ($) => + seq( + $.identifier, + repeat( + choice( + seq(".", $.identifier), + seq("[", $.expression, "]"), + seq("(", optional($.argument_list), ")"), + ), + ), + ), + + // Control flow + template_control_flow: ($) => + choice( + $.if_statement, + $.for_loop, + $.match_statement, + $.break_statement, + $.continue_statement, + ), + + if_statement: ($) => + seq( + "@if", + optional(seq("let", $.pattern, "=")), + $.expression, + $.content_block, + repeat($.else_if_branch), + optional($.else_branch), + ), + + else_if_branch: ($) => + seq( + "else", + "if", + optional(seq("let", $.pattern, "=")), + $.expression, + $.content_block, + ), + + else_branch: ($) => seq("else", $.content_block), + + for_loop: ($) => + seq( + "@for", + optional(seq($.identifier, ":")), + $.pattern, + "in", + $.expression, + $.content_block, + ), + + match_statement: ($) => + seq("@match", $.expression, "{", repeat($.match_arm), "}"), + + match_arm: ($) => + seq( + $.pattern, + optional(seq("if", $.expression)), + "=>", + $.content_block, + optional(","), + ), + + break_statement: ($) => + seq("@break", optional(seq(":", $.identifier)), optional(";")), + + continue_statement: ($) => + seq("@continue", optional(seq(":", $.identifier)), optional(";")), + + // Function tags + function_tag: ($) => + choice($.self_closing_function_tag, $.container_function_tag), + + self_closing_function_tag: ($) => + seq( + "<@", + $.function_path, + repeat($.function_attribute), + optional("/"), + ">", + ), + + container_function_tag: ($) => + seq( + "<@", + $.function_path, + repeat($.function_attribute), + ">", + repeat($.template_node), + "", + ), + + function_path: ($) => + token( + seq( + /[a-zA-Z_][a-zA-Z0-9_]*/, + repeat(seq("::", /[a-zA-Z_][a-zA-Z0-9_]*/)), + ), + ), + + function_attribute: ($) => + choice( + $.attribute_reference, + $.named_function_attribute, + $.boolean_attribute, + ), + + attribute_reference: ($) => seq("@", optional("&"), $.identifier), + + named_function_attribute: ($) => + seq($.identifier, "=", $.function_attribute_value), + + boolean_attribute: ($) => $.identifier, + + function_attribute_value: ($) => + choice($.string_literal, seq("@", $.expression_path), $.unquoted_value), + + unquoted_value: ($) => /[^\s>=\/]+/, + + // Patterns + pattern: ($) => + choice( + $.wildcard_pattern, + $.tuple_pattern, + $.struct_pattern, + $.identifier_pattern, + $.literal, + ), + + wildcard_pattern: ($) => "_", + + identifier_pattern: ($) => $.identifier, + + struct_pattern: ($) => + seq( + $.rust_path, + "{", + repeat(seq($.field_pattern, optional(","))), + optional(".."), + "}", + ), + + field_pattern: ($) => seq($.identifier, optional(seq(":", $.pattern))), + + tuple_pattern: ($) => + seq("(", $.pattern, repeat(seq(",", $.pattern)), optional(","), ")"), + + // Expressions + expression: ($) => + choice($.binary_expression, $.unary_expression, $.primary_expression), + + binary_expression: ($) => + prec.left(1, seq($.expression, $.binary_operator, $.expression)), + + unary_expression: ($) => prec(2, seq($.unary_operator, $.expression)), + + primary_expression: ($) => + choice( + $.literal, + $.rust_path, + $.method_call, + $.field_access, + $.index_access, + $.parenthesized_expression, + $.array_literal, + $.closure_expression, + ), + + method_call: ($) => + prec.left( + 3, + seq( + $.primary_expression, + ".", + $.identifier, + "(", + optional($.argument_list), + ")", + ), + ), + + field_access: ($) => + prec.left(3, seq($.primary_expression, ".", $.identifier)), + + index_access: ($) => + prec.left(3, seq($.primary_expression, "[", $.expression, "]")), + + parenthesized_expression: ($) => seq("(", $.expression, ")"), + + array_literal: ($) => + seq( + "[", + optional( + seq($.expression, repeat(seq(",", $.expression)), optional(",")), + ), + "]", + ), + + closure_expression: ($) => + seq( + "|", + optional($.closure_params), + "|", + choice($.expression, $.content_block), + ), + + closure_params: ($) => seq($.identifier, repeat(seq(",", $.identifier))), + + argument_list: ($) => + seq($.expression, repeat(seq(",", $.expression)), optional(",")), + + // Operators + binary_operator: ($) => + choice( + "+", + "-", + "*", + "/", + "%", + "==", + "!=", + "<", + ">", + "<=", + ">=", + "&&", + "||", + "&", + "|", + "^", + "<<", + ">>", + ), + + unary_operator: ($) => choice("!", "-", "*", "&"), + + // Literals + literal: ($) => + choice( + $.string_literal, + $.char_literal, + $.number_literal, + $.boolean_literal, + ), + + string_literal: ($) => + seq('"', repeat(choice(/[^"\\]/, $.escape_sequence)), '"'), + + char_literal: ($) => seq("'", choice(/[^'\\]/, $.escape_sequence), "'"), + + escape_sequence: ($) => + /\\[nrt\\'\"0]|\\x[0-9a-fA-F]{2}|\\u\{[0-9a-fA-F]+\}/, + + number_literal: ($) => choice($.integer_literal, $.float_literal), + + integer_literal: ($) => + choice( + /[0-9][0-9_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?/, + /0x[0-9a-fA-F][0-9a-fA-F_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?/, + /0o[0-7][0-7_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?/, + /0b[01][01_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?/, + ), + + float_literal: ($) => /[0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9]+)?(f32|f64)?/, + + boolean_literal: ($) => choice("true", "false"), + + // Rust types + rust_type: ($) => + choice( + $.primitive_type, + $.reference_type, + $.generic_type, + $.path_type, + $.tuple_type, + $.array_type, + $.slice_type, + ), + + primitive_type: ($) => + choice( + "i8", + "i16", + "i32", + "i64", + "i128", + "isize", + "u8", + "u16", + "u32", + "u64", + "u128", + "usize", + "f32", + "f64", + "bool", + "char", + "str", + "String", + ), + + reference_type: ($) => seq("&", optional("mut"), $.rust_type), + + generic_type: ($) => + seq($.rust_path, "<", $.rust_type, repeat(seq(",", $.rust_type)), ">"), + + path_type: ($) => $.rust_path, + + tuple_type: ($) => + seq( + "(", + optional( + seq($.rust_type, repeat(seq(",", $.rust_type)), optional(",")), + ), + ")", + ), + + array_type: ($) => seq("[", $.rust_type, ";", $.expression, "]"), + + slice_type: ($) => seq("[", $.rust_type, "]"), + + // Comments + comment: ($) => choice($.template_comment, $.html_comment), + + // Template comment: @* ... *@ + template_comment: ($) => seq("@*", optional($.comment_content), "*@"), + + comment_content: ($) => /([^*]|\*[^@])*/, + + // HTML comment: + html_comment: ($) => seq(""), + + html_comment_content: ($) => /([^-]|-[^-]|--[^>])*/, + + // Embedded language blocks: @```lang ... ```@ + embedded_language: ($) => + seq("@```", $.language_name, optional($.embedded_content), "```@"), + + embedded_content: ($) => /([^`]|`[^`]|``[^`])*/, + + language_name: ($) => + choice("html", "css", "js", "javascript", "json", "alpine", "style"), + + // Escape sequence for literal @ + escape_at: ($) => "@@", + + // Text content - use negative precedence to prefer other rules + // Exclude {} to avoid capturing control flow elements + text_content: ($) => token(prec(-1, /[^<@{}\s][^<@{}]*/)), + + // Identifier + identifier: ($) => /[a-zA-Z_][a-zA-Z0-9_]*/, + }, +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6d36863 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,39 @@ +{ + "name": "tree-sitter-waltzing", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-waltzing", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "nan": "^2.17.0" + }, + "devDependencies": { + "tree-sitter-cli": "^0.24.0" + } + }, + "node_modules/nan": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.24.0.tgz", + "integrity": "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==", + "license": "MIT" + }, + "node_modules/tree-sitter-cli": { + "version": "0.24.7", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.24.7.tgz", + "integrity": "sha512-o4gnE82pVmMMhJbWwD6+I9yr4lXii5Ci5qEQ2pFpUbVy1YiD8cizTJaqdcznA0qEbo7l2OneI1GocChPrI4YGQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "tree-sitter": "cli.js" + }, + "engines": { + "node": ">=12.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..359b108 --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "waltzing-tree-sitter", + "version": "0.1.0", + "description": "Waltzing template language grammar for tree-sitter", + "main": "bindings/node", + "repository": { + "type": "git", + "url": "https://git.awesomike.com/dev/waltzing.git" + }, + "keywords": [ + "tree-sitter", + "parser", + "waltzing", + "template" + ], + "author": "Michael ", + "license": "MIT", + "dependencies": { + "nan": "^2.17.0" + }, + "devDependencies": { + "tree-sitter-cli": "^0.24.0" + }, + "scripts": { + "build": "tree-sitter generate", + "test": "tree-sitter test", + "parse": "tree-sitter parse" + }, + "tree-sitter": [ + { + "scope": "source.waltzing", + "file-types": [ + "wtz", + "html.wtz", + "css.wtz", + "js.wtz" + ], + "highlights": "queries/highlights.scm", + "injection-regex": "waltzing" + } + ] +} diff --git a/queries/highlights.scm b/queries/highlights.scm new file mode 100644 index 0000000..f224ed2 --- /dev/null +++ b/queries/highlights.scm @@ -0,0 +1,120 @@ +; Waltzing Template Highlights + +; Keywords +"@use" @keyword.import +"@import" @keyword.import +"@struct" @keyword.type +"@enum" @keyword.type +"@func" @keyword.function +"@if" @keyword.conditional +"@for" @keyword.repeat +"@match" @keyword.conditional +"@break" @keyword.control +"@continue" @keyword.control +"@safe" @keyword.function +"else" @keyword.conditional +"if" @keyword.conditional +"let" @keyword +"in" @keyword +"as" @keyword +"mut" @keyword + +; Operators +(binary_operator) @operator +(unary_operator) @operator +"=>" @operator +"=" @operator +"::" @punctuation.delimiter + +; Punctuation +"{" @punctuation.bracket +"}" @punctuation.bracket +"(" @punctuation.bracket +")" @punctuation.bracket +"[" @punctuation.bracket +"]" @punctuation.bracket +"<" @punctuation.bracket +">" @punctuation.bracket +"," @punctuation.delimiter +":" @punctuation.delimiter +";" @punctuation.delimiter + +; Literals +(string_literal) @string +(char_literal) @character +(number_literal) @number +(integer_literal) @number +(float_literal) @number +(boolean_literal) @boolean +(escape_sequence) @string.escape + +; Types +(primitive_type) @type.builtin +(rust_type) @type +(generic_params (identifier) @type) +(generic_type (rust_path) @type) + +; Struct/Enum definitions +(struct_definition (identifier) @type.definition) +(enum_definition (identifier) @type.definition) +(struct_field (identifier) @property) +(enum_variant (identifier) @constructor) + +; Functions +(function_definition (identifier) @function.definition) +(parameter (identifier) @variable.parameter) + +; Function tags (component calls) +(function_path) @function +(self_closing_function_tag) @tag +(container_function_tag) @tag +"<@" @tag.delimiter +"" + } + ] + }, + "type_expression": { + "type": "SYMBOL", + "name": "rust_type" + }, + "function_definition": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@func" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "parameter_list" + }, + { + "type": "SYMBOL", + "name": "content_block" + } + ] + }, + "parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "parameter" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "parameter" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "parameter": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "rust_type" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "default_value" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "default_value": { + "type": "SYMBOL", + "name": "expression" + }, + "content_block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "template_node" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "template_node": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "html_element" + }, + { + "type": "SYMBOL", + "name": "function_tag" + }, + { + "type": "SYMBOL", + "name": "template_expression" + }, + { + "type": "SYMBOL", + "name": "template_control_flow" + }, + { + "type": "SYMBOL", + "name": "comment" + }, + { + "type": "SYMBOL", + "name": "embedded_language" + }, + { + "type": "SYMBOL", + "name": "escape_at" + }, + { + "type": "SYMBOL", + "name": "text_content" + } + ] + }, + "html_element": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "SYMBOL", + "name": "tag_name" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "html_attribute" + } + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": ">" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "SYMBOL", + "name": "tag_name" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "html_attribute" + } + }, + { + "type": "STRING", + "value": ">" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "SYMBOL", + "name": "tag_name" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "html_attribute" + } + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "template_node" + } + }, + { + "type": "STRING", + "value": "" + } + ] + } + ] + }, + "tag_name": { + "type": "PATTERN", + "value": "[a-zA-Z][a-zA-Z0-9-]*" + }, + "html_attribute": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_name" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "attribute_value" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "attribute_name": { + "type": "PATTERN", + "value": "[a-zA-Z_:@][a-zA-Z0-9_:.-]*" + }, + "attribute_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "template_expression" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "}" + } + ] + } + ] + }, + "template_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "simple_expression" + }, + { + "type": "SYMBOL", + "name": "complex_expression" + }, + { + "type": "SYMBOL", + "name": "safe_expression" + } + ] + }, + "simple_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "SYMBOL", + "name": "expression_path" + } + ] + }, + "complex_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "safe_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "safe" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "expression_path": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + } + ] + }, + "template_control_flow": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "if_statement" + }, + { + "type": "SYMBOL", + "name": "for_loop" + }, + { + "type": "SYMBOL", + "name": "match_statement" + }, + { + "type": "SYMBOL", + "name": "break_statement" + }, + { + "type": "SYMBOL", + "name": "continue_statement" + } + ] + }, + "if_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@if" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "SYMBOL", + "name": "pattern" + }, + { + "type": "STRING", + "value": "=" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "content_block" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "else_if_branch" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "else_branch" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "else_if_branch": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "STRING", + "value": "if" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "SYMBOL", + "name": "pattern" + }, + { + "type": "STRING", + "value": "=" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "content_block" + } + ] + }, + "else_branch": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "SYMBOL", + "name": "content_block" + } + ] + }, + "for_loop": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@for" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "pattern" + }, + { + "type": "STRING", + "value": "in" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "content_block" + } + ] + }, + "match_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@match" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "match_arm" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "match_arm": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "pattern" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "SYMBOL", + "name": "content_block" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "break_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@break" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "continue_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@continue" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "function_tag": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "self_closing_function_tag" + }, + { + "type": "SYMBOL", + "name": "container_function_tag" + } + ] + }, + "self_closing_function_tag": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<@" + }, + { + "type": "SYMBOL", + "name": "function_path" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "function_attribute" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "/" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ">" + } + ] + }, + "container_function_tag": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<@" + }, + { + "type": "SYMBOL", + "name": "function_path" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "function_attribute" + } + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "template_node" + } + }, + { + "type": "STRING", + "value": "" + } + ] + }, + "function_path": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[a-zA-Z_][a-zA-Z0-9_]*" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "::" + }, + { + "type": "PATTERN", + "value": "[a-zA-Z_][a-zA-Z0-9_]*" + } + ] + } + } + ] + } + }, + "function_attribute": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_reference" + }, + { + "type": "SYMBOL", + "name": "named_function_attribute" + }, + { + "type": "SYMBOL", + "name": "boolean_attribute" + } + ] + }, + "attribute_reference": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "named_function_attribute": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "function_attribute_value" + } + ] + }, + "boolean_attribute": { + "type": "SYMBOL", + "name": "identifier" + }, + "function_attribute_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "SYMBOL", + "name": "expression_path" + } + ] + }, + { + "type": "SYMBOL", + "name": "unquoted_value" + } + ] + }, + "unquoted_value": { + "type": "PATTERN", + "value": "[^\\s>=\\/]+" + }, + "pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "wildcard_pattern" + }, + { + "type": "SYMBOL", + "name": "tuple_pattern" + }, + { + "type": "SYMBOL", + "name": "struct_pattern" + }, + { + "type": "SYMBOL", + "name": "identifier_pattern" + }, + { + "type": "SYMBOL", + "name": "literal" + } + ] + }, + "wildcard_pattern": { + "type": "STRING", + "value": "_" + }, + "identifier_pattern": { + "type": "SYMBOL", + "name": "identifier" + }, + "struct_pattern": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "rust_path" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "field_pattern" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ".." + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "field_pattern": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "pattern" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "tuple_pattern": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "pattern" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "binary_expression" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + }, + { + "type": "SYMBOL", + "name": "primary_expression" + } + ] + }, + "binary_expression": { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "binary_operator" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + "unary_expression": { + "type": "PREC", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "unary_operator" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + "primary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "literal" + }, + { + "type": "SYMBOL", + "name": "rust_path" + }, + { + "type": "SYMBOL", + "name": "method_call" + }, + { + "type": "SYMBOL", + "name": "field_access" + }, + { + "type": "SYMBOL", + "name": "index_access" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + }, + { + "type": "SYMBOL", + "name": "array_literal" + }, + { + "type": "SYMBOL", + "name": "closure_expression" + } + ] + }, + "method_call": { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "primary_expression" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "field_access": { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "primary_expression" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + }, + "index_access": { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "primary_expression" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "parenthesized_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "array_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "closure_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "|" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "closure_params" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "content_block" + } + ] + } + ] + }, + "closure_params": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + }, + "argument_list": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "binary_operator": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + }, + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">=" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "||" + }, + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "STRING", + "value": "^" + }, + { + "type": "STRING", + "value": "<<" + }, + { + "type": "STRING", + "value": ">>" + } + ] + }, + "unary_operator": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "&" + } + ] + }, + "literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "boolean_literal" + } + ] + }, + "string_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^\"\\\\]" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "char_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^'\\\\]" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + "escape_sequence": { + "type": "PATTERN", + "value": "\\\\[nrt\\\\'\\\"0]|\\\\x[0-9a-fA-F]{2}|\\\\u\\{[0-9a-fA-F]+\\}" + }, + "number_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "integer_literal" + }, + { + "type": "SYMBOL", + "name": "float_literal" + } + ] + }, + "integer_literal": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[0-9][0-9_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?" + }, + { + "type": "PATTERN", + "value": "0x[0-9a-fA-F][0-9a-fA-F_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?" + }, + { + "type": "PATTERN", + "value": "0o[0-7][0-7_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?" + }, + { + "type": "PATTERN", + "value": "0b[01][01_]*(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize)?" + } + ] + }, + "float_literal": { + "type": "PATTERN", + "value": "[0-9][0-9_]*\\.[0-9_]*([eE][+-]?[0-9]+)?(f32|f64)?" + }, + "boolean_literal": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "true" + }, + { + "type": "STRING", + "value": "false" + } + ] + }, + "rust_type": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "reference_type" + }, + { + "type": "SYMBOL", + "name": "generic_type" + }, + { + "type": "SYMBOL", + "name": "path_type" + }, + { + "type": "SYMBOL", + "name": "tuple_type" + }, + { + "type": "SYMBOL", + "name": "array_type" + }, + { + "type": "SYMBOL", + "name": "slice_type" + } + ] + }, + "primitive_type": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "i8" + }, + { + "type": "STRING", + "value": "i16" + }, + { + "type": "STRING", + "value": "i32" + }, + { + "type": "STRING", + "value": "i64" + }, + { + "type": "STRING", + "value": "i128" + }, + { + "type": "STRING", + "value": "isize" + }, + { + "type": "STRING", + "value": "u8" + }, + { + "type": "STRING", + "value": "u16" + }, + { + "type": "STRING", + "value": "u32" + }, + { + "type": "STRING", + "value": "u64" + }, + { + "type": "STRING", + "value": "u128" + }, + { + "type": "STRING", + "value": "usize" + }, + { + "type": "STRING", + "value": "f32" + }, + { + "type": "STRING", + "value": "f64" + }, + { + "type": "STRING", + "value": "bool" + }, + { + "type": "STRING", + "value": "char" + }, + { + "type": "STRING", + "value": "str" + }, + { + "type": "STRING", + "value": "String" + } + ] + }, + "reference_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "mut" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "rust_type" + } + ] + }, + "generic_type": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "rust_path" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "SYMBOL", + "name": "rust_type" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "rust_type" + } + ] + } + }, + { + "type": "STRING", + "value": ">" + } + ] + }, + "path_type": { + "type": "SYMBOL", + "name": "rust_path" + }, + "tuple_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "rust_type" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "rust_type" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "array_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "rust_type" + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "slice_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "rust_type" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "comment": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "template_comment" + }, + { + "type": "SYMBOL", + "name": "html_comment" + } + ] + }, + "template_comment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@*" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "comment_content" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*@" + } + ] + }, + "comment_content": { + "type": "PATTERN", + "value": "([^*]|\\*[^@])*" + }, + "html_comment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "" + } + ] + }, + "html_comment_content": { + "type": "PATTERN", + "value": "([^-]|-[^-]|--[^>])*" + }, + "embedded_language": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@```" + }, + { + "type": "SYMBOL", + "name": "language_name" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "embedded_content" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "```@" + } + ] + }, + "embedded_content": { + "type": "PATTERN", + "value": "([^`]|`[^`]|``[^`])*" + }, + "language_name": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "html" + }, + { + "type": "STRING", + "value": "css" + }, + { + "type": "STRING", + "value": "js" + }, + { + "type": "STRING", + "value": "javascript" + }, + { + "type": "STRING", + "value": "json" + }, + { + "type": "STRING", + "value": "alpine" + }, + { + "type": "STRING", + "value": "style" + } + ] + }, + "escape_at": { + "type": "STRING", + "value": "@@" + }, + "text_content": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": -1, + "content": { + "type": "PATTERN", + "value": "[^<@{}\\s][^<@{}]*" + } + } + }, + "identifier": { + "type": "PATTERN", + "value": "[a-zA-Z_][a-zA-Z0-9_]*" + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s" + } + ], + "conflicts": [ + [ + "expression", + "pattern" + ], + [ + "rust_path", + "expression" + ], + [ + "struct_pattern", + "expression" + ], + [ + "html_element" + ], + [ + "self_closing_function_tag", + "container_function_tag" + ] + ], + "precedences": [], + "externals": [], + "inline": [], + "supertypes": [] +} diff --git a/src/node-types.json b/src/node-types.json new file mode 100644 index 0000000..70c106b --- /dev/null +++ b/src/node-types.json @@ -0,0 +1,1968 @@ +[ + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "array_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "array_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "attribute", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_content", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "attribute_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "attribute_reference", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "attribute_value", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "template_expression", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "binary_operator", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "binary_operator", + "named": true, + "fields": {} + }, + { + "type": "boolean_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "boolean_literal", + "named": true, + "fields": {} + }, + { + "type": "break_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "char_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + } + ] + } + }, + { + "type": "closure_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "closure_params", + "named": true + }, + { + "type": "content_block", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "closure_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "comment", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "html_comment", + "named": true + }, + { + "type": "template_comment", + "named": true + } + ] + } + }, + { + "type": "complex_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "container_function_tag", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "function_attribute", + "named": true + }, + { + "type": "function_path", + "named": true + }, + { + "type": "template_node", + "named": true + } + ] + } + }, + { + "type": "content_block", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "template_node", + "named": true + } + ] + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "default_value", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "else_branch", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + } + ] + } + }, + { + "type": "else_if_branch", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "embedded_language", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "embedded_content", + "named": true + }, + { + "type": "language_name", + "named": true + } + ] + } + }, + { + "type": "enum_definition", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_list", + "named": true + }, + { + "type": "enum_variant", + "named": true + }, + { + "type": "generic_params", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "enum_variant", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "type_expression", + "named": true + } + ] + } + }, + { + "type": "expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "expression_path", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "field_access", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "primary_expression", + "named": true + } + ] + } + }, + { + "type": "field_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "for_loop", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "function_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attribute_reference", + "named": true + }, + { + "type": "boolean_attribute", + "named": true + }, + { + "type": "named_function_attribute", + "named": true + } + ] + } + }, + { + "type": "function_attribute_value", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression_path", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "unquoted_value", + "named": true + } + ] + } + }, + { + "type": "function_definition", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "parameter_list", + "named": true + } + ] + } + }, + { + "type": "function_path", + "named": true, + "fields": {} + }, + { + "type": "function_tag", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "container_function_tag", + "named": true + }, + { + "type": "self_closing_function_tag", + "named": true + } + ] + } + }, + { + "type": "generic_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "generic_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "rust_path", + "named": true + }, + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "html_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_name", + "named": true + }, + { + "type": "attribute_value", + "named": true + } + ] + } + }, + { + "type": "html_comment", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "html_comment_content", + "named": true + } + ] + } + }, + { + "type": "html_element", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "html_attribute", + "named": true + }, + { + "type": "tag_name", + "named": true + }, + { + "type": "template_node", + "named": true + } + ] + } + }, + { + "type": "identifier_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "if_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + }, + { + "type": "else_branch", + "named": true + }, + { + "type": "else_if_branch", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "import_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "index_access", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + } + ] + } + }, + { + "type": "integer_literal", + "named": true, + "fields": {} + }, + { + "type": "language_name", + "named": true, + "fields": {} + }, + { + "type": "literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "match_arm", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "content_block", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "match_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "match_arm", + "named": true + } + ] + } + }, + { + "type": "method_call", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "primary_expression", + "named": true + } + ] + } + }, + { + "type": "named_function_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "function_attribute_value", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "number_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "float_literal", + "named": true + }, + { + "type": "integer_literal", + "named": true + } + ] + } + }, + { + "type": "parameter", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "default_value", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "parameter", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "path_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "rust_path", + "named": true + } + ] + } + }, + { + "type": "pattern", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier_pattern", + "named": true + }, + { + "type": "literal", + "named": true + }, + { + "type": "struct_pattern", + "named": true + }, + { + "type": "tuple_pattern", + "named": true + }, + { + "type": "wildcard_pattern", + "named": true + } + ] + } + }, + { + "type": "primary_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_literal", + "named": true + }, + { + "type": "closure_expression", + "named": true + }, + { + "type": "field_access", + "named": true + }, + { + "type": "index_access", + "named": true + }, + { + "type": "literal", + "named": true + }, + { + "type": "method_call", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "rust_path", + "named": true + } + ] + } + }, + { + "type": "primitive_type", + "named": true, + "fields": {} + }, + { + "type": "reference_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "rust_path", + "named": true, + "fields": {} + }, + { + "type": "rust_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_type", + "named": true + }, + { + "type": "generic_type", + "named": true + }, + { + "type": "path_type", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "reference_type", + "named": true + }, + { + "type": "slice_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + } + ] + } + }, + { + "type": "safe_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "self_closing_function_tag", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "function_attribute", + "named": true + }, + { + "type": "function_path", + "named": true + } + ] + } + }, + { + "type": "simple_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression_path", + "named": true + } + ] + } + }, + { + "type": "slice_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + } + ] + } + }, + { + "type": "struct_definition", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_list", + "named": true + }, + { + "type": "generic_params", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "struct_field", + "named": true + } + ] + } + }, + { + "type": "struct_field", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_list", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "type_expression", + "named": true + } + ] + } + }, + { + "type": "struct_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_pattern", + "named": true + }, + { + "type": "rust_path", + "named": true + } + ] + } + }, + { + "type": "template", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "template_element", + "named": true + } + ] + } + }, + { + "type": "template_comment", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comment_content", + "named": true + } + ] + } + }, + { + "type": "template_control_flow", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "break_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "match_statement", + "named": true + } + ] + } + }, + { + "type": "template_element", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "enum_definition", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "import_statement", + "named": true + }, + { + "type": "struct_definition", + "named": true + }, + { + "type": "template_node", + "named": true + }, + { + "type": "use_statement", + "named": true + } + ] + } + }, + { + "type": "template_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "complex_expression", + "named": true + }, + { + "type": "safe_expression", + "named": true + }, + { + "type": "simple_expression", + "named": true + } + ] + } + }, + { + "type": "template_node", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comment", + "named": true + }, + { + "type": "embedded_language", + "named": true + }, + { + "type": "escape_at", + "named": true + }, + { + "type": "function_tag", + "named": true + }, + { + "type": "html_element", + "named": true + }, + { + "type": "template_control_flow", + "named": true + }, + { + "type": "template_expression", + "named": true + }, + { + "type": "text_content", + "named": true + } + ] + } + }, + { + "type": "tuple_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "tuple_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "type_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "rust_type", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "unary_operator", + "named": true + } + ] + } + }, + { + "type": "unary_operator", + "named": true, + "fields": {} + }, + { + "type": "use_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "rust_path", + "named": true + } + ] + } + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*@", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "-->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "..", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "", + [sym_html_comment_content] = "html_comment_content", + [anon_sym_AT_BQUOTE_BQUOTE_BQUOTE] = "@```", + [anon_sym_BQUOTE_BQUOTE_BQUOTE_AT] = "```@", + [sym_embedded_content] = "embedded_content", + [anon_sym_html] = "html", + [anon_sym_css] = "css", + [anon_sym_js] = "js", + [anon_sym_javascript] = "javascript", + [anon_sym_json] = "json", + [anon_sym_alpine] = "alpine", + [anon_sym_style] = "style", + [sym_escape_at] = "escape_at", + [sym_text_content] = "text_content", + [sym_identifier] = "identifier", + [sym_template] = "template", + [sym_template_element] = "template_element", + [sym_use_statement] = "use_statement", + [sym_rust_path] = "rust_path", + [sym_import_statement] = "import_statement", + [sym_struct_definition] = "struct_definition", + [sym_struct_field] = "struct_field", + [sym_enum_definition] = "enum_definition", + [sym_enum_variant] = "enum_variant", + [sym_attribute_list] = "attribute_list", + [sym_attribute] = "attribute", + [sym_generic_params] = "generic_params", + [sym_type_expression] = "type_expression", + [sym_function_definition] = "function_definition", + [sym_parameter_list] = "parameter_list", + [sym_parameter] = "parameter", + [sym_default_value] = "default_value", + [sym_content_block] = "content_block", + [sym_template_node] = "template_node", + [sym_html_element] = "html_element", + [sym_html_attribute] = "html_attribute", + [sym_attribute_value] = "attribute_value", + [sym_template_expression] = "template_expression", + [sym_simple_expression] = "simple_expression", + [sym_complex_expression] = "complex_expression", + [sym_safe_expression] = "safe_expression", + [sym_expression_path] = "expression_path", + [sym_template_control_flow] = "template_control_flow", + [sym_if_statement] = "if_statement", + [sym_else_if_branch] = "else_if_branch", + [sym_else_branch] = "else_branch", + [sym_for_loop] = "for_loop", + [sym_match_statement] = "match_statement", + [sym_match_arm] = "match_arm", + [sym_break_statement] = "break_statement", + [sym_continue_statement] = "continue_statement", + [sym_function_tag] = "function_tag", + [sym_self_closing_function_tag] = "self_closing_function_tag", + [sym_container_function_tag] = "container_function_tag", + [sym_function_path] = "function_path", + [sym_function_attribute] = "function_attribute", + [sym_attribute_reference] = "attribute_reference", + [sym_named_function_attribute] = "named_function_attribute", + [sym_boolean_attribute] = "boolean_attribute", + [sym_function_attribute_value] = "function_attribute_value", + [sym_pattern] = "pattern", + [sym_identifier_pattern] = "identifier_pattern", + [sym_struct_pattern] = "struct_pattern", + [sym_field_pattern] = "field_pattern", + [sym_tuple_pattern] = "tuple_pattern", + [sym_expression] = "expression", + [sym_binary_expression] = "binary_expression", + [sym_unary_expression] = "unary_expression", + [sym_primary_expression] = "primary_expression", + [sym_method_call] = "method_call", + [sym_field_access] = "field_access", + [sym_index_access] = "index_access", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_array_literal] = "array_literal", + [sym_closure_expression] = "closure_expression", + [sym_closure_params] = "closure_params", + [sym_argument_list] = "argument_list", + [sym_binary_operator] = "binary_operator", + [sym_unary_operator] = "unary_operator", + [sym_literal] = "literal", + [sym_string_literal] = "string_literal", + [sym_char_literal] = "char_literal", + [sym_number_literal] = "number_literal", + [sym_integer_literal] = "integer_literal", + [sym_boolean_literal] = "boolean_literal", + [sym_rust_type] = "rust_type", + [sym_primitive_type] = "primitive_type", + [sym_reference_type] = "reference_type", + [sym_generic_type] = "generic_type", + [sym_path_type] = "path_type", + [sym_tuple_type] = "tuple_type", + [sym_array_type] = "array_type", + [sym_slice_type] = "slice_type", + [sym_comment] = "comment", + [sym_template_comment] = "template_comment", + [sym_html_comment] = "html_comment", + [sym_embedded_language] = "embedded_language", + [sym_language_name] = "language_name", + [aux_sym_template_repeat1] = "template_repeat1", + [aux_sym_struct_definition_repeat1] = "struct_definition_repeat1", + [aux_sym_enum_definition_repeat1] = "enum_definition_repeat1", + [aux_sym_enum_variant_repeat1] = "enum_variant_repeat1", + [aux_sym_attribute_list_repeat1] = "attribute_list_repeat1", + [aux_sym_generic_params_repeat1] = "generic_params_repeat1", + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", + [aux_sym_content_block_repeat1] = "content_block_repeat1", + [aux_sym_html_element_repeat1] = "html_element_repeat1", + [aux_sym_expression_path_repeat1] = "expression_path_repeat1", + [aux_sym_if_statement_repeat1] = "if_statement_repeat1", + [aux_sym_match_statement_repeat1] = "match_statement_repeat1", + [aux_sym_self_closing_function_tag_repeat1] = "self_closing_function_tag_repeat1", + [aux_sym_struct_pattern_repeat1] = "struct_pattern_repeat1", + [aux_sym_tuple_pattern_repeat1] = "tuple_pattern_repeat1", + [aux_sym_array_literal_repeat1] = "array_literal_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", + [aux_sym_generic_type_repeat1] = "generic_type_repeat1", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [anon_sym_ATuse] = anon_sym_ATuse, + [anon_sym_as] = anon_sym_as, + [aux_sym_rust_path_token1] = aux_sym_rust_path_token1, + [anon_sym_ATimport] = anon_sym_ATimport, + [anon_sym_ATstruct] = anon_sym_ATstruct, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_ATenum] = anon_sym_ATenum, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [sym_attribute_content] = sym_attribute_content, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_ATfunc] = anon_sym_ATfunc, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_LT_SLASH] = anon_sym_LT_SLASH, + [sym_tag_name] = sym_tag_name, + [sym_attribute_name] = sym_attribute_name, + [anon_sym_AT] = anon_sym_AT, + [anon_sym_safe] = anon_sym_safe, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_ATif] = anon_sym_ATif, + [anon_sym_let] = anon_sym_let, + [anon_sym_else] = anon_sym_else, + [anon_sym_if] = anon_sym_if, + [anon_sym_ATfor] = anon_sym_ATfor, + [anon_sym_in] = anon_sym_in, + [anon_sym_ATmatch] = anon_sym_ATmatch, + [anon_sym_EQ_GT] = anon_sym_EQ_GT, + [anon_sym_ATbreak] = anon_sym_ATbreak, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_ATcontinue] = anon_sym_ATcontinue, + [anon_sym_LT_AT] = anon_sym_LT_AT, + [anon_sym_LT_SLASH_AT] = anon_sym_LT_SLASH_AT, + [anon_sym_AMP] = anon_sym_AMP, + [sym_unquoted_value] = sym_unquoted_value, + [sym_wildcard_pattern] = sym_wildcard_pattern, + [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym_char_literal_token1] = aux_sym_char_literal_token1, + [sym_escape_sequence] = sym_escape_sequence, + [aux_sym_integer_literal_token1] = aux_sym_integer_literal_token1, + [aux_sym_integer_literal_token2] = aux_sym_integer_literal_token2, + [aux_sym_integer_literal_token3] = aux_sym_integer_literal_token3, + [aux_sym_integer_literal_token4] = aux_sym_integer_literal_token4, + [sym_float_literal] = sym_float_literal, + [anon_sym_true] = anon_sym_true, + [anon_sym_false] = anon_sym_false, + [anon_sym_i8] = anon_sym_i8, + [anon_sym_i16] = anon_sym_i16, + [anon_sym_i32] = anon_sym_i32, + [anon_sym_i64] = anon_sym_i64, + [anon_sym_i128] = anon_sym_i128, + [anon_sym_isize] = anon_sym_isize, + [anon_sym_u8] = anon_sym_u8, + [anon_sym_u16] = anon_sym_u16, + [anon_sym_u32] = anon_sym_u32, + [anon_sym_u64] = anon_sym_u64, + [anon_sym_u128] = anon_sym_u128, + [anon_sym_usize] = anon_sym_usize, + [anon_sym_f32] = anon_sym_f32, + [anon_sym_f64] = anon_sym_f64, + [anon_sym_bool] = anon_sym_bool, + [anon_sym_char] = anon_sym_char, + [anon_sym_str] = anon_sym_str, + [anon_sym_String] = anon_sym_String, + [anon_sym_mut] = anon_sym_mut, + [anon_sym_AT_STAR] = anon_sym_AT_STAR, + [anon_sym_STAR_AT] = anon_sym_STAR_AT, + [sym_comment_content] = sym_comment_content, + [anon_sym_LT_BANG_DASH_DASH] = anon_sym_LT_BANG_DASH_DASH, + [anon_sym_DASH_DASH_GT] = anon_sym_DASH_DASH_GT, + [sym_html_comment_content] = sym_html_comment_content, + [anon_sym_AT_BQUOTE_BQUOTE_BQUOTE] = anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + [anon_sym_BQUOTE_BQUOTE_BQUOTE_AT] = anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + [sym_embedded_content] = sym_embedded_content, + [anon_sym_html] = anon_sym_html, + [anon_sym_css] = anon_sym_css, + [anon_sym_js] = anon_sym_js, + [anon_sym_javascript] = anon_sym_javascript, + [anon_sym_json] = anon_sym_json, + [anon_sym_alpine] = anon_sym_alpine, + [anon_sym_style] = anon_sym_style, + [sym_escape_at] = sym_escape_at, + [sym_text_content] = sym_text_content, + [sym_identifier] = sym_identifier, + [sym_template] = sym_template, + [sym_template_element] = sym_template_element, + [sym_use_statement] = sym_use_statement, + [sym_rust_path] = sym_rust_path, + [sym_import_statement] = sym_import_statement, + [sym_struct_definition] = sym_struct_definition, + [sym_struct_field] = sym_struct_field, + [sym_enum_definition] = sym_enum_definition, + [sym_enum_variant] = sym_enum_variant, + [sym_attribute_list] = sym_attribute_list, + [sym_attribute] = sym_attribute, + [sym_generic_params] = sym_generic_params, + [sym_type_expression] = sym_type_expression, + [sym_function_definition] = sym_function_definition, + [sym_parameter_list] = sym_parameter_list, + [sym_parameter] = sym_parameter, + [sym_default_value] = sym_default_value, + [sym_content_block] = sym_content_block, + [sym_template_node] = sym_template_node, + [sym_html_element] = sym_html_element, + [sym_html_attribute] = sym_html_attribute, + [sym_attribute_value] = sym_attribute_value, + [sym_template_expression] = sym_template_expression, + [sym_simple_expression] = sym_simple_expression, + [sym_complex_expression] = sym_complex_expression, + [sym_safe_expression] = sym_safe_expression, + [sym_expression_path] = sym_expression_path, + [sym_template_control_flow] = sym_template_control_flow, + [sym_if_statement] = sym_if_statement, + [sym_else_if_branch] = sym_else_if_branch, + [sym_else_branch] = sym_else_branch, + [sym_for_loop] = sym_for_loop, + [sym_match_statement] = sym_match_statement, + [sym_match_arm] = sym_match_arm, + [sym_break_statement] = sym_break_statement, + [sym_continue_statement] = sym_continue_statement, + [sym_function_tag] = sym_function_tag, + [sym_self_closing_function_tag] = sym_self_closing_function_tag, + [sym_container_function_tag] = sym_container_function_tag, + [sym_function_path] = sym_function_path, + [sym_function_attribute] = sym_function_attribute, + [sym_attribute_reference] = sym_attribute_reference, + [sym_named_function_attribute] = sym_named_function_attribute, + [sym_boolean_attribute] = sym_boolean_attribute, + [sym_function_attribute_value] = sym_function_attribute_value, + [sym_pattern] = sym_pattern, + [sym_identifier_pattern] = sym_identifier_pattern, + [sym_struct_pattern] = sym_struct_pattern, + [sym_field_pattern] = sym_field_pattern, + [sym_tuple_pattern] = sym_tuple_pattern, + [sym_expression] = sym_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_primary_expression] = sym_primary_expression, + [sym_method_call] = sym_method_call, + [sym_field_access] = sym_field_access, + [sym_index_access] = sym_index_access, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_array_literal] = sym_array_literal, + [sym_closure_expression] = sym_closure_expression, + [sym_closure_params] = sym_closure_params, + [sym_argument_list] = sym_argument_list, + [sym_binary_operator] = sym_binary_operator, + [sym_unary_operator] = sym_unary_operator, + [sym_literal] = sym_literal, + [sym_string_literal] = sym_string_literal, + [sym_char_literal] = sym_char_literal, + [sym_number_literal] = sym_number_literal, + [sym_integer_literal] = sym_integer_literal, + [sym_boolean_literal] = sym_boolean_literal, + [sym_rust_type] = sym_rust_type, + [sym_primitive_type] = sym_primitive_type, + [sym_reference_type] = sym_reference_type, + [sym_generic_type] = sym_generic_type, + [sym_path_type] = sym_path_type, + [sym_tuple_type] = sym_tuple_type, + [sym_array_type] = sym_array_type, + [sym_slice_type] = sym_slice_type, + [sym_comment] = sym_comment, + [sym_template_comment] = sym_template_comment, + [sym_html_comment] = sym_html_comment, + [sym_embedded_language] = sym_embedded_language, + [sym_language_name] = sym_language_name, + [aux_sym_template_repeat1] = aux_sym_template_repeat1, + [aux_sym_struct_definition_repeat1] = aux_sym_struct_definition_repeat1, + [aux_sym_enum_definition_repeat1] = aux_sym_enum_definition_repeat1, + [aux_sym_enum_variant_repeat1] = aux_sym_enum_variant_repeat1, + [aux_sym_attribute_list_repeat1] = aux_sym_attribute_list_repeat1, + [aux_sym_generic_params_repeat1] = aux_sym_generic_params_repeat1, + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, + [aux_sym_content_block_repeat1] = aux_sym_content_block_repeat1, + [aux_sym_html_element_repeat1] = aux_sym_html_element_repeat1, + [aux_sym_expression_path_repeat1] = aux_sym_expression_path_repeat1, + [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1, + [aux_sym_match_statement_repeat1] = aux_sym_match_statement_repeat1, + [aux_sym_self_closing_function_tag_repeat1] = aux_sym_self_closing_function_tag_repeat1, + [aux_sym_struct_pattern_repeat1] = aux_sym_struct_pattern_repeat1, + [aux_sym_tuple_pattern_repeat1] = aux_sym_tuple_pattern_repeat1, + [aux_sym_array_literal_repeat1] = aux_sym_array_literal_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, + [aux_sym_generic_type_repeat1] = aux_sym_generic_type_repeat1, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [anon_sym_ATuse] = { + .visible = true, + .named = false, + }, + [anon_sym_as] = { + .visible = true, + .named = false, + }, + [aux_sym_rust_path_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_ATimport] = { + .visible = true, + .named = false, + }, + [anon_sym_ATstruct] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_ATenum] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [sym_attribute_content] = { + .visible = true, + .named = true, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_ATfunc] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_SLASH] = { + .visible = true, + .named = false, + }, + [sym_tag_name] = { + .visible = true, + .named = true, + }, + [sym_attribute_name] = { + .visible = true, + .named = true, + }, + [anon_sym_AT] = { + .visible = true, + .named = false, + }, + [anon_sym_safe] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_ATif] = { + .visible = true, + .named = false, + }, + [anon_sym_let] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_ATfor] = { + .visible = true, + .named = false, + }, + [anon_sym_in] = { + .visible = true, + .named = false, + }, + [anon_sym_ATmatch] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_ATbreak] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_ATcontinue] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_AT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_SLASH_AT] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [sym_unquoted_value] = { + .visible = true, + .named = true, + }, + [sym_wildcard_pattern] = { + .visible = true, + .named = true, + }, + [anon_sym_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_string_literal_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_char_literal_token1] = { + .visible = false, + .named = false, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [aux_sym_integer_literal_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_integer_literal_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_integer_literal_token3] = { + .visible = false, + .named = false, + }, + [aux_sym_integer_literal_token4] = { + .visible = false, + .named = false, + }, + [sym_float_literal] = { + .visible = true, + .named = true, + }, + [anon_sym_true] = { + .visible = true, + .named = false, + }, + [anon_sym_false] = { + .visible = true, + .named = false, + }, + [anon_sym_i8] = { + .visible = true, + .named = false, + }, + [anon_sym_i16] = { + .visible = true, + .named = false, + }, + [anon_sym_i32] = { + .visible = true, + .named = false, + }, + [anon_sym_i64] = { + .visible = true, + .named = false, + }, + [anon_sym_i128] = { + .visible = true, + .named = false, + }, + [anon_sym_isize] = { + .visible = true, + .named = false, + }, + [anon_sym_u8] = { + .visible = true, + .named = false, + }, + [anon_sym_u16] = { + .visible = true, + .named = false, + }, + [anon_sym_u32] = { + .visible = true, + .named = false, + }, + [anon_sym_u64] = { + .visible = true, + .named = false, + }, + [anon_sym_u128] = { + .visible = true, + .named = false, + }, + [anon_sym_usize] = { + .visible = true, + .named = false, + }, + [anon_sym_f32] = { + .visible = true, + .named = false, + }, + [anon_sym_f64] = { + .visible = true, + .named = false, + }, + [anon_sym_bool] = { + .visible = true, + .named = false, + }, + [anon_sym_char] = { + .visible = true, + .named = false, + }, + [anon_sym_str] = { + .visible = true, + .named = false, + }, + [anon_sym_String] = { + .visible = true, + .named = false, + }, + [anon_sym_mut] = { + .visible = true, + .named = false, + }, + [anon_sym_AT_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_AT] = { + .visible = true, + .named = false, + }, + [sym_comment_content] = { + .visible = true, + .named = true, + }, + [anon_sym_LT_BANG_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym_html_comment_content] = { + .visible = true, + .named = true, + }, + [anon_sym_AT_BQUOTE_BQUOTE_BQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_BQUOTE_BQUOTE_BQUOTE_AT] = { + .visible = true, + .named = false, + }, + [sym_embedded_content] = { + .visible = true, + .named = true, + }, + [anon_sym_html] = { + .visible = true, + .named = false, + }, + [anon_sym_css] = { + .visible = true, + .named = false, + }, + [anon_sym_js] = { + .visible = true, + .named = false, + }, + [anon_sym_javascript] = { + .visible = true, + .named = false, + }, + [anon_sym_json] = { + .visible = true, + .named = false, + }, + [anon_sym_alpine] = { + .visible = true, + .named = false, + }, + [anon_sym_style] = { + .visible = true, + .named = false, + }, + [sym_escape_at] = { + .visible = true, + .named = true, + }, + [sym_text_content] = { + .visible = true, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [sym_template] = { + .visible = true, + .named = true, + }, + [sym_template_element] = { + .visible = true, + .named = true, + }, + [sym_use_statement] = { + .visible = true, + .named = true, + }, + [sym_rust_path] = { + .visible = true, + .named = true, + }, + [sym_import_statement] = { + .visible = true, + .named = true, + }, + [sym_struct_definition] = { + .visible = true, + .named = true, + }, + [sym_struct_field] = { + .visible = true, + .named = true, + }, + [sym_enum_definition] = { + .visible = true, + .named = true, + }, + [sym_enum_variant] = { + .visible = true, + .named = true, + }, + [sym_attribute_list] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_generic_params] = { + .visible = true, + .named = true, + }, + [sym_type_expression] = { + .visible = true, + .named = true, + }, + [sym_function_definition] = { + .visible = true, + .named = true, + }, + [sym_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_parameter] = { + .visible = true, + .named = true, + }, + [sym_default_value] = { + .visible = true, + .named = true, + }, + [sym_content_block] = { + .visible = true, + .named = true, + }, + [sym_template_node] = { + .visible = true, + .named = true, + }, + [sym_html_element] = { + .visible = true, + .named = true, + }, + [sym_html_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_value] = { + .visible = true, + .named = true, + }, + [sym_template_expression] = { + .visible = true, + .named = true, + }, + [sym_simple_expression] = { + .visible = true, + .named = true, + }, + [sym_complex_expression] = { + .visible = true, + .named = true, + }, + [sym_safe_expression] = { + .visible = true, + .named = true, + }, + [sym_expression_path] = { + .visible = true, + .named = true, + }, + [sym_template_control_flow] = { + .visible = true, + .named = true, + }, + [sym_if_statement] = { + .visible = true, + .named = true, + }, + [sym_else_if_branch] = { + .visible = true, + .named = true, + }, + [sym_else_branch] = { + .visible = true, + .named = true, + }, + [sym_for_loop] = { + .visible = true, + .named = true, + }, + [sym_match_statement] = { + .visible = true, + .named = true, + }, + [sym_match_arm] = { + .visible = true, + .named = true, + }, + [sym_break_statement] = { + .visible = true, + .named = true, + }, + [sym_continue_statement] = { + .visible = true, + .named = true, + }, + [sym_function_tag] = { + .visible = true, + .named = true, + }, + [sym_self_closing_function_tag] = { + .visible = true, + .named = true, + }, + [sym_container_function_tag] = { + .visible = true, + .named = true, + }, + [sym_function_path] = { + .visible = true, + .named = true, + }, + [sym_function_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_reference] = { + .visible = true, + .named = true, + }, + [sym_named_function_attribute] = { + .visible = true, + .named = true, + }, + [sym_boolean_attribute] = { + .visible = true, + .named = true, + }, + [sym_function_attribute_value] = { + .visible = true, + .named = true, + }, + [sym_pattern] = { + .visible = true, + .named = true, + }, + [sym_identifier_pattern] = { + .visible = true, + .named = true, + }, + [sym_struct_pattern] = { + .visible = true, + .named = true, + }, + [sym_field_pattern] = { + .visible = true, + .named = true, + }, + [sym_tuple_pattern] = { + .visible = true, + .named = true, + }, + [sym_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_primary_expression] = { + .visible = true, + .named = true, + }, + [sym_method_call] = { + .visible = true, + .named = true, + }, + [sym_field_access] = { + .visible = true, + .named = true, + }, + [sym_index_access] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_array_literal] = { + .visible = true, + .named = true, + }, + [sym_closure_expression] = { + .visible = true, + .named = true, + }, + [sym_closure_params] = { + .visible = true, + .named = true, + }, + [sym_argument_list] = { + .visible = true, + .named = true, + }, + [sym_binary_operator] = { + .visible = true, + .named = true, + }, + [sym_unary_operator] = { + .visible = true, + .named = true, + }, + [sym_literal] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym_number_literal] = { + .visible = true, + .named = true, + }, + [sym_integer_literal] = { + .visible = true, + .named = true, + }, + [sym_boolean_literal] = { + .visible = true, + .named = true, + }, + [sym_rust_type] = { + .visible = true, + .named = true, + }, + [sym_primitive_type] = { + .visible = true, + .named = true, + }, + [sym_reference_type] = { + .visible = true, + .named = true, + }, + [sym_generic_type] = { + .visible = true, + .named = true, + }, + [sym_path_type] = { + .visible = true, + .named = true, + }, + [sym_tuple_type] = { + .visible = true, + .named = true, + }, + [sym_array_type] = { + .visible = true, + .named = true, + }, + [sym_slice_type] = { + .visible = true, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_template_comment] = { + .visible = true, + .named = true, + }, + [sym_html_comment] = { + .visible = true, + .named = true, + }, + [sym_embedded_language] = { + .visible = true, + .named = true, + }, + [sym_language_name] = { + .visible = true, + .named = true, + }, + [aux_sym_template_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_struct_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_variant_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_generic_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_content_block_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_html_element_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_expression_path_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_if_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_match_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_self_closing_function_tag_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_struct_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_tuple_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_array_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_generic_type_repeat1] = { + .visible = false, + .named = false, + }, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 4, + [5] = 5, + [6] = 6, + [7] = 7, + [8] = 8, + [9] = 9, + [10] = 10, + [11] = 11, + [12] = 12, + [13] = 11, + [14] = 11, + [15] = 15, + [16] = 11, + [17] = 17, + [18] = 18, + [19] = 19, + [20] = 20, + [21] = 21, + [22] = 22, + [23] = 5, + [24] = 6, + [25] = 25, + [26] = 4, + [27] = 7, + [28] = 28, + [29] = 19, + [30] = 28, + [31] = 31, + [32] = 32, + [33] = 33, + [34] = 34, + [35] = 31, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 32, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 34, + [51] = 31, + [52] = 44, + [53] = 48, + [54] = 33, + [55] = 36, + [56] = 40, + [57] = 41, + [58] = 49, + [59] = 34, + [60] = 49, + [61] = 33, + [62] = 31, + [63] = 63, + [64] = 4, + [65] = 65, + [66] = 7, + [67] = 5, + [68] = 68, + [69] = 69, + [70] = 70, + [71] = 69, + [72] = 70, + [73] = 69, + [74] = 70, + [75] = 69, + [76] = 70, + [77] = 77, + [78] = 78, + [79] = 79, + [80] = 69, + [81] = 81, + [82] = 63, + [83] = 6, + [84] = 84, + [85] = 68, + [86] = 78, + [87] = 63, + [88] = 84, + [89] = 65, + [90] = 70, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 92, + [97] = 91, + [98] = 91, + [99] = 95, + [100] = 100, + [101] = 93, + [102] = 102, + [103] = 103, + [104] = 104, + [105] = 105, + [106] = 102, + [107] = 107, + [108] = 104, + [109] = 105, + [110] = 107, + [111] = 104, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 116, + [117] = 117, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 122, + [127] = 121, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 115, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 145, + [147] = 147, + [148] = 147, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 151, + [153] = 150, + [154] = 154, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 168, + [171] = 171, + [172] = 167, + [173] = 171, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, + [184] = 184, + [185] = 185, + [186] = 186, + [187] = 187, + [188] = 188, + [189] = 115, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 194, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 199, + [200] = 194, + [201] = 192, + [202] = 193, + [203] = 203, + [204] = 203, + [205] = 198, + [206] = 190, + [207] = 191, + [208] = 208, + [209] = 209, + [210] = 180, + [211] = 211, + [212] = 212, + [213] = 181, + [214] = 214, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 208, + [219] = 219, + [220] = 208, + [221] = 217, + [222] = 9, + [223] = 223, + [224] = 214, + [225] = 217, + [226] = 182, + [227] = 227, + [228] = 212, + [229] = 229, + [230] = 230, + [231] = 177, + [232] = 219, + [233] = 217, + [234] = 8, + [235] = 235, + [236] = 219, + [237] = 175, + [238] = 179, + [239] = 178, + [240] = 240, + [241] = 241, + [242] = 242, + [243] = 9, + [244] = 244, + [245] = 245, + [246] = 186, + [247] = 8, + [248] = 248, + [249] = 188, + [250] = 250, + [251] = 251, + [252] = 252, + [253] = 253, + [254] = 254, + [255] = 255, + [256] = 256, + [257] = 257, + [258] = 258, + [259] = 259, + [260] = 260, + [261] = 261, + [262] = 262, + [263] = 263, + [264] = 264, + [265] = 265, + [266] = 266, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 270, + [271] = 271, + [272] = 272, + [273] = 273, + [274] = 274, + [275] = 275, + [276] = 276, + [277] = 277, + [278] = 278, + [279] = 279, + [280] = 280, + [281] = 281, + [282] = 282, + [283] = 283, + [284] = 284, + [285] = 285, + [286] = 286, + [287] = 287, + [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 183, + [294] = 294, + [295] = 199, + [296] = 196, + [297] = 211, + [298] = 209, + [299] = 216, + [300] = 300, + [301] = 9, + [302] = 8, + [303] = 303, + [304] = 230, + [305] = 260, + [306] = 9, + [307] = 283, + [308] = 280, + [309] = 251, + [310] = 250, + [311] = 270, + [312] = 284, + [313] = 290, + [314] = 292, + [315] = 248, + [316] = 281, + [317] = 287, + [318] = 273, + [319] = 256, + [320] = 272, + [321] = 242, + [322] = 8, + [323] = 261, + [324] = 263, + [325] = 266, + [326] = 268, + [327] = 275, + [328] = 278, + [329] = 285, + [330] = 286, + [331] = 262, + [332] = 289, + [333] = 291, + [334] = 277, + [335] = 253, + [336] = 267, + [337] = 276, + [338] = 279, + [339] = 241, + [340] = 244, + [341] = 252, + [342] = 255, + [343] = 259, + [344] = 257, + [345] = 345, + [346] = 346, + [347] = 347, + [348] = 348, + [349] = 349, + [350] = 350, + [351] = 351, + [352] = 351, + [353] = 349, + [354] = 351, + [355] = 349, + [356] = 144, + [357] = 357, + [358] = 163, + [359] = 359, + [360] = 164, + [361] = 165, + [362] = 166, + [363] = 157, + [364] = 159, + [365] = 160, + [366] = 161, + [367] = 158, + [368] = 178, + [369] = 175, + [370] = 156, + [371] = 162, + [372] = 181, + [373] = 359, + [374] = 154, + [375] = 178, + [376] = 113, + [377] = 181, + [378] = 112, + [379] = 175, + [380] = 183, + [381] = 186, + [382] = 382, + [383] = 383, + [384] = 384, + [385] = 385, + [386] = 386, + [387] = 183, + [388] = 186, + [389] = 389, + [390] = 390, + [391] = 391, + [392] = 392, + [393] = 393, + [394] = 394, + [395] = 395, + [396] = 396, + [397] = 397, + [398] = 393, + [399] = 396, + [400] = 400, + [401] = 401, + [402] = 392, + [403] = 393, + [404] = 404, + [405] = 392, + [406] = 401, + [407] = 407, + [408] = 408, + [409] = 409, + [410] = 114, + [411] = 385, + [412] = 384, + [413] = 390, + [414] = 389, + [415] = 415, + [416] = 416, + [417] = 382, + [418] = 383, + [419] = 419, + [420] = 420, + [421] = 421, + [422] = 422, + [423] = 423, + [424] = 424, + [425] = 118, + [426] = 426, + [427] = 117, + [428] = 119, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 116, + [433] = 391, + [434] = 434, + [435] = 431, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 431, + [440] = 416, + [441] = 386, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 430, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 416, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 465, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 469, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 473, + [474] = 463, + [475] = 475, + [476] = 280, + [477] = 113, + [478] = 478, + [479] = 479, + [480] = 480, + [481] = 481, + [482] = 459, + [483] = 475, + [484] = 112, + [485] = 478, + [486] = 468, + [487] = 270, + [488] = 488, + [489] = 489, + [490] = 490, + [491] = 491, + [492] = 492, + [493] = 272, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 278, + [499] = 499, + [500] = 276, + [501] = 501, + [502] = 502, + [503] = 481, + [504] = 504, + [505] = 488, + [506] = 506, + [507] = 507, + [508] = 508, + [509] = 155, + [510] = 469, + [511] = 511, + [512] = 512, + [513] = 513, + [514] = 514, + [515] = 515, + [516] = 516, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 521, + [522] = 522, + [523] = 523, + [524] = 524, + [525] = 525, + [526] = 526, + [527] = 527, + [528] = 528, + [529] = 529, + [530] = 530, + [531] = 531, + [532] = 521, + [533] = 533, + [534] = 534, + [535] = 535, + [536] = 536, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 540, + [541] = 541, + [542] = 537, + [543] = 543, + [544] = 528, + [545] = 545, + [546] = 546, + [547] = 533, + [548] = 530, + [549] = 549, + [550] = 550, + [551] = 551, + [552] = 543, + [553] = 553, + [554] = 554, + [555] = 550, + [556] = 556, + [557] = 554, + [558] = 558, + [559] = 559, + [560] = 530, + [561] = 561, + [562] = 541, + [563] = 545, + [564] = 564, + [565] = 565, + [566] = 566, + [567] = 567, + [568] = 568, + [569] = 569, + [570] = 570, + [571] = 571, + [572] = 570, + [573] = 573, + [574] = 574, + [575] = 575, + [576] = 576, + [577] = 577, + [578] = 578, + [579] = 579, + [580] = 580, + [581] = 581, + [582] = 582, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 586, + [587] = 587, + [588] = 588, + [589] = 589, + [590] = 590, + [591] = 591, + [592] = 592, + [593] = 593, + [594] = 594, + [595] = 579, + [596] = 591, + [597] = 566, + [598] = 588, + [599] = 599, + [600] = 592, + [601] = 601, + [602] = 593, + [603] = 603, + [604] = 604, + [605] = 585, + [606] = 606, + [607] = 588, + [608] = 608, + [609] = 609, + [610] = 610, + [611] = 588, + [612] = 612, + [613] = 576, + [614] = 614, + [615] = 615, + [616] = 616, + [617] = 608, + [618] = 618, + [619] = 619, + [620] = 568, + [621] = 586, + [622] = 622, + [623] = 609, + [624] = 587, + [625] = 625, + [626] = 580, + [627] = 574, + [628] = 592, + [629] = 629, + [630] = 630, + [631] = 631, + [632] = 606, + [633] = 585, + [634] = 634, + [635] = 592, + [636] = 603, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 640, + [641] = 590, + [642] = 578, + [643] = 583, + [644] = 631, + [645] = 582, + [646] = 646, + [647] = 571, + [648] = 648, + [649] = 649, + [650] = 589, + [651] = 590, + [652] = 604, + [653] = 616, + [654] = 567, + [655] = 655, + [656] = 618, + [657] = 646, + [658] = 577, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(164); + ADVANCE_MAP( + '!', 283, + '"', 284, + '%', 272, + '&', 262, + '\'', 288, + '(', 218, + ')', 219, + '*', 271, + '+', 269, + ',', 216, + '-', 270, + '.', 246, + '/', 235, + '0', 293, + ':', 215, + ';', 257, + '<', 225, + '=', 233, + '>', 230, + '@', 240, + 'S', 468, + '[', 220, + '\\', 469, + ']', 221, + '^', 279, + '_', 264, + 'a', 440, + 'b', 450, + 'c', 430, + 'e', 443, + 'f', 394, + 'h', 464, + 'i', 374, + 'j', 410, + 'l', 427, + 'm', 470, + 's', 411, + 't', 456, + 'u', 375, + '{', 213, + '|', 268, + '}', 214, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(294); + if (lookahead != 0) ADVANCE(487); + END_STATE(); + case 1: + ADVANCE_MAP( + '!', 50, + '"', 284, + '%', 272, + '&', 262, + '\'', 288, + '(', 218, + ')', 219, + '*', 271, + '+', 269, + ',', 216, + '-', 270, + '.', 245, + '/', 235, + '0', 295, + ';', 257, + '<', 228, + '=', 51, + '>', 230, + '@', 239, + '[', 220, + ']', 221, + '^', 279, + '_', 265, + '`', 66, + 'f', 180, + 't', 197, + '{', 213, + '|', 268, + '}', 214, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(1); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(296); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 2: + ADVANCE_MAP( + '!', 50, + '%', 272, + '&', 262, + '(', 218, + ')', 219, + '*', 271, + '+', 269, + ',', 216, + '-', 270, + '.', 245, + '/', 235, + ':', 215, + ';', 257, + '<', 228, + '=', 233, + '>', 230, + '[', 220, + ']', 221, + '^', 279, + '{', 213, + '|', 268, + '}', 214, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(2); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 3: + ADVANCE_MAP( + '!', 50, + '%', 272, + '&', 262, + ')', 219, + '*', 271, + '+', 269, + ',', 216, + '-', 270, + '.', 245, + '/', 235, + ':', 215, + '<', 228, + '=', 233, + '>', 230, + '[', 220, + ']', 221, + '^', 279, + 'a', 98, + 'c', 122, + 'h', 129, + 'i', 85, + 'j', 68, + 's', 128, + '{', 213, + '|', 268, + '}', 214, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(3); + END_STATE(); + case 4: + ADVANCE_MAP( + '!', 282, + '"', 284, + '&', 261, + '\'', 288, + '(', 218, + ')', 219, + '*', 271, + ',', 216, + '-', 270, + '0', 295, + '=', 232, + '>', 229, + '[', 220, + ']', 221, + 'f', 180, + 't', 197, + '{', 213, + '|', 267, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(4); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(296); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 5: + ADVANCE_MAP( + '!', 282, + '"', 284, + '&', 261, + '\'', 288, + '(', 218, + '*', 271, + '-', 270, + '0', 295, + '[', 220, + 'f', 180, + 'l', 184, + 't', 197, + '|', 267, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(296); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 6: + if (lookahead == '"') ADVANCE(284); + if (lookahead == '\\') ADVANCE(133); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(287); + if (lookahead != 0) ADVANCE(286); + END_STATE(); + case 7: + if (lookahead == '"') ADVANCE(285); + if (lookahead == '@') ADVANCE(242); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(7); + if (lookahead != 0 && + lookahead != '/' && + lookahead != '=' && + lookahead != '>') ADVANCE(263); + END_STATE(); + case 8: + ADVANCE_MAP( + '&', 261, + '(', 218, + ')', 219, + '*', 57, + ',', 216, + '-', 17, + '<', 224, + '>', 229, + 'S', 204, + '[', 220, + 'b', 196, + 'c', 188, + 'f', 174, + 'i', 167, + 's', 205, + 'u', 168, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(8); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 9: + ADVANCE_MAP( + '&', 261, + '(', 218, + ')', 219, + ',', 216, + '.', 245, + '/', 235, + ';', 257, + '<', 224, + '=', 232, + '>', 229, + '@', 239, + '[', 220, + ']', 221, + '|', 267, + '}', 214, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(9); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 10: + ADVANCE_MAP( + '&', 261, + '(', 218, + 'S', 204, + '[', 220, + 'b', 196, + 'c', 188, + 'f', 174, + 'i', 167, + 'm', 207, + 's', 205, + 'u', 168, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(10); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 11: + if (lookahead == '(') ADVANCE(218); + if (lookahead == '.') ADVANCE(245); + if (lookahead == '/') ADVANCE(235); + if (lookahead == '=') ADVANCE(232); + if (lookahead == '>') ADVANCE(229); + if (lookahead == '[') ADVANCE(220); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(11); + if (lookahead == ':' || + ('@' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(238); + END_STATE(); + case 12: + if (lookahead == '(') ADVANCE(218); + if (lookahead == '.') ADVANCE(245); + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(241); + if (lookahead == '[') ADVANCE(220); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(12); + if (lookahead != 0 && + lookahead != '{') ADVANCE(487); + END_STATE(); + case 13: + if (lookahead == '(') ADVANCE(218); + if (lookahead == 's') ADVANCE(488); + if (lookahead == '{') ADVANCE(213); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(13); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 14: + if (lookahead == ')') ADVANCE(219); + if (lookahead == ',') ADVANCE(216); + if (lookahead == '=') ADVANCE(234); + if (lookahead == 'i') ADVANCE(85); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(14); + END_STATE(); + case 15: + if (lookahead == ',') ADVANCE(216); + if (lookahead == '.') ADVANCE(21); + if (lookahead == '/') ADVANCE(235); + if (lookahead == ':') ADVANCE(215); + if (lookahead == '>') ADVANCE(229); + if (lookahead == '@') ADVANCE(239); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(15); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 16: + if (lookahead == '-') ADVANCE(357); + END_STATE(); + case 17: + if (lookahead == '-') ADVANCE(54); + END_STATE(); + case 18: + if (lookahead == '-') ADVANCE(55); + if (lookahead != 0) ADVANCE(360); + END_STATE(); + case 19: + if (lookahead == '-') ADVANCE(155); + if (lookahead != 0) ADVANCE(360); + END_STATE(); + case 20: + if (lookahead == '-') ADVANCE(16); + END_STATE(); + case 21: + if (lookahead == '.') ADVANCE(266); + END_STATE(); + case 22: + if (lookahead == '1') ADVANCE(31); + if (lookahead == '3') ADVANCE(26); + if (lookahead == '6') ADVANCE(36); + if (lookahead == '8') ADVANCE(292); + if (lookahead == 's') ADVANCE(89); + END_STATE(); + case 23: + if (lookahead == '1') ADVANCE(32); + if (lookahead == '3') ADVANCE(28); + if (lookahead == '6') ADVANCE(38); + if (lookahead == '8') ADVANCE(303); + if (lookahead == 's') ADVANCE(93); + END_STATE(); + case 24: + if (lookahead == '1') ADVANCE(33); + if (lookahead == '3') ADVANCE(29); + if (lookahead == '6') ADVANCE(39); + if (lookahead == '8') ADVANCE(300); + if (lookahead == 's') ADVANCE(94); + END_STATE(); + case 25: + if (lookahead == '1') ADVANCE(34); + if (lookahead == '3') ADVANCE(30); + if (lookahead == '6') ADVANCE(40); + if (lookahead == '8') ADVANCE(297); + if (lookahead == 's') ADVANCE(95); + END_STATE(); + case 26: + if (lookahead == '2') ADVANCE(292); + END_STATE(); + case 27: + if (lookahead == '2') ADVANCE(306); + END_STATE(); + case 28: + if (lookahead == '2') ADVANCE(303); + END_STATE(); + case 29: + if (lookahead == '2') ADVANCE(300); + END_STATE(); + case 30: + if (lookahead == '2') ADVANCE(297); + END_STATE(); + case 31: + if (lookahead == '2') ADVANCE(41); + if (lookahead == '6') ADVANCE(292); + END_STATE(); + case 32: + if (lookahead == '2') ADVANCE(42); + if (lookahead == '6') ADVANCE(303); + END_STATE(); + case 33: + if (lookahead == '2') ADVANCE(43); + if (lookahead == '6') ADVANCE(300); + END_STATE(); + case 34: + if (lookahead == '2') ADVANCE(44); + if (lookahead == '6') ADVANCE(297); + END_STATE(); + case 35: + if (lookahead == '3') ADVANCE(27); + if (lookahead == '6') ADVANCE(37); + END_STATE(); + case 36: + if (lookahead == '4') ADVANCE(292); + END_STATE(); + case 37: + if (lookahead == '4') ADVANCE(306); + END_STATE(); + case 38: + if (lookahead == '4') ADVANCE(303); + END_STATE(); + case 39: + if (lookahead == '4') ADVANCE(300); + END_STATE(); + case 40: + if (lookahead == '4') ADVANCE(297); + END_STATE(); + case 41: + if (lookahead == '8') ADVANCE(292); + END_STATE(); + case 42: + if (lookahead == '8') ADVANCE(303); + END_STATE(); + case 43: + if (lookahead == '8') ADVANCE(300); + END_STATE(); + case 44: + if (lookahead == '8') ADVANCE(297); + END_STATE(); + case 45: + if (lookahead == ':') ADVANCE(215); + if (lookahead == ';') ADVANCE(257); + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(241); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(45); + if (lookahead != 0 && + lookahead != '{') ADVANCE(487); + END_STATE(); + case 46: + if (lookahead == ':') ADVANCE(154); + END_STATE(); + case 47: + if (lookahead == ';') ADVANCE(257); + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(241); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(47); + if (lookahead != 0 && + lookahead != '{') ADVANCE(487); + END_STATE(); + case 48: + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(241); + if (lookahead == 'e') ADVANCE(443); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(48); + if (lookahead != 0 && + lookahead != '{') ADVANCE(487); + END_STATE(); + case 49: + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(241); + if (lookahead == '}') ADVANCE(214); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(49); + if (lookahead != 0 && + lookahead != '{') ADVANCE(487); + END_STATE(); + case 50: + if (lookahead == '=') ADVANCE(274); + END_STATE(); + case 51: + if (lookahead == '=') ADVANCE(273); + if (lookahead == '>') ADVANCE(255); + END_STATE(); + case 52: + if (lookahead == '=') ADVANCE(53); + if (lookahead == 'i') ADVANCE(84); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(52); + END_STATE(); + case 53: + if (lookahead == '>') ADVANCE(255); + END_STATE(); + case 54: + if (lookahead == '>') ADVANCE(358); + END_STATE(); + case 55: + if (lookahead == '>') ADVANCE(358); + if (lookahead != 0) ADVANCE(360); + END_STATE(); + case 56: + if (lookahead == '@') ADVANCE(362); + END_STATE(); + case 57: + if (lookahead == '@') ADVANCE(354); + END_STATE(); + case 58: + if (lookahead == '@') ADVANCE(354); + if (lookahead != 0) ADVANCE(356); + END_STATE(); + case 59: + if (lookahead == '\\') ADVANCE(133); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(290); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(289); + END_STATE(); + case 60: + if (lookahead == '`') ADVANCE(361); + END_STATE(); + case 61: + if (lookahead == '`') ADVANCE(56); + END_STATE(); + case 62: + if (lookahead == '`') ADVANCE(56); + if (lookahead != 0) ADVANCE(364); + END_STATE(); + case 63: + if (lookahead == '`') ADVANCE(157); + if (lookahead != 0) ADVANCE(364); + END_STATE(); + case 64: + if (lookahead == '`') ADVANCE(60); + END_STATE(); + case 65: + if (lookahead == '`') ADVANCE(62); + if (lookahead != 0) ADVANCE(364); + END_STATE(); + case 66: + if (lookahead == '`') ADVANCE(61); + END_STATE(); + case 67: + if (lookahead == 'a') ADVANCE(96); + END_STATE(); + case 68: + if (lookahead == 'a') ADVANCE(136); + if (lookahead == 's') ADVANCE(368); + END_STATE(); + case 69: + if (lookahead == 'a') ADVANCE(130); + END_STATE(); + case 70: + if (lookahead == 'a') ADVANCE(123); + END_STATE(); + case 71: + if (lookahead == 'c') ADVANCE(231); + END_STATE(); + case 72: + if (lookahead == 'c') ADVANCE(88); + END_STATE(); + case 73: + if (lookahead == 'c') ADVANCE(119); + END_STATE(); + case 74: + if (lookahead == 'c') ADVANCE(126); + END_STATE(); + case 75: + if (lookahead == 'e') ADVANCE(292); + END_STATE(); + case 76: + if (lookahead == 'e') ADVANCE(165); + END_STATE(); + case 77: + if (lookahead == 'e') ADVANCE(303); + END_STATE(); + case 78: + if (lookahead == 'e') ADVANCE(300); + END_STATE(); + case 79: + if (lookahead == 'e') ADVANCE(297); + END_STATE(); + case 80: + if (lookahead == 'e') ADVANCE(372); + END_STATE(); + case 81: + if (lookahead == 'e') ADVANCE(371); + END_STATE(); + case 82: + if (lookahead == 'e') ADVANCE(258); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(67); + END_STATE(); + case 84: + if (lookahead == 'f') ADVANCE(251); + END_STATE(); + case 85: + if (lookahead == 'f') ADVANCE(251); + if (lookahead == 'n') ADVANCE(253); + END_STATE(); + case 86: + if (lookahead == 'f') ADVANCE(247); + END_STATE(); + case 87: + if (lookahead == 'f') ADVANCE(247); + if (lookahead == 'm') ADVANCE(112); + END_STATE(); + case 88: + if (lookahead == 'h') ADVANCE(254); + END_STATE(); + case 89: + if (lookahead == 'i') ADVANCE(138); + END_STATE(); + case 90: + if (lookahead == 'i') ADVANCE(114); + END_STATE(); + case 91: + if (lookahead == 'i') ADVANCE(107); + END_STATE(); + case 92: + if (lookahead == 'i') ADVANCE(106); + END_STATE(); + case 93: + if (lookahead == 'i') ADVANCE(139); + END_STATE(); + case 94: + if (lookahead == 'i') ADVANCE(140); + END_STATE(); + case 95: + if (lookahead == 'i') ADVANCE(141); + END_STATE(); + case 96: + if (lookahead == 'k') ADVANCE(256); + END_STATE(); + case 97: + if (lookahead == 'l') ADVANCE(365); + END_STATE(); + case 98: + if (lookahead == 'l') ADVANCE(113); + if (lookahead == 's') ADVANCE(166); + END_STATE(); + case 99: + if (lookahead == 'l') ADVANCE(80); + END_STATE(); + case 100: + if (lookahead == 'm') ADVANCE(217); + END_STATE(); + case 101: + if (lookahead == 'm') ADVANCE(97); + END_STATE(); + case 102: + if (lookahead == 'n') ADVANCE(132); + END_STATE(); + case 103: + if (lookahead == 'n') ADVANCE(71); + END_STATE(); + case 104: + if (lookahead == 'n') ADVANCE(370); + END_STATE(); + case 105: + if (lookahead == 'n') ADVANCE(124); + END_STATE(); + case 106: + if (lookahead == 'n') ADVANCE(134); + END_STATE(); + case 107: + if (lookahead == 'n') ADVANCE(81); + END_STATE(); + case 108: + if (lookahead == 'o') ADVANCE(116); + END_STATE(); + case 109: + if (lookahead == 'o') ADVANCE(116); + if (lookahead == 'u') ADVANCE(103); + END_STATE(); + case 110: + if (lookahead == 'o') ADVANCE(105); + END_STATE(); + case 111: + if (lookahead == 'o') ADVANCE(118); + END_STATE(); + case 112: + if (lookahead == 'p') ADVANCE(111); + END_STATE(); + case 113: + if (lookahead == 'p') ADVANCE(91); + END_STATE(); + case 114: + if (lookahead == 'p') ADVANCE(127); + END_STATE(); + case 115: + if (lookahead == 'r') ADVANCE(83); + END_STATE(); + case 116: + if (lookahead == 'r') ADVANCE(252); + END_STATE(); + case 117: + if (lookahead == 'r') ADVANCE(135); + END_STATE(); + case 118: + if (lookahead == 'r') ADVANCE(125); + END_STATE(); + case 119: + if (lookahead == 'r') ADVANCE(90); + END_STATE(); + case 120: + if (lookahead == 's') ADVANCE(366); + END_STATE(); + case 121: + if (lookahead == 's') ADVANCE(76); + END_STATE(); + case 122: + if (lookahead == 's') ADVANCE(120); + END_STATE(); + case 123: + if (lookahead == 's') ADVANCE(73); + END_STATE(); + case 124: + if (lookahead == 't') ADVANCE(92); + END_STATE(); + case 125: + if (lookahead == 't') ADVANCE(211); + END_STATE(); + case 126: + if (lookahead == 't') ADVANCE(212); + END_STATE(); + case 127: + if (lookahead == 't') ADVANCE(369); + END_STATE(); + case 128: + if (lookahead == 't') ADVANCE(137); + END_STATE(); + case 129: + if (lookahead == 't') ADVANCE(101); + END_STATE(); + case 130: + if (lookahead == 't') ADVANCE(72); + END_STATE(); + case 131: + if (lookahead == 't') ADVANCE(117); + END_STATE(); + case 132: + if (lookahead == 'u') ADVANCE(100); + END_STATE(); + case 133: + ADVANCE_MAP( + 'u', 142, + 'x', 153, + '"', 291, + '\'', 291, + '0', 291, + '\\', 291, + 'n', 291, + 'r', 291, + 't', 291, + ); + END_STATE(); + case 134: + if (lookahead == 'u') ADVANCE(82); + END_STATE(); + case 135: + if (lookahead == 'u') ADVANCE(74); + END_STATE(); + case 136: + if (lookahead == 'v') ADVANCE(70); + END_STATE(); + case 137: + if (lookahead == 'y') ADVANCE(99); + END_STATE(); + case 138: + if (lookahead == 'z') ADVANCE(75); + END_STATE(); + case 139: + if (lookahead == 'z') ADVANCE(77); + END_STATE(); + case 140: + if (lookahead == 'z') ADVANCE(78); + END_STATE(); + case 141: + if (lookahead == 'z') ADVANCE(79); + END_STATE(); + case 142: + if (lookahead == '{') ADVANCE(151); + END_STATE(); + case 143: + if (lookahead == '}') ADVANCE(291); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(143); + END_STATE(); + case 144: + if (lookahead == '+' || + lookahead == '-') ADVANCE(149); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(310); + END_STATE(); + case 145: + if (lookahead == '0' || + lookahead == '1') ADVANCE(304); + END_STATE(); + case 146: + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(146); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 147: + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(147); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(237); + END_STATE(); + case 148: + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(301); + END_STATE(); + case 149: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(310); + END_STATE(); + case 150: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(291); + END_STATE(); + case 151: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(143); + END_STATE(); + case 152: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(298); + END_STATE(); + case 153: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(150); + END_STATE(); + case 154: + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 155: + if (lookahead != 0 && + lookahead != '>') ADVANCE(360); + END_STATE(); + case 156: + if (lookahead != 0 && + lookahead != '@') ADVANCE(356); + END_STATE(); + case 157: + if (lookahead != 0 && + lookahead != '`') ADVANCE(364); + END_STATE(); + case 158: + if (eof) ADVANCE(164); + if (lookahead == '(') ADVANCE(218); + if (lookahead == '.') ADVANCE(245); + if (lookahead == '<') ADVANCE(227); + if (lookahead == '@') ADVANCE(240); + if (lookahead == '[') ADVANCE(220); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(158); + if (lookahead != 0 && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 159: + if (eof) ADVANCE(164); + if (lookahead == ':') ADVANCE(215); + if (lookahead == ';') ADVANCE(257); + if (lookahead == '<') ADVANCE(227); + if (lookahead == '@') ADVANCE(240); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(159); + if (lookahead != 0 && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 160: + if (eof) ADVANCE(164); + if (lookahead == ';') ADVANCE(257); + if (lookahead == '<') ADVANCE(227); + if (lookahead == '@') ADVANCE(240); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(160); + if (lookahead != 0 && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 161: + if (eof) ADVANCE(164); + if (lookahead == '<') ADVANCE(226); + if (lookahead == '@') ADVANCE(240); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(161); + if (lookahead != 0 && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 162: + if (eof) ADVANCE(164); + if (lookahead == '<') ADVANCE(227); + if (lookahead == '@') ADVANCE(240); + if (lookahead == 'a') ADVANCE(459); + if (lookahead == '{') ADVANCE(213); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(162); + if (lookahead != 0 && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 163: + if (eof) ADVANCE(164); + if (lookahead == '<') ADVANCE(227); + if (lookahead == '@') ADVANCE(240); + if (lookahead == 'e') ADVANCE(443); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(163); + if (lookahead != 0 && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 164: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 165: + ACCEPT_TOKEN(anon_sym_ATuse); + END_STATE(); + case 166: + ACCEPT_TOKEN(anon_sym_as); + END_STATE(); + case 167: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '1') ADVANCE(170); + if (lookahead == '3') ADVANCE(171); + if (lookahead == '6') ADVANCE(176); + if (lookahead == '8') ADVANCE(316); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 's') ADVANCE(189); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 168: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '1') ADVANCE(173); + if (lookahead == '3') ADVANCE(172); + if (lookahead == '6') ADVANCE(177); + if (lookahead == '8') ADVANCE(328); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 's') ADVANCE(191); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 169: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '2') ADVANCE(340); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 170: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '2') ADVANCE(178); + if (lookahead == '6') ADVANCE(318); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 171: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '2') ADVANCE(320); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 172: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '2') ADVANCE(332); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 173: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '2') ADVANCE(179); + if (lookahead == '6') ADVANCE(330); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 174: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '3') ADVANCE(169); + if (lookahead == '6') ADVANCE(175); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 175: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '4') ADVANCE(342); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 176: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '4') ADVANCE(322); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 177: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '4') ADVANCE(334); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 178: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '8') ADVANCE(324); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 179: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == '8') ADVANCE(336); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 180: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'a') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 181: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'a') ADVANCE(199); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 182: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'e') ADVANCE(312); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 183: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'e') ADVANCE(314); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 184: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'e') ADVANCE(202); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 185: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'e') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 186: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'e') ADVANCE(338); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 187: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'g') ADVANCE(350); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 188: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'h') ADVANCE(181); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 189: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'i') ADVANCE(208); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 190: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'i') ADVANCE(194); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 191: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'i') ADVANCE(209); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 192: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'l') ADVANCE(201); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 193: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'l') ADVANCE(344); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 194: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'n') ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 195: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'o') ADVANCE(193); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 196: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'o') ADVANCE(195); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 197: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'r') ADVANCE(206); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 198: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'r') ADVANCE(348); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 199: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'r') ADVANCE(346); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 200: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'r') ADVANCE(190); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 201: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 's') ADVANCE(183); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 202: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 't') ADVANCE(249); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 203: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 't') ADVANCE(352); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 204: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 't') ADVANCE(200); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 205: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 't') ADVANCE(198); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 206: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'u') ADVANCE(182); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 207: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'u') ADVANCE(203); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 208: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'z') ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(210); + END_STATE(); + case 209: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (lookahead == 'z') ADVANCE(186); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(210); + END_STATE(); + case 210: + ACCEPT_TOKEN(aux_sym_rust_path_token1); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 211: + ACCEPT_TOKEN(anon_sym_ATimport); + END_STATE(); + case 212: + ACCEPT_TOKEN(anon_sym_ATstruct); + END_STATE(); + case 213: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 215: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_ATenum); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 219: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 220: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 221: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 222: + ACCEPT_TOKEN(sym_attribute_content); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(222); + if (lookahead != 0 && + lookahead != ')') ADVANCE(223); + END_STATE(); + case 223: + ACCEPT_TOKEN(sym_attribute_content); + if (lookahead != 0 && + lookahead != ')') ADVANCE(223); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_LT); + END_STATE(); + case 225: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(20); + if (lookahead == '/') ADVANCE(236); + if (lookahead == '<') ADVANCE(280); + if (lookahead == '=') ADVANCE(275); + if (lookahead == '@') ADVANCE(259); + END_STATE(); + case 226: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(20); + if (lookahead == '/') ADVANCE(236); + if (lookahead == '@') ADVANCE(259); + END_STATE(); + case 227: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(20); + if (lookahead == '@') ADVANCE(259); + END_STATE(); + case 228: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(280); + if (lookahead == '=') ADVANCE(275); + END_STATE(); + case 229: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 230: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(276); + if (lookahead == '>') ADVANCE(281); + END_STATE(); + case 231: + ACCEPT_TOKEN(anon_sym_ATfunc); + END_STATE(); + case 232: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 233: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(273); + if (lookahead == '>') ADVANCE(255); + END_STATE(); + case 234: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '>') ADVANCE(255); + END_STATE(); + case 235: + ACCEPT_TOKEN(anon_sym_SLASH); + END_STATE(); + case 236: + ACCEPT_TOKEN(anon_sym_LT_SLASH); + if (lookahead == '@') ADVANCE(260); + END_STATE(); + case 237: + ACCEPT_TOKEN(sym_tag_name); + if (lookahead == '-' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(237); + END_STATE(); + case 238: + ACCEPT_TOKEN(sym_attribute_name); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(238); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym_AT); + END_STATE(); + case 240: + ACCEPT_TOKEN(anon_sym_AT); + ADVANCE_MAP( + '*', 353, + '@', 373, + '`', 64, + 'b', 115, + 'c', 110, + 'e', 102, + 'f', 109, + 'i', 87, + 'm', 69, + 's', 131, + 'u', 121, + ); + END_STATE(); + case 241: + ACCEPT_TOKEN(anon_sym_AT); + ADVANCE_MAP( + '*', 353, + '@', 373, + '`', 64, + 'b', 115, + 'c', 110, + 'f', 108, + 'i', 86, + 'm', 69, + ); + END_STATE(); + case 242: + ACCEPT_TOKEN(anon_sym_AT); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + lookahead != '/' && + lookahead != '=' && + lookahead != '>') ADVANCE(263); + END_STATE(); + case 243: + ACCEPT_TOKEN(anon_sym_safe); + END_STATE(); + case 244: + ACCEPT_TOKEN(anon_sym_safe); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(266); + END_STATE(); + case 247: + ACCEPT_TOKEN(anon_sym_ATif); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_let); + END_STATE(); + case 249: + ACCEPT_TOKEN(anon_sym_let); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 250: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 251: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 252: + ACCEPT_TOKEN(anon_sym_ATfor); + END_STATE(); + case 253: + ACCEPT_TOKEN(anon_sym_in); + END_STATE(); + case 254: + ACCEPT_TOKEN(anon_sym_ATmatch); + END_STATE(); + case 255: + ACCEPT_TOKEN(anon_sym_EQ_GT); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_ATbreak); + END_STATE(); + case 257: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 258: + ACCEPT_TOKEN(anon_sym_ATcontinue); + END_STATE(); + case 259: + ACCEPT_TOKEN(anon_sym_LT_AT); + END_STATE(); + case 260: + ACCEPT_TOKEN(anon_sym_LT_SLASH_AT); + END_STATE(); + case 261: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 262: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(277); + END_STATE(); + case 263: + ACCEPT_TOKEN(sym_unquoted_value); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + lookahead != '/' && + lookahead != '=' && + lookahead != '>') ADVANCE(263); + END_STATE(); + case 264: + ACCEPT_TOKEN(sym_wildcard_pattern); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym_wildcard_pattern); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 266: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + END_STATE(); + case 267: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 268: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(278); + END_STATE(); + case 269: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 270: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 271: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 272: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 273: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 274: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 275: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 276: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 277: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 278: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 279: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 280: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 281: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 282: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 283: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(274); + END_STATE(); + case 284: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 285: + ACCEPT_TOKEN(anon_sym_DQUOTE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + lookahead != '/' && + lookahead != '=' && + lookahead != '>') ADVANCE(263); + END_STATE(); + case 286: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + END_STATE(); + case 287: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(287); + if (lookahead != 0 && + lookahead != '"' && + lookahead != '\\') ADVANCE(286); + END_STATE(); + case 288: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 289: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + END_STATE(); + case 290: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(290); + if (lookahead != 0 && + lookahead != '\'' && + lookahead != '\\') ADVANCE(289); + END_STATE(); + case 291: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 292: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + END_STATE(); + case 293: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (lookahead == '.') ADVANCE(307); + if (lookahead == 'b') ADVANCE(481); + if (lookahead == 'i') ADVANCE(376); + if (lookahead == 'o') ADVANCE(482); + if (lookahead == 'u') ADVANCE(376); + if (lookahead == 'x') ADVANCE(485); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(294); + END_STATE(); + case 294: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (lookahead == '.') ADVANCE(307); + if (lookahead == 'i') ADVANCE(376); + if (lookahead == 'u') ADVANCE(376); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(294); + END_STATE(); + case 295: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (lookahead == '.') ADVANCE(309); + if (lookahead == 'b') ADVANCE(145); + if (lookahead == 'i') ADVANCE(22); + if (lookahead == 'o') ADVANCE(148); + if (lookahead == 'u') ADVANCE(22); + if (lookahead == 'x') ADVANCE(152); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(296); + END_STATE(); + case 296: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (lookahead == '.') ADVANCE(309); + if (lookahead == 'i') ADVANCE(22); + if (lookahead == 'u') ADVANCE(22); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(296); + END_STATE(); + case 297: + ACCEPT_TOKEN(aux_sym_integer_literal_token2); + END_STATE(); + case 298: + ACCEPT_TOKEN(aux_sym_integer_literal_token2); + if (lookahead == 'i') ADVANCE(25); + if (lookahead == 'u') ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(298); + END_STATE(); + case 299: + ACCEPT_TOKEN(aux_sym_integer_literal_token2); + if (lookahead == 'i') ADVANCE(379); + if (lookahead == 'u') ADVANCE(379); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(299); + END_STATE(); + case 300: + ACCEPT_TOKEN(aux_sym_integer_literal_token3); + END_STATE(); + case 301: + ACCEPT_TOKEN(aux_sym_integer_literal_token3); + if (lookahead == 'i') ADVANCE(24); + if (lookahead == 'u') ADVANCE(24); + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(301); + END_STATE(); + case 302: + ACCEPT_TOKEN(aux_sym_integer_literal_token3); + if (lookahead == 'i') ADVANCE(378); + if (lookahead == 'u') ADVANCE(378); + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(302); + END_STATE(); + case 303: + ACCEPT_TOKEN(aux_sym_integer_literal_token4); + END_STATE(); + case 304: + ACCEPT_TOKEN(aux_sym_integer_literal_token4); + if (lookahead == 'i') ADVANCE(23); + if (lookahead == 'u') ADVANCE(23); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(304); + END_STATE(); + case 305: + ACCEPT_TOKEN(aux_sym_integer_literal_token4); + if (lookahead == 'i') ADVANCE(377); + if (lookahead == 'u') ADVANCE(377); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(305); + END_STATE(); + case 306: + ACCEPT_TOKEN(sym_float_literal); + END_STATE(); + case 307: + ACCEPT_TOKEN(sym_float_literal); + if (lookahead == 'f') ADVANCE(395); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(480); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(307); + END_STATE(); + case 308: + ACCEPT_TOKEN(sym_float_literal); + if (lookahead == 'f') ADVANCE(395); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(308); + END_STATE(); + case 309: + ACCEPT_TOKEN(sym_float_literal); + if (lookahead == 'f') ADVANCE(35); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(144); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(309); + END_STATE(); + case 310: + ACCEPT_TOKEN(sym_float_literal); + if (lookahead == 'f') ADVANCE(35); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(310); + END_STATE(); + case 311: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 312: + ACCEPT_TOKEN(anon_sym_true); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 313: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 314: + ACCEPT_TOKEN(anon_sym_false); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 315: + ACCEPT_TOKEN(anon_sym_i8); + END_STATE(); + case 316: + ACCEPT_TOKEN(anon_sym_i8); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 317: + ACCEPT_TOKEN(anon_sym_i16); + END_STATE(); + case 318: + ACCEPT_TOKEN(anon_sym_i16); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 319: + ACCEPT_TOKEN(anon_sym_i32); + END_STATE(); + case 320: + ACCEPT_TOKEN(anon_sym_i32); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 321: + ACCEPT_TOKEN(anon_sym_i64); + END_STATE(); + case 322: + ACCEPT_TOKEN(anon_sym_i64); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 323: + ACCEPT_TOKEN(anon_sym_i128); + END_STATE(); + case 324: + ACCEPT_TOKEN(anon_sym_i128); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 325: + ACCEPT_TOKEN(anon_sym_isize); + END_STATE(); + case 326: + ACCEPT_TOKEN(anon_sym_isize); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 327: + ACCEPT_TOKEN(anon_sym_u8); + END_STATE(); + case 328: + ACCEPT_TOKEN(anon_sym_u8); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 329: + ACCEPT_TOKEN(anon_sym_u16); + END_STATE(); + case 330: + ACCEPT_TOKEN(anon_sym_u16); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 331: + ACCEPT_TOKEN(anon_sym_u32); + END_STATE(); + case 332: + ACCEPT_TOKEN(anon_sym_u32); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 333: + ACCEPT_TOKEN(anon_sym_u64); + END_STATE(); + case 334: + ACCEPT_TOKEN(anon_sym_u64); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 335: + ACCEPT_TOKEN(anon_sym_u128); + END_STATE(); + case 336: + ACCEPT_TOKEN(anon_sym_u128); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 337: + ACCEPT_TOKEN(anon_sym_usize); + END_STATE(); + case 338: + ACCEPT_TOKEN(anon_sym_usize); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 339: + ACCEPT_TOKEN(anon_sym_f32); + END_STATE(); + case 340: + ACCEPT_TOKEN(anon_sym_f32); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 341: + ACCEPT_TOKEN(anon_sym_f64); + END_STATE(); + case 342: + ACCEPT_TOKEN(anon_sym_f64); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 343: + ACCEPT_TOKEN(anon_sym_bool); + END_STATE(); + case 344: + ACCEPT_TOKEN(anon_sym_bool); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 345: + ACCEPT_TOKEN(anon_sym_char); + END_STATE(); + case 346: + ACCEPT_TOKEN(anon_sym_char); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 347: + ACCEPT_TOKEN(anon_sym_str); + END_STATE(); + case 348: + ACCEPT_TOKEN(anon_sym_str); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 349: + ACCEPT_TOKEN(anon_sym_String); + END_STATE(); + case 350: + ACCEPT_TOKEN(anon_sym_String); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 351: + ACCEPT_TOKEN(anon_sym_mut); + END_STATE(); + case 352: + ACCEPT_TOKEN(anon_sym_mut); + if (lookahead == ':') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(210); + END_STATE(); + case 353: + ACCEPT_TOKEN(anon_sym_AT_STAR); + END_STATE(); + case 354: + ACCEPT_TOKEN(anon_sym_STAR_AT); + END_STATE(); + case 355: + ACCEPT_TOKEN(sym_comment_content); + if (lookahead == '*') ADVANCE(58); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(355); + if (lookahead != 0) ADVANCE(356); + END_STATE(); + case 356: + ACCEPT_TOKEN(sym_comment_content); + if (lookahead == '*') ADVANCE(156); + if (lookahead != 0) ADVANCE(356); + END_STATE(); + case 357: + ACCEPT_TOKEN(anon_sym_LT_BANG_DASH_DASH); + END_STATE(); + case 358: + ACCEPT_TOKEN(anon_sym_DASH_DASH_GT); + END_STATE(); + case 359: + ACCEPT_TOKEN(sym_html_comment_content); + if (lookahead == '-') ADVANCE(18); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(359); + if (lookahead != 0) ADVANCE(360); + END_STATE(); + case 360: + ACCEPT_TOKEN(sym_html_comment_content); + if (lookahead == '-') ADVANCE(19); + if (lookahead != 0) ADVANCE(360); + END_STATE(); + case 361: + ACCEPT_TOKEN(anon_sym_AT_BQUOTE_BQUOTE_BQUOTE); + END_STATE(); + case 362: + ACCEPT_TOKEN(anon_sym_BQUOTE_BQUOTE_BQUOTE_AT); + END_STATE(); + case 363: + ACCEPT_TOKEN(sym_embedded_content); + if (lookahead == '`') ADVANCE(65); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(363); + if (lookahead != 0) ADVANCE(364); + END_STATE(); + case 364: + ACCEPT_TOKEN(sym_embedded_content); + if (lookahead == '`') ADVANCE(63); + if (lookahead != 0) ADVANCE(364); + END_STATE(); + case 365: + ACCEPT_TOKEN(anon_sym_html); + END_STATE(); + case 366: + ACCEPT_TOKEN(anon_sym_css); + END_STATE(); + case 367: + ACCEPT_TOKEN(anon_sym_js); + if (lookahead == 'o') ADVANCE(447); + END_STATE(); + case 368: + ACCEPT_TOKEN(anon_sym_js); + if (lookahead == 'o') ADVANCE(104); + END_STATE(); + case 369: + ACCEPT_TOKEN(anon_sym_javascript); + END_STATE(); + case 370: + ACCEPT_TOKEN(anon_sym_json); + END_STATE(); + case 371: + ACCEPT_TOKEN(anon_sym_alpine); + END_STATE(); + case 372: + ACCEPT_TOKEN(anon_sym_style); + END_STATE(); + case 373: + ACCEPT_TOKEN(sym_escape_at); + END_STATE(); + case 374: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(382); + if (lookahead == '3') ADVANCE(383); + if (lookahead == '6') ADVANCE(398); + if (lookahead == '8') ADVANCE(315); + if (lookahead == 'f') ADVANCE(251); + if (lookahead == 'n') ADVANCE(253); + if (lookahead == 's') ADVANCE(431); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 375: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(389); + if (lookahead == '3') ADVANCE(384); + if (lookahead == '6') ADVANCE(399); + if (lookahead == '8') ADVANCE(327); + if (lookahead == 's') ADVANCE(435); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 376: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(390); + if (lookahead == '3') ADVANCE(380); + if (lookahead == '6') ADVANCE(396); + if (lookahead == '8') ADVANCE(292); + if (lookahead == 's') ADVANCE(436); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 377: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(391); + if (lookahead == '3') ADVANCE(386); + if (lookahead == '6') ADVANCE(401); + if (lookahead == '8') ADVANCE(303); + if (lookahead == 's') ADVANCE(437); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 378: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(392); + if (lookahead == '3') ADVANCE(387); + if (lookahead == '6') ADVANCE(402); + if (lookahead == '8') ADVANCE(300); + if (lookahead == 's') ADVANCE(438); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 379: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '1') ADVANCE(393); + if (lookahead == '3') ADVANCE(388); + if (lookahead == '6') ADVANCE(403); + if (lookahead == '8') ADVANCE(297); + if (lookahead == 's') ADVANCE(439); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 380: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(292); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 381: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(339); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 382: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(405); + if (lookahead == '6') ADVANCE(317); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 383: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(319); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 384: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(331); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 385: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(306); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 386: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(303); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 387: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(300); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 388: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(297); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 389: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(406); + if (lookahead == '6') ADVANCE(329); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 390: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(404); + if (lookahead == '6') ADVANCE(292); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 391: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(407); + if (lookahead == '6') ADVANCE(303); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 392: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(408); + if (lookahead == '6') ADVANCE(300); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 393: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '2') ADVANCE(409); + if (lookahead == '6') ADVANCE(297); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 394: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '3') ADVANCE(381); + if (lookahead == '6') ADVANCE(397); + if (lookahead == 'a') ADVANCE(444); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 395: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '3') ADVANCE(385); + if (lookahead == '6') ADVANCE(400); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 396: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(292); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 397: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(341); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 398: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(321); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 399: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(333); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 400: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(306); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 401: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(303); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 402: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(300); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 403: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '4') ADVANCE(297); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 404: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(292); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 405: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(323); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 406: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(335); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 407: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(303); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 408: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(300); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 409: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '8') ADVANCE(297); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 410: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'a') ADVANCE(472); + if (lookahead == 's') ADVANCE(367); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 411: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'a') ADVANCE(428); + if (lookahead == 't') ADVANCE(454); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 412: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'a') ADVANCE(455); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 413: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'a') ADVANCE(461); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 414: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'c') ADVANCE(458); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 415: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(292); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 416: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(250); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 417: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(243); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 418: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(311); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 419: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(303); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 420: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(300); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 421: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(297); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 422: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(313); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 423: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(325); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 424: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(372); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 425: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(337); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 426: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(371); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 427: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'e') ADVANCE(465); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 428: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'f') ADVANCE(417); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 429: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'g') ADVANCE(349); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 430: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'h') ADVANCE(412); + if (lookahead == 's') ADVANCE(460); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 431: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(473); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 432: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(452); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 433: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(448); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 434: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(449); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 435: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(474); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 436: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(475); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 437: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(476); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 438: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(477); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 439: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'i') ADVANCE(478); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 440: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(453); + if (lookahead == 's') ADVANCE(166); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 441: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(343); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 442: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(365); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 443: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(462); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 444: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(463); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 445: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'l') ADVANCE(424); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 446: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'm') ADVANCE(442); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 447: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'n') ADVANCE(370); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 448: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'n') ADVANCE(429); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 449: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'n') ADVANCE(426); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 450: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'o') ADVANCE(451); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 451: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'o') ADVANCE(441); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 452: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'p') ADVANCE(467); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 453: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'p') ADVANCE(434); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 454: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'r') ADVANCE(347); + if (lookahead == 'y') ADVANCE(445); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 455: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'r') ADVANCE(345); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 456: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'r') ADVANCE(471); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 457: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'r') ADVANCE(433); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 458: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'r') ADVANCE(432); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 459: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 's') ADVANCE(166); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 460: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 's') ADVANCE(366); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 461: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 's') ADVANCE(414); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 462: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 's') ADVANCE(416); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 463: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 's') ADVANCE(422); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 464: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 't') ADVANCE(446); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 465: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 't') ADVANCE(248); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 466: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 't') ADVANCE(351); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 467: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 't') ADVANCE(369); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 468: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 't') ADVANCE(457); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 469: + ACCEPT_TOKEN(sym_text_content); + ADVANCE_MAP( + 'u', 479, + 'x', 486, + '"', 291, + '\'', 291, + '0', 291, + '\\', 291, + 'n', 291, + 'r', 291, + 't', 291, + ); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 470: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'u') ADVANCE(466); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 471: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'u') ADVANCE(418); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 472: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'v') ADVANCE(413); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 473: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(423); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 474: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(425); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 475: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(415); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 476: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(419); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 477: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(420); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 478: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == 'z') ADVANCE(421); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != 'z' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 479: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '{') ADVANCE(151); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 480: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '+' || + lookahead == '-') ADVANCE(483); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(308); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 481: + ACCEPT_TOKEN(sym_text_content); + if (lookahead == '0' || + lookahead == '1') ADVANCE(305); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 482: + ACCEPT_TOKEN(sym_text_content); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(302); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 483: + ACCEPT_TOKEN(sym_text_content); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(308); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 484: + ACCEPT_TOKEN(sym_text_content); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(291); + if (lookahead != 0 && + lookahead != '<' && + (lookahead < '@' || 'F' < lookahead) && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 485: + ACCEPT_TOKEN(sym_text_content); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(299); + if (lookahead != 0 && + lookahead != '<' && + (lookahead < '@' || 'F' < lookahead) && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 486: + ACCEPT_TOKEN(sym_text_content); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(484); + if (lookahead != 0 && + lookahead != '<' && + (lookahead < '@' || 'F' < lookahead) && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 487: + ACCEPT_TOKEN(sym_text_content); + if (lookahead != 0 && + lookahead != '<' && + lookahead != '@' && + lookahead != '{' && + lookahead != '}') ADVANCE(487); + END_STATE(); + case 488: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(490); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 489: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(244); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 490: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'f') ADVANCE(489); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + case 491: + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(491); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 161}, + [2] = {.lex_state = 161}, + [3] = {.lex_state = 161}, + [4] = {.lex_state = 161}, + [5] = {.lex_state = 161}, + [6] = {.lex_state = 161}, + [7] = {.lex_state = 161}, + [8] = {.lex_state = 1}, + [9] = {.lex_state = 1}, + [10] = {.lex_state = 4}, + [11] = {.lex_state = 4}, + [12] = {.lex_state = 4}, + [13] = {.lex_state = 4}, + [14] = {.lex_state = 4}, + [15] = {.lex_state = 4}, + [16] = {.lex_state = 4}, + [17] = {.lex_state = 4}, + [18] = {.lex_state = 4}, + [19] = {.lex_state = 5}, + [20] = {.lex_state = 4}, + [21] = {.lex_state = 4}, + [22] = {.lex_state = 4}, + [23] = {.lex_state = 49}, + [24] = {.lex_state = 49}, + [25] = {.lex_state = 4}, + [26] = {.lex_state = 49}, + [27] = {.lex_state = 49}, + [28] = {.lex_state = 5}, + [29] = {.lex_state = 5}, + [30] = {.lex_state = 5}, + [31] = {.lex_state = 4}, + [32] = {.lex_state = 4}, + [33] = {.lex_state = 4}, + [34] = {.lex_state = 4}, + [35] = {.lex_state = 4}, + [36] = {.lex_state = 4}, + [37] = {.lex_state = 4}, + [38] = {.lex_state = 4}, + [39] = {.lex_state = 4}, + [40] = {.lex_state = 4}, + [41] = {.lex_state = 4}, + [42] = {.lex_state = 4}, + [43] = {.lex_state = 4}, + [44] = {.lex_state = 4}, + [45] = {.lex_state = 4}, + [46] = {.lex_state = 4}, + [47] = {.lex_state = 4}, + [48] = {.lex_state = 4}, + [49] = {.lex_state = 4}, + [50] = {.lex_state = 4}, + [51] = {.lex_state = 4}, + [52] = {.lex_state = 4}, + [53] = {.lex_state = 4}, + [54] = {.lex_state = 4}, + [55] = {.lex_state = 4}, + [56] = {.lex_state = 4}, + [57] = {.lex_state = 4}, + [58] = {.lex_state = 4}, + [59] = {.lex_state = 4}, + [60] = {.lex_state = 4}, + [61] = {.lex_state = 4}, + [62] = {.lex_state = 4}, + [63] = {.lex_state = 49}, + [64] = {.lex_state = 49}, + [65] = {.lex_state = 49}, + [66] = {.lex_state = 49}, + [67] = {.lex_state = 49}, + [68] = {.lex_state = 49}, + [69] = {.lex_state = 49}, + [70] = {.lex_state = 49}, + [71] = {.lex_state = 49}, + [72] = {.lex_state = 49}, + [73] = {.lex_state = 49}, + [74] = {.lex_state = 49}, + [75] = {.lex_state = 49}, + [76] = {.lex_state = 49}, + [77] = {.lex_state = 8}, + [78] = {.lex_state = 49}, + [79] = {.lex_state = 8}, + [80] = {.lex_state = 49}, + [81] = {.lex_state = 8}, + [82] = {.lex_state = 49}, + [83] = {.lex_state = 49}, + [84] = {.lex_state = 49}, + [85] = {.lex_state = 49}, + [86] = {.lex_state = 49}, + [87] = {.lex_state = 49}, + [88] = {.lex_state = 49}, + [89] = {.lex_state = 49}, + [90] = {.lex_state = 49}, + [91] = {.lex_state = 10}, + [92] = {.lex_state = 8}, + [93] = {.lex_state = 8}, + [94] = {.lex_state = 8}, + [95] = {.lex_state = 8}, + [96] = {.lex_state = 8}, + [97] = {.lex_state = 10}, + [98] = {.lex_state = 10}, + [99] = {.lex_state = 8}, + [100] = {.lex_state = 8}, + [101] = {.lex_state = 8}, + [102] = {.lex_state = 8}, + [103] = {.lex_state = 8}, + [104] = {.lex_state = 8}, + [105] = {.lex_state = 8}, + [106] = {.lex_state = 8}, + [107] = {.lex_state = 8}, + [108] = {.lex_state = 8}, + [109] = {.lex_state = 8}, + [110] = {.lex_state = 8}, + [111] = {.lex_state = 8}, + [112] = {.lex_state = 3}, + [113] = {.lex_state = 3}, + [114] = {.lex_state = 3}, + [115] = {.lex_state = 2}, + [116] = {.lex_state = 3}, + [117] = {.lex_state = 3}, + [118] = {.lex_state = 3}, + [119] = {.lex_state = 3}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 1}, + [122] = {.lex_state = 1}, + [123] = {.lex_state = 1}, + [124] = {.lex_state = 1}, + [125] = {.lex_state = 1}, + [126] = {.lex_state = 1}, + [127] = {.lex_state = 1}, + [128] = {.lex_state = 1}, + [129] = {.lex_state = 1}, + [130] = {.lex_state = 1}, + [131] = {.lex_state = 1}, + [132] = {.lex_state = 1}, + [133] = {.lex_state = 1}, + [134] = {.lex_state = 8}, + [135] = {.lex_state = 1}, + [136] = {.lex_state = 1}, + [137] = {.lex_state = 1}, + [138] = {.lex_state = 1}, + [139] = {.lex_state = 1}, + [140] = {.lex_state = 1}, + [141] = {.lex_state = 1}, + [142] = {.lex_state = 1}, + [143] = {.lex_state = 1}, + [144] = {.lex_state = 8}, + [145] = {.lex_state = 1}, + [146] = {.lex_state = 1}, + [147] = {.lex_state = 1}, + [148] = {.lex_state = 1}, + [149] = {.lex_state = 1}, + [150] = {.lex_state = 1}, + [151] = {.lex_state = 1}, + [152] = {.lex_state = 1}, + [153] = {.lex_state = 1}, + [154] = {.lex_state = 8}, + [155] = {.lex_state = 8}, + [156] = {.lex_state = 8}, + [157] = {.lex_state = 8}, + [158] = {.lex_state = 8}, + [159] = {.lex_state = 8}, + [160] = {.lex_state = 8}, + [161] = {.lex_state = 8}, + [162] = {.lex_state = 8}, + [163] = {.lex_state = 8}, + [164] = {.lex_state = 8}, + [165] = {.lex_state = 8}, + [166] = {.lex_state = 8}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 1}, + [169] = {.lex_state = 8}, + [170] = {.lex_state = 1}, + [171] = {.lex_state = 1}, + [172] = {.lex_state = 1}, + [173] = {.lex_state = 1}, + [174] = {.lex_state = 1}, + [175] = {.lex_state = 158}, + [176] = {.lex_state = 8}, + [177] = {.lex_state = 163}, + [178] = {.lex_state = 158}, + [179] = {.lex_state = 163}, + [180] = {.lex_state = 163}, + [181] = {.lex_state = 158}, + [182] = {.lex_state = 163}, + [183] = {.lex_state = 158}, + [184] = {.lex_state = 1}, + [185] = {.lex_state = 1}, + [186] = {.lex_state = 158}, + [187] = {.lex_state = 1}, + [188] = {.lex_state = 163}, + [189] = {.lex_state = 162}, + [190] = {.lex_state = 1}, + [191] = {.lex_state = 1}, + [192] = {.lex_state = 1}, + [193] = {.lex_state = 1}, + [194] = {.lex_state = 1}, + [195] = {.lex_state = 1}, + [196] = {.lex_state = 159}, + [197] = {.lex_state = 1}, + [198] = {.lex_state = 1}, + [199] = {.lex_state = 159}, + [200] = {.lex_state = 1}, + [201] = {.lex_state = 1}, + [202] = {.lex_state = 1}, + [203] = {.lex_state = 1}, + [204] = {.lex_state = 1}, + [205] = {.lex_state = 1}, + [206] = {.lex_state = 1}, + [207] = {.lex_state = 1}, + [208] = {.lex_state = 1}, + [209] = {.lex_state = 160}, + [210] = {.lex_state = 48}, + [211] = {.lex_state = 160}, + [212] = {.lex_state = 1}, + [213] = {.lex_state = 12}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 162}, + [216] = {.lex_state = 163}, + [217] = {.lex_state = 1}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, + [221] = {.lex_state = 1}, + [222] = {.lex_state = 163}, + [223] = {.lex_state = 1}, + [224] = {.lex_state = 1}, + [225] = {.lex_state = 1}, + [226] = {.lex_state = 48}, + [227] = {.lex_state = 1}, + [228] = {.lex_state = 1}, + [229] = {.lex_state = 1}, + [230] = {.lex_state = 163}, + [231] = {.lex_state = 48}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 1}, + [234] = {.lex_state = 163}, + [235] = {.lex_state = 1}, + [236] = {.lex_state = 1}, + [237] = {.lex_state = 12}, + [238] = {.lex_state = 48}, + [239] = {.lex_state = 12}, + [240] = {.lex_state = 161}, + [241] = {.lex_state = 161}, + [242] = {.lex_state = 161}, + [243] = {.lex_state = 161}, + [244] = {.lex_state = 161}, + [245] = {.lex_state = 161}, + [246] = {.lex_state = 12}, + [247] = {.lex_state = 161}, + [248] = {.lex_state = 161}, + [249] = {.lex_state = 48}, + [250] = {.lex_state = 161}, + [251] = {.lex_state = 161}, + [252] = {.lex_state = 161}, + [253] = {.lex_state = 161}, + [254] = {.lex_state = 161}, + [255] = {.lex_state = 161}, + [256] = {.lex_state = 161}, + [257] = {.lex_state = 161}, + [258] = {.lex_state = 161}, + [259] = {.lex_state = 161}, + [260] = {.lex_state = 161}, + [261] = {.lex_state = 161}, + [262] = {.lex_state = 161}, + [263] = {.lex_state = 161}, + [264] = {.lex_state = 161}, + [265] = {.lex_state = 161}, + [266] = {.lex_state = 161}, + [267] = {.lex_state = 161}, + [268] = {.lex_state = 161}, + [269] = {.lex_state = 161}, + [270] = {.lex_state = 161}, + [271] = {.lex_state = 161}, + [272] = {.lex_state = 161}, + [273] = {.lex_state = 161}, + [274] = {.lex_state = 161}, + [275] = {.lex_state = 161}, + [276] = {.lex_state = 161}, + [277] = {.lex_state = 161}, + [278] = {.lex_state = 161}, + [279] = {.lex_state = 161}, + [280] = {.lex_state = 161}, + [281] = {.lex_state = 161}, + [282] = {.lex_state = 161}, + [283] = {.lex_state = 161}, + [284] = {.lex_state = 161}, + [285] = {.lex_state = 161}, + [286] = {.lex_state = 161}, + [287] = {.lex_state = 161}, + [288] = {.lex_state = 161}, + [289] = {.lex_state = 161}, + [290] = {.lex_state = 161}, + [291] = {.lex_state = 161}, + [292] = {.lex_state = 161}, + [293] = {.lex_state = 12}, + [294] = {.lex_state = 161}, + [295] = {.lex_state = 45}, + [296] = {.lex_state = 45}, + [297] = {.lex_state = 47}, + [298] = {.lex_state = 47}, + [299] = {.lex_state = 48}, + [300] = {.lex_state = 4}, + [301] = {.lex_state = 48}, + [302] = {.lex_state = 48}, + [303] = {.lex_state = 4}, + [304] = {.lex_state = 48}, + [305] = {.lex_state = 49}, + [306] = {.lex_state = 49}, + [307] = {.lex_state = 49}, + [308] = {.lex_state = 49}, + [309] = {.lex_state = 49}, + [310] = {.lex_state = 49}, + [311] = {.lex_state = 49}, + [312] = {.lex_state = 49}, + [313] = {.lex_state = 49}, + [314] = {.lex_state = 49}, + [315] = {.lex_state = 49}, + [316] = {.lex_state = 49}, + [317] = {.lex_state = 49}, + [318] = {.lex_state = 49}, + [319] = {.lex_state = 49}, + [320] = {.lex_state = 49}, + [321] = {.lex_state = 49}, + [322] = {.lex_state = 49}, + [323] = {.lex_state = 49}, + [324] = {.lex_state = 49}, + [325] = {.lex_state = 49}, + [326] = {.lex_state = 49}, + [327] = {.lex_state = 49}, + [328] = {.lex_state = 49}, + [329] = {.lex_state = 49}, + [330] = {.lex_state = 49}, + [331] = {.lex_state = 49}, + [332] = {.lex_state = 49}, + [333] = {.lex_state = 49}, + [334] = {.lex_state = 49}, + [335] = {.lex_state = 49}, + [336] = {.lex_state = 49}, + [337] = {.lex_state = 49}, + [338] = {.lex_state = 49}, + [339] = {.lex_state = 49}, + [340] = {.lex_state = 49}, + [341] = {.lex_state = 49}, + [342] = {.lex_state = 49}, + [343] = {.lex_state = 49}, + [344] = {.lex_state = 49}, + [345] = {.lex_state = 1}, + [346] = {.lex_state = 1}, + [347] = {.lex_state = 1}, + [348] = {.lex_state = 1}, + [349] = {.lex_state = 9}, + [350] = {.lex_state = 9}, + [351] = {.lex_state = 9}, + [352] = {.lex_state = 9}, + [353] = {.lex_state = 9}, + [354] = {.lex_state = 9}, + [355] = {.lex_state = 9}, + [356] = {.lex_state = 9}, + [357] = {.lex_state = 1}, + [358] = {.lex_state = 9}, + [359] = {.lex_state = 3}, + [360] = {.lex_state = 9}, + [361] = {.lex_state = 9}, + [362] = {.lex_state = 9}, + [363] = {.lex_state = 9}, + [364] = {.lex_state = 9}, + [365] = {.lex_state = 9}, + [366] = {.lex_state = 9}, + [367] = {.lex_state = 9}, + [368] = {.lex_state = 9}, + [369] = {.lex_state = 9}, + [370] = {.lex_state = 9}, + [371] = {.lex_state = 9}, + [372] = {.lex_state = 9}, + [373] = {.lex_state = 3}, + [374] = {.lex_state = 9}, + [375] = {.lex_state = 11}, + [376] = {.lex_state = 15}, + [377] = {.lex_state = 11}, + [378] = {.lex_state = 15}, + [379] = {.lex_state = 11}, + [380] = {.lex_state = 9}, + [381] = {.lex_state = 9}, + [382] = {.lex_state = 14}, + [383] = {.lex_state = 14}, + [384] = {.lex_state = 14}, + [385] = {.lex_state = 14}, + [386] = {.lex_state = 14}, + [387] = {.lex_state = 11}, + [388] = {.lex_state = 11}, + [389] = {.lex_state = 14}, + [390] = {.lex_state = 14}, + [391] = {.lex_state = 14}, + [392] = {.lex_state = 11}, + [393] = {.lex_state = 11}, + [394] = {.lex_state = 11}, + [395] = {.lex_state = 15}, + [396] = {.lex_state = 15}, + [397] = {.lex_state = 7}, + [398] = {.lex_state = 11}, + [399] = {.lex_state = 15}, + [400] = {.lex_state = 13}, + [401] = {.lex_state = 15}, + [402] = {.lex_state = 11}, + [403] = {.lex_state = 11}, + [404] = {.lex_state = 9}, + [405] = {.lex_state = 11}, + [406] = {.lex_state = 15}, + [407] = {.lex_state = 15}, + [408] = {.lex_state = 2}, + [409] = {.lex_state = 2}, + [410] = {.lex_state = 15}, + [411] = {.lex_state = 15}, + [412] = {.lex_state = 15}, + [413] = {.lex_state = 15}, + [414] = {.lex_state = 15}, + [415] = {.lex_state = 9}, + [416] = {.lex_state = 6}, + [417] = {.lex_state = 15}, + [418] = {.lex_state = 15}, + [419] = {.lex_state = 2}, + [420] = {.lex_state = 2}, + [421] = {.lex_state = 2}, + [422] = {.lex_state = 2}, + [423] = {.lex_state = 2}, + [424] = {.lex_state = 2}, + [425] = {.lex_state = 15}, + [426] = {.lex_state = 2}, + [427] = {.lex_state = 15}, + [428] = {.lex_state = 15}, + [429] = {.lex_state = 2}, + [430] = {.lex_state = 13}, + [431] = {.lex_state = 6}, + [432] = {.lex_state = 15}, + [433] = {.lex_state = 15}, + [434] = {.lex_state = 15}, + [435] = {.lex_state = 6}, + [436] = {.lex_state = 11}, + [437] = {.lex_state = 1}, + [438] = {.lex_state = 4}, + [439] = {.lex_state = 6}, + [440] = {.lex_state = 6}, + [441] = {.lex_state = 15}, + [442] = {.lex_state = 9}, + [443] = {.lex_state = 15}, + [444] = {.lex_state = 2}, + [445] = {.lex_state = 13}, + [446] = {.lex_state = 9}, + [447] = {.lex_state = 9}, + [448] = {.lex_state = 6}, + [449] = {.lex_state = 9}, + [450] = {.lex_state = 9}, + [451] = {.lex_state = 9}, + [452] = {.lex_state = 2}, + [453] = {.lex_state = 2}, + [454] = {.lex_state = 2}, + [455] = {.lex_state = 2}, + [456] = {.lex_state = 6}, + [457] = {.lex_state = 1}, + [458] = {.lex_state = 11}, + [459] = {.lex_state = 4}, + [460] = {.lex_state = 4}, + [461] = {.lex_state = 9}, + [462] = {.lex_state = 11}, + [463] = {.lex_state = 1}, + [464] = {.lex_state = 4}, + [465] = {.lex_state = 2}, + [466] = {.lex_state = 2}, + [467] = {.lex_state = 1}, + [468] = {.lex_state = 3}, + [469] = {.lex_state = 1}, + [470] = {.lex_state = 4}, + [471] = {.lex_state = 2}, + [472] = {.lex_state = 1}, + [473] = {.lex_state = 1}, + [474] = {.lex_state = 1}, + [475] = {.lex_state = 4}, + [476] = {.lex_state = 11}, + [477] = {.lex_state = 11}, + [478] = {.lex_state = 1}, + [479] = {.lex_state = 4}, + [480] = {.lex_state = 4}, + [481] = {.lex_state = 1}, + [482] = {.lex_state = 4}, + [483] = {.lex_state = 4}, + [484] = {.lex_state = 11}, + [485] = {.lex_state = 1}, + [486] = {.lex_state = 3}, + [487] = {.lex_state = 11}, + [488] = {.lex_state = 1}, + [489] = {.lex_state = 2}, + [490] = {.lex_state = 11}, + [491] = {.lex_state = 2}, + [492] = {.lex_state = 4}, + [493] = {.lex_state = 11}, + [494] = {.lex_state = 1}, + [495] = {.lex_state = 1}, + [496] = {.lex_state = 15}, + [497] = {.lex_state = 2}, + [498] = {.lex_state = 11}, + [499] = {.lex_state = 2}, + [500] = {.lex_state = 11}, + [501] = {.lex_state = 1}, + [502] = {.lex_state = 2}, + [503] = {.lex_state = 1}, + [504] = {.lex_state = 1}, + [505] = {.lex_state = 4}, + [506] = {.lex_state = 1}, + [507] = {.lex_state = 1}, + [508] = {.lex_state = 2}, + [509] = {.lex_state = 2}, + [510] = {.lex_state = 1}, + [511] = {.lex_state = 0}, + [512] = {.lex_state = 1}, + [513] = {.lex_state = 2}, + [514] = {.lex_state = 1}, + [515] = {.lex_state = 4}, + [516] = {.lex_state = 1}, + [517] = {.lex_state = 1}, + [518] = {.lex_state = 2}, + [519] = {.lex_state = 9}, + [520] = {.lex_state = 2}, + [521] = {.lex_state = 59}, + [522] = {.lex_state = 2}, + [523] = {.lex_state = 2}, + [524] = {.lex_state = 363}, + [525] = {.lex_state = 1}, + [526] = {.lex_state = 2}, + [527] = {.lex_state = 0}, + [528] = {.lex_state = 146}, + [529] = {.lex_state = 146}, + [530] = {.lex_state = 146}, + [531] = {.lex_state = 1}, + [532] = {.lex_state = 59}, + [533] = {.lex_state = 1}, + [534] = {.lex_state = 0}, + [535] = {.lex_state = 52}, + [536] = {.lex_state = 2}, + [537] = {.lex_state = 146}, + [538] = {.lex_state = 2}, + [539] = {.lex_state = 1}, + [540] = {.lex_state = 2}, + [541] = {.lex_state = 355}, + [542] = {.lex_state = 146}, + [543] = {.lex_state = 359}, + [544] = {.lex_state = 146}, + [545] = {.lex_state = 146}, + [546] = {.lex_state = 1}, + [547] = {.lex_state = 1}, + [548] = {.lex_state = 146}, + [549] = {.lex_state = 2}, + [550] = {.lex_state = 3}, + [551] = {.lex_state = 2}, + [552] = {.lex_state = 359}, + [553] = {.lex_state = 0}, + [554] = {.lex_state = 363}, + [555] = {.lex_state = 3}, + [556] = {.lex_state = 0}, + [557] = {.lex_state = 363}, + [558] = {.lex_state = 1}, + [559] = {.lex_state = 1}, + [560] = {.lex_state = 146}, + [561] = {.lex_state = 2}, + [562] = {.lex_state = 355}, + [563] = {.lex_state = 146}, + [564] = {.lex_state = 0}, + [565] = {.lex_state = 1}, + [566] = {.lex_state = 8}, + [567] = {.lex_state = 4}, + [568] = {.lex_state = 147}, + [569] = {.lex_state = 2}, + [570] = {.lex_state = 4}, + [571] = {.lex_state = 4}, + [572] = {.lex_state = 4}, + [573] = {.lex_state = 0}, + [574] = {.lex_state = 3}, + [575] = {.lex_state = 0}, + [576] = {.lex_state = 1}, + [577] = {.lex_state = 0}, + [578] = {.lex_state = 3}, + [579] = {.lex_state = 8}, + [580] = {.lex_state = 147}, + [581] = {.lex_state = 2}, + [582] = {.lex_state = 3}, + [583] = {.lex_state = 4}, + [584] = {.lex_state = 0}, + [585] = {.lex_state = 147}, + [586] = {.lex_state = 4}, + [587] = {.lex_state = 4}, + [588] = {.lex_state = 2}, + [589] = {.lex_state = 4}, + [590] = {.lex_state = 0}, + [591] = {.lex_state = 2}, + [592] = {.lex_state = 1}, + [593] = {.lex_state = 2}, + [594] = {.lex_state = 2}, + [595] = {.lex_state = 8}, + [596] = {.lex_state = 2}, + [597] = {.lex_state = 8}, + [598] = {.lex_state = 2}, + [599] = {.lex_state = 2}, + [600] = {.lex_state = 1}, + [601] = {.lex_state = 0}, + [602] = {.lex_state = 2}, + [603] = {.lex_state = 0}, + [604] = {.lex_state = 0}, + [605] = {.lex_state = 147}, + [606] = {.lex_state = 4}, + [607] = {.lex_state = 2}, + [608] = {.lex_state = 147}, + [609] = {.lex_state = 1}, + [610] = {.lex_state = 2}, + [611] = {.lex_state = 2}, + [612] = {.lex_state = 2}, + [613] = {.lex_state = 1}, + [614] = {.lex_state = 0}, + [615] = {.lex_state = 0}, + [616] = {.lex_state = 4}, + [617] = {.lex_state = 147}, + [618] = {.lex_state = 4}, + [619] = {.lex_state = 1}, + [620] = {.lex_state = 147}, + [621] = {.lex_state = 4}, + [622] = {.lex_state = 2}, + [623] = {.lex_state = 1}, + [624] = {.lex_state = 4}, + [625] = {.lex_state = 4}, + [626] = {.lex_state = 147}, + [627] = {.lex_state = 3}, + [628] = {.lex_state = 1}, + [629] = {.lex_state = 0}, + [630] = {.lex_state = 222}, + [631] = {.lex_state = 4}, + [632] = {.lex_state = 4}, + [633] = {.lex_state = 147}, + [634] = {.lex_state = 0}, + [635] = {.lex_state = 1}, + [636] = {.lex_state = 0}, + [637] = {.lex_state = 0}, + [638] = {.lex_state = 0}, + [639] = {.lex_state = 0}, + [640] = {.lex_state = 2}, + [641] = {.lex_state = 0}, + [642] = {.lex_state = 3}, + [643] = {.lex_state = 4}, + [644] = {.lex_state = 4}, + [645] = {.lex_state = 3}, + [646] = {.lex_state = 4}, + [647] = {.lex_state = 4}, + [648] = {.lex_state = 0}, + [649] = {.lex_state = 0}, + [650] = {.lex_state = 4}, + [651] = {.lex_state = 0}, + [652] = {.lex_state = 0}, + [653] = {.lex_state = 4}, + [654] = {.lex_state = 4}, + [655] = {.lex_state = 2}, + [656] = {.lex_state = 4}, + [657] = {.lex_state = 4}, + [658] = {.lex_state = 0}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [anon_sym_ATuse] = ACTIONS(1), + [anon_sym_as] = ACTIONS(1), + [anon_sym_ATimport] = ACTIONS(1), + [anon_sym_ATstruct] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_ATenum] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_ATfunc] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_LT_SLASH] = ACTIONS(1), + [anon_sym_AT] = ACTIONS(1), + [anon_sym_safe] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_ATif] = ACTIONS(1), + [anon_sym_let] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_ATfor] = ACTIONS(1), + [anon_sym_in] = ACTIONS(1), + [anon_sym_ATmatch] = ACTIONS(1), + [anon_sym_EQ_GT] = ACTIONS(1), + [anon_sym_ATbreak] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_ATcontinue] = ACTIONS(1), + [anon_sym_LT_AT] = ACTIONS(1), + [anon_sym_LT_SLASH_AT] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [sym_wildcard_pattern] = ACTIONS(1), + [anon_sym_DOT_DOT] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [sym_escape_sequence] = ACTIONS(1), + [aux_sym_integer_literal_token1] = ACTIONS(1), + [aux_sym_integer_literal_token2] = ACTIONS(1), + [aux_sym_integer_literal_token3] = ACTIONS(1), + [aux_sym_integer_literal_token4] = ACTIONS(1), + [sym_float_literal] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), + [anon_sym_i8] = ACTIONS(1), + [anon_sym_i16] = ACTIONS(1), + [anon_sym_i32] = ACTIONS(1), + [anon_sym_i64] = ACTIONS(1), + [anon_sym_i128] = ACTIONS(1), + [anon_sym_isize] = ACTIONS(1), + [anon_sym_u8] = ACTIONS(1), + [anon_sym_u16] = ACTIONS(1), + [anon_sym_u32] = ACTIONS(1), + [anon_sym_u64] = ACTIONS(1), + [anon_sym_u128] = ACTIONS(1), + [anon_sym_usize] = ACTIONS(1), + [anon_sym_f32] = ACTIONS(1), + [anon_sym_f64] = ACTIONS(1), + [anon_sym_bool] = ACTIONS(1), + [anon_sym_char] = ACTIONS(1), + [anon_sym_str] = ACTIONS(1), + [anon_sym_String] = ACTIONS(1), + [anon_sym_mut] = ACTIONS(1), + [anon_sym_AT_STAR] = ACTIONS(1), + [anon_sym_LT_BANG_DASH_DASH] = ACTIONS(1), + [anon_sym_AT_BQUOTE_BQUOTE_BQUOTE] = ACTIONS(1), + [anon_sym_html] = ACTIONS(1), + [anon_sym_css] = ACTIONS(1), + [anon_sym_js] = ACTIONS(1), + [anon_sym_javascript] = ACTIONS(1), + [anon_sym_json] = ACTIONS(1), + [anon_sym_alpine] = ACTIONS(1), + [anon_sym_style] = ACTIONS(1), + [sym_escape_at] = ACTIONS(1), + [sym_text_content] = ACTIONS(1), + }, + [1] = { + [sym_template] = STATE(615), + [sym_template_element] = STATE(3), + [sym_use_statement] = STATE(258), + [sym_import_statement] = STATE(258), + [sym_struct_definition] = STATE(258), + [sym_enum_definition] = STATE(258), + [sym_function_definition] = STATE(258), + [sym_template_node] = STATE(258), + [sym_html_element] = STATE(283), + [sym_template_expression] = STATE(283), + [sym_simple_expression] = STATE(280), + [sym_complex_expression] = STATE(280), + [sym_safe_expression] = STATE(280), + [sym_template_control_flow] = STATE(283), + [sym_if_statement] = STATE(251), + [sym_for_loop] = STATE(251), + [sym_match_statement] = STATE(251), + [sym_break_statement] = STATE(251), + [sym_continue_statement] = STATE(251), + [sym_function_tag] = STATE(283), + [sym_self_closing_function_tag] = STATE(250), + [sym_container_function_tag] = STATE(250), + [sym_comment] = STATE(283), + [sym_template_comment] = STATE(260), + [sym_html_comment] = STATE(260), + [sym_embedded_language] = STATE(283), + [aux_sym_template_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(3), + [anon_sym_ATuse] = ACTIONS(5), + [anon_sym_ATimport] = ACTIONS(7), + [anon_sym_ATstruct] = ACTIONS(9), + [anon_sym_ATenum] = ACTIONS(11), + [anon_sym_LT] = ACTIONS(13), + [anon_sym_ATfunc] = ACTIONS(15), + [anon_sym_AT] = ACTIONS(17), + [anon_sym_ATif] = ACTIONS(19), + [anon_sym_ATfor] = ACTIONS(21), + [anon_sym_ATmatch] = ACTIONS(23), + [anon_sym_ATbreak] = ACTIONS(25), + [anon_sym_ATcontinue] = ACTIONS(27), + [anon_sym_LT_AT] = ACTIONS(29), + [anon_sym_AT_STAR] = ACTIONS(31), + [anon_sym_LT_BANG_DASH_DASH] = ACTIONS(33), + [anon_sym_AT_BQUOTE_BQUOTE_BQUOTE] = ACTIONS(35), + [sym_escape_at] = ACTIONS(37), + [sym_text_content] = ACTIONS(37), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 25, + ACTIONS(39), 1, + ts_builtin_sym_end, + ACTIONS(41), 1, + anon_sym_ATuse, + ACTIONS(44), 1, + anon_sym_ATimport, + ACTIONS(47), 1, + anon_sym_ATstruct, + ACTIONS(50), 1, + anon_sym_ATenum, + ACTIONS(53), 1, + anon_sym_LT, + ACTIONS(56), 1, + anon_sym_ATfunc, + ACTIONS(59), 1, + anon_sym_AT, + ACTIONS(62), 1, + anon_sym_ATif, + ACTIONS(65), 1, + anon_sym_ATfor, + ACTIONS(68), 1, + anon_sym_ATmatch, + ACTIONS(71), 1, + anon_sym_ATbreak, + ACTIONS(74), 1, + anon_sym_ATcontinue, + ACTIONS(77), 1, + anon_sym_LT_AT, + ACTIONS(80), 1, + anon_sym_AT_STAR, + ACTIONS(83), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(86), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(89), 2, + sym_escape_at, + sym_text_content, + STATE(2), 2, + sym_template_element, + aux_sym_template_repeat1, + STATE(250), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(260), 2, + sym_template_comment, + sym_html_comment, + STATE(280), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(251), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(258), 6, + sym_use_statement, + sym_import_statement, + sym_struct_definition, + sym_enum_definition, + sym_function_definition, + sym_template_node, + STATE(283), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [96] = 25, + ACTIONS(5), 1, + anon_sym_ATuse, + ACTIONS(7), 1, + anon_sym_ATimport, + ACTIONS(9), 1, + anon_sym_ATstruct, + ACTIONS(11), 1, + anon_sym_ATenum, + ACTIONS(13), 1, + anon_sym_LT, + ACTIONS(15), 1, + anon_sym_ATfunc, + ACTIONS(17), 1, + anon_sym_AT, + ACTIONS(19), 1, + anon_sym_ATif, + ACTIONS(21), 1, + anon_sym_ATfor, + ACTIONS(23), 1, + anon_sym_ATmatch, + ACTIONS(25), 1, + anon_sym_ATbreak, + ACTIONS(27), 1, + anon_sym_ATcontinue, + ACTIONS(29), 1, + anon_sym_LT_AT, + ACTIONS(31), 1, + anon_sym_AT_STAR, + ACTIONS(33), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(35), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(92), 1, + ts_builtin_sym_end, + ACTIONS(37), 2, + sym_escape_at, + sym_text_content, + STATE(2), 2, + sym_template_element, + aux_sym_template_repeat1, + STATE(250), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(260), 2, + sym_template_comment, + sym_html_comment, + STATE(280), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(251), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(258), 6, + sym_use_statement, + sym_import_statement, + sym_struct_definition, + sym_enum_definition, + sym_function_definition, + sym_template_node, + STATE(283), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [192] = 20, + ACTIONS(96), 1, + anon_sym_LT, + ACTIONS(99), 1, + anon_sym_LT_SLASH, + ACTIONS(101), 1, + anon_sym_AT, + ACTIONS(104), 1, + anon_sym_ATif, + ACTIONS(107), 1, + anon_sym_ATfor, + ACTIONS(110), 1, + anon_sym_ATmatch, + ACTIONS(113), 1, + anon_sym_ATbreak, + ACTIONS(116), 1, + anon_sym_ATcontinue, + ACTIONS(119), 1, + anon_sym_LT_AT, + ACTIONS(122), 1, + anon_sym_AT_STAR, + ACTIONS(125), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(128), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(131), 2, + sym_escape_at, + sym_text_content, + STATE(84), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + ACTIONS(94), 6, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [273] = 20, + ACTIONS(136), 1, + anon_sym_LT, + ACTIONS(139), 1, + anon_sym_AT, + ACTIONS(142), 1, + anon_sym_ATif, + ACTIONS(145), 1, + anon_sym_ATfor, + ACTIONS(148), 1, + anon_sym_ATmatch, + ACTIONS(151), 1, + anon_sym_ATbreak, + ACTIONS(154), 1, + anon_sym_ATcontinue, + ACTIONS(157), 1, + anon_sym_LT_AT, + ACTIONS(160), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(162), 1, + anon_sym_AT_STAR, + ACTIONS(165), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(168), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(171), 2, + sym_escape_at, + sym_text_content, + STATE(65), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + ACTIONS(134), 6, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [354] = 20, + ACTIONS(176), 1, + anon_sym_LT, + ACTIONS(179), 1, + anon_sym_LT_SLASH, + ACTIONS(181), 1, + anon_sym_AT, + ACTIONS(184), 1, + anon_sym_ATif, + ACTIONS(187), 1, + anon_sym_ATfor, + ACTIONS(190), 1, + anon_sym_ATmatch, + ACTIONS(193), 1, + anon_sym_ATbreak, + ACTIONS(196), 1, + anon_sym_ATcontinue, + ACTIONS(199), 1, + anon_sym_LT_AT, + ACTIONS(202), 1, + anon_sym_AT_STAR, + ACTIONS(205), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(208), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(211), 2, + sym_escape_at, + sym_text_content, + STATE(68), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + ACTIONS(174), 6, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [435] = 20, + ACTIONS(216), 1, + anon_sym_LT, + ACTIONS(219), 1, + anon_sym_AT, + ACTIONS(222), 1, + anon_sym_ATif, + ACTIONS(225), 1, + anon_sym_ATfor, + ACTIONS(228), 1, + anon_sym_ATmatch, + ACTIONS(231), 1, + anon_sym_ATbreak, + ACTIONS(234), 1, + anon_sym_ATcontinue, + ACTIONS(237), 1, + anon_sym_LT_AT, + ACTIONS(240), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(242), 1, + anon_sym_AT_STAR, + ACTIONS(245), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(248), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(251), 2, + sym_escape_at, + sym_text_content, + STATE(78), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + ACTIONS(214), 6, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [516] = 2, + ACTIONS(254), 10, + aux_sym_rust_path_token1, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + sym_wildcard_pattern, + anon_sym_PIPE, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(256), 29, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [560] = 2, + ACTIONS(258), 10, + aux_sym_rust_path_token1, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + sym_wildcard_pattern, + anon_sym_PIPE, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(260), 29, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [604] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(264), 1, + anon_sym_LBRACE, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(128), 1, + sym_expression, + STATE(130), 1, + sym_primary_expression, + STATE(139), 1, + sym_content_block, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [682] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(286), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(184), 1, + sym_expression, + STATE(635), 1, + sym_argument_list, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [760] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(264), 1, + anon_sym_LBRACE, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(124), 1, + sym_expression, + STATE(130), 1, + sym_primary_expression, + STATE(143), 1, + sym_content_block, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [838] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(288), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(184), 1, + sym_expression, + STATE(592), 1, + sym_argument_list, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [916] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(290), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(184), 1, + sym_expression, + STATE(628), 1, + sym_argument_list, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [994] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(292), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(184), 1, + sym_expression, + STATE(619), 1, + sym_argument_list, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1072] = 20, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(294), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(184), 1, + sym_expression, + STATE(600), 1, + sym_argument_list, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1150] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(296), 1, + anon_sym_RBRACK, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(185), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1225] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(298), 1, + anon_sym_RBRACK, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(187), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1300] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(300), 1, + anon_sym_let, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(205), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1375] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(302), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(187), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1450] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(304), 1, + anon_sym_RBRACK, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(187), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1525] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(197), 1, + sym_expression, + STATE(531), 1, + sym_default_value, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1600] = 21, + ACTIONS(134), 1, + anon_sym_RBRACE, + ACTIONS(136), 1, + anon_sym_LT, + ACTIONS(139), 1, + anon_sym_AT, + ACTIONS(142), 1, + anon_sym_ATif, + ACTIONS(145), 1, + anon_sym_ATfor, + ACTIONS(148), 1, + anon_sym_ATmatch, + ACTIONS(151), 1, + anon_sym_ATbreak, + ACTIONS(154), 1, + anon_sym_ATcontinue, + ACTIONS(157), 1, + anon_sym_LT_AT, + ACTIONS(162), 1, + anon_sym_AT_STAR, + ACTIONS(165), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(168), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(306), 1, + anon_sym_LT_SLASH, + ACTIONS(308), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(171), 2, + sym_escape_at, + sym_text_content, + STATE(89), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [1679] = 20, + ACTIONS(176), 1, + anon_sym_LT, + ACTIONS(181), 1, + anon_sym_AT, + ACTIONS(184), 1, + anon_sym_ATif, + ACTIONS(187), 1, + anon_sym_ATfor, + ACTIONS(190), 1, + anon_sym_ATmatch, + ACTIONS(193), 1, + anon_sym_ATbreak, + ACTIONS(196), 1, + anon_sym_ATcontinue, + ACTIONS(199), 1, + anon_sym_LT_AT, + ACTIONS(202), 1, + anon_sym_AT_STAR, + ACTIONS(205), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(208), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(310), 1, + anon_sym_LT_SLASH, + ACTIONS(174), 2, + anon_sym_RBRACE, + anon_sym_LT_SLASH_AT, + ACTIONS(211), 2, + sym_escape_at, + sym_text_content, + STATE(85), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [1756] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(312), 1, + anon_sym_RPAREN, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(187), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [1831] = 20, + ACTIONS(96), 1, + anon_sym_LT, + ACTIONS(101), 1, + anon_sym_AT, + ACTIONS(104), 1, + anon_sym_ATif, + ACTIONS(107), 1, + anon_sym_ATfor, + ACTIONS(110), 1, + anon_sym_ATmatch, + ACTIONS(113), 1, + anon_sym_ATbreak, + ACTIONS(116), 1, + anon_sym_ATcontinue, + ACTIONS(119), 1, + anon_sym_LT_AT, + ACTIONS(122), 1, + anon_sym_AT_STAR, + ACTIONS(125), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(128), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(314), 1, + anon_sym_LT_SLASH, + ACTIONS(94), 2, + anon_sym_RBRACE, + anon_sym_LT_SLASH_AT, + ACTIONS(131), 2, + sym_escape_at, + sym_text_content, + STATE(88), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [1908] = 21, + ACTIONS(214), 1, + anon_sym_RBRACE, + ACTIONS(216), 1, + anon_sym_LT, + ACTIONS(219), 1, + anon_sym_AT, + ACTIONS(222), 1, + anon_sym_ATif, + ACTIONS(225), 1, + anon_sym_ATfor, + ACTIONS(228), 1, + anon_sym_ATmatch, + ACTIONS(231), 1, + anon_sym_ATbreak, + ACTIONS(234), 1, + anon_sym_ATcontinue, + ACTIONS(237), 1, + anon_sym_LT_AT, + ACTIONS(242), 1, + anon_sym_AT_STAR, + ACTIONS(245), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(248), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(316), 1, + anon_sym_LT_SLASH, + ACTIONS(318), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(251), 2, + sym_escape_at, + sym_text_content, + STATE(86), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [1987] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(320), 1, + anon_sym_let, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(190), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2062] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(322), 1, + anon_sym_let, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(198), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2137] = 19, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(324), 1, + anon_sym_let, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(206), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2212] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(217), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2284] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(224), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2356] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(232), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2428] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(194), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2500] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(233), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2572] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(191), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2644] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(223), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2716] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(229), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2788] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(187), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2860] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(228), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [2932] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(202), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3004] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(120), 1, + sym_expression, + STATE(130), 1, + sym_primary_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3076] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(235), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3148] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(192), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3220] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(227), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3292] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(214), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3364] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(123), 1, + sym_expression, + STATE(130), 1, + sym_primary_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3436] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(204), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3508] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(218), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3580] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(200), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3652] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(225), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3724] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(201), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3796] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(203), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3868] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(236), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [3940] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(207), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4012] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(212), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4084] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(193), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4156] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(208), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4228] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(195), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4300] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(220), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4372] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(219), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4444] = 18, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(266), 1, + anon_sym_LPAREN, + ACTIONS(268), 1, + anon_sym_LBRACK, + ACTIONS(272), 1, + anon_sym_PIPE, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + STATE(47), 1, + sym_unary_operator, + STATE(117), 1, + sym_integer_literal, + STATE(130), 1, + sym_primary_expression, + STATE(221), 1, + sym_expression, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(135), 2, + sym_binary_expression, + sym_unary_expression, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + ACTIONS(270), 4, + anon_sym_AMP, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(132), 8, + sym_rust_path, + sym_method_call, + sym_field_access, + sym_index_access, + sym_parenthesized_expression, + sym_array_literal, + sym_closure_expression, + sym_literal, + [4516] = 19, + ACTIONS(326), 1, + anon_sym_LT, + ACTIONS(329), 1, + anon_sym_AT, + ACTIONS(332), 1, + anon_sym_ATif, + ACTIONS(335), 1, + anon_sym_ATfor, + ACTIONS(338), 1, + anon_sym_ATmatch, + ACTIONS(341), 1, + anon_sym_ATbreak, + ACTIONS(344), 1, + anon_sym_ATcontinue, + ACTIONS(347), 1, + anon_sym_LT_AT, + ACTIONS(350), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(352), 1, + anon_sym_AT_STAR, + ACTIONS(355), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(358), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(361), 2, + sym_escape_at, + sym_text_content, + STATE(63), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4589] = 19, + ACTIONS(96), 1, + anon_sym_LT, + ACTIONS(101), 1, + anon_sym_AT, + ACTIONS(104), 1, + anon_sym_ATif, + ACTIONS(107), 1, + anon_sym_ATfor, + ACTIONS(110), 1, + anon_sym_ATmatch, + ACTIONS(113), 1, + anon_sym_ATbreak, + ACTIONS(116), 1, + anon_sym_ATcontinue, + ACTIONS(119), 1, + anon_sym_LT_AT, + ACTIONS(122), 1, + anon_sym_AT_STAR, + ACTIONS(125), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(128), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(364), 1, + anon_sym_LT_SLASH, + ACTIONS(131), 2, + sym_escape_at, + sym_text_content, + STATE(88), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4662] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(381), 1, + anon_sym_LT_AT, + ACTIONS(383), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(63), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4735] = 19, + ACTIONS(216), 1, + anon_sym_LT, + ACTIONS(219), 1, + anon_sym_AT, + ACTIONS(222), 1, + anon_sym_ATif, + ACTIONS(225), 1, + anon_sym_ATfor, + ACTIONS(228), 1, + anon_sym_ATmatch, + ACTIONS(231), 1, + anon_sym_ATbreak, + ACTIONS(234), 1, + anon_sym_ATcontinue, + ACTIONS(237), 1, + anon_sym_LT_AT, + ACTIONS(242), 1, + anon_sym_AT_STAR, + ACTIONS(245), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(248), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(393), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(251), 2, + sym_escape_at, + sym_text_content, + STATE(86), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4808] = 19, + ACTIONS(136), 1, + anon_sym_LT, + ACTIONS(139), 1, + anon_sym_AT, + ACTIONS(142), 1, + anon_sym_ATif, + ACTIONS(145), 1, + anon_sym_ATfor, + ACTIONS(148), 1, + anon_sym_ATmatch, + ACTIONS(151), 1, + anon_sym_ATbreak, + ACTIONS(154), 1, + anon_sym_ATcontinue, + ACTIONS(157), 1, + anon_sym_LT_AT, + ACTIONS(162), 1, + anon_sym_AT_STAR, + ACTIONS(165), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(168), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(396), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(171), 2, + sym_escape_at, + sym_text_content, + STATE(89), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4881] = 19, + ACTIONS(99), 1, + anon_sym_LT_SLASH, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(399), 1, + anon_sym_LT, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(82), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [4954] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(403), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(70), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5027] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(405), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5100] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(407), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(72), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5173] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(409), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5246] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(411), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(74), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5319] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(413), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5392] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(415), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(90), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5465] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(417), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5538] = 11, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(421), 1, + anon_sym_LPAREN, + ACTIONS(423), 1, + anon_sym_RPAREN, + ACTIONS(425), 1, + anon_sym_LBRACK, + ACTIONS(427), 1, + anon_sym_AMP, + STATE(79), 1, + aux_sym_enum_variant_repeat1, + STATE(144), 1, + sym_rust_path, + STATE(155), 1, + sym_rust_type, + STATE(169), 1, + sym_type_expression, + STATE(156), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(429), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [5595] = 19, + ACTIONS(160), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(381), 1, + anon_sym_LT_AT, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(63), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5668] = 11, + ACTIONS(431), 1, + aux_sym_rust_path_token1, + ACTIONS(434), 1, + anon_sym_LPAREN, + ACTIONS(437), 1, + anon_sym_RPAREN, + ACTIONS(439), 1, + anon_sym_LBRACK, + ACTIONS(442), 1, + anon_sym_AMP, + STATE(79), 1, + aux_sym_enum_variant_repeat1, + STATE(144), 1, + sym_rust_path, + STATE(155), 1, + sym_rust_type, + STATE(169), 1, + sym_type_expression, + STATE(156), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(445), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [5725] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(448), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(76), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5798] = 11, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(421), 1, + anon_sym_LPAREN, + ACTIONS(425), 1, + anon_sym_LBRACK, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(450), 1, + anon_sym_RPAREN, + STATE(77), 1, + aux_sym_enum_variant_repeat1, + STATE(144), 1, + sym_rust_path, + STATE(155), 1, + sym_rust_type, + STATE(169), 1, + sym_type_expression, + STATE(156), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(429), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [5855] = 19, + ACTIONS(329), 1, + anon_sym_AT, + ACTIONS(332), 1, + anon_sym_ATif, + ACTIONS(335), 1, + anon_sym_ATfor, + ACTIONS(338), 1, + anon_sym_ATmatch, + ACTIONS(341), 1, + anon_sym_ATbreak, + ACTIONS(344), 1, + anon_sym_ATcontinue, + ACTIONS(350), 1, + anon_sym_LT_SLASH, + ACTIONS(352), 1, + anon_sym_AT_STAR, + ACTIONS(355), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(358), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(452), 1, + anon_sym_LT, + ACTIONS(455), 1, + anon_sym_LT_AT, + ACTIONS(361), 2, + sym_escape_at, + sym_text_content, + STATE(82), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [5928] = 19, + ACTIONS(176), 1, + anon_sym_LT, + ACTIONS(181), 1, + anon_sym_AT, + ACTIONS(184), 1, + anon_sym_ATif, + ACTIONS(187), 1, + anon_sym_ATfor, + ACTIONS(190), 1, + anon_sym_ATmatch, + ACTIONS(193), 1, + anon_sym_ATbreak, + ACTIONS(196), 1, + anon_sym_ATcontinue, + ACTIONS(199), 1, + anon_sym_LT_AT, + ACTIONS(202), 1, + anon_sym_AT_STAR, + ACTIONS(205), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(208), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(458), 1, + anon_sym_LT_SLASH, + ACTIONS(211), 2, + sym_escape_at, + sym_text_content, + STATE(85), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6001] = 19, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(399), 1, + anon_sym_LT, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(461), 1, + anon_sym_LT_SLASH, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(82), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6074] = 19, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(399), 1, + anon_sym_LT, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(463), 1, + anon_sym_LT_SLASH, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(82), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6147] = 19, + ACTIONS(308), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(381), 1, + anon_sym_LT_AT, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(63), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6220] = 19, + ACTIONS(326), 1, + anon_sym_LT, + ACTIONS(329), 1, + anon_sym_AT, + ACTIONS(332), 1, + anon_sym_ATif, + ACTIONS(335), 1, + anon_sym_ATfor, + ACTIONS(338), 1, + anon_sym_ATmatch, + ACTIONS(341), 1, + anon_sym_ATbreak, + ACTIONS(344), 1, + anon_sym_ATcontinue, + ACTIONS(350), 1, + anon_sym_RBRACE, + ACTIONS(352), 1, + anon_sym_AT_STAR, + ACTIONS(355), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(358), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(455), 1, + anon_sym_LT_AT, + ACTIONS(361), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6293] = 19, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(399), 1, + anon_sym_LT, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(465), 1, + anon_sym_LT_SLASH, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(82), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6366] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(381), 1, + anon_sym_LT_AT, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(467), 1, + anon_sym_LT_SLASH_AT, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(63), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6439] = 19, + ACTIONS(367), 1, + anon_sym_LT, + ACTIONS(369), 1, + anon_sym_AT, + ACTIONS(371), 1, + anon_sym_ATif, + ACTIONS(373), 1, + anon_sym_ATfor, + ACTIONS(375), 1, + anon_sym_ATmatch, + ACTIONS(377), 1, + anon_sym_ATbreak, + ACTIONS(379), 1, + anon_sym_ATcontinue, + ACTIONS(385), 1, + anon_sym_AT_STAR, + ACTIONS(387), 1, + anon_sym_LT_BANG_DASH_DASH, + ACTIONS(389), 1, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + ACTIONS(401), 1, + anon_sym_LT_AT, + ACTIONS(469), 1, + anon_sym_RBRACE, + ACTIONS(391), 2, + sym_escape_at, + sym_text_content, + STATE(87), 2, + sym_template_node, + aux_sym_content_block_repeat1, + STATE(305), 2, + sym_template_comment, + sym_html_comment, + STATE(310), 2, + sym_self_closing_function_tag, + sym_container_function_tag, + STATE(308), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + STATE(309), 5, + sym_if_statement, + sym_for_loop, + sym_match_statement, + sym_break_statement, + sym_continue_statement, + STATE(307), 6, + sym_html_element, + sym_template_expression, + sym_template_control_flow, + sym_function_tag, + sym_comment, + sym_embedded_language, + [6512] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_mut, + STATE(356), 1, + sym_rust_path, + STATE(367), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6563] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(481), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6614] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(483), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6665] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(508), 1, + sym_type_expression, + STATE(509), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6716] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(485), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(485), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6767] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(487), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6818] = 9, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(489), 1, + anon_sym_AMP, + ACTIONS(491), 1, + anon_sym_mut, + STATE(356), 1, + sym_rust_path, + STATE(367), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6869] = 9, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(421), 1, + anon_sym_LPAREN, + ACTIONS(425), 1, + anon_sym_LBRACK, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(493), 1, + anon_sym_mut, + STATE(144), 1, + sym_rust_path, + STATE(158), 1, + sym_rust_type, + STATE(156), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(429), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6920] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(495), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(478), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [6971] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(497), 1, + sym_type_expression, + STATE(509), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7022] = 9, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + ACTIONS(497), 1, + anon_sym_RPAREN, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7073] = 8, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(489), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(459), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7121] = 8, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(470), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7169] = 8, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(366), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7217] = 8, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(547), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7265] = 8, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(489), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(482), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7313] = 8, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7361] = 8, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(421), 1, + anon_sym_LPAREN, + ACTIONS(425), 1, + anon_sym_LBRACK, + ACTIONS(427), 1, + anon_sym_AMP, + STATE(144), 1, + sym_rust_path, + STATE(161), 1, + sym_rust_type, + STATE(156), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(429), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7409] = 8, + ACTIONS(262), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(475), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(533), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7457] = 8, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(489), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(460), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7505] = 8, + ACTIONS(419), 1, + aux_sym_rust_path_token1, + ACTIONS(471), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_LBRACK, + ACTIONS(489), 1, + anon_sym_AMP, + STATE(356), 1, + sym_rust_path, + STATE(366), 1, + sym_rust_type, + STATE(370), 7, + sym_primitive_type, + sym_reference_type, + sym_generic_type, + sym_path_type, + sym_tuple_type, + sym_array_type, + sym_slice_type, + ACTIONS(477), 18, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [7553] = 2, + ACTIONS(501), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(499), 25, + anon_sym_as, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7588] = 2, + ACTIONS(505), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(503), 25, + anon_sym_as, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7623] = 2, + ACTIONS(509), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(507), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7657] = 2, + ACTIONS(513), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(511), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_SEMI, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + sym_identifier, + [7691] = 2, + ACTIONS(517), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(515), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7725] = 2, + ACTIONS(521), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(519), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7759] = 2, + ACTIONS(525), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(523), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7793] = 2, + ACTIONS(529), 5, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(527), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7827] = 3, + STATE(42), 1, + sym_binary_operator, + ACTIONS(533), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(531), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [7861] = 17, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(537), 1, + anon_sym_RBRACE, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(535), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 2, + sym_match_arm, + aux_sym_match_statement_repeat1, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [7923] = 17, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(545), 1, + anon_sym_RBRACE, + STATE(117), 1, + sym_integer_literal, + STATE(535), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(129), 2, + sym_match_arm, + aux_sym_match_statement_repeat1, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [7985] = 3, + STATE(42), 1, + sym_binary_operator, + ACTIONS(549), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(547), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8019] = 4, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(551), 8, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_EQ_GT, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8055] = 3, + ACTIONS(559), 1, + anon_sym_LPAREN, + ACTIONS(561), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(557), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8089] = 17, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(563), 1, + anon_sym_RBRACE, + STATE(117), 1, + sym_integer_literal, + STATE(535), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(129), 2, + sym_match_arm, + aux_sym_match_statement_repeat1, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8151] = 17, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(565), 1, + anon_sym_RBRACE, + STATE(117), 1, + sym_integer_literal, + STATE(535), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + STATE(126), 2, + sym_match_arm, + aux_sym_match_statement_repeat1, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8213] = 4, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(567), 8, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_EQ_GT, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8249] = 17, + ACTIONS(569), 1, + aux_sym_rust_path_token1, + ACTIONS(572), 1, + anon_sym_RBRACE, + ACTIONS(574), 1, + anon_sym_LPAREN, + ACTIONS(577), 1, + sym_wildcard_pattern, + ACTIONS(580), 1, + anon_sym_DQUOTE, + ACTIONS(583), 1, + anon_sym_SQUOTE, + ACTIONS(586), 1, + aux_sym_integer_literal_token1, + ACTIONS(592), 1, + sym_float_literal, + ACTIONS(598), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(535), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(595), 2, + anon_sym_true, + anon_sym_false, + STATE(129), 2, + sym_match_arm, + aux_sym_match_statement_repeat1, + ACTIONS(589), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8311] = 4, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(607), 1, + anon_sym_DOT, + ACTIONS(605), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(601), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8346] = 2, + ACTIONS(611), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(609), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8377] = 2, + ACTIONS(615), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(613), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8408] = 2, + ACTIONS(619), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(617), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8439] = 2, + ACTIONS(511), 7, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + ACTIONS(513), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [8470] = 2, + ACTIONS(605), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(601), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8501] = 2, + ACTIONS(623), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(621), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8532] = 2, + ACTIONS(627), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(625), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8563] = 2, + ACTIONS(631), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(629), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8594] = 2, + ACTIONS(633), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(567), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8625] = 2, + ACTIONS(637), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(635), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8656] = 2, + ACTIONS(641), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(639), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8687] = 2, + ACTIONS(645), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(643), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8718] = 2, + ACTIONS(647), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(551), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_SLASH, + anon_sym_DOT, + anon_sym_EQ_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [8749] = 3, + ACTIONS(653), 1, + anon_sym_LT, + ACTIONS(651), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(649), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [8781] = 16, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(655), 1, + anon_sym_RPAREN, + STATE(117), 1, + sym_integer_literal, + STATE(525), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8839] = 16, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(657), 1, + anon_sym_RPAREN, + STATE(117), 1, + sym_integer_literal, + STATE(525), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8897] = 16, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(659), 1, + anon_sym_RPAREN, + STATE(117), 1, + sym_integer_literal, + STATE(525), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [8955] = 16, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + ACTIONS(661), 1, + anon_sym_RPAREN, + STATE(117), 1, + sym_integer_literal, + STATE(525), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9013] = 15, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(663), 1, + anon_sym_LPAREN, + ACTIONS(665), 1, + sym_wildcard_pattern, + ACTIONS(667), 1, + anon_sym_DQUOTE, + ACTIONS(669), 1, + anon_sym_SQUOTE, + ACTIONS(671), 1, + aux_sym_integer_literal_token1, + ACTIONS(675), 1, + sym_float_literal, + ACTIONS(679), 1, + sym_identifier, + STATE(427), 1, + sym_integer_literal, + STATE(434), 1, + sym_pattern, + STATE(658), 1, + sym_rust_path, + ACTIONS(677), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(673), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(432), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(433), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9068] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(645), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9123] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(589), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9178] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(650), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9233] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(582), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9288] = 2, + ACTIONS(683), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(681), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9317] = 2, + ACTIONS(687), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(685), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9346] = 2, + ACTIONS(691), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(689), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9375] = 2, + ACTIONS(695), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(693), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9404] = 2, + ACTIONS(699), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(697), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9433] = 2, + ACTIONS(703), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(701), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9462] = 2, + ACTIONS(707), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(705), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9491] = 2, + ACTIONS(711), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(709), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9520] = 2, + ACTIONS(715), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(713), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9549] = 2, + ACTIONS(719), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(717), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9578] = 2, + ACTIONS(723), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(721), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9607] = 2, + ACTIONS(727), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(725), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9636] = 2, + ACTIONS(731), 5, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(729), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9665] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(733), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(578), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9720] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(474), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9775] = 3, + ACTIONS(737), 1, + anon_sym_COMMA, + ACTIONS(739), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(735), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [9806] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(463), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9861] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(583), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9916] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(741), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(642), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [9971] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(577), 1, + sym_rust_path, + STATE(643), 1, + sym_pattern, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [10026] = 15, + ACTIONS(274), 1, + anon_sym_DQUOTE, + ACTIONS(276), 1, + anon_sym_SQUOTE, + ACTIONS(278), 1, + aux_sym_integer_literal_token1, + ACTIONS(282), 1, + sym_float_literal, + ACTIONS(535), 1, + aux_sym_rust_path_token1, + ACTIONS(539), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + sym_wildcard_pattern, + ACTIONS(543), 1, + sym_identifier, + STATE(117), 1, + sym_integer_literal, + STATE(525), 1, + sym_pattern, + STATE(577), 1, + sym_rust_path, + ACTIONS(284), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(280), 3, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + STATE(116), 4, + sym_string_literal, + sym_char_literal, + sym_number_literal, + sym_boolean_literal, + STATE(391), 4, + sym_identifier_pattern, + sym_struct_pattern, + sym_tuple_pattern, + sym_literal, + [10081] = 6, + ACTIONS(745), 1, + anon_sym_LPAREN, + ACTIONS(748), 1, + anon_sym_LBRACK, + ACTIONS(753), 1, + anon_sym_DOT, + STATE(175), 1, + aux_sym_expression_path_repeat1, + ACTIONS(751), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(743), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10117] = 2, + ACTIONS(437), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + ACTIONS(756), 19, + aux_sym_rust_path_token1, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_isize, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_usize, + anon_sym_f32, + anon_sym_f64, + anon_sym_bool, + anon_sym_char, + anon_sym_str, + anon_sym_String, + [10145] = 5, + ACTIONS(762), 1, + anon_sym_else, + STATE(255), 1, + sym_else_branch, + STATE(188), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(760), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(758), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10179] = 6, + ACTIONS(766), 1, + anon_sym_LPAREN, + ACTIONS(768), 1, + anon_sym_LBRACK, + ACTIONS(772), 1, + anon_sym_DOT, + STATE(181), 1, + aux_sym_expression_path_repeat1, + ACTIONS(770), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(764), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10215] = 5, + ACTIONS(762), 1, + anon_sym_else, + STATE(286), 1, + sym_else_branch, + STATE(188), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(776), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(774), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10249] = 5, + ACTIONS(762), 1, + anon_sym_else, + STATE(279), 1, + sym_else_branch, + STATE(177), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(780), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(778), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10283] = 6, + ACTIONS(766), 1, + anon_sym_LPAREN, + ACTIONS(768), 1, + anon_sym_LBRACK, + ACTIONS(772), 1, + anon_sym_DOT, + STATE(175), 1, + aux_sym_expression_path_repeat1, + ACTIONS(784), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(782), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10319] = 5, + ACTIONS(762), 1, + anon_sym_else, + STATE(242), 1, + sym_else_branch, + STATE(179), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(788), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(786), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10353] = 2, + ACTIONS(751), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(743), 19, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_ATfunc, + anon_sym_DOT, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10380] = 6, + ACTIONS(790), 1, + anon_sym_COMMA, + ACTIONS(792), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + STATE(472), 1, + aux_sym_array_literal_repeat1, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10415] = 6, + ACTIONS(794), 1, + anon_sym_COMMA, + ACTIONS(796), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + STATE(517), 1, + aux_sym_array_literal_repeat1, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10450] = 2, + ACTIONS(800), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(798), 19, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_ATfunc, + anon_sym_DOT, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10477] = 4, + STATE(42), 1, + sym_binary_operator, + ACTIONS(802), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10508] = 4, + ACTIONS(808), 1, + anon_sym_else, + STATE(188), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(806), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(804), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10539] = 2, + ACTIONS(513), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(511), 18, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_as, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_LBRACE, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10565] = 5, + ACTIONS(811), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(216), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10597] = 5, + ACTIONS(813), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(241), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10629] = 5, + ACTIONS(813), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(262), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10661] = 5, + ACTIONS(815), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(304), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10693] = 5, + ACTIONS(817), 1, + anon_sym_COMMA, + ACTIONS(819), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10725] = 5, + ACTIONS(821), 1, + anon_sym_COMMA, + ACTIONS(823), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10757] = 4, + ACTIONS(827), 1, + anon_sym_COLON, + ACTIONS(831), 1, + anon_sym_SEMI, + ACTIONS(829), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(825), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10787] = 4, + STATE(42), 1, + sym_binary_operator, + ACTIONS(833), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10817] = 5, + ACTIONS(815), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(226), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10849] = 4, + ACTIONS(837), 1, + anon_sym_COLON, + ACTIONS(841), 1, + anon_sym_SEMI, + ACTIONS(839), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(835), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [10879] = 5, + ACTIONS(843), 1, + anon_sym_COMMA, + ACTIONS(845), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10911] = 5, + ACTIONS(847), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(331), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10943] = 5, + ACTIONS(811), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(230), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [10975] = 5, + ACTIONS(815), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(210), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11007] = 5, + ACTIONS(811), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(180), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11039] = 5, + ACTIONS(811), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(182), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11071] = 5, + ACTIONS(815), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(299), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11103] = 5, + ACTIONS(847), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + STATE(339), 1, + sym_content_block, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11135] = 4, + ACTIONS(849), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11164] = 3, + ACTIONS(855), 1, + anon_sym_SEMI, + ACTIONS(853), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(851), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11191] = 5, + ACTIONS(857), 1, + anon_sym_else, + STATE(338), 1, + sym_else_branch, + STATE(231), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(780), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(778), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11222] = 3, + ACTIONS(863), 1, + anon_sym_SEMI, + ACTIONS(861), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(859), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11249] = 4, + ACTIONS(865), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11278] = 6, + ACTIONS(867), 1, + anon_sym_LPAREN, + ACTIONS(869), 1, + anon_sym_LBRACK, + ACTIONS(871), 1, + anon_sym_DOT, + STATE(237), 1, + aux_sym_expression_path_repeat1, + ACTIONS(784), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(782), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11311] = 4, + ACTIONS(873), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11340] = 3, + ACTIONS(877), 1, + anon_sym_as, + ACTIONS(879), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(875), 16, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11367] = 2, + ACTIONS(883), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(881), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11392] = 4, + ACTIONS(885), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11421] = 4, + ACTIONS(887), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11450] = 4, + ACTIONS(889), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11479] = 4, + ACTIONS(891), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11508] = 4, + ACTIONS(893), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11537] = 2, + ACTIONS(258), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(260), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11562] = 4, + ACTIONS(895), 1, + anon_sym_EQ_GT, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11591] = 4, + ACTIONS(897), 1, + anon_sym_LBRACE, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11620] = 4, + ACTIONS(899), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11649] = 5, + ACTIONS(857), 1, + anon_sym_else, + STATE(321), 1, + sym_else_branch, + STATE(238), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(788), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(786), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11680] = 4, + ACTIONS(901), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11709] = 4, + ACTIONS(903), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11738] = 4, + ACTIONS(905), 1, + anon_sym_RBRACE, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11767] = 2, + ACTIONS(909), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(907), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11792] = 5, + ACTIONS(857), 1, + anon_sym_else, + STATE(342), 1, + sym_else_branch, + STATE(249), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(760), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(758), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11823] = 4, + ACTIONS(911), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11852] = 4, + ACTIONS(913), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11881] = 2, + ACTIONS(254), 3, + anon_sym_LT, + anon_sym_AT, + sym_text_content, + ACTIONS(256), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11906] = 4, + ACTIONS(915), 1, + anon_sym_RBRACK, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11935] = 4, + ACTIONS(917), 1, + anon_sym_RPAREN, + STATE(42), 1, + sym_binary_operator, + ACTIONS(553), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(555), 14, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_GT_GT, + [11964] = 6, + ACTIONS(919), 1, + anon_sym_LPAREN, + ACTIONS(922), 1, + anon_sym_LBRACK, + ACTIONS(925), 1, + anon_sym_DOT, + STATE(237), 1, + aux_sym_expression_path_repeat1, + ACTIONS(751), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(743), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [11997] = 5, + ACTIONS(857), 1, + anon_sym_else, + STATE(330), 1, + sym_else_branch, + STATE(249), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(776), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(774), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [12028] = 6, + ACTIONS(867), 1, + anon_sym_LPAREN, + ACTIONS(869), 1, + anon_sym_LBRACK, + ACTIONS(871), 1, + anon_sym_DOT, + STATE(213), 1, + aux_sym_expression_path_repeat1, + ACTIONS(770), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(764), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [12061] = 2, + ACTIONS(930), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(928), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12085] = 2, + ACTIONS(934), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(932), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12109] = 2, + ACTIONS(776), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(774), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12133] = 2, + ACTIONS(258), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(260), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12157] = 2, + ACTIONS(938), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(936), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12181] = 2, + ACTIONS(942), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(940), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12205] = 2, + ACTIONS(800), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(798), 15, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [12229] = 2, + ACTIONS(254), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(256), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12253] = 2, + ACTIONS(946), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(944), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12277] = 4, + ACTIONS(948), 1, + anon_sym_else, + STATE(249), 2, + sym_else_if_branch, + aux_sym_if_statement_repeat1, + ACTIONS(806), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(804), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [12305] = 2, + ACTIONS(953), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(951), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12329] = 2, + ACTIONS(957), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(955), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12353] = 2, + ACTIONS(961), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(959), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12377] = 2, + ACTIONS(965), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(963), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12401] = 2, + ACTIONS(969), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(967), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12425] = 2, + ACTIONS(973), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(971), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12449] = 2, + ACTIONS(975), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(94), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12473] = 2, + ACTIONS(979), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(977), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12497] = 2, + ACTIONS(983), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(981), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12521] = 2, + ACTIONS(987), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(985), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12545] = 2, + ACTIONS(991), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(989), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12569] = 2, + ACTIONS(995), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(993), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12593] = 2, + ACTIONS(999), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(997), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12617] = 2, + ACTIONS(1003), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1001), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12641] = 2, + ACTIONS(1007), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1005), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12665] = 2, + ACTIONS(1011), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1009), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12689] = 2, + ACTIONS(306), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(134), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12713] = 2, + ACTIONS(1015), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1013), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12737] = 2, + ACTIONS(1019), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1017), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12761] = 2, + ACTIONS(1023), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1021), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12785] = 2, + ACTIONS(1027), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1025), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12809] = 2, + ACTIONS(1031), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1029), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12833] = 2, + ACTIONS(1035), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1033), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12857] = 2, + ACTIONS(1039), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1037), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12881] = 2, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1041), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12905] = 2, + ACTIONS(1047), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1045), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12929] = 2, + ACTIONS(1051), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1049), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12953] = 2, + ACTIONS(1055), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1053), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [12977] = 2, + ACTIONS(1059), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1057), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13001] = 2, + ACTIONS(760), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(758), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13025] = 2, + ACTIONS(1063), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1061), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13049] = 2, + ACTIONS(1067), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1065), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13073] = 2, + ACTIONS(1071), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1069), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13097] = 2, + ACTIONS(1075), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1073), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13121] = 2, + ACTIONS(1079), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1077), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13145] = 2, + ACTIONS(1083), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1081), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13169] = 2, + ACTIONS(1087), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1085), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13193] = 2, + ACTIONS(1091), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1089), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13217] = 2, + ACTIONS(1095), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1093), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13241] = 2, + ACTIONS(1099), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1097), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13265] = 2, + ACTIONS(1103), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1101), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13289] = 2, + ACTIONS(1107), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1105), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13313] = 2, + ACTIONS(1111), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1109), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13337] = 2, + ACTIONS(751), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(743), 15, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13361] = 2, + ACTIONS(1115), 2, + anon_sym_LT, + anon_sym_AT, + ACTIONS(1113), 17, + ts_builtin_sym_end, + anon_sym_ATuse, + anon_sym_ATimport, + anon_sym_ATstruct, + anon_sym_ATenum, + anon_sym_ATfunc, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13385] = 4, + ACTIONS(1117), 1, + anon_sym_COLON, + ACTIONS(1119), 1, + anon_sym_SEMI, + ACTIONS(839), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(835), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13412] = 4, + ACTIONS(1121), 1, + anon_sym_COLON, + ACTIONS(1123), 1, + anon_sym_SEMI, + ACTIONS(829), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(825), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13439] = 3, + ACTIONS(1125), 1, + anon_sym_SEMI, + ACTIONS(861), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(859), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13463] = 3, + ACTIONS(1127), 1, + anon_sym_SEMI, + ACTIONS(853), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(851), 12, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13487] = 2, + ACTIONS(883), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(881), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13509] = 2, + ACTIONS(1129), 4, + aux_sym_rust_path_token1, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + ACTIONS(1131), 13, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [13531] = 2, + ACTIONS(258), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(260), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13553] = 2, + ACTIONS(254), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(256), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13575] = 2, + ACTIONS(1133), 4, + aux_sym_rust_path_token1, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + ACTIONS(1135), 13, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_BANG, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [13597] = 2, + ACTIONS(909), 4, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + sym_text_content, + ACTIONS(907), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_else, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + [13619] = 2, + ACTIONS(991), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(989), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13640] = 2, + ACTIONS(258), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(260), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13661] = 2, + ACTIONS(1075), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1073), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13682] = 2, + ACTIONS(1063), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1061), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13703] = 2, + ACTIONS(957), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(955), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13724] = 2, + ACTIONS(953), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(951), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13745] = 2, + ACTIONS(1027), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1025), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13766] = 2, + ACTIONS(1079), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1077), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13787] = 2, + ACTIONS(1103), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1101), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13808] = 2, + ACTIONS(1111), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1109), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13829] = 2, + ACTIONS(946), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(944), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13850] = 2, + ACTIONS(1067), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1065), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13871] = 2, + ACTIONS(1091), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1089), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13892] = 2, + ACTIONS(1039), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1037), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13913] = 2, + ACTIONS(975), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(94), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13934] = 2, + ACTIONS(1035), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1033), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13955] = 2, + ACTIONS(776), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(774), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13976] = 2, + ACTIONS(254), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(256), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [13997] = 2, + ACTIONS(995), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(993), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14018] = 2, + ACTIONS(1003), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1001), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14039] = 2, + ACTIONS(306), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(134), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14060] = 2, + ACTIONS(1019), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1017), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14081] = 2, + ACTIONS(1047), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1045), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14102] = 2, + ACTIONS(1059), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1057), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14123] = 2, + ACTIONS(1083), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1081), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14144] = 2, + ACTIONS(1087), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1085), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14165] = 2, + ACTIONS(999), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(997), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14186] = 2, + ACTIONS(1099), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1097), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14207] = 2, + ACTIONS(1107), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1105), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14228] = 2, + ACTIONS(1055), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1053), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14249] = 2, + ACTIONS(965), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(963), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14270] = 2, + ACTIONS(1015), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1013), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14291] = 2, + ACTIONS(1051), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(1049), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14312] = 2, + ACTIONS(760), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(758), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14333] = 2, + ACTIONS(934), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(932), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14354] = 2, + ACTIONS(938), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(936), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14375] = 2, + ACTIONS(961), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(959), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14396] = 2, + ACTIONS(973), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(971), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14417] = 2, + ACTIONS(987), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(985), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14438] = 2, + ACTIONS(979), 3, + anon_sym_LT, + anon_sym_LT_SLASH, + anon_sym_AT, + ACTIONS(977), 13, + anon_sym_RBRACE, + anon_sym_ATif, + anon_sym_ATfor, + anon_sym_ATmatch, + anon_sym_ATbreak, + anon_sym_ATcontinue, + anon_sym_LT_AT, + anon_sym_LT_SLASH_AT, + anon_sym_AT_STAR, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_AT_BQUOTE_BQUOTE_BQUOTE, + sym_escape_at, + sym_text_content, + [14459] = 3, + ACTIONS(1141), 1, + anon_sym_COMMA, + ACTIONS(1137), 6, + aux_sym_rust_path_token1, + sym_wildcard_pattern, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(1139), 8, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [14481] = 3, + ACTIONS(1147), 1, + anon_sym_COMMA, + ACTIONS(1143), 6, + aux_sym_rust_path_token1, + sym_wildcard_pattern, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(1145), 8, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [14503] = 2, + ACTIONS(1149), 6, + aux_sym_rust_path_token1, + sym_wildcard_pattern, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(1151), 8, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [14522] = 2, + ACTIONS(1153), 6, + aux_sym_rust_path_token1, + sym_wildcard_pattern, + aux_sym_integer_literal_token1, + anon_sym_true, + anon_sym_false, + sym_identifier, + ACTIONS(1155), 8, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + aux_sym_integer_literal_token2, + aux_sym_integer_literal_token3, + aux_sym_integer_literal_token4, + sym_float_literal, + [14541] = 6, + ACTIONS(1157), 1, + anon_sym_GT, + ACTIONS(1159), 1, + anon_sym_SLASH, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + STATE(354), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14563] = 5, + ACTIONS(1167), 1, + anon_sym_AT, + ACTIONS(1170), 1, + sym_identifier, + ACTIONS(1165), 2, + anon_sym_GT, + anon_sym_SLASH, + STATE(350), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14583] = 6, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + ACTIONS(1173), 1, + anon_sym_GT, + ACTIONS(1175), 1, + anon_sym_SLASH, + STATE(350), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14605] = 6, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + ACTIONS(1177), 1, + anon_sym_GT, + ACTIONS(1179), 1, + anon_sym_SLASH, + STATE(350), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14627] = 6, + ACTIONS(1159), 1, + anon_sym_SLASH, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + ACTIONS(1181), 1, + anon_sym_GT, + STATE(352), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14649] = 6, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + ACTIONS(1179), 1, + anon_sym_SLASH, + ACTIONS(1183), 1, + anon_sym_GT, + STATE(350), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14671] = 6, + ACTIONS(1161), 1, + anon_sym_AT, + ACTIONS(1163), 1, + sym_identifier, + ACTIONS(1185), 1, + anon_sym_GT, + ACTIONS(1187), 1, + anon_sym_SLASH, + STATE(351), 2, + sym_function_attribute, + aux_sym_self_closing_function_tag_repeat1, + STATE(442), 3, + sym_attribute_reference, + sym_named_function_attribute, + sym_boolean_attribute, + [14693] = 2, + ACTIONS(1189), 1, + anon_sym_LT, + ACTIONS(651), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14707] = 5, + ACTIONS(1191), 1, + anon_sym_AT, + ACTIONS(1193), 1, + anon_sym_DQUOTE, + STATE(458), 1, + sym_attribute_value, + STATE(462), 2, + sym_template_expression, + sym_string_literal, + STATE(476), 3, + sym_simple_expression, + sym_complex_expression, + sym_safe_expression, + [14726] = 1, + ACTIONS(719), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14737] = 3, + ACTIONS(1197), 1, + anon_sym_js, + STATE(557), 1, + sym_language_name, + ACTIONS(1195), 6, + anon_sym_html, + anon_sym_css, + anon_sym_javascript, + anon_sym_json, + anon_sym_alpine, + anon_sym_style, + [14752] = 1, + ACTIONS(723), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14763] = 1, + ACTIONS(727), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14774] = 1, + ACTIONS(731), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14785] = 1, + ACTIONS(695), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14796] = 1, + ACTIONS(703), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14807] = 1, + ACTIONS(707), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14818] = 1, + ACTIONS(711), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14829] = 1, + ACTIONS(699), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14840] = 5, + ACTIONS(1199), 1, + anon_sym_LPAREN, + ACTIONS(1201), 1, + anon_sym_LBRACK, + ACTIONS(1203), 1, + anon_sym_DOT, + STATE(372), 1, + aux_sym_expression_path_repeat1, + ACTIONS(764), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [14859] = 5, + ACTIONS(1205), 1, + anon_sym_LPAREN, + ACTIONS(1208), 1, + anon_sym_LBRACK, + ACTIONS(1211), 1, + anon_sym_DOT, + STATE(369), 1, + aux_sym_expression_path_repeat1, + ACTIONS(743), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [14878] = 1, + ACTIONS(691), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14889] = 1, + ACTIONS(715), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14900] = 5, + ACTIONS(1199), 1, + anon_sym_LPAREN, + ACTIONS(1201), 1, + anon_sym_LBRACK, + ACTIONS(1203), 1, + anon_sym_DOT, + STATE(369), 1, + aux_sym_expression_path_repeat1, + ACTIONS(782), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [14919] = 3, + ACTIONS(1197), 1, + anon_sym_js, + STATE(554), 1, + sym_language_name, + ACTIONS(1195), 6, + anon_sym_html, + anon_sym_css, + anon_sym_javascript, + anon_sym_json, + anon_sym_alpine, + anon_sym_style, + [14934] = 1, + ACTIONS(683), 8, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_GT, + anon_sym_EQ, + anon_sym_SEMI, + sym_identifier, + [14945] = 5, + ACTIONS(1214), 1, + anon_sym_LPAREN, + ACTIONS(1216), 1, + anon_sym_LBRACK, + ACTIONS(1218), 1, + anon_sym_DOT, + STATE(377), 1, + aux_sym_expression_path_repeat1, + ACTIONS(764), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [14963] = 1, + ACTIONS(503), 7, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + anon_sym_DOT_DOT, + sym_identifier, + [14973] = 5, + ACTIONS(1214), 1, + anon_sym_LPAREN, + ACTIONS(1216), 1, + anon_sym_LBRACK, + ACTIONS(1218), 1, + anon_sym_DOT, + STATE(379), 1, + aux_sym_expression_path_repeat1, + ACTIONS(782), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [14991] = 1, + ACTIONS(499), 7, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + anon_sym_DOT_DOT, + sym_identifier, + [15001] = 5, + ACTIONS(1220), 1, + anon_sym_LPAREN, + ACTIONS(1223), 1, + anon_sym_LBRACK, + ACTIONS(1226), 1, + anon_sym_DOT, + STATE(379), 1, + aux_sym_expression_path_repeat1, + ACTIONS(743), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [15019] = 1, + ACTIONS(743), 7, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + anon_sym_DOT, + sym_identifier, + [15029] = 1, + ACTIONS(798), 7, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + anon_sym_DOT, + sym_identifier, + [15039] = 2, + ACTIONS(1231), 1, + anon_sym_EQ, + ACTIONS(1229), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15050] = 2, + ACTIONS(1235), 1, + anon_sym_EQ, + ACTIONS(1233), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15061] = 2, + ACTIONS(1239), 1, + anon_sym_EQ, + ACTIONS(1237), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15072] = 2, + ACTIONS(1243), 1, + anon_sym_EQ, + ACTIONS(1241), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15083] = 2, + ACTIONS(1247), 1, + anon_sym_EQ, + ACTIONS(1245), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15094] = 1, + ACTIONS(743), 6, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + anon_sym_DOT, + [15103] = 1, + ACTIONS(798), 6, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + anon_sym_DOT, + [15112] = 2, + ACTIONS(1251), 1, + anon_sym_EQ, + ACTIONS(1249), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15123] = 2, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1253), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15134] = 2, + ACTIONS(1259), 1, + anon_sym_EQ, + ACTIONS(1257), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_EQ_GT, + [15145] = 4, + ACTIONS(1261), 1, + anon_sym_GT, + ACTIONS(1263), 1, + anon_sym_SLASH, + ACTIONS(1265), 1, + sym_attribute_name, + STATE(393), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15159] = 4, + ACTIONS(1265), 1, + sym_attribute_name, + ACTIONS(1267), 1, + anon_sym_GT, + ACTIONS(1269), 1, + anon_sym_SLASH, + STATE(394), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15173] = 3, + ACTIONS(1273), 1, + sym_attribute_name, + ACTIONS(1271), 2, + anon_sym_GT, + anon_sym_SLASH, + STATE(394), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15185] = 2, + ACTIONS(1278), 1, + anon_sym_COLON, + ACTIONS(1276), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15195] = 5, + ACTIONS(1280), 1, + anon_sym_RBRACE, + ACTIONS(1282), 1, + anon_sym_DOT_DOT, + ACTIONS(1284), 1, + sym_identifier, + STATE(407), 1, + aux_sym_struct_pattern_repeat1, + STATE(443), 1, + sym_field_pattern, + [15211] = 5, + ACTIONS(1286), 1, + anon_sym_AT, + ACTIONS(1288), 1, + sym_unquoted_value, + ACTIONS(1290), 1, + anon_sym_DQUOTE, + STATE(450), 1, + sym_string_literal, + STATE(451), 1, + sym_function_attribute_value, + [15227] = 4, + ACTIONS(1265), 1, + sym_attribute_name, + ACTIONS(1292), 1, + anon_sym_GT, + ACTIONS(1294), 1, + anon_sym_SLASH, + STATE(394), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15241] = 5, + ACTIONS(1284), 1, + sym_identifier, + ACTIONS(1296), 1, + anon_sym_RBRACE, + ACTIONS(1298), 1, + anon_sym_DOT_DOT, + STATE(407), 1, + aux_sym_struct_pattern_repeat1, + STATE(443), 1, + sym_field_pattern, + [15257] = 5, + ACTIONS(1300), 1, + anon_sym_LBRACE, + ACTIONS(1302), 1, + anon_sym_LPAREN, + ACTIONS(1304), 1, + anon_sym_safe, + ACTIONS(1306), 1, + sym_identifier, + STATE(487), 1, + sym_expression_path, + [15273] = 5, + ACTIONS(1284), 1, + sym_identifier, + ACTIONS(1308), 1, + anon_sym_RBRACE, + ACTIONS(1310), 1, + anon_sym_DOT_DOT, + STATE(399), 1, + aux_sym_struct_pattern_repeat1, + STATE(443), 1, + sym_field_pattern, + [15289] = 4, + ACTIONS(1265), 1, + sym_attribute_name, + ACTIONS(1312), 1, + anon_sym_GT, + ACTIONS(1314), 1, + anon_sym_SLASH, + STATE(403), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15303] = 4, + ACTIONS(1265), 1, + sym_attribute_name, + ACTIONS(1294), 1, + anon_sym_SLASH, + ACTIONS(1316), 1, + anon_sym_GT, + STATE(394), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15317] = 2, + ACTIONS(1320), 1, + anon_sym_EQ, + ACTIONS(1318), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15327] = 4, + ACTIONS(1265), 1, + sym_attribute_name, + ACTIONS(1314), 1, + anon_sym_SLASH, + ACTIONS(1322), 1, + anon_sym_GT, + STATE(398), 2, + sym_html_attribute, + aux_sym_html_element_repeat1, + [15341] = 5, + ACTIONS(1284), 1, + sym_identifier, + ACTIONS(1324), 1, + anon_sym_RBRACE, + ACTIONS(1326), 1, + anon_sym_DOT_DOT, + STATE(396), 1, + aux_sym_struct_pattern_repeat1, + STATE(443), 1, + sym_field_pattern, + [15357] = 4, + ACTIONS(1330), 1, + sym_identifier, + STATE(407), 1, + aux_sym_struct_pattern_repeat1, + STATE(443), 1, + sym_field_pattern, + ACTIONS(1328), 2, + anon_sym_RBRACE, + anon_sym_DOT_DOT, + [15371] = 3, + ACTIONS(1333), 1, + anon_sym_RBRACE, + ACTIONS(1335), 1, + sym_identifier, + STATE(423), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15382] = 3, + ACTIONS(1337), 1, + anon_sym_RBRACE, + ACTIONS(1339), 1, + sym_identifier, + STATE(421), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15393] = 1, + ACTIONS(507), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15400] = 1, + ACTIONS(1241), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15407] = 1, + ACTIONS(1237), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15414] = 1, + ACTIONS(1253), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15421] = 1, + ACTIONS(1249), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15428] = 1, + ACTIONS(1341), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15435] = 4, + ACTIONS(1343), 1, + anon_sym_DQUOTE, + ACTIONS(1345), 1, + aux_sym_string_literal_token1, + ACTIONS(1347), 1, + sym_escape_sequence, + STATE(448), 1, + aux_sym_string_literal_repeat1, + [15448] = 1, + ACTIONS(1229), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15455] = 1, + ACTIONS(1233), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15462] = 3, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1349), 1, + anon_sym_RBRACE, + STATE(455), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15473] = 3, + ACTIONS(1351), 1, + anon_sym_RBRACE, + ACTIONS(1353), 1, + sym_identifier, + STATE(420), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15484] = 3, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1356), 1, + anon_sym_RBRACE, + STATE(420), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15495] = 3, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1356), 1, + anon_sym_RBRACE, + STATE(454), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15506] = 3, + ACTIONS(1358), 1, + anon_sym_RBRACE, + ACTIONS(1360), 1, + sym_identifier, + STATE(423), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15517] = 3, + ACTIONS(1335), 1, + sym_identifier, + ACTIONS(1363), 1, + anon_sym_RBRACE, + STATE(423), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15528] = 1, + ACTIONS(523), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15535] = 3, + ACTIONS(1335), 1, + sym_identifier, + ACTIONS(1363), 1, + anon_sym_RBRACE, + STATE(408), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15546] = 1, + ACTIONS(519), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15553] = 1, + ACTIONS(527), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15560] = 3, + ACTIONS(1367), 1, + anon_sym_COMMA, + ACTIONS(1369), 1, + anon_sym_LPAREN, + ACTIONS(1365), 2, + anon_sym_RBRACE, + sym_identifier, + [15571] = 4, + ACTIONS(1371), 1, + anon_sym_LPAREN, + ACTIONS(1373), 1, + anon_sym_safe, + ACTIONS(1375), 1, + sym_identifier, + STATE(311), 1, + sym_expression_path, + [15584] = 4, + ACTIONS(1377), 1, + anon_sym_DQUOTE, + ACTIONS(1379), 1, + aux_sym_string_literal_token1, + ACTIONS(1381), 1, + sym_escape_sequence, + STATE(456), 1, + aux_sym_string_literal_repeat1, + [15597] = 1, + ACTIONS(515), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15604] = 1, + ACTIONS(1257), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15611] = 1, + ACTIONS(1383), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15618] = 4, + ACTIONS(1385), 1, + anon_sym_DQUOTE, + ACTIONS(1387), 1, + aux_sym_string_literal_token1, + ACTIONS(1389), 1, + sym_escape_sequence, + STATE(416), 1, + aux_sym_string_literal_repeat1, + [15631] = 2, + ACTIONS(1393), 1, + anon_sym_EQ, + ACTIONS(1391), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [15640] = 3, + ACTIONS(1395), 1, + anon_sym_COMMA, + STATE(437), 1, + aux_sym_array_literal_repeat1, + ACTIONS(802), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + [15651] = 3, + ACTIONS(1398), 1, + anon_sym_COMMA, + STATE(438), 1, + aux_sym_generic_params_repeat1, + ACTIONS(1401), 2, + anon_sym_GT, + anon_sym_PIPE, + [15662] = 4, + ACTIONS(1403), 1, + anon_sym_DQUOTE, + ACTIONS(1405), 1, + aux_sym_string_literal_token1, + ACTIONS(1407), 1, + sym_escape_sequence, + STATE(440), 1, + aux_sym_string_literal_repeat1, + [15675] = 4, + ACTIONS(1345), 1, + aux_sym_string_literal_token1, + ACTIONS(1347), 1, + sym_escape_sequence, + ACTIONS(1409), 1, + anon_sym_DQUOTE, + STATE(448), 1, + aux_sym_string_literal_repeat1, + [15688] = 1, + ACTIONS(1245), 4, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + sym_identifier, + [15695] = 1, + ACTIONS(1411), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15702] = 2, + ACTIONS(1415), 1, + anon_sym_COMMA, + ACTIONS(1413), 3, + anon_sym_RBRACE, + anon_sym_DOT_DOT, + sym_identifier, + [15711] = 3, + ACTIONS(1335), 1, + sym_identifier, + ACTIONS(1417), 1, + anon_sym_RBRACE, + STATE(424), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15722] = 4, + ACTIONS(1419), 1, + anon_sym_LPAREN, + ACTIONS(1421), 1, + anon_sym_safe, + ACTIONS(1423), 1, + sym_identifier, + STATE(270), 1, + sym_expression_path, + [15735] = 1, + ACTIONS(1425), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15742] = 1, + ACTIONS(1427), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15749] = 4, + ACTIONS(1429), 1, + anon_sym_DQUOTE, + ACTIONS(1431), 1, + aux_sym_string_literal_token1, + ACTIONS(1434), 1, + sym_escape_sequence, + STATE(448), 1, + aux_sym_string_literal_repeat1, + [15762] = 1, + ACTIONS(1437), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15769] = 1, + ACTIONS(1439), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15776] = 1, + ACTIONS(1441), 4, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_AT, + sym_identifier, + [15783] = 3, + ACTIONS(1335), 1, + sym_identifier, + ACTIONS(1443), 1, + anon_sym_RBRACE, + STATE(453), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15794] = 3, + ACTIONS(1335), 1, + sym_identifier, + ACTIONS(1417), 1, + anon_sym_RBRACE, + STATE(423), 2, + sym_enum_variant, + aux_sym_enum_definition_repeat1, + [15805] = 3, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1445), 1, + anon_sym_RBRACE, + STATE(420), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15816] = 3, + ACTIONS(1337), 1, + anon_sym_RBRACE, + ACTIONS(1339), 1, + sym_identifier, + STATE(420), 2, + sym_struct_field, + aux_sym_struct_definition_repeat1, + [15827] = 4, + ACTIONS(1345), 1, + aux_sym_string_literal_token1, + ACTIONS(1347), 1, + sym_escape_sequence, + ACTIONS(1447), 1, + anon_sym_DQUOTE, + STATE(448), 1, + aux_sym_string_literal_repeat1, + [15840] = 3, + ACTIONS(1449), 1, + anon_sym_LBRACE, + ACTIONS(1451), 1, + anon_sym_LT, + STATE(638), 1, + sym_generic_params, + [15850] = 1, + ACTIONS(1453), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [15856] = 3, + ACTIONS(1455), 1, + anon_sym_COMMA, + ACTIONS(1457), 1, + anon_sym_GT, + STATE(475), 1, + aux_sym_generic_type_repeat1, + [15866] = 1, + ACTIONS(1459), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT, + [15872] = 3, + ACTIONS(1461), 1, + anon_sym_PIPE, + ACTIONS(1463), 1, + sym_identifier, + STATE(625), 1, + sym_closure_params, + [15882] = 1, + ACTIONS(1465), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [15888] = 3, + ACTIONS(1467), 1, + anon_sym_COMMA, + ACTIONS(1469), 1, + anon_sym_RPAREN, + STATE(469), 1, + aux_sym_tuple_pattern_repeat1, + [15898] = 3, + ACTIONS(1471), 1, + anon_sym_COMMA, + ACTIONS(1473), 1, + anon_sym_GT, + STATE(438), 1, + aux_sym_generic_params_repeat1, + [15908] = 2, + ACTIONS(1477), 1, + anon_sym_COMMA, + ACTIONS(1475), 2, + anon_sym_RBRACE, + sym_identifier, + [15916] = 3, + ACTIONS(1479), 1, + anon_sym_RPAREN, + ACTIONS(1481), 1, + sym_identifier, + STATE(558), 1, + sym_parameter, + [15926] = 3, + ACTIONS(1479), 1, + anon_sym_RPAREN, + ACTIONS(1483), 1, + anon_sym_COMMA, + STATE(504), 1, + aux_sym_parameter_list_repeat1, + [15936] = 3, + ACTIONS(847), 1, + anon_sym_LBRACE, + ACTIONS(1485), 1, + anon_sym_if, + STATE(329), 1, + sym_content_block, + [15946] = 3, + ACTIONS(659), 1, + anon_sym_RPAREN, + ACTIONS(1487), 1, + anon_sym_COMMA, + STATE(494), 1, + aux_sym_tuple_pattern_repeat1, + [15956] = 2, + ACTIONS(1491), 1, + anon_sym_EQ, + ACTIONS(1489), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [15964] = 3, + ACTIONS(1493), 1, + anon_sym_RBRACK, + ACTIONS(1495), 1, + sym_identifier, + STATE(516), 1, + sym_attribute, + [15974] = 3, + ACTIONS(302), 1, + anon_sym_RPAREN, + ACTIONS(1497), 1, + anon_sym_COMMA, + STATE(437), 1, + aux_sym_array_literal_repeat1, + [15984] = 3, + ACTIONS(1451), 1, + anon_sym_LT, + ACTIONS(1499), 1, + anon_sym_LBRACE, + STATE(649), 1, + sym_generic_params, + [15994] = 3, + ACTIONS(1501), 1, + anon_sym_COMMA, + ACTIONS(1503), 1, + anon_sym_RPAREN, + STATE(510), 1, + aux_sym_tuple_pattern_repeat1, + [16004] = 3, + ACTIONS(1455), 1, + anon_sym_COMMA, + ACTIONS(1505), 1, + anon_sym_GT, + STATE(505), 1, + aux_sym_generic_type_repeat1, + [16014] = 1, + ACTIONS(1061), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16020] = 1, + ACTIONS(503), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16026] = 3, + ACTIONS(1507), 1, + anon_sym_COMMA, + ACTIONS(1509), 1, + anon_sym_RPAREN, + STATE(481), 1, + aux_sym_generic_type_repeat1, + [16036] = 1, + ACTIONS(1401), 3, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_PIPE, + [16042] = 3, + ACTIONS(1471), 1, + anon_sym_COMMA, + ACTIONS(1511), 1, + anon_sym_PIPE, + STATE(492), 1, + aux_sym_generic_params_repeat1, + [16052] = 3, + ACTIONS(497), 1, + anon_sym_RPAREN, + ACTIONS(1513), 1, + anon_sym_COMMA, + STATE(488), 1, + aux_sym_generic_type_repeat1, + [16062] = 3, + ACTIONS(1455), 1, + anon_sym_COMMA, + ACTIONS(1515), 1, + anon_sym_GT, + STATE(483), 1, + aux_sym_generic_type_repeat1, + [16072] = 3, + ACTIONS(1455), 1, + anon_sym_COMMA, + ACTIONS(1517), 1, + anon_sym_GT, + STATE(505), 1, + aux_sym_generic_type_repeat1, + [16082] = 1, + ACTIONS(499), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16088] = 3, + ACTIONS(1519), 1, + anon_sym_COMMA, + ACTIONS(1521), 1, + anon_sym_RPAREN, + STATE(503), 1, + aux_sym_generic_type_repeat1, + [16098] = 3, + ACTIONS(813), 1, + anon_sym_LBRACE, + ACTIONS(1523), 1, + anon_sym_if, + STATE(285), 1, + sym_content_block, + [16108] = 1, + ACTIONS(1025), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16114] = 3, + ACTIONS(1459), 1, + anon_sym_RPAREN, + ACTIONS(1525), 1, + anon_sym_COMMA, + STATE(488), 1, + aux_sym_generic_type_repeat1, + [16124] = 3, + ACTIONS(1481), 1, + sym_identifier, + ACTIONS(1528), 1, + anon_sym_RPAREN, + STATE(495), 1, + sym_parameter, + [16134] = 1, + ACTIONS(1530), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16140] = 3, + ACTIONS(1532), 1, + anon_sym_LBRACK, + ACTIONS(1534), 1, + sym_identifier, + STATE(599), 1, + sym_attribute_list, + [16150] = 3, + ACTIONS(1471), 1, + anon_sym_COMMA, + ACTIONS(1536), 1, + anon_sym_PIPE, + STATE(438), 1, + aux_sym_generic_params_repeat1, + [16160] = 1, + ACTIONS(1033), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16166] = 3, + ACTIONS(1538), 1, + anon_sym_COMMA, + ACTIONS(1541), 1, + anon_sym_RPAREN, + STATE(494), 1, + aux_sym_tuple_pattern_repeat1, + [16176] = 3, + ACTIONS(1543), 1, + anon_sym_COMMA, + ACTIONS(1545), 1, + anon_sym_RPAREN, + STATE(467), 1, + aux_sym_parameter_list_repeat1, + [16186] = 1, + ACTIONS(1328), 3, + anon_sym_RBRACE, + anon_sym_DOT_DOT, + sym_identifier, + [16192] = 2, + ACTIONS(1549), 1, + anon_sym_COMMA, + ACTIONS(1547), 2, + anon_sym_RBRACE, + sym_identifier, + [16200] = 1, + ACTIONS(1057), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16206] = 3, + ACTIONS(1532), 1, + anon_sym_LBRACK, + ACTIONS(1551), 1, + sym_identifier, + STATE(655), 1, + sym_attribute_list, + [16216] = 1, + ACTIONS(1049), 3, + anon_sym_GT, + anon_sym_SLASH, + sym_attribute_name, + [16222] = 3, + ACTIONS(1451), 1, + anon_sym_LT, + ACTIONS(1553), 1, + anon_sym_LBRACE, + STATE(648), 1, + sym_generic_params, + [16232] = 3, + ACTIONS(1481), 1, + sym_identifier, + ACTIONS(1555), 1, + anon_sym_RPAREN, + STATE(558), 1, + sym_parameter, + [16242] = 3, + ACTIONS(483), 1, + anon_sym_RPAREN, + ACTIONS(1557), 1, + anon_sym_COMMA, + STATE(488), 1, + aux_sym_generic_type_repeat1, + [16252] = 3, + ACTIONS(1559), 1, + anon_sym_COMMA, + ACTIONS(1562), 1, + anon_sym_RPAREN, + STATE(504), 1, + aux_sym_parameter_list_repeat1, + [16262] = 3, + ACTIONS(1459), 1, + anon_sym_GT, + ACTIONS(1564), 1, + anon_sym_COMMA, + STATE(505), 1, + aux_sym_generic_type_repeat1, + [16272] = 3, + ACTIONS(1567), 1, + anon_sym_COMMA, + ACTIONS(1569), 1, + anon_sym_RBRACK, + STATE(512), 1, + aux_sym_attribute_list_repeat1, + [16282] = 3, + ACTIONS(1451), 1, + anon_sym_LT, + ACTIONS(1571), 1, + anon_sym_LBRACE, + STATE(575), 1, + sym_generic_params, + [16292] = 2, + ACTIONS(1575), 1, + anon_sym_COMMA, + ACTIONS(1573), 2, + anon_sym_RBRACE, + sym_identifier, + [16300] = 1, + ACTIONS(687), 3, + anon_sym_RBRACE, + anon_sym_COMMA, + sym_identifier, + [16306] = 3, + ACTIONS(661), 1, + anon_sym_RPAREN, + ACTIONS(1577), 1, + anon_sym_COMMA, + STATE(494), 1, + aux_sym_tuple_pattern_repeat1, + [16316] = 3, + ACTIONS(1532), 1, + anon_sym_LBRACK, + ACTIONS(1579), 1, + anon_sym_COLON, + STATE(584), 1, + sym_attribute_list, + [16326] = 3, + ACTIONS(1581), 1, + anon_sym_COMMA, + ACTIONS(1584), 1, + anon_sym_RBRACK, + STATE(512), 1, + aux_sym_attribute_list_repeat1, + [16336] = 2, + ACTIONS(1588), 1, + anon_sym_COMMA, + ACTIONS(1586), 2, + anon_sym_RBRACE, + sym_identifier, + [16344] = 2, + ACTIONS(1592), 1, + anon_sym_LPAREN, + ACTIONS(1590), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [16352] = 3, + ACTIONS(1471), 1, + anon_sym_COMMA, + ACTIONS(1594), 1, + anon_sym_GT, + STATE(464), 1, + aux_sym_generic_params_repeat1, + [16362] = 3, + ACTIONS(1567), 1, + anon_sym_COMMA, + ACTIONS(1596), 1, + anon_sym_RBRACK, + STATE(506), 1, + aux_sym_attribute_list_repeat1, + [16372] = 3, + ACTIONS(298), 1, + anon_sym_RBRACK, + ACTIONS(1598), 1, + anon_sym_COMMA, + STATE(437), 1, + aux_sym_array_literal_repeat1, + [16382] = 1, + ACTIONS(1600), 2, + anon_sym_COLON, + sym_identifier, + [16387] = 2, + ACTIONS(1602), 1, + anon_sym_AMP, + ACTIONS(1604), 1, + sym_identifier, + [16394] = 1, + ACTIONS(1606), 2, + anon_sym_COLON, + sym_identifier, + [16399] = 2, + ACTIONS(1608), 1, + aux_sym_char_literal_token1, + ACTIONS(1610), 1, + sym_escape_sequence, + [16406] = 1, + ACTIONS(1612), 2, + anon_sym_RBRACE, + sym_identifier, + [16411] = 1, + ACTIONS(1614), 2, + anon_sym_COLON, + sym_identifier, + [16416] = 2, + ACTIONS(1616), 1, + anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + ACTIONS(1618), 1, + sym_embedded_content, + [16423] = 1, + ACTIONS(1541), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [16428] = 1, + ACTIONS(1475), 2, + anon_sym_RBRACE, + sym_identifier, + [16433] = 2, + ACTIONS(813), 1, + anon_sym_LBRACE, + STATE(264), 1, + sym_content_block, + [16440] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(570), 1, + sym_function_path, + [16447] = 2, + ACTIONS(1622), 1, + aux_sym_rust_path_token1, + STATE(215), 1, + sym_rust_path, + [16454] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(349), 1, + sym_function_path, + [16461] = 1, + ACTIONS(1624), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [16466] = 2, + ACTIONS(1626), 1, + aux_sym_char_literal_token1, + ACTIONS(1628), 1, + sym_escape_sequence, + [16473] = 2, + ACTIONS(1630), 1, + anon_sym_RBRACK, + ACTIONS(1632), 1, + anon_sym_SEMI, + [16480] = 2, + ACTIONS(264), 1, + anon_sym_LBRACE, + STATE(345), 1, + sym_content_block, + [16487] = 2, + ACTIONS(1634), 1, + anon_sym_if, + ACTIONS(1636), 1, + anon_sym_EQ_GT, + [16494] = 1, + ACTIONS(1638), 2, + anon_sym_RBRACE, + sym_identifier, + [16499] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(654), 1, + sym_function_path, + [16506] = 2, + ACTIONS(1481), 1, + sym_identifier, + STATE(558), 1, + sym_parameter, + [16513] = 2, + ACTIONS(274), 1, + anon_sym_DQUOTE, + STATE(634), 1, + sym_string_literal, + [16520] = 2, + ACTIONS(1640), 1, + sym_identifier, + STATE(446), 1, + sym_expression_path, + [16527] = 2, + ACTIONS(1642), 1, + anon_sym_STAR_AT, + ACTIONS(1644), 1, + sym_comment_content, + [16534] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(567), 1, + sym_function_path, + [16541] = 2, + ACTIONS(1646), 1, + anon_sym_DASH_DASH_GT, + ACTIONS(1648), 1, + sym_html_comment_content, + [16548] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(572), 1, + sym_function_path, + [16555] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(616), 1, + sym_function_path, + [16562] = 1, + ACTIONS(1650), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [16567] = 2, + ACTIONS(1652), 1, + anon_sym_RBRACK, + ACTIONS(1654), 1, + anon_sym_SEMI, + [16574] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(353), 1, + sym_function_path, + [16581] = 2, + ACTIONS(1495), 1, + sym_identifier, + STATE(559), 1, + sym_attribute, + [16588] = 2, + ACTIONS(1245), 1, + anon_sym_in, + ACTIONS(1656), 1, + anon_sym_COLON, + [16595] = 1, + ACTIONS(1547), 2, + anon_sym_RBRACE, + sym_identifier, + [16600] = 2, + ACTIONS(1658), 1, + anon_sym_DASH_DASH_GT, + ACTIONS(1660), 1, + sym_html_comment_content, + [16607] = 2, + ACTIONS(264), 1, + anon_sym_LBRACE, + STATE(346), 1, + sym_content_block, + [16614] = 2, + ACTIONS(1662), 1, + anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + ACTIONS(1664), 1, + sym_embedded_content, + [16621] = 2, + ACTIONS(1245), 1, + anon_sym_in, + ACTIONS(1666), 1, + anon_sym_COLON, + [16628] = 2, + ACTIONS(1668), 1, + anon_sym_LPAREN, + STATE(527), 1, + sym_parameter_list, + [16635] = 2, + ACTIONS(1670), 1, + anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + ACTIONS(1672), 1, + sym_embedded_content, + [16642] = 1, + ACTIONS(1562), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [16647] = 1, + ACTIONS(1584), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [16652] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(355), 1, + sym_function_path, + [16659] = 1, + ACTIONS(1674), 2, + anon_sym_RBRACE, + sym_identifier, + [16664] = 2, + ACTIONS(1676), 1, + anon_sym_STAR_AT, + ACTIONS(1678), 1, + sym_comment_content, + [16671] = 2, + ACTIONS(1620), 1, + aux_sym_rust_path_token1, + STATE(653), 1, + sym_function_path, + [16678] = 1, + ACTIONS(1680), 1, + anon_sym_LBRACE, + [16682] = 1, + ACTIONS(1682), 1, + anon_sym_RPAREN, + [16686] = 1, + ACTIONS(1684), 1, + anon_sym_DASH_DASH_GT, + [16690] = 1, + ACTIONS(1686), 1, + anon_sym_GT, + [16694] = 1, + ACTIONS(1688), 1, + sym_tag_name, + [16698] = 1, + ACTIONS(1690), 1, + sym_identifier, + [16702] = 1, + ACTIONS(1692), 1, + anon_sym_GT, + [16706] = 1, + ACTIONS(1694), 1, + anon_sym_GT, + [16710] = 1, + ACTIONS(1696), 1, + anon_sym_GT, + [16714] = 1, + ACTIONS(1698), 1, + anon_sym_LBRACE, + [16718] = 1, + ACTIONS(1523), 1, + anon_sym_if, + [16722] = 1, + ACTIONS(1700), 1, + anon_sym_LBRACE, + [16726] = 1, + ACTIONS(1702), 1, + anon_sym_SQUOTE, + [16730] = 1, + ACTIONS(1704), 1, + anon_sym_LBRACE, + [16734] = 1, + ACTIONS(1706), 1, + anon_sym_in, + [16738] = 1, + ACTIONS(1708), 1, + anon_sym_STAR_AT, + [16742] = 1, + ACTIONS(1710), 1, + sym_tag_name, + [16746] = 1, + ACTIONS(1712), 1, + sym_identifier, + [16750] = 1, + ACTIONS(1714), 1, + anon_sym_in, + [16754] = 1, + ACTIONS(1716), 1, + anon_sym_EQ, + [16758] = 1, + ACTIONS(1718), 1, + anon_sym_COLON, + [16762] = 1, + ACTIONS(1720), 1, + sym_tag_name, + [16766] = 1, + ACTIONS(1722), 1, + anon_sym_GT, + [16770] = 1, + ACTIONS(1724), 1, + anon_sym_GT, + [16774] = 1, + ACTIONS(288), 1, + sym_identifier, + [16778] = 1, + ACTIONS(1726), 1, + anon_sym_EQ, + [16782] = 1, + ACTIONS(1728), 1, + anon_sym_LPAREN, + [16786] = 1, + ACTIONS(1730), 1, + sym_identifier, + [16790] = 1, + ACTIONS(885), 1, + anon_sym_RPAREN, + [16794] = 1, + ACTIONS(1732), 1, + sym_identifier, + [16798] = 1, + ACTIONS(1734), 1, + sym_identifier, + [16802] = 1, + ACTIONS(1736), 1, + anon_sym_STAR_AT, + [16806] = 1, + ACTIONS(1738), 1, + sym_identifier, + [16810] = 1, + ACTIONS(1740), 1, + anon_sym_DASH_DASH_GT, + [16814] = 1, + ACTIONS(294), 1, + sym_identifier, + [16818] = 1, + ACTIONS(1742), 1, + sym_identifier, + [16822] = 1, + ACTIONS(893), 1, + anon_sym_RPAREN, + [16826] = 1, + ACTIONS(1744), 1, + anon_sym_LBRACE, + [16830] = 1, + ACTIONS(1746), 1, + sym_identifier, + [16834] = 1, + ACTIONS(1280), 1, + anon_sym_RBRACE, + [16838] = 1, + ACTIONS(1748), 1, + anon_sym_RBRACE, + [16842] = 1, + ACTIONS(1750), 1, + sym_tag_name, + [16846] = 1, + ACTIONS(1752), 1, + anon_sym_GT, + [16850] = 1, + ACTIONS(286), 1, + sym_identifier, + [16854] = 1, + ACTIONS(1754), 1, + sym_tag_name, + [16858] = 1, + ACTIONS(1756), 1, + anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + [16862] = 1, + ACTIONS(1758), 1, + sym_identifier, + [16866] = 1, + ACTIONS(290), 1, + sym_identifier, + [16870] = 1, + ACTIONS(1760), 1, + sym_identifier, + [16874] = 1, + ACTIONS(1762), 1, + anon_sym_SQUOTE, + [16878] = 1, + ACTIONS(1764), 1, + anon_sym_LBRACE, + [16882] = 1, + ACTIONS(1766), 1, + ts_builtin_sym_end, + [16886] = 1, + ACTIONS(1768), 1, + anon_sym_GT, + [16890] = 1, + ACTIONS(1770), 1, + sym_tag_name, + [16894] = 1, + ACTIONS(1772), 1, + anon_sym_GT, + [16898] = 1, + ACTIONS(1774), 1, + anon_sym_RPAREN, + [16902] = 1, + ACTIONS(1776), 1, + sym_tag_name, + [16906] = 1, + ACTIONS(1778), 1, + anon_sym_GT, + [16910] = 1, + ACTIONS(1780), 1, + sym_identifier, + [16914] = 1, + ACTIONS(1782), 1, + anon_sym_BQUOTE_BQUOTE_BQUOTE_AT, + [16918] = 1, + ACTIONS(1784), 1, + anon_sym_GT, + [16922] = 1, + ACTIONS(1786), 1, + anon_sym_PIPE, + [16926] = 1, + ACTIONS(1788), 1, + sym_tag_name, + [16930] = 1, + ACTIONS(1485), 1, + anon_sym_if, + [16934] = 1, + ACTIONS(899), 1, + anon_sym_RPAREN, + [16938] = 1, + ACTIONS(1790), 1, + anon_sym_LBRACE, + [16942] = 1, + ACTIONS(1792), 1, + sym_attribute_content, + [16946] = 1, + ACTIONS(1794), 1, + anon_sym_GT, + [16950] = 1, + ACTIONS(1796), 1, + anon_sym_GT, + [16954] = 1, + ACTIONS(1798), 1, + sym_tag_name, + [16958] = 1, + ACTIONS(1800), 1, + anon_sym_as, + [16962] = 1, + ACTIONS(913), 1, + anon_sym_RPAREN, + [16966] = 1, + ACTIONS(1296), 1, + anon_sym_RBRACE, + [16970] = 1, + ACTIONS(1802), 1, + anon_sym_COLON, + [16974] = 1, + ACTIONS(1571), 1, + anon_sym_LBRACE, + [16978] = 1, + ACTIONS(1804), 1, + anon_sym_LBRACE, + [16982] = 1, + ACTIONS(1806), 1, + sym_identifier, + [16986] = 1, + ACTIONS(1808), 1, + anon_sym_LPAREN, + [16990] = 1, + ACTIONS(1810), 1, + anon_sym_in, + [16994] = 1, + ACTIONS(1812), 1, + anon_sym_EQ, + [16998] = 1, + ACTIONS(1814), 1, + anon_sym_GT, + [17002] = 1, + ACTIONS(1816), 1, + anon_sym_in, + [17006] = 1, + ACTIONS(1818), 1, + anon_sym_GT, + [17010] = 1, + ACTIONS(1820), 1, + anon_sym_GT, + [17014] = 1, + ACTIONS(1822), 1, + anon_sym_LBRACE, + [17018] = 1, + ACTIONS(1553), 1, + anon_sym_LBRACE, + [17022] = 1, + ACTIONS(1824), 1, + anon_sym_EQ, + [17026] = 1, + ACTIONS(1826), 1, + anon_sym_LPAREN, + [17030] = 1, + ACTIONS(1828), 1, + anon_sym_RBRACE, + [17034] = 1, + ACTIONS(1830), 1, + anon_sym_GT, + [17038] = 1, + ACTIONS(1832), 1, + anon_sym_GT, + [17042] = 1, + ACTIONS(1834), 1, + sym_identifier, + [17046] = 1, + ACTIONS(1836), 1, + anon_sym_GT, + [17050] = 1, + ACTIONS(1838), 1, + anon_sym_GT, + [17054] = 1, + ACTIONS(1840), 1, + anon_sym_LBRACE, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(2)] = 0, + [SMALL_STATE(3)] = 96, + [SMALL_STATE(4)] = 192, + [SMALL_STATE(5)] = 273, + [SMALL_STATE(6)] = 354, + [SMALL_STATE(7)] = 435, + [SMALL_STATE(8)] = 516, + [SMALL_STATE(9)] = 560, + [SMALL_STATE(10)] = 604, + [SMALL_STATE(11)] = 682, + [SMALL_STATE(12)] = 760, + [SMALL_STATE(13)] = 838, + [SMALL_STATE(14)] = 916, + [SMALL_STATE(15)] = 994, + [SMALL_STATE(16)] = 1072, + [SMALL_STATE(17)] = 1150, + [SMALL_STATE(18)] = 1225, + [SMALL_STATE(19)] = 1300, + [SMALL_STATE(20)] = 1375, + [SMALL_STATE(21)] = 1450, + [SMALL_STATE(22)] = 1525, + [SMALL_STATE(23)] = 1600, + [SMALL_STATE(24)] = 1679, + [SMALL_STATE(25)] = 1756, + [SMALL_STATE(26)] = 1831, + [SMALL_STATE(27)] = 1908, + [SMALL_STATE(28)] = 1987, + [SMALL_STATE(29)] = 2062, + [SMALL_STATE(30)] = 2137, + [SMALL_STATE(31)] = 2212, + [SMALL_STATE(32)] = 2284, + [SMALL_STATE(33)] = 2356, + [SMALL_STATE(34)] = 2428, + [SMALL_STATE(35)] = 2500, + [SMALL_STATE(36)] = 2572, + [SMALL_STATE(37)] = 2644, + [SMALL_STATE(38)] = 2716, + [SMALL_STATE(39)] = 2788, + [SMALL_STATE(40)] = 2860, + [SMALL_STATE(41)] = 2932, + [SMALL_STATE(42)] = 3004, + [SMALL_STATE(43)] = 3076, + [SMALL_STATE(44)] = 3148, + [SMALL_STATE(45)] = 3220, + [SMALL_STATE(46)] = 3292, + [SMALL_STATE(47)] = 3364, + [SMALL_STATE(48)] = 3436, + [SMALL_STATE(49)] = 3508, + [SMALL_STATE(50)] = 3580, + [SMALL_STATE(51)] = 3652, + [SMALL_STATE(52)] = 3724, + [SMALL_STATE(53)] = 3796, + [SMALL_STATE(54)] = 3868, + [SMALL_STATE(55)] = 3940, + [SMALL_STATE(56)] = 4012, + [SMALL_STATE(57)] = 4084, + [SMALL_STATE(58)] = 4156, + [SMALL_STATE(59)] = 4228, + [SMALL_STATE(60)] = 4300, + [SMALL_STATE(61)] = 4372, + [SMALL_STATE(62)] = 4444, + [SMALL_STATE(63)] = 4516, + [SMALL_STATE(64)] = 4589, + [SMALL_STATE(65)] = 4662, + [SMALL_STATE(66)] = 4735, + [SMALL_STATE(67)] = 4808, + [SMALL_STATE(68)] = 4881, + [SMALL_STATE(69)] = 4954, + [SMALL_STATE(70)] = 5027, + [SMALL_STATE(71)] = 5100, + [SMALL_STATE(72)] = 5173, + [SMALL_STATE(73)] = 5246, + [SMALL_STATE(74)] = 5319, + [SMALL_STATE(75)] = 5392, + [SMALL_STATE(76)] = 5465, + [SMALL_STATE(77)] = 5538, + [SMALL_STATE(78)] = 5595, + [SMALL_STATE(79)] = 5668, + [SMALL_STATE(80)] = 5725, + [SMALL_STATE(81)] = 5798, + [SMALL_STATE(82)] = 5855, + [SMALL_STATE(83)] = 5928, + [SMALL_STATE(84)] = 6001, + [SMALL_STATE(85)] = 6074, + [SMALL_STATE(86)] = 6147, + [SMALL_STATE(87)] = 6220, + [SMALL_STATE(88)] = 6293, + [SMALL_STATE(89)] = 6366, + [SMALL_STATE(90)] = 6439, + [SMALL_STATE(91)] = 6512, + [SMALL_STATE(92)] = 6563, + [SMALL_STATE(93)] = 6614, + [SMALL_STATE(94)] = 6665, + [SMALL_STATE(95)] = 6716, + [SMALL_STATE(96)] = 6767, + [SMALL_STATE(97)] = 6818, + [SMALL_STATE(98)] = 6869, + [SMALL_STATE(99)] = 6920, + [SMALL_STATE(100)] = 6971, + [SMALL_STATE(101)] = 7022, + [SMALL_STATE(102)] = 7073, + [SMALL_STATE(103)] = 7121, + [SMALL_STATE(104)] = 7169, + [SMALL_STATE(105)] = 7217, + [SMALL_STATE(106)] = 7265, + [SMALL_STATE(107)] = 7313, + [SMALL_STATE(108)] = 7361, + [SMALL_STATE(109)] = 7409, + [SMALL_STATE(110)] = 7457, + [SMALL_STATE(111)] = 7505, + [SMALL_STATE(112)] = 7553, + [SMALL_STATE(113)] = 7588, + [SMALL_STATE(114)] = 7623, + [SMALL_STATE(115)] = 7657, + [SMALL_STATE(116)] = 7691, + [SMALL_STATE(117)] = 7725, + [SMALL_STATE(118)] = 7759, + [SMALL_STATE(119)] = 7793, + [SMALL_STATE(120)] = 7827, + [SMALL_STATE(121)] = 7861, + [SMALL_STATE(122)] = 7923, + [SMALL_STATE(123)] = 7985, + [SMALL_STATE(124)] = 8019, + [SMALL_STATE(125)] = 8055, + [SMALL_STATE(126)] = 8089, + [SMALL_STATE(127)] = 8151, + [SMALL_STATE(128)] = 8213, + [SMALL_STATE(129)] = 8249, + [SMALL_STATE(130)] = 8311, + [SMALL_STATE(131)] = 8346, + [SMALL_STATE(132)] = 8377, + [SMALL_STATE(133)] = 8408, + [SMALL_STATE(134)] = 8439, + [SMALL_STATE(135)] = 8470, + [SMALL_STATE(136)] = 8501, + [SMALL_STATE(137)] = 8532, + [SMALL_STATE(138)] = 8563, + [SMALL_STATE(139)] = 8594, + [SMALL_STATE(140)] = 8625, + [SMALL_STATE(141)] = 8656, + [SMALL_STATE(142)] = 8687, + [SMALL_STATE(143)] = 8718, + [SMALL_STATE(144)] = 8749, + [SMALL_STATE(145)] = 8781, + [SMALL_STATE(146)] = 8839, + [SMALL_STATE(147)] = 8897, + [SMALL_STATE(148)] = 8955, + [SMALL_STATE(149)] = 9013, + [SMALL_STATE(150)] = 9068, + [SMALL_STATE(151)] = 9123, + [SMALL_STATE(152)] = 9178, + [SMALL_STATE(153)] = 9233, + [SMALL_STATE(154)] = 9288, + [SMALL_STATE(155)] = 9317, + [SMALL_STATE(156)] = 9346, + [SMALL_STATE(157)] = 9375, + [SMALL_STATE(158)] = 9404, + [SMALL_STATE(159)] = 9433, + [SMALL_STATE(160)] = 9462, + [SMALL_STATE(161)] = 9491, + [SMALL_STATE(162)] = 9520, + [SMALL_STATE(163)] = 9549, + [SMALL_STATE(164)] = 9578, + [SMALL_STATE(165)] = 9607, + [SMALL_STATE(166)] = 9636, + [SMALL_STATE(167)] = 9665, + [SMALL_STATE(168)] = 9720, + [SMALL_STATE(169)] = 9775, + [SMALL_STATE(170)] = 9806, + [SMALL_STATE(171)] = 9861, + [SMALL_STATE(172)] = 9916, + [SMALL_STATE(173)] = 9971, + [SMALL_STATE(174)] = 10026, + [SMALL_STATE(175)] = 10081, + [SMALL_STATE(176)] = 10117, + [SMALL_STATE(177)] = 10145, + [SMALL_STATE(178)] = 10179, + [SMALL_STATE(179)] = 10215, + [SMALL_STATE(180)] = 10249, + [SMALL_STATE(181)] = 10283, + [SMALL_STATE(182)] = 10319, + [SMALL_STATE(183)] = 10353, + [SMALL_STATE(184)] = 10380, + [SMALL_STATE(185)] = 10415, + [SMALL_STATE(186)] = 10450, + [SMALL_STATE(187)] = 10477, + [SMALL_STATE(188)] = 10508, + [SMALL_STATE(189)] = 10539, + [SMALL_STATE(190)] = 10565, + [SMALL_STATE(191)] = 10597, + [SMALL_STATE(192)] = 10629, + [SMALL_STATE(193)] = 10661, + [SMALL_STATE(194)] = 10693, + [SMALL_STATE(195)] = 10725, + [SMALL_STATE(196)] = 10757, + [SMALL_STATE(197)] = 10787, + [SMALL_STATE(198)] = 10817, + [SMALL_STATE(199)] = 10849, + [SMALL_STATE(200)] = 10879, + [SMALL_STATE(201)] = 10911, + [SMALL_STATE(202)] = 10943, + [SMALL_STATE(203)] = 10975, + [SMALL_STATE(204)] = 11007, + [SMALL_STATE(205)] = 11039, + [SMALL_STATE(206)] = 11071, + [SMALL_STATE(207)] = 11103, + [SMALL_STATE(208)] = 11135, + [SMALL_STATE(209)] = 11164, + [SMALL_STATE(210)] = 11191, + [SMALL_STATE(211)] = 11222, + [SMALL_STATE(212)] = 11249, + [SMALL_STATE(213)] = 11278, + [SMALL_STATE(214)] = 11311, + [SMALL_STATE(215)] = 11340, + [SMALL_STATE(216)] = 11367, + [SMALL_STATE(217)] = 11392, + [SMALL_STATE(218)] = 11421, + [SMALL_STATE(219)] = 11450, + [SMALL_STATE(220)] = 11479, + [SMALL_STATE(221)] = 11508, + [SMALL_STATE(222)] = 11537, + [SMALL_STATE(223)] = 11562, + [SMALL_STATE(224)] = 11591, + [SMALL_STATE(225)] = 11620, + [SMALL_STATE(226)] = 11649, + [SMALL_STATE(227)] = 11680, + [SMALL_STATE(228)] = 11709, + [SMALL_STATE(229)] = 11738, + [SMALL_STATE(230)] = 11767, + [SMALL_STATE(231)] = 11792, + [SMALL_STATE(232)] = 11823, + [SMALL_STATE(233)] = 11852, + [SMALL_STATE(234)] = 11881, + [SMALL_STATE(235)] = 11906, + [SMALL_STATE(236)] = 11935, + [SMALL_STATE(237)] = 11964, + [SMALL_STATE(238)] = 11997, + [SMALL_STATE(239)] = 12028, + [SMALL_STATE(240)] = 12061, + [SMALL_STATE(241)] = 12085, + [SMALL_STATE(242)] = 12109, + [SMALL_STATE(243)] = 12133, + [SMALL_STATE(244)] = 12157, + [SMALL_STATE(245)] = 12181, + [SMALL_STATE(246)] = 12205, + [SMALL_STATE(247)] = 12229, + [SMALL_STATE(248)] = 12253, + [SMALL_STATE(249)] = 12277, + [SMALL_STATE(250)] = 12305, + [SMALL_STATE(251)] = 12329, + [SMALL_STATE(252)] = 12353, + [SMALL_STATE(253)] = 12377, + [SMALL_STATE(254)] = 12401, + [SMALL_STATE(255)] = 12425, + [SMALL_STATE(256)] = 12449, + [SMALL_STATE(257)] = 12473, + [SMALL_STATE(258)] = 12497, + [SMALL_STATE(259)] = 12521, + [SMALL_STATE(260)] = 12545, + [SMALL_STATE(261)] = 12569, + [SMALL_STATE(262)] = 12593, + [SMALL_STATE(263)] = 12617, + [SMALL_STATE(264)] = 12641, + [SMALL_STATE(265)] = 12665, + [SMALL_STATE(266)] = 12689, + [SMALL_STATE(267)] = 12713, + [SMALL_STATE(268)] = 12737, + [SMALL_STATE(269)] = 12761, + [SMALL_STATE(270)] = 12785, + [SMALL_STATE(271)] = 12809, + [SMALL_STATE(272)] = 12833, + [SMALL_STATE(273)] = 12857, + [SMALL_STATE(274)] = 12881, + [SMALL_STATE(275)] = 12905, + [SMALL_STATE(276)] = 12929, + [SMALL_STATE(277)] = 12953, + [SMALL_STATE(278)] = 12977, + [SMALL_STATE(279)] = 13001, + [SMALL_STATE(280)] = 13025, + [SMALL_STATE(281)] = 13049, + [SMALL_STATE(282)] = 13073, + [SMALL_STATE(283)] = 13097, + [SMALL_STATE(284)] = 13121, + [SMALL_STATE(285)] = 13145, + [SMALL_STATE(286)] = 13169, + [SMALL_STATE(287)] = 13193, + [SMALL_STATE(288)] = 13217, + [SMALL_STATE(289)] = 13241, + [SMALL_STATE(290)] = 13265, + [SMALL_STATE(291)] = 13289, + [SMALL_STATE(292)] = 13313, + [SMALL_STATE(293)] = 13337, + [SMALL_STATE(294)] = 13361, + [SMALL_STATE(295)] = 13385, + [SMALL_STATE(296)] = 13412, + [SMALL_STATE(297)] = 13439, + [SMALL_STATE(298)] = 13463, + [SMALL_STATE(299)] = 13487, + [SMALL_STATE(300)] = 13509, + [SMALL_STATE(301)] = 13531, + [SMALL_STATE(302)] = 13553, + [SMALL_STATE(303)] = 13575, + [SMALL_STATE(304)] = 13597, + [SMALL_STATE(305)] = 13619, + [SMALL_STATE(306)] = 13640, + [SMALL_STATE(307)] = 13661, + [SMALL_STATE(308)] = 13682, + [SMALL_STATE(309)] = 13703, + [SMALL_STATE(310)] = 13724, + [SMALL_STATE(311)] = 13745, + [SMALL_STATE(312)] = 13766, + [SMALL_STATE(313)] = 13787, + [SMALL_STATE(314)] = 13808, + [SMALL_STATE(315)] = 13829, + [SMALL_STATE(316)] = 13850, + [SMALL_STATE(317)] = 13871, + [SMALL_STATE(318)] = 13892, + [SMALL_STATE(319)] = 13913, + [SMALL_STATE(320)] = 13934, + [SMALL_STATE(321)] = 13955, + [SMALL_STATE(322)] = 13976, + [SMALL_STATE(323)] = 13997, + [SMALL_STATE(324)] = 14018, + [SMALL_STATE(325)] = 14039, + [SMALL_STATE(326)] = 14060, + [SMALL_STATE(327)] = 14081, + [SMALL_STATE(328)] = 14102, + [SMALL_STATE(329)] = 14123, + [SMALL_STATE(330)] = 14144, + [SMALL_STATE(331)] = 14165, + [SMALL_STATE(332)] = 14186, + [SMALL_STATE(333)] = 14207, + [SMALL_STATE(334)] = 14228, + [SMALL_STATE(335)] = 14249, + [SMALL_STATE(336)] = 14270, + [SMALL_STATE(337)] = 14291, + [SMALL_STATE(338)] = 14312, + [SMALL_STATE(339)] = 14333, + [SMALL_STATE(340)] = 14354, + [SMALL_STATE(341)] = 14375, + [SMALL_STATE(342)] = 14396, + [SMALL_STATE(343)] = 14417, + [SMALL_STATE(344)] = 14438, + [SMALL_STATE(345)] = 14459, + [SMALL_STATE(346)] = 14481, + [SMALL_STATE(347)] = 14503, + [SMALL_STATE(348)] = 14522, + [SMALL_STATE(349)] = 14541, + [SMALL_STATE(350)] = 14563, + [SMALL_STATE(351)] = 14583, + [SMALL_STATE(352)] = 14605, + [SMALL_STATE(353)] = 14627, + [SMALL_STATE(354)] = 14649, + [SMALL_STATE(355)] = 14671, + [SMALL_STATE(356)] = 14693, + [SMALL_STATE(357)] = 14707, + [SMALL_STATE(358)] = 14726, + [SMALL_STATE(359)] = 14737, + [SMALL_STATE(360)] = 14752, + [SMALL_STATE(361)] = 14763, + [SMALL_STATE(362)] = 14774, + [SMALL_STATE(363)] = 14785, + [SMALL_STATE(364)] = 14796, + [SMALL_STATE(365)] = 14807, + [SMALL_STATE(366)] = 14818, + [SMALL_STATE(367)] = 14829, + [SMALL_STATE(368)] = 14840, + [SMALL_STATE(369)] = 14859, + [SMALL_STATE(370)] = 14878, + [SMALL_STATE(371)] = 14889, + [SMALL_STATE(372)] = 14900, + [SMALL_STATE(373)] = 14919, + [SMALL_STATE(374)] = 14934, + [SMALL_STATE(375)] = 14945, + [SMALL_STATE(376)] = 14963, + [SMALL_STATE(377)] = 14973, + [SMALL_STATE(378)] = 14991, + [SMALL_STATE(379)] = 15001, + [SMALL_STATE(380)] = 15019, + [SMALL_STATE(381)] = 15029, + [SMALL_STATE(382)] = 15039, + [SMALL_STATE(383)] = 15050, + [SMALL_STATE(384)] = 15061, + [SMALL_STATE(385)] = 15072, + [SMALL_STATE(386)] = 15083, + [SMALL_STATE(387)] = 15094, + [SMALL_STATE(388)] = 15103, + [SMALL_STATE(389)] = 15112, + [SMALL_STATE(390)] = 15123, + [SMALL_STATE(391)] = 15134, + [SMALL_STATE(392)] = 15145, + [SMALL_STATE(393)] = 15159, + [SMALL_STATE(394)] = 15173, + [SMALL_STATE(395)] = 15185, + [SMALL_STATE(396)] = 15195, + [SMALL_STATE(397)] = 15211, + [SMALL_STATE(398)] = 15227, + [SMALL_STATE(399)] = 15241, + [SMALL_STATE(400)] = 15257, + [SMALL_STATE(401)] = 15273, + [SMALL_STATE(402)] = 15289, + [SMALL_STATE(403)] = 15303, + [SMALL_STATE(404)] = 15317, + [SMALL_STATE(405)] = 15327, + [SMALL_STATE(406)] = 15341, + [SMALL_STATE(407)] = 15357, + [SMALL_STATE(408)] = 15371, + [SMALL_STATE(409)] = 15382, + [SMALL_STATE(410)] = 15393, + [SMALL_STATE(411)] = 15400, + [SMALL_STATE(412)] = 15407, + [SMALL_STATE(413)] = 15414, + [SMALL_STATE(414)] = 15421, + [SMALL_STATE(415)] = 15428, + [SMALL_STATE(416)] = 15435, + [SMALL_STATE(417)] = 15448, + [SMALL_STATE(418)] = 15455, + [SMALL_STATE(419)] = 15462, + [SMALL_STATE(420)] = 15473, + [SMALL_STATE(421)] = 15484, + [SMALL_STATE(422)] = 15495, + [SMALL_STATE(423)] = 15506, + [SMALL_STATE(424)] = 15517, + [SMALL_STATE(425)] = 15528, + [SMALL_STATE(426)] = 15535, + [SMALL_STATE(427)] = 15546, + [SMALL_STATE(428)] = 15553, + [SMALL_STATE(429)] = 15560, + [SMALL_STATE(430)] = 15571, + [SMALL_STATE(431)] = 15584, + [SMALL_STATE(432)] = 15597, + [SMALL_STATE(433)] = 15604, + [SMALL_STATE(434)] = 15611, + [SMALL_STATE(435)] = 15618, + [SMALL_STATE(436)] = 15631, + [SMALL_STATE(437)] = 15640, + [SMALL_STATE(438)] = 15651, + [SMALL_STATE(439)] = 15662, + [SMALL_STATE(440)] = 15675, + [SMALL_STATE(441)] = 15688, + [SMALL_STATE(442)] = 15695, + [SMALL_STATE(443)] = 15702, + [SMALL_STATE(444)] = 15711, + [SMALL_STATE(445)] = 15722, + [SMALL_STATE(446)] = 15735, + [SMALL_STATE(447)] = 15742, + [SMALL_STATE(448)] = 15749, + [SMALL_STATE(449)] = 15762, + [SMALL_STATE(450)] = 15769, + [SMALL_STATE(451)] = 15776, + [SMALL_STATE(452)] = 15783, + [SMALL_STATE(453)] = 15794, + [SMALL_STATE(454)] = 15805, + [SMALL_STATE(455)] = 15816, + [SMALL_STATE(456)] = 15827, + [SMALL_STATE(457)] = 15840, + [SMALL_STATE(458)] = 15850, + [SMALL_STATE(459)] = 15856, + [SMALL_STATE(460)] = 15866, + [SMALL_STATE(461)] = 15872, + [SMALL_STATE(462)] = 15882, + [SMALL_STATE(463)] = 15888, + [SMALL_STATE(464)] = 15898, + [SMALL_STATE(465)] = 15908, + [SMALL_STATE(466)] = 15916, + [SMALL_STATE(467)] = 15926, + [SMALL_STATE(468)] = 15936, + [SMALL_STATE(469)] = 15946, + [SMALL_STATE(470)] = 15956, + [SMALL_STATE(471)] = 15964, + [SMALL_STATE(472)] = 15974, + [SMALL_STATE(473)] = 15984, + [SMALL_STATE(474)] = 15994, + [SMALL_STATE(475)] = 16004, + [SMALL_STATE(476)] = 16014, + [SMALL_STATE(477)] = 16020, + [SMALL_STATE(478)] = 16026, + [SMALL_STATE(479)] = 16036, + [SMALL_STATE(480)] = 16042, + [SMALL_STATE(481)] = 16052, + [SMALL_STATE(482)] = 16062, + [SMALL_STATE(483)] = 16072, + [SMALL_STATE(484)] = 16082, + [SMALL_STATE(485)] = 16088, + [SMALL_STATE(486)] = 16098, + [SMALL_STATE(487)] = 16108, + [SMALL_STATE(488)] = 16114, + [SMALL_STATE(489)] = 16124, + [SMALL_STATE(490)] = 16134, + [SMALL_STATE(491)] = 16140, + [SMALL_STATE(492)] = 16150, + [SMALL_STATE(493)] = 16160, + [SMALL_STATE(494)] = 16166, + [SMALL_STATE(495)] = 16176, + [SMALL_STATE(496)] = 16186, + [SMALL_STATE(497)] = 16192, + [SMALL_STATE(498)] = 16200, + [SMALL_STATE(499)] = 16206, + [SMALL_STATE(500)] = 16216, + [SMALL_STATE(501)] = 16222, + [SMALL_STATE(502)] = 16232, + [SMALL_STATE(503)] = 16242, + [SMALL_STATE(504)] = 16252, + [SMALL_STATE(505)] = 16262, + [SMALL_STATE(506)] = 16272, + [SMALL_STATE(507)] = 16282, + [SMALL_STATE(508)] = 16292, + [SMALL_STATE(509)] = 16300, + [SMALL_STATE(510)] = 16306, + [SMALL_STATE(511)] = 16316, + [SMALL_STATE(512)] = 16326, + [SMALL_STATE(513)] = 16336, + [SMALL_STATE(514)] = 16344, + [SMALL_STATE(515)] = 16352, + [SMALL_STATE(516)] = 16362, + [SMALL_STATE(517)] = 16372, + [SMALL_STATE(518)] = 16382, + [SMALL_STATE(519)] = 16387, + [SMALL_STATE(520)] = 16394, + [SMALL_STATE(521)] = 16399, + [SMALL_STATE(522)] = 16406, + [SMALL_STATE(523)] = 16411, + [SMALL_STATE(524)] = 16416, + [SMALL_STATE(525)] = 16423, + [SMALL_STATE(526)] = 16428, + [SMALL_STATE(527)] = 16433, + [SMALL_STATE(528)] = 16440, + [SMALL_STATE(529)] = 16447, + [SMALL_STATE(530)] = 16454, + [SMALL_STATE(531)] = 16461, + [SMALL_STATE(532)] = 16466, + [SMALL_STATE(533)] = 16473, + [SMALL_STATE(534)] = 16480, + [SMALL_STATE(535)] = 16487, + [SMALL_STATE(536)] = 16494, + [SMALL_STATE(537)] = 16499, + [SMALL_STATE(538)] = 16506, + [SMALL_STATE(539)] = 16513, + [SMALL_STATE(540)] = 16520, + [SMALL_STATE(541)] = 16527, + [SMALL_STATE(542)] = 16534, + [SMALL_STATE(543)] = 16541, + [SMALL_STATE(544)] = 16548, + [SMALL_STATE(545)] = 16555, + [SMALL_STATE(546)] = 16562, + [SMALL_STATE(547)] = 16567, + [SMALL_STATE(548)] = 16574, + [SMALL_STATE(549)] = 16581, + [SMALL_STATE(550)] = 16588, + [SMALL_STATE(551)] = 16595, + [SMALL_STATE(552)] = 16600, + [SMALL_STATE(553)] = 16607, + [SMALL_STATE(554)] = 16614, + [SMALL_STATE(555)] = 16621, + [SMALL_STATE(556)] = 16628, + [SMALL_STATE(557)] = 16635, + [SMALL_STATE(558)] = 16642, + [SMALL_STATE(559)] = 16647, + [SMALL_STATE(560)] = 16652, + [SMALL_STATE(561)] = 16659, + [SMALL_STATE(562)] = 16664, + [SMALL_STATE(563)] = 16671, + [SMALL_STATE(564)] = 16678, + [SMALL_STATE(565)] = 16682, + [SMALL_STATE(566)] = 16686, + [SMALL_STATE(567)] = 16690, + [SMALL_STATE(568)] = 16694, + [SMALL_STATE(569)] = 16698, + [SMALL_STATE(570)] = 16702, + [SMALL_STATE(571)] = 16706, + [SMALL_STATE(572)] = 16710, + [SMALL_STATE(573)] = 16714, + [SMALL_STATE(574)] = 16718, + [SMALL_STATE(575)] = 16722, + [SMALL_STATE(576)] = 16726, + [SMALL_STATE(577)] = 16730, + [SMALL_STATE(578)] = 16734, + [SMALL_STATE(579)] = 16738, + [SMALL_STATE(580)] = 16742, + [SMALL_STATE(581)] = 16746, + [SMALL_STATE(582)] = 16750, + [SMALL_STATE(583)] = 16754, + [SMALL_STATE(584)] = 16758, + [SMALL_STATE(585)] = 16762, + [SMALL_STATE(586)] = 16766, + [SMALL_STATE(587)] = 16770, + [SMALL_STATE(588)] = 16774, + [SMALL_STATE(589)] = 16778, + [SMALL_STATE(590)] = 16782, + [SMALL_STATE(591)] = 16786, + [SMALL_STATE(592)] = 16790, + [SMALL_STATE(593)] = 16794, + [SMALL_STATE(594)] = 16798, + [SMALL_STATE(595)] = 16802, + [SMALL_STATE(596)] = 16806, + [SMALL_STATE(597)] = 16810, + [SMALL_STATE(598)] = 16814, + [SMALL_STATE(599)] = 16818, + [SMALL_STATE(600)] = 16822, + [SMALL_STATE(601)] = 16826, + [SMALL_STATE(602)] = 16830, + [SMALL_STATE(603)] = 16834, + [SMALL_STATE(604)] = 16838, + [SMALL_STATE(605)] = 16842, + [SMALL_STATE(606)] = 16846, + [SMALL_STATE(607)] = 16850, + [SMALL_STATE(608)] = 16854, + [SMALL_STATE(609)] = 16858, + [SMALL_STATE(610)] = 16862, + [SMALL_STATE(611)] = 16866, + [SMALL_STATE(612)] = 16870, + [SMALL_STATE(613)] = 16874, + [SMALL_STATE(614)] = 16878, + [SMALL_STATE(615)] = 16882, + [SMALL_STATE(616)] = 16886, + [SMALL_STATE(617)] = 16890, + [SMALL_STATE(618)] = 16894, + [SMALL_STATE(619)] = 16898, + [SMALL_STATE(620)] = 16902, + [SMALL_STATE(621)] = 16906, + [SMALL_STATE(622)] = 16910, + [SMALL_STATE(623)] = 16914, + [SMALL_STATE(624)] = 16918, + [SMALL_STATE(625)] = 16922, + [SMALL_STATE(626)] = 16926, + [SMALL_STATE(627)] = 16930, + [SMALL_STATE(628)] = 16934, + [SMALL_STATE(629)] = 16938, + [SMALL_STATE(630)] = 16942, + [SMALL_STATE(631)] = 16946, + [SMALL_STATE(632)] = 16950, + [SMALL_STATE(633)] = 16954, + [SMALL_STATE(634)] = 16958, + [SMALL_STATE(635)] = 16962, + [SMALL_STATE(636)] = 16966, + [SMALL_STATE(637)] = 16970, + [SMALL_STATE(638)] = 16974, + [SMALL_STATE(639)] = 16978, + [SMALL_STATE(640)] = 16982, + [SMALL_STATE(641)] = 16986, + [SMALL_STATE(642)] = 16990, + [SMALL_STATE(643)] = 16994, + [SMALL_STATE(644)] = 16998, + [SMALL_STATE(645)] = 17002, + [SMALL_STATE(646)] = 17006, + [SMALL_STATE(647)] = 17010, + [SMALL_STATE(648)] = 17014, + [SMALL_STATE(649)] = 17018, + [SMALL_STATE(650)] = 17022, + [SMALL_STATE(651)] = 17026, + [SMALL_STATE(652)] = 17030, + [SMALL_STATE(653)] = 17034, + [SMALL_STATE(654)] = 17038, + [SMALL_STATE(655)] = 17042, + [SMALL_STATE(656)] = 17046, + [SMALL_STATE(657)] = 17050, + [SMALL_STATE(658)] = 17054, +}; + +static const TSParseActionEntry ts_parse_actions[] = { + [0] = {.entry = {.count = 0, .reusable = false}}, + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), + [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 0, 0, 0), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), + [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(529), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(539), + [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(499), + [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(491), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(585), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(612), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(445), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(167), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(46), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(196), + [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(199), + [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(560), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(562), + [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(552), + [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(359), + [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_repeat1, 2, 0, 0), SHIFT_REPEAT(283), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template, 1, 0, 0), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), + [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(605), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(430), + [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(29), + [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(172), + [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(32), + [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(296), + [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(295), + [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(530), + [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(541), + [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(543), + [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(373), + [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(307), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), + [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(633), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(430), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(29), + [145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(172), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(32), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(296), + [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(295), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(548), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(541), + [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(543), + [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(373), + [171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(307), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), + [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(605), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(430), + [184] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(29), + [187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(172), + [190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(32), + [193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(296), + [196] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(295), + [199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(530), + [202] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(541), + [205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(543), + [208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(373), + [211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(307), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), + [216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(633), + [219] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(430), + [222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(29), + [225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(172), + [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(32), + [231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(296), + [234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(295), + [237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(548), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [242] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(541), + [245] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(543), + [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(373), + [251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(307), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_content_block, 3, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_content_block, 3, 0, 0), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_content_block, 2, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_content_block, 2, 0, 0), + [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(620), + [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [326] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(633), + [329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(430), + [332] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(29), + [335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(172), + [338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(296), + [344] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(295), + [347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(548), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), + [352] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(541), + [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(543), + [358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(373), + [361] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(307), + [364] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 4, 0, 0), SHIFT(620), + [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(633), + [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [393] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 3, 0, 0), SHIFT(563), + [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 4, 0, 0), SHIFT(542), + [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [431] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(134), + [434] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(99), + [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), + [439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(105), + [442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(98), + [445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), SHIFT_REPEAT(154), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(605), + [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_block_repeat1, 2, 0, 0), SHIFT_REPEAT(530), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_html_element, 3, 0, 0), SHIFT(617), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [491] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, 0, 0), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, 0, 0), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rust_path, 1, 0, 0), + [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rust_path, 1, 0, 0), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_integer_literal, 1, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 0), + [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 0), + [535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), + [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), + [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), + [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_expression, 4, 0, 0), + [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access, 3, 0, 0), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access, 3, 0, 0), + [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_expression, 3, 0, 0), + [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(189), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), + [574] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(168), + [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(391), + [580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(435), + [583] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(521), + [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(117), + [595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(119), + [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(386), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 5, 0, 0), + [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 5, 0, 0), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), + [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, 0, 0), + [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, 0, 0), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 6, 0, 0), + [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 6, 0, 0), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closure_expression, 3, 0, 0), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_access, 4, 0, 0), + [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_access, 4, 0, 0), + [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closure_expression, 4, 0, 0), + [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_type, 1, 0, 0), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_type, 1, 0, 0), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), + [671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [677] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), + [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1, 0, 0), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1, 0, 0), + [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_expression, 1, 0, 0), + [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_expression, 1, 0, 0), + [689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rust_type, 1, 0, 0), + [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rust_type, 1, 0, 0), + [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2, 0, 0), + [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2, 0, 0), + [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reference_type, 2, 0, 0), + [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_type, 2, 0, 0), + [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3, 0, 0), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3, 0, 0), + [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_type, 3, 0, 0), + [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_type, 3, 0, 0), + [709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reference_type, 3, 0, 0), + [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_type, 3, 0, 0), + [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 0), + [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 0), + [717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 4, 0, 0), + [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 4, 0, 0), + [721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 0), + [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 0), + [725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 5, 0, 0), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 5, 0, 0), + [729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 5, 0, 0), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 5, 0, 0), + [733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(555), + [735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_variant_repeat1, 1, 0, 0), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_repeat1, 1, 0, 0), + [741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550), + [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), + [745] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(11), + [748] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(35), + [751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), + [753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(607), + [756] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_variant_repeat1, 2, 0, 0), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 0), + [760] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 0), + [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_path, 1, 0, 0), + [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_path, 1, 0, 0), + [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 0), + [776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 0), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 0), + [780] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 0), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_path, 2, 0, 0), + [784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_path, 2, 0, 0), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 0), + [788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 0), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 3, 0, 0), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_path_repeat1, 3, 0, 0), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [808] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(574), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1, 0, 0), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 1, 0, 0), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_value, 1, 0, 0), + [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1, 0, 0), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 1, 0, 0), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 3, 0, 0), + [853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 3, 0, 0), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 3, 0, 0), + [861] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 3, 0, 0), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 2, 0, 0), + [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_statement, 2, 0, 0), + [881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if_branch, 4, 0, 0), + [883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if_branch, 4, 0, 0), + [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if_branch, 7, 0, 0), + [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if_branch, 7, 0, 0), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [919] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(51), + [925] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(611), + [928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 4, 0, 0), + [930] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_statement, 4, 0, 0), + [932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_loop, 7, 0, 0), + [934] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_loop, 7, 0, 0), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container_function_tag, 7, 0, 0), + [938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_container_function_tag, 7, 0, 0), + [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 4, 0, 0), + [942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 4, 0, 0), + [944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 2, 0, 0), + [946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_comment, 2, 0, 0), + [948] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(627), + [951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_tag, 1, 0, 0), + [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_tag, 1, 0, 0), + [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_control_flow, 1, 0, 0), + [957] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_control_flow, 1, 0, 0), + [959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 8, 0, 0), + [961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_element, 8, 0, 0), + [963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container_function_tag, 6, 0, 0), + [965] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_container_function_tag, 6, 0, 0), + [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, 0, 0), + [969] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 6, 0, 0), + [971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 8, 0, 0), + [973] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 8, 0, 0), + [975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_element, 4, 0, 0), + [977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, 0, 0), + [979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, 0, 0), + [981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_element, 1, 0, 0), + [983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_element, 1, 0, 0), + [985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container_function_tag, 8, 0, 0), + [987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_container_function_tag, 8, 0, 0), + [989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0), + [991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 1, 0, 0), + [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 4, 0, 0), + [995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 4, 0, 0), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_loop, 5, 0, 0), + [999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_loop, 5, 0, 0), + [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 4, 0, 0), + [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 4, 0, 0), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 0), + [1007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 0), + [1009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 7, 0, 0), + [1011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 7, 0, 0), + [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 7, 0, 0), + [1015] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_element, 7, 0, 0), + [1017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_language, 4, 0, 0), + [1019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_embedded_language, 4, 0, 0), + [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 0), + [1023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 0), + [1025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_expression, 2, 0, 0), + [1027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_simple_expression, 2, 0, 0), + [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, 0, 0), + [1031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 5, 0, 0), + [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_complex_expression, 4, 0, 0), + [1035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_complex_expression, 4, 0, 0), + [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_language, 3, 0, 0), + [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_embedded_language, 3, 0, 0), + [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 0), + [1043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 0), + [1045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 5, 0, 0), + [1047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_element, 5, 0, 0), + [1049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_safe_expression, 7, 0, 0), + [1051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_safe_expression, 7, 0, 0), + [1053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_element, 6, 0, 0), + [1055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_element, 6, 0, 0), + [1057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_safe_expression, 5, 0, 0), + [1059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_safe_expression, 5, 0, 0), + [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_expression, 1, 0, 0), + [1063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_expression, 1, 0, 0), + [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_comment, 3, 0, 0), + [1067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_comment, 3, 0, 0), + [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, 0, 0), + [1071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 6, 0, 0), + [1073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_node, 1, 0, 0), + [1075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_node, 1, 0, 0), + [1077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [1079] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [1081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_branch, 2, 0, 0), + [1083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_branch, 2, 0, 0), + [1085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), + [1087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), + [1089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 3, 0, 0), + [1091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_comment, 3, 0, 0), + [1093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, 0, 0), + [1095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 7, 0, 0), + [1097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 5, 0, 0), + [1099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 5, 0, 0), + [1101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_function_tag, 5, 0, 0), + [1107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_function_tag, 5, 0, 0), + [1109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_comment, 2, 0, 0), + [1111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_comment, 2, 0, 0), + [1113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 4, 0, 0), + [1115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_statement, 4, 0, 0), + [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [1129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operator, 1, 0, 0), + [1131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operator, 1, 0, 0), + [1133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operator, 1, 0, 0), + [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operator, 1, 0, 0), + [1137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 3, 0, 0), + [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 0), + [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 5, 0, 0), + [1145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 5, 0, 0), + [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 6, 0, 0), + [1151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 6, 0, 0), + [1153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 4, 0, 0), + [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 0), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), + [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_self_closing_function_tag_repeat1, 2, 0, 0), + [1167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_self_closing_function_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(519), + [1170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_self_closing_function_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(404), + [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [1191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [1195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [1197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(524), + [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [1205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [1208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(62), + [1211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(598), + [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [1220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [1223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(31), + [1226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_path_repeat1, 2, 0, 0), SHIFT_REPEAT(588), + [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 5, 0, 0), + [1231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 5, 0, 0), + [1233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 5, 0, 0), + [1235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 5, 0, 0), + [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 3, 0, 0), + [1239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 3, 0, 0), + [1241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [1243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [1245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_pattern, 1, 0, 0), + [1247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_pattern, 1, 0, 0), + [1249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 4, 0, 0), + [1251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 4, 0, 0), + [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, 0, 0), + [1255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 4, 0, 0), + [1257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), + [1259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1, 0, 0), + [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [1269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_html_element_repeat1, 2, 0, 0), + [1273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_html_element_repeat1, 2, 0, 0), SHIFT_REPEAT(436), + [1276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_pattern, 1, 0, 0), + [1278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [1282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), + [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [1288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [1290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [1292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [1296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), + [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [1304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(651), + [1306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(375), + [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), + [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [1318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_attribute, 1, 0, 0), + [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_pattern_repeat1, 2, 0, 0), + [1330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(395), + [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [1341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_reference, 2, 0, 0), + [1343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), + [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), + [1353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(511), + [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [1358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 0), + [1360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(429), + [1363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [1365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 1, 0, 0), + [1367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [1369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641), + [1375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [1377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), + [1383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_pattern, 3, 0, 0), + [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [1391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_attribute, 1, 0, 0), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [1395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [1398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_params_repeat1, 2, 0, 0), SHIFT_REPEAT(581), + [1401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_params_repeat1, 2, 0, 0), + [1403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376), + [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [1407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), + [1409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), + [1411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attribute, 1, 0, 0), + [1413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_pattern_repeat1, 1, 0, 0), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [1421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(590), + [1423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), + [1425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attribute_value, 2, 0, 0), + [1427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_path, 1, 0, 0), + [1429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), + [1431] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(448), + [1434] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(448), + [1437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_reference, 3, 0, 0), + [1439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attribute_value, 1, 0, 0), + [1441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_function_attribute, 3, 0, 0), + [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [1447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [1453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_attribute, 3, 0, 0), + [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), + [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [1463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [1465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_value, 1, 0, 0), + [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), + [1475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 4, 0, 0), + [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), + [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [1487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [1489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 0), + [1491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [1493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [1495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [1511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_params, 1, 0, 0), + [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [1517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [1525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), SHIFT_REPEAT(107), + [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [1530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_value, 4, 0, 0), + [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_params, 2, 0, 0), + [1538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(174), + [1541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), + [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [1547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 4, 0, 0), + [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [1551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [1557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(538), + [1562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [1564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), SHIFT_REPEAT(110), + [1567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [1569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [1571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [1573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, 0, 0), + [1575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), + [1577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), SHIFT_REPEAT(549), + [1584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), + [1586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 3, 0, 0), + [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [1590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), + [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 3, 0, 0), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 4, 0, 0), + [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [1610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(576), + [1612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 5, 0, 0), + [1614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 2, 0, 0), + [1616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_language_name, 1, 0, 0), + [1618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_language_name, 1, 0, 0), + [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [1624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 0), + [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), + [1628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(613), + [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 2, 0, 0), + [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), + [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), + [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [1650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 0), + [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), + [1660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [1662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), + [1664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), + [1666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [1668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [1670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), + [1672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 5, 0, 0), + [1676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), + [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [1680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_params, 4, 0, 0), + [1682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [1698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), + [1700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), + [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [1744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_params, 3, 0, 0), + [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), + [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [1760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [1766] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [1770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), + [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656), + [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [1790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [1804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [1806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [1822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), +}; + +#ifdef __cplusplus +extern "C" { +#endif +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC const TSLanguage *tree_sitter_waltzing(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1abdd12 --- /dev/null +++ b/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 0000000..a17a574 --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,291 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h new file mode 100644 index 0000000..799f599 --- /dev/null +++ b/src/tree_sitter/parser.h @@ -0,0 +1,266 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/tree-sitter.json b/tree-sitter.json new file mode 100644 index 0000000..a14fb2e --- /dev/null +++ b/tree-sitter.json @@ -0,0 +1,24 @@ +{ + "grammars": [ + { + "name": "waltzing", + "camelcase": "Waltzing", + "scope": "source.waltzing", + "path": ".", + "file-types": [ + "wtz", + "html.wtz", + "css.wtz", + "js.wtz" + ], + "highlights": "queries/highlights.scm", + "injection-regex": "waltzing" + } + ], + "metadata": { + "version": "0.1.0", + "links": { + "repository": "https://git.awesomike.com/dev/waltzing" + } + } +}