From 46b2b3b1b6e7c731504038e2486f5e923de4fc27 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 11 Aug 2026 17:24:04 +0900 Subject: [PATCH] Add required array element constraints --- crates/decodal-core/src/ast.rs | 3 + crates/decodal-core/src/constraints.rs | 41 +- crates/decodal-core/src/embedding.rs | 30 +- crates/decodal-core/src/eval.rs | 266 +- crates/decodal-core/src/lexer.rs | 23 +- crates/decodal-core/src/parser.rs | 25 + crates/decodal-core/src/runtime.rs | 2 +- crates/decodal-core/src/typed.rs | 4 +- crates/decodal-derive/tests/derive.rs | 71 + crates/decodal-language-tools/src/lib.rs | 23 +- doc/manual/souce/design/embedding-api.md | 6 +- doc/manual/souce/design/runtime-model.md | 4 + .../language/constraints-and-defaults.md | 13 + doc/manual/souce/language/examples.md | 17 + doc/manual/souce/language/expression/array.md | 40 + doc/manual/souce/language/expression/index.md | 1 + doc/manual/souce/language/grammar.md | 2 + doc/manual/souce/language/syntax.md | 1 + doc/manual/souce/language/value/index.md | 5 +- editors/lezer-decodal/decodal.grammar | 3 + editors/tree-sitter-decodal/corpus/basic.txt | 24 + editors/tree-sitter-decodal/grammar.js | 9 + .../queries/highlights.scm | 1 + editors/tree-sitter-decodal/src/grammar.json | 41 + .../tree-sitter-decodal/src/node-types.json | 160 + editors/tree-sitter-decodal/src/parser.c | 10428 ++++++++-------- examples/array-constraint.dcdl | 11 + .../src/decodal-parser-jsr.js | 14 +- .../decodal-codemirror/src/decodal-parser.js | 14 +- .../src/decodal-parser.terms.js | 76 +- packages/decodal-codemirror/src/decodal.js | 4 +- packages/decodal-codemirror/src/mod.ts | 4 +- .../wasm/decodal_language_tools_bg.wasm | Bin 133047 -> 133737 bytes packages/decodal-wasm/decodal_wasm_bg.wasm | Bin 298960 -> 313060 bytes site/decodal-site/src/lib/highlight.js | 4 +- 35 files changed, 6328 insertions(+), 5042 deletions(-) create mode 100644 examples/array-constraint.dcdl diff --git a/crates/decodal-core/src/ast.rs b/crates/decodal-core/src/ast.rs index b2b5f42..8551427 100644 --- a/crates/decodal-core/src/ast.rs +++ b/crates/decodal-core/src/ast.rs @@ -50,6 +50,9 @@ pub enum Expr { Ident(String), Object(Vec), Array(Vec), + ArrayConstraint { + item: ExprId, + }, Let { bindings: Vec, body: ExprId, diff --git a/crates/decodal-core/src/constraints.rs b/crates/decodal-core/src/constraints.rs index bfc7a1f..2f6b110 100644 --- a/crates/decodal-core/src/constraints.rs +++ b/crates/decodal-core/src/constraints.rs @@ -11,6 +11,7 @@ pub fn normalize_constraints( span: Span, ) -> crate::Result> { let mut primitive: Option<(PrimitiveType, Span)> = None; + let mut array_span: Option = None; let mut lower: Option<(Bound, Span)> = None; let mut upper: Option<(Bound, Span)> = None; let mut rest = Vec::new(); @@ -61,6 +62,13 @@ pub fn normalize_constraints( constraint: Constraint::Regex(pattern), span: entry.span, }), + Constraint::ArrayItems(item) => { + array_span.get_or_insert(entry.span); + rest.push(ConstraintEntry { + constraint: Constraint::ArrayItems(item), + span: entry.span, + }); + } Constraint::BuiltinPredicate(name) => rest.push(ConstraintEntry { constraint: Constraint::BuiltinPredicate(name), span: entry.span, @@ -68,12 +76,37 @@ pub fn normalize_constraints( } } + if let (Some((_, primitive_span)), Some(array_span)) = (primitive, array_span) { + return Err(Diagnostic::new( + DiagnosticKind::Conflict, + span, + "array element constraints conflict with primitive type constraints", + ) + .with_label(primitive_span, "primitive type constraint") + .with_label(array_span, "array element constraint")); + } + + if let Some(array_span) = array_span + && (lower.is_some() || upper.is_some()) + { + let mut diagnostic = Diagnostic::new( + DiagnosticKind::Conflict, + span, + "numeric comparison constraints conflict with array element constraints", + ) + .with_label(array_span, "array element constraint"); + if let Some((_, lower_span)) = lower { + diagnostic = diagnostic.with_label(lower_span, "numeric comparison constraint"); + } + if let Some((_, upper_span)) = upper { + diagnostic = diagnostic.with_label(upper_span, "numeric comparison constraint"); + } + return Err(diagnostic); + } + if matches!( primitive, - Some(( - PrimitiveType::String | PrimitiveType::Bool | PrimitiveType::Array, - _ - )) + Some((PrimitiveType::String | PrimitiveType::Bool, _)) ) && (lower.is_some() || upper.is_some()) { let mut diagnostic = Diagnostic::new( diff --git a/crates/decodal-core/src/embedding.rs b/crates/decodal-core/src/embedding.rs index e544441..39214ad 100644 --- a/crates/decodal-core/src/embedding.rs +++ b/crates/decodal-core/src/embedding.rs @@ -10,6 +10,11 @@ pub enum HostValue { Float(f64), Bool(bool), Array(Vec), + ArrayConstraint { + item: Box, + constraints: Vec, + default: Option>, + }, Object(Vec), Abstract { constraints: Vec, @@ -91,8 +96,12 @@ impl HostValue { Self::abstract_with_constraint(Constraint::Type(PrimitiveType::Bool)) } - pub fn array_type() -> Self { - Self::abstract_with_constraint(Constraint::Type(PrimitiveType::Array)) + pub fn array_of(item: HostValue) -> Self { + Self::ArrayConstraint { + item: Box::new(item), + constraints: Vec::new(), + default: None, + } } pub fn builtin_predicate(name: impl Into) -> Self { @@ -109,6 +118,7 @@ impl HostValue { pub fn with_constraint(mut self, constraint: Constraint) -> Self { match &mut self { Self::Abstract { constraints, .. } => constraints.push(constraint), + Self::ArrayConstraint { constraints, .. } => constraints.push(constraint), _ => { self = Self::Abstract { constraints: alloc::vec![constraint], @@ -143,6 +153,22 @@ impl HostValue { pub fn default(self, value: HostValue) -> Result { match self { + Self::ArrayConstraint { + item, + constraints, + default: None, + } => Ok(Self::ArrayConstraint { + item, + constraints, + default: Some(Box::new(value)), + }), + Self::ArrayConstraint { + default: Some(_), .. + } => Err(Diagnostic::new( + DiagnosticKind::DefaultConflict, + Span::default(), + "host value already has a default", + )), Self::Abstract { constraints, default: None, diff --git a/crates/decodal-core/src/eval.rs b/crates/decodal-core/src/eval.rs index 58e2271..6a061e3 100644 --- a/crates/decodal-core/src/eval.rs +++ b/crates/decodal-core/src/eval.rs @@ -111,9 +111,12 @@ impl Engine { ConcreteValue::Bool(value) => Ok(Data::Bool(*value)), ConcreteValue::Array(items) => { let mut data = Vec::new(); - for item in items { + for (index, item) in items.iter().enumerate() { let value = self.force(*item)?; - data.push(self.materialize_with_path(&value, path)?); + path.push(format!("[{index}]")); + let value = self.materialize_with_path(&value, path); + path.pop(); + data.push(value?); } Ok(Data::Array(data)) } @@ -158,13 +161,14 @@ impl Engine { }; let default_span = self.thunk_span(default); let value = self.force(default)?; - self.ensure_satisfies( - &value, - &abstract_value.constraints, - default_span, - Some((default_span, "default value checked here")), - ) - .map_err(|diag| self.with_path_context(diag, "materializing", path))?; + let value = self + .apply_constraints( + value, + &abstract_value.constraints, + default_span, + Some((default_span, "default value checked here")), + ) + .map_err(|diag| self.with_path_context(diag, "materializing", path))?; self.materialize_with_path(&value, path) } } @@ -262,6 +266,22 @@ impl Engine { .collect(); Ok(RuntimeValue::Concrete(ConcreteValue::Array(thunks))) } + Expr::ArrayConstraint { item } => { + let item = self.add_expr_thunk( + ExprRef { + module: reference.module, + expr: item, + }, + env, + ); + Ok(RuntimeValue::Abstract(AbstractValue { + constraints: vec![ConstraintEntry { + constraint: Constraint::ArrayItems(item), + span, + }], + default: None, + })) + } Expr::Let { bindings, body } => { let let_env = self.new_env(Some(env)); for binding in bindings { @@ -550,6 +570,13 @@ impl Engine { if let Some(thunk) = self.lookup(env, name) { return self.force(thunk); } + if name == "Array" { + return Err(Diagnostic::new( + DiagnosticKind::UnresolvedIdentifier, + span, + "`Array` is not a valid constraint; use an element constraint such as `[...String]`", + )); + } if name.chars().next().is_some_and(char::is_uppercase) { return Ok(RuntimeValue::Abstract(AbstractValue { constraints: vec![ConstraintEntry { @@ -697,7 +724,10 @@ impl Engine { ) -> Result { match self.expr(pattern).clone() { Expr::Wildcard => Ok(true), - Expr::CompareConstraint { .. } | Expr::RegexConstraint(_) | Expr::Ident(_) => { + Expr::ArrayConstraint { .. } + | Expr::CompareConstraint { .. } + | Expr::RegexConstraint(_) + | Expr::Ident(_) => { let constraint = self.eval_expr(pattern, env)?; match constraint { RuntimeValue::Abstract(abstract_value) => self @@ -738,13 +768,12 @@ impl Engine { } (RuntimeValue::Abstract(abstract_value), concrete @ RuntimeValue::Concrete(_)) | (concrete @ RuntimeValue::Concrete(_), RuntimeValue::Abstract(abstract_value)) => { - self.ensure_satisfies( - &concrete, + self.apply_constraints( + concrete, &abstract_value.constraints, span, Some((span, "concrete value being composed here")), - )?; - Ok(concrete) + ) } ( RuntimeValue::Concrete(ConcreteValue::Object(lhs)), @@ -830,24 +859,35 @@ impl Engine { span: Span, value_label: Option<(Span, &'static str)>, ) -> Result<()> { - for constraint in constraints { - self.satisfies(value, constraint, span, value_label)?; - } - Ok(()) + self.apply_constraints(value.clone(), constraints, span, value_label) + .map(|_| ()) } - fn satisfies( + fn apply_constraints( &mut self, - value: &RuntimeValue, + mut value: RuntimeValue, + constraints: &[ConstraintEntry], + span: Span, + value_label: Option<(Span, &'static str)>, + ) -> Result { + for constraint in constraints { + value = self.apply_constraint(value, constraint, span, value_label)?; + } + Ok(value) + } + + fn apply_constraint( + &mut self, + value: RuntimeValue, constraint: &ConstraintEntry, span: Span, value_label: Option<(Span, &'static str)>, - ) -> Result<()> { + ) -> Result { let constraint_value = &constraint.constraint; match constraint_value { Constraint::Type(primitive) => { - if value_matches_primitive(value, *primitive) { - Ok(()) + if value_matches_primitive(&value, *primitive) { + Ok(value) } else { Err(self.constraint_violation( constraint, @@ -857,8 +897,41 @@ impl Engine { )) } } - Constraint::Compare(op, expected) => compare_value(value, *op, expected) - .then_some(()) + Constraint::ArrayItems(item_constraint) => { + let RuntimeValue::Concrete(ConcreteValue::Array(items)) = value else { + return Err(self.constraint_violation( + constraint, + span, + value_label, + "value does not satisfy array element constraint", + )); + }; + let item_constraint_value = self.force(*item_constraint)?; + let mut constrained_items = Vec::with_capacity(items.len()); + for (index, item) in items.into_iter().enumerate() { + let item_span = self.thunk_span(item); + let item_value = self.force(item)?; + let constrained = self + .compose_and(item_constraint_value.clone(), item_value, item_span) + .map_err(|diagnostic| { + diagnostic + .with_label( + constraint.span, + "array element constraint declared here", + ) + .with_label( + item_span, + format!("array element [{index}] checked here"), + ) + })?; + constrained_items.push(self.add_value_thunk_with_span(constrained, item_span)); + } + Ok(RuntimeValue::Concrete(ConcreteValue::Array( + constrained_items, + ))) + } + Constraint::Compare(op, expected) => compare_value(&value, *op, expected) + .then_some(value) .ok_or_else(|| { self.constraint_violation( constraint, @@ -868,14 +941,15 @@ impl Engine { ) }), Constraint::Regex(pattern) => { - satisfies_regex(value, pattern, constraint.span).map_err(|diag| { + satisfies_regex(&value, pattern, constraint.span).map_err(|diag| { let diag = diag.with_label(constraint.span, "regex constraint declared here"); if let Some((span, message)) = value_label { diag.with_label(span, message) } else { diag } - }) + })?; + Ok(value) } Constraint::BuiltinPredicate(name) => Err(Diagnostic::new( DiagnosticKind::UnsupportedFeature, @@ -940,6 +1014,33 @@ impl Engine { } Ok(RuntimeValue::Concrete(ConcreteValue::Array(thunks))) } + HostValue::ArrayConstraint { + item, + mut constraints, + default, + } => { + let item = self.internalize_host_value(*item)?; + let item = self.add_value_thunk(item); + let default = if let Some(default) = default { + let value = self.internalize_host_value(*default)?; + Some(self.add_value_thunk(value)) + } else { + None + }; + constraints.push(Constraint::ArrayItems(item)); + let constraints = constraints + .into_iter() + .map(|constraint| ConstraintEntry { + constraint, + span: Span::default(), + }) + .collect(); + let constraints = normalize_constraints(constraints, Span::default())?; + Ok(RuntimeValue::Abstract(AbstractValue { + constraints, + default, + })) + } HostValue::Object(fields) => { let mut object = ObjectValue { fields: Vec::new() }; for field in fields { @@ -1147,7 +1248,7 @@ impl Engine { diagnostic } else { let span = diagnostic.span; - diagnostic.with_label(span, format!("while {phase} `{}`", path.join("."))) + diagnostic.with_label(span, format!("while {phase} `{}`", format_path(path))) } } } @@ -1170,7 +1271,6 @@ fn primitive_type(name: &str) -> Option { "Int" => Some(PrimitiveType::Int), "Float" => Some(PrimitiveType::Float), "Bool" => Some(PrimitiveType::Bool), - "Array" => Some(PrimitiveType::Array), _ => None, } } @@ -1251,13 +1351,25 @@ fn value_matches_primitive(value: &RuntimeValue, primitive: PrimitiveType) -> bo ) | ( RuntimeValue::Concrete(ConcreteValue::Bool(_)), PrimitiveType::Bool - ) | ( - RuntimeValue::Concrete(ConcreteValue::Array(_)), - PrimitiveType::Array ) ) } +fn format_path(path: &[String]) -> String { + let mut output = String::new(); + for part in path { + if part.starts_with('[') { + output.push_str(part); + } else { + if !output.is_empty() { + output.push('.'); + } + output.push_str(part); + } + } + output +} + #[cfg(feature = "regex")] fn satisfies_regex(value: &RuntimeValue, pattern: &str, span: Span) -> Result<()> { let RuntimeValue::Concrete(ConcreteValue::String(value)) = value else { @@ -1678,6 +1790,96 @@ mod tests { ); } + #[test] + fn array_constraint_accepts_matching_items() { + let data = eval_data("[...(Int & >= 1)] & [1, 2, 3]"); + assert_eq!( + data, + Data::Array(vec![Data::Int(1), Data::Int(2), Data::Int(3)]) + ); + } + + #[test] + fn array_constraint_accepts_empty_array() { + let data = eval_data("[...Int] & []"); + assert_eq!(data, Data::Array(vec![])); + } + + #[test] + fn array_constraints_compose_per_item() { + let data = eval_data("[...Int] & [...> 0] & [1, 2, 3]"); + assert_eq!( + data, + Data::Array(vec![Data::Int(1), Data::Int(2), Data::Int(3)]) + ); + } + + #[test] + fn nested_array_constraints_validate_recursively() { + let data = eval_data(r#"[...[...String]] & [["api"], [], ["worker"]]"#); + assert_eq!( + data, + Data::Array(vec![ + Data::Array(vec![Data::String(String::from("api"))]), + Data::Array(vec![]), + Data::Array(vec![Data::String(String::from("worker"))]), + ]) + ); + } + + #[test] + fn array_constraint_rejects_invalid_item_with_index() { + let parsed = parse_source("[...Int] & [1, \"two\", 3]").unwrap(); + let mut engine = Engine::from_parse(parsed.ast, parsed.root); + let error = engine.eval_root().unwrap_err(); + assert_eq!(error.kind, DiagnosticKind::ConstraintViolation); + assert!( + error + .labels + .iter() + .any(|label| label.message.contains("array element [1]")) + ); + } + + #[test] + fn array_constraint_applies_object_defaults() { + let data = eval_data( + r#" + [...{ + name = String; + enabled = Bool default true; + }] & [{ name = "api"; }] + "#, + ); + let Data::Array(items) = data else { panic!() }; + let Data::Object(fields) = &items[0] else { + panic!() + }; + assert_eq!(fields[0].value, Data::String(String::from("api"))); + assert_eq!(fields[1].value, Data::Bool(true)); + } + + #[test] + fn array_constraint_validates_default_array() { + let data = eval_data("[...String] default [\"api\", \"worker\"]"); + assert_eq!( + data, + Data::Array(vec![ + Data::String(String::from("api")), + Data::String(String::from("worker")), + ]) + ); + } + + #[test] + fn removed_array_primitive_reports_migration() { + let parsed = parse_source("Array").unwrap(); + let mut engine = Engine::from_parse(parsed.ast, parsed.root); + let error = engine.eval_root().unwrap_err(); + assert_eq!(error.kind, DiagnosticKind::UnresolvedIdentifier); + assert!(error.message.contains("[...String]")); + } + #[test] fn array_concat_has_lower_precedence_than_arithmetic() { let data = eval_data("[1 + 1] ++ [2 * 2]"); diff --git a/crates/decodal-core/src/lexer.rs b/crates/decodal-core/src/lexer.rs index 09dd429..b020ad8 100644 --- a/crates/decodal-core/src/lexer.rs +++ b/crates/decodal-core/src/lexer.rs @@ -32,6 +32,7 @@ pub enum TokenKind { Semicolon, Comma, Dot, + Ellipsis, Colon, Equal, EqualEqual, @@ -141,7 +142,18 @@ impl<'a> Lexer<'a> { } b'.' => { self.pos += 1; - TokenKind::Dot + if self.consume(b'.') { + if self.consume(b'.') { + TokenKind::Ellipsis + } else { + return Err(Diagnostic::syntax( + self.span(start, self.pos), + "expected third '.' in ellipsis", + )); + } + } else { + TokenKind::Dot + } } b':' => { self.pos += 1; @@ -432,4 +444,13 @@ mod tests { assert_eq!(tokens[3].kind, TokenKind::Amp); assert_eq!(tokens[4].kind, TokenKind::Gte); } + + #[test] + fn tokenizes_array_constraint_ellipsis() { + let tokens = Lexer::new("[...String]").tokenize().unwrap(); + assert_eq!(tokens[0].kind, TokenKind::LBracket); + assert_eq!(tokens[1].kind, TokenKind::Ellipsis); + assert!(matches!(tokens[2].kind, TokenKind::Ident(_))); + assert_eq!(tokens[3].kind, TokenKind::RBracket); + } } diff --git a/crates/decodal-core/src/parser.rs b/crates/decodal-core/src/parser.rs index bafe747..19a1efc 100644 --- a/crates/decodal-core/src/parser.rs +++ b/crates/decodal-core/src/parser.rs @@ -338,6 +338,17 @@ impl Parser { } fn parse_array_after_lbracket(&mut self, start_span: Span) -> Result { + if self.consume_kind(&TokenKind::Ellipsis).is_some() { + let item = self.parse_expr(0)?; + let _ = self.consume_kind(&TokenKind::Comma); + self.expect_kind( + &TokenKind::RBracket, + "expected ']' after array element constraint", + )?; + let span = start_span.join(self.previous_span()); + return Ok(self.ast.push(Expr::ArrayConstraint { item }, span)); + } + let mut items = Vec::new(); if self.consume_kind(&TokenKind::RBracket).is_some() { return Ok(self @@ -674,4 +685,18 @@ mod tests { }; assert_eq!(fields[0].path, ["feature", "enable"]); } + + #[test] + fn parses_array_constraint() { + let parsed = parse_source("[...(String & /^api-/)]").unwrap(); + let Expr::ArrayConstraint { item } = parsed.ast.get(parsed.root).expr else { + panic!() + }; + assert!(matches!(parsed.ast.get(item).expr, Expr::Binary { .. })); + } + + #[test] + fn rejects_array_constraint_without_element_constraint() { + assert!(parse_source("[...]").is_err()); + } } diff --git a/crates/decodal-core/src/runtime.rs b/crates/decodal-core/src/runtime.rs index 49d4311..e721c1c 100644 --- a/crates/decodal-core/src/runtime.rs +++ b/crates/decodal-core/src/runtime.rs @@ -68,6 +68,7 @@ pub struct ConstraintEntry { #[derive(Debug, Clone, PartialEq)] pub enum Constraint { Type(PrimitiveType), + ArrayItems(ThunkId), Compare(CompareOp, LiteralValue), Regex(String), BuiltinPredicate(String), @@ -79,7 +80,6 @@ pub enum PrimitiveType { Int, Float, Bool, - Array, } #[derive(Debug, Clone, PartialEq)] diff --git a/crates/decodal-core/src/typed.rs b/crates/decodal-core/src/typed.rs index 4c47a31..38e9ce9 100644 --- a/crates/decodal-core/src/typed.rs +++ b/crates/decodal-core/src/typed.rs @@ -198,9 +198,9 @@ impl IntoHostValue for bool { } } -impl DecodalSchema for Vec { +impl DecodalSchema for Vec { fn decodal_schema() -> HostValue { - HostValue::array_type() + HostValue::array_of(T::decodal_schema()) } } diff --git a/crates/decodal-derive/tests/derive.rs b/crates/decodal-derive/tests/derive.rs index 31e9220..5a04611 100644 --- a/crates/decodal-derive/tests/derive.rs +++ b/crates/decodal-derive/tests/derive.rs @@ -12,6 +12,18 @@ struct Service { tags: Vec, } +#[derive(Debug, PartialEq, Decodal)] +struct Worker { + name: String, + #[decodal(default = true)] + enabled: bool, +} + +#[derive(Debug, PartialEq, Decodal)] +struct Fleet { + workers: Vec, +} + #[test] fn derives_schema_and_decode() { let mut engine = Engine::new(EmptyLoader); @@ -77,3 +89,62 @@ fn decode_reports_field_path() { let error = Service::decodal_decode(&data).unwrap_err(); assert_eq!(error.path, "name"); } + +#[test] +fn vec_schema_rejects_invalid_element_before_decode() { + let mut engine = Engine::new(EmptyLoader); + engine + .bind_global("Service", Service::decodal_schema()) + .unwrap(); + let module = engine + .add_root_source( + "test", + "test", + r#" + Service & { + name = "api"; + port = 9443; + tags = ["web", 1]; + } + "#, + ) + .unwrap(); + let error = engine.eval_module(module).unwrap_err(); + assert!( + error + .labels + .iter() + .any(|label| label.message.contains("array element [1]")) + ); +} + +#[test] +fn vec_schema_applies_nested_struct_defaults() { + let mut engine = Engine::new(EmptyLoader); + engine + .bind_global("Fleet", Fleet::decodal_schema()) + .unwrap(); + let module = engine + .add_root_source( + "test", + "test", + r#" + Fleet & { + workers = [{ name = "api"; }]; + } + "#, + ) + .unwrap(); + let value = engine.eval_module(module).unwrap(); + let data = engine.materialize(&value).unwrap(); + let fleet = Fleet::decodal_decode(&data).unwrap(); + assert_eq!( + fleet, + Fleet { + workers: vec![Worker { + name: "api".into(), + enabled: true, + }], + } + ); +} diff --git a/crates/decodal-language-tools/src/lib.rs b/crates/decodal-language-tools/src/lib.rs index 02eaf9c..20bf1d1 100644 --- a/crates/decodal-language-tools/src/lib.rs +++ b/crates/decodal-language-tools/src/lib.rs @@ -427,7 +427,7 @@ impl<'a> Formatter<'a> { if expression_contains_comment(node) && !matches!( node.kind(), - "object" | "array" | "let_expression" | "match_expression" + "object" | "array" | "array_constraint" | "let_expression" | "match_expression" ) { out.push_str(self.raw_trimmed(node)); @@ -454,6 +454,7 @@ impl<'a> Formatter<'a> { "comparison_constraint" => self.write_comparison_constraint(out, node, indent), "object" => self.write_object(out, node, indent), "array" => self.write_array(out, node, indent), + "array_constraint" => self.write_array_constraint(out, node, indent), "let_expression" => self.write_let(out, node, indent), "function_expression" => self.write_function(out, node, indent), "match_expression" => self.write_match(out, node, indent), @@ -541,6 +542,14 @@ impl<'a> Formatter<'a> { out.push(']'); } + fn write_array_constraint(&mut self, out: &mut String, node: Node<'a>, indent: usize) { + out.push_str("[..."); + if let Some(element) = node.child_by_field_name("element") { + self.write_expr(out, element, indent, 0); + } + out.push(']'); + } + fn write_let(&mut self, out: &mut String, node: Node<'a>, indent: usize) { let body = node.child_by_field_name("body"); out.push_str("let"); @@ -797,7 +806,7 @@ fn is_inline_expr(node: Node<'_>) -> bool { !expression_contains_comment(node) && named_children(node).into_iter().all(is_inline_expr) } - "array" => { + "array" | "array_constraint" => { !expression_contains_comment(node) && named_children(node).into_iter().all(is_inline_expr) } @@ -842,6 +851,16 @@ mod tests { ); } + #[test] + fn formats_array_constraints() { + let source = "tags=[...String];ports=[...(Int&>=1)];"; + let formatted = format_source(source).unwrap(); + assert_eq!( + formatted, + "tags = [...String];\nports = [...(Int & >= 1)];\n" + ); + } + #[test] fn wasm_export_returns_json() { let output = format_source_json("value={a=1;};"); diff --git a/doc/manual/souce/design/embedding-api.md b/doc/manual/souce/design/embedding-api.md index 285fbf7..8b5df2c 100644 --- a/doc/manual/souce/design/embedding-api.md +++ b/doc/manual/souce/design/embedding-api.md @@ -17,7 +17,7 @@ let / function env ``` Module top-level bindings shadow prelude bindings. -Primitive type names such as `String`, `Int`, `Float`, `Bool`, and `Array` are handled before environment lookup, so they are reserved and cannot be shadowed by host bindings. +Primitive type names such as `String`, `Int`, `Float`, and `Bool` are handled before environment lookup, so they are reserved and cannot be shadowed by host bindings. ## Global bindings @@ -59,12 +59,16 @@ HostValue = Float Bool Array(Vec) + ArrayConstraint { item, constraints, default } Object(Vec) Abstract { constraints, default } ``` When a host value is bound, the engine internalizes it into `RuntimeValue` and allocates value thunks for object fields, array items, and defaults. +`HostValue::array_of(item)` builds an array constraint with a required element schema. +There is no host API for an unconstrained abstract array. + ## Abstract host objects A host-provided schema object is represented as a concrete object structure whose fields may contain abstract values. diff --git a/doc/manual/souce/design/runtime-model.md b/doc/manual/souce/design/runtime-model.md index a52bfbe..7db2877 100644 --- a/doc/manual/souce/design/runtime-model.md +++ b/doc/manual/souce/design/runtime-model.md @@ -123,12 +123,16 @@ constraint は concrete value とは別の型として扱う。 ```text Constraint = Type(PrimitiveType) + ArrayItems(ThunkId) Compare(Op, Literal) Regex(Pattern) BuiltinPredicate(Symbol) ObjectConstraint(...) ``` +`ArrayItems` は配列そのものの型と、すべての要素へ合成する schema thunk を表す。 +配列用の primitive type は持たず、抽象配列には必ず要素制約が必要である。 + 初期実装では、object の形は主に `Concrete(Object)` の field に `Abstract` を置くことで表現する。 object 全体にかかる constraint は必要になった時点で追加する。 diff --git a/doc/manual/souce/language/constraints-and-defaults.md b/doc/manual/souce/language/constraints-and-defaults.md index 1150b47..4ead231 100644 --- a/doc/manual/souce/language/constraints-and-defaults.md +++ b/doc/manual/souce/language/constraints-and-defaults.md @@ -124,6 +124,19 @@ String & /^a$/ & /^b$/ Host = IPv4Address; ``` +## 配列制約 + +配列制約には要素制約が必須であり、`[...T]` と書く。 + +```dcdl +Names = [...String]; +PositiveInts = [...(Int & > 0)]; +``` + +複数の配列制約を `&` で合成した場合、各 concrete 要素へすべての要素制約を合成する。 +要素が object schema の場合は、その schema に含まれる default も各要素へ適用される。 +要素制約のない `Array` primitive type は存在しない。 + ## default `default` は制約ではない。 diff --git a/doc/manual/souce/language/examples.md b/doc/manual/souce/language/examples.md index 52e36d7..8bd7f3c 100644 --- a/doc/manual/souce/language/examples.md +++ b/doc/manual/souce/language/examples.md @@ -31,6 +31,23 @@ disabled_config = NewConfig & { enabled_config = NewConfig; ``` +## 配列スキーマ + +```dcdl +Services = [...{ + name = String; + port = Int default 8080; +}]; + +Services & [ + { name = "api"; }, + { name = "worker"; port = 9000; }, +] +``` + +抽象配列には要素制約が必須である。 +この例では、1 番目の要素の `port` は `8080` に materialize される。 + ## 関数と制約 ```dcdl diff --git a/doc/manual/souce/language/expression/array.md b/doc/manual/souce/language/expression/array.md index 567a4be..d482f3a 100644 --- a/doc/manual/souce/language/expression/array.md +++ b/doc/manual/souce/language/expression/array.md @@ -7,6 +7,46 @@ array expression は、順序付きの値の列を表す。 ["a", "b", "c"] ``` +配列リテラルは concrete value であり、要素型を揃える必要はない。 + +```dcdl +["api", 8080, true] +``` + +## Array constraint + +配列制約は `[` の直後に ellipsis を置き、その後へ要素制約を記述する。 + +```dcdl +Names = [...String]; +Ports = [...(Int & >= 1 & <= 65535)]; +``` + +`[...T]` は、すべての要素が `T` を満たす長さ 0 以上の配列を表す。 +空配列は任意の配列制約を満たす。 + +```dcdl +[...String] & [] +[...String] & ["api", "worker"] +``` + +要素制約は object schema にもできる。 +要素 schema の default は、配列へ制約を合成するときに各要素へ適用される。 + +```dcdl +Services = [...{ + name = String; + enabled = Bool default true; +}]; + +Services & [{ name = "api"; }] +``` + +要素制約のない抽象配列型は提供しない。 +旧来の `Array` primitive type は使用できず、`[...T]` の `T` は必須である。 +`[String]` は配列制約ではなく、未解決の `String` 制約を 1 要素に持つ concrete array になる。 +長さ制約、位置別の tuple 制約、unique 制約は現在サポートしない。 + ## Array concat `++` は concrete array 同士を連結する。 diff --git a/doc/manual/souce/language/expression/index.md b/doc/manual/souce/language/expression/index.md index a5cb811..9062a83 100644 --- a/doc/manual/souce/language/expression/index.md +++ b/doc/manual/souce/language/expression/index.md @@ -11,6 +11,7 @@ Expr ├─ path reference ├─ object ├─ array +├─ array constraint ├─ function ├─ function call ├─ let diff --git a/doc/manual/souce/language/grammar.md b/doc/manual/souce/language/grammar.md index fdcee91..656b478 100644 --- a/doc/manual/souce/language/grammar.md +++ b/doc/manual/souce/language/grammar.md @@ -57,6 +57,7 @@ primary_expression = literal | identifier | comparison_constraint | object + | array_constraint | array | let_expression | function_expression @@ -73,6 +74,7 @@ field_definition = field_path , "=" , expression ; field_path = identifier , { "." , identifier } ; array = "[" , [ expression , { "," , expression } , [ "," ] ] , "]" ; +array_constraint = "[" , "..." , expression , [ "," ] , "]" ; let_expression = "let" , { field_definition , ";" } , "in" , expression ; function_expression = "(" , [ parameter_list ] , ")" , "=>" , expression ; diff --git a/doc/manual/souce/language/syntax.md b/doc/manual/souce/language/syntax.md index 3b2048a..261cb0b 100644 --- a/doc/manual/souce/language/syntax.md +++ b/doc/manual/souce/language/syntax.md @@ -121,6 +121,7 @@ false default fallback 指定 => 関数 . フィールド参照 / ドットパス定義 +... 配列の要素制約 ``` 演算子の優先順位は [合成演算子](./operators.md) で定義する。 diff --git a/doc/manual/souce/language/value/index.md b/doc/manual/souce/language/value/index.md index 0967dc9..beb3da3 100644 --- a/doc/manual/souce/language/value/index.md +++ b/doc/manual/souce/language/value/index.md @@ -9,10 +9,11 @@ name = String; retry = Int default 3; ratio = Float; enable = Bool default true; -tags = Array; +tags = [...String]; ``` -現在の primitive type は `String`、`Int`、`Float`、`Bool`、`Array` である。 +現在の primitive type は `String`、`Int`、`Float`、`Bool` である。 +配列は primitive type ではなく、必須の要素制約を持つ `[...T]` で表現する。 各型の個別仕様へのリンクは [Manual Index](../../index.md) に集約する。 primitive type と制約合成の詳細は [制約と default](../constraints-and-defaults.md) も参照する。 diff --git a/editors/lezer-decodal/decodal.grammar b/editors/lezer-decodal/decodal.grammar index 3e225fe..3a26e50 100644 --- a/editors/lezer-decodal/decodal.grammar +++ b/editors/lezer-decodal/decodal.grammar @@ -71,6 +71,7 @@ PrimaryExpression { Identifier | ComparisonConstraint | Object | + ArrayConstraint | Array | LetExpression | FunctionExpression | @@ -88,6 +89,7 @@ FieldDefinition { FieldPath Equal Expression } FieldPath { Identifier !fieldPath (Dot Identifier)* } Array { LBracket (Expression (Comma Expression)* Comma?)? RBracket } +ArrayConstraint { LBracket Ellipsis Expression Comma? RBracket } LetExpression { Let FieldDefinitionList In Expression } FieldDefinitionList { (FieldDefinition Semicolon)* } @@ -143,6 +145,7 @@ ImportExpression { Import String } Semicolon { ";" } Comma { "," } Dot { "." } + Ellipsis { "..." } Colon { ":" } Equal { "=" } EqualEqual { "==" } diff --git a/editors/tree-sitter-decodal/corpus/basic.txt b/editors/tree-sitter-decodal/corpus/basic.txt index 36fda1f..b616341 100644 --- a/editors/tree-sitter-decodal/corpus/basic.txt +++ b/editors/tree-sitter-decodal/corpus/basic.txt @@ -158,3 +158,27 @@ Array concat right: (literal (integer)))) right: (array (literal (integer))))))) + +================== +Array constraints +================== +{ + tags = [...String]; + ports = [...(Int & >= 1),]; +} +--- + +(source_file + (object + (field_definition + path: (field_path (identifier)) + value: (array_constraint + element: (identifier))) + (field_definition + path: (field_path (identifier)) + value: (array_constraint + element: (parenthesized_expression + (binary_expression + left: (identifier) + right: (comparison_constraint + value: (integer)))))))) diff --git a/editors/tree-sitter-decodal/grammar.js b/editors/tree-sitter-decodal/grammar.js index 0789d0e..40b2836 100644 --- a/editors/tree-sitter-decodal/grammar.js +++ b/editors/tree-sitter-decodal/grammar.js @@ -54,6 +54,7 @@ module.exports = grammar({ $.regex_literal, $.comparison_constraint, $.object, + $.array_constraint, $.array, $.let_expression, $.function_expression, @@ -116,6 +117,14 @@ module.exports = grammar({ ']', ), + array_constraint: $ => seq( + '[', + '...', + field('element', $._expression), + optional(','), + ']', + ), + let_expression: $ => seq( 'let', repeat(seq($.field_definition, ';')), diff --git a/editors/tree-sitter-decodal/queries/highlights.scm b/editors/tree-sitter-decodal/queries/highlights.scm index b5f47e1..92b4214 100644 --- a/editors/tree-sitter-decodal/queries/highlights.scm +++ b/editors/tree-sitter-decodal/queries/highlights.scm @@ -22,6 +22,7 @@ "*" "/" "++" + "..." "&&" "||" "!" diff --git a/editors/tree-sitter-decodal/src/grammar.json b/editors/tree-sitter-decodal/src/grammar.json index 70ed3c5..39a10d7 100644 --- a/editors/tree-sitter-decodal/src/grammar.json +++ b/editors/tree-sitter-decodal/src/grammar.json @@ -95,6 +95,10 @@ "type": "SYMBOL", "name": "object" }, + { + "type": "SYMBOL", + "name": "array_constraint" + }, { "type": "SYMBOL", "name": "array" @@ -427,6 +431,43 @@ } ] }, + "array_constraint": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, "let_expression": { "type": "SEQ", "members": [ diff --git a/editors/tree-sitter-decodal/src/node-types.json b/editors/tree-sitter-decodal/src/node-types.json index 625a8d5..d5b074d 100644 --- a/editors/tree-sitter-decodal/src/node-types.json +++ b/editors/tree-sitter-decodal/src/node-types.json @@ -11,6 +11,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -74,6 +78,86 @@ ] } }, + { + "type": "array_constraint", + "named": true, + "fields": { + "element": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array", + "named": true + }, + { + "type": "array_constraint", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "comparison_constraint", + "named": true + }, + { + "type": "default_expression", + "named": true + }, + { + "type": "function_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "import_expression", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "literal", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "object", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "path_expression", + "named": true + }, + { + "type": "regex_literal", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "binary_expression", "named": true, @@ -86,6 +170,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -222,6 +310,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -303,6 +395,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -374,6 +470,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -471,6 +571,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -547,6 +651,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -617,6 +725,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -703,6 +815,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -794,6 +910,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -896,6 +1016,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1009,6 +1133,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1083,6 +1211,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1159,6 +1291,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1260,6 +1396,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1346,6 +1486,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1431,6 +1575,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1507,6 +1655,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1586,6 +1738,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1712,6 +1868,10 @@ "type": ".", "named": false }, + { + "type": "...", + "named": false + }, { "type": "/", "named": false diff --git a/editors/tree-sitter-decodal/src/parser.c b/editors/tree-sitter-decodal/src/parser.c index 7f49373..4014460 100644 --- a/editors/tree-sitter-decodal/src/parser.c +++ b/editors/tree-sitter-decodal/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 225 +#define STATE_COUNT 235 #define LARGE_STATE_COUNT 25 -#define SYMBOL_COUNT 72 +#define SYMBOL_COUNT 74 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 43 +#define TOKEN_COUNT 44 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 17 +#define FIELD_COUNT 18 #define MAX_ALIAS_SEQUENCE_LENGTH 7 -#define PRODUCTION_ID_COUNT 18 +#define PRODUCTION_ID_COUNT 19 enum ts_symbol_identifiers { sym_identifier = 1, @@ -32,61 +32,63 @@ enum ts_symbol_identifiers { anon_sym_LBRACK = 14, anon_sym_COMMA = 15, anon_sym_RBRACK = 16, - anon_sym_let = 17, - anon_sym_in = 18, - anon_sym_LPAREN = 19, - anon_sym_RPAREN = 20, - anon_sym_EQ_GT = 21, - anon_sym_COLON = 22, - anon_sym_match = 23, - anon_sym__ = 24, - anon_sym_import = 25, - anon_sym_GT = 26, - anon_sym_GT_EQ = 27, - anon_sym_LT = 28, - anon_sym_LT_EQ = 29, - anon_sym_DASH = 30, - anon_sym_BANG = 31, - anon_sym_PIPE_PIPE = 32, - anon_sym_AMP_AMP = 33, - anon_sym_EQ_EQ = 34, - anon_sym_BANG_EQ = 35, - anon_sym_PLUS_PLUS = 36, - anon_sym_PLUS = 37, - anon_sym_STAR = 38, - anon_sym_SLASH = 39, - anon_sym_AMP = 40, - anon_sym_SLASH_SLASH = 41, - anon_sym_default = 42, - sym_source_file = 43, - sym__statement = 44, - sym__expression = 45, - sym_literal = 46, - sym_boolean = 47, - sym_object = 48, - sym_field_definition = 49, - sym_field_path = 50, - sym_array = 51, - sym_let_expression = 52, - sym_function_expression = 53, - sym_parameter = 54, - sym_match_expression = 55, - sym_match_arm = 56, - sym_import_expression = 57, - sym_parenthesized_expression = 58, - sym_call_expression = 59, - sym_path_expression = 60, - sym_comparison_constraint = 61, - sym_unary_expression = 62, - sym_binary_expression = 63, - sym_default_expression = 64, - aux_sym_source_file_repeat1 = 65, - aux_sym_object_repeat1 = 66, - aux_sym_field_path_repeat1 = 67, - aux_sym_array_repeat1 = 68, - aux_sym_let_expression_repeat1 = 69, - aux_sym_function_expression_repeat1 = 70, - aux_sym_match_expression_repeat1 = 71, + anon_sym_DOT_DOT_DOT = 17, + anon_sym_let = 18, + anon_sym_in = 19, + anon_sym_LPAREN = 20, + anon_sym_RPAREN = 21, + anon_sym_EQ_GT = 22, + anon_sym_COLON = 23, + anon_sym_match = 24, + anon_sym__ = 25, + anon_sym_import = 26, + anon_sym_GT = 27, + anon_sym_GT_EQ = 28, + anon_sym_LT = 29, + anon_sym_LT_EQ = 30, + anon_sym_DASH = 31, + anon_sym_BANG = 32, + anon_sym_PIPE_PIPE = 33, + anon_sym_AMP_AMP = 34, + anon_sym_EQ_EQ = 35, + anon_sym_BANG_EQ = 36, + anon_sym_PLUS_PLUS = 37, + anon_sym_PLUS = 38, + anon_sym_STAR = 39, + anon_sym_SLASH = 40, + anon_sym_AMP = 41, + anon_sym_SLASH_SLASH = 42, + anon_sym_default = 43, + sym_source_file = 44, + sym__statement = 45, + sym__expression = 46, + sym_literal = 47, + sym_boolean = 48, + sym_object = 49, + sym_field_definition = 50, + sym_field_path = 51, + sym_array = 52, + sym_array_constraint = 53, + sym_let_expression = 54, + sym_function_expression = 55, + sym_parameter = 56, + sym_match_expression = 57, + sym_match_arm = 58, + sym_import_expression = 59, + sym_parenthesized_expression = 60, + sym_call_expression = 61, + sym_path_expression = 62, + sym_comparison_constraint = 63, + sym_unary_expression = 64, + sym_binary_expression = 65, + sym_default_expression = 66, + aux_sym_source_file_repeat1 = 67, + aux_sym_object_repeat1 = 68, + aux_sym_field_path_repeat1 = 69, + aux_sym_array_repeat1 = 70, + aux_sym_let_expression_repeat1 = 71, + aux_sym_function_expression_repeat1 = 72, + aux_sym_match_expression_repeat1 = 73, }; static const char * const ts_symbol_names[] = { @@ -107,6 +109,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_COMMA] = ",", [anon_sym_RBRACK] = "]", + [anon_sym_DOT_DOT_DOT] = "...", [anon_sym_let] = "let", [anon_sym_in] = "in", [anon_sym_LPAREN] = "(", @@ -142,6 +145,7 @@ static const char * const ts_symbol_names[] = { [sym_field_definition] = "field_definition", [sym_field_path] = "field_path", [sym_array] = "array", + [sym_array_constraint] = "array_constraint", [sym_let_expression] = "let_expression", [sym_function_expression] = "function_expression", [sym_parameter] = "parameter", @@ -182,6 +186,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, [anon_sym_let] = anon_sym_let, [anon_sym_in] = anon_sym_in, [anon_sym_LPAREN] = anon_sym_LPAREN, @@ -217,6 +222,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_field_definition] = sym_field_definition, [sym_field_path] = sym_field_path, [sym_array] = sym_array, + [sym_array_constraint] = sym_array_constraint, [sym_let_expression] = sym_let_expression, [sym_function_expression] = sym_function_expression, [sym_parameter] = sym_parameter, @@ -308,6 +314,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, [anon_sym_let] = { .visible = true, .named = false, @@ -448,6 +458,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_array_constraint] = { + .visible = true, + .named = true, + }, [sym_let_expression] = { .visible = true, .named = true, @@ -534,20 +548,21 @@ enum ts_field_identifiers { field_base = 1, field_body = 2, field_constraint = 3, - field_fallback = 4, - field_field = 5, - field_function = 6, - field_left = 7, - field_name = 8, - field_object = 9, - field_operand = 10, - field_operator = 11, - field_path = 12, - field_pattern = 13, - field_right = 14, - field_scrutinee = 15, - field_specifier = 16, - field_value = 17, + field_element = 4, + field_fallback = 5, + field_field = 6, + field_function = 7, + field_left = 8, + field_name = 9, + field_object = 10, + field_operand = 11, + field_operator = 12, + field_path = 13, + field_pattern = 14, + field_right = 15, + field_scrutinee = 16, + field_specifier = 17, + field_value = 18, }; static const char * const ts_field_names[] = { @@ -555,6 +570,7 @@ static const char * const ts_field_names[] = { [field_base] = "base", [field_body] = "body", [field_constraint] = "constraint", + [field_element] = "element", [field_fallback] = "fallback", [field_field] = "field", [field_function] = "function", @@ -583,12 +599,13 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [9] = {.index = 13, .length = 2}, [10] = {.index = 15, .length = 2}, [11] = {.index = 17, .length = 1}, - [12] = {.index = 18, .length = 2}, - [13] = {.index = 20, .length = 1}, + [12] = {.index = 18, .length = 1}, + [13] = {.index = 19, .length = 2}, [14] = {.index = 21, .length = 1}, [15] = {.index = 22, .length = 1}, - [16] = {.index = 23, .length = 2}, - [17] = {.index = 25, .length = 1}, + [16] = {.index = 23, .length = 1}, + [17] = {.index = 24, .length = 2}, + [18] = {.index = 26, .length = 1}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -620,20 +637,22 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_path, 0}, {field_value, 2}, [17] = - {field_body, 3}, + {field_element, 2}, [18] = + {field_body, 3}, + [19] = {field_constraint, 2}, {field_name, 0}, - [20] = - {field_scrutinee, 1}, [21] = - {field_body, 4}, + {field_scrutinee, 1}, [22] = - {field_body, 5}, + {field_body, 4}, [23] = + {field_body, 5}, + [24] = {field_body, 2}, {field_pattern, 0}, - [25] = + [26] = {field_body, 6}, }; @@ -652,68 +671,68 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [3] = 3, [4] = 4, [5] = 5, - [6] = 5, + [6] = 4, [7] = 7, [8] = 7, - [9] = 4, + [9] = 5, [10] = 10, - [11] = 10, + [11] = 11, [12] = 12, - [13] = 13, - [14] = 14, + [13] = 11, + [14] = 12, [15] = 15, [16] = 16, [17] = 17, - [18] = 17, - [19] = 14, - [20] = 13, - [21] = 16, - [22] = 22, - [23] = 22, - [24] = 15, + [18] = 15, + [19] = 19, + [20] = 16, + [21] = 21, + [22] = 19, + [23] = 21, + [24] = 17, [25] = 25, [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, - [31] = 28, + [31] = 26, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, [37] = 37, - [38] = 32, + [38] = 38, [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 44, - [45] = 25, - [46] = 46, - [47] = 47, - [48] = 40, - [49] = 39, - [50] = 35, - [51] = 47, - [52] = 46, - [53] = 30, - [54] = 44, + [40] = 37, + [41] = 36, + [42] = 35, + [43] = 25, + [44] = 33, + [45] = 32, + [46] = 38, + [47] = 30, + [48] = 29, + [49] = 28, + [50] = 50, + [51] = 51, + [52] = 52, + [53] = 53, + [54] = 54, [55] = 55, - [56] = 37, - [57] = 43, - [58] = 58, - [59] = 42, - [60] = 34, - [61] = 41, - [62] = 62, - [63] = 33, - [64] = 26, - [65] = 29, - [66] = 58, - [67] = 67, + [56] = 56, + [57] = 55, + [58] = 51, + [59] = 59, + [60] = 52, + [61] = 54, + [62] = 27, + [63] = 56, + [64] = 64, + [65] = 50, + [66] = 39, + [67] = 53, [68] = 68, [69] = 69, [70] = 70, @@ -753,79 +772,79 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [104] = 104, [105] = 105, [106] = 106, - [107] = 82, - [108] = 79, - [109] = 83, - [110] = 84, - [111] = 86, - [112] = 89, - [113] = 93, - [114] = 95, - [115] = 97, - [116] = 105, - [117] = 100, - [118] = 106, - [119] = 104, - [120] = 99, - [121] = 87, - [122] = 90, - [123] = 81, - [124] = 80, - [125] = 78, - [126] = 77, - [127] = 76, - [128] = 75, - [129] = 74, - [130] = 73, - [131] = 94, - [132] = 88, - [133] = 72, - [134] = 70, - [135] = 103, - [136] = 102, - [137] = 69, - [138] = 101, - [139] = 98, - [140] = 96, - [141] = 85, - [142] = 71, - [143] = 67, - [144] = 91, - [145] = 145, - [146] = 145, - [147] = 147, - [148] = 148, - [149] = 149, - [150] = 150, - [151] = 149, - [152] = 68, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 93, + [112] = 88, + [113] = 110, + [114] = 70, + [115] = 82, + [116] = 106, + [117] = 107, + [118] = 81, + [119] = 69, + [120] = 101, + [121] = 104, + [122] = 99, + [123] = 103, + [124] = 100, + [125] = 98, + [126] = 80, + [127] = 78, + [128] = 77, + [129] = 96, + [130] = 95, + [131] = 90, + [132] = 97, + [133] = 73, + [134] = 94, + [135] = 83, + [136] = 105, + [137] = 71, + [138] = 74, + [139] = 109, + [140] = 92, + [141] = 108, + [142] = 87, + [143] = 75, + [144] = 76, + [145] = 79, + [146] = 86, + [147] = 102, + [148] = 91, + [149] = 84, + [150] = 85, + [151] = 151, + [152] = 151, [153] = 153, [154] = 154, [155] = 155, - [156] = 156, + [156] = 154, [157] = 157, [158] = 158, - [159] = 157, - [160] = 156, + [159] = 159, + [160] = 89, [161] = 161, [162] = 162, - [163] = 162, + [163] = 158, [164] = 164, - [165] = 164, - [166] = 166, + [165] = 165, + [166] = 164, [167] = 167, [168] = 167, - [169] = 166, + [169] = 169, [170] = 170, [171] = 171, [172] = 170, - [173] = 173, + [173] = 171, [174] = 174, [175] = 175, - [176] = 176, - [177] = 177, + [176] = 174, + [177] = 175, [178] = 178, - [179] = 177, + [179] = 178, [180] = 180, [181] = 181, [182] = 182, @@ -835,42 +854,52 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [186] = 186, [187] = 187, [188] = 188, - [189] = 176, + [189] = 183, [190] = 190, - [191] = 186, - [192] = 180, - [193] = 193, + [191] = 191, + [192] = 192, + [193] = 188, [194] = 194, - [195] = 173, - [196] = 183, - [197] = 174, - [198] = 188, - [199] = 185, - [200] = 193, + [195] = 181, + [196] = 196, + [197] = 185, + [198] = 186, + [199] = 199, + [200] = 190, [201] = 201, [202] = 202, - [203] = 203, + [203] = 202, [204] = 204, - [205] = 205, - [206] = 206, - [207] = 207, + [205] = 191, + [206] = 182, + [207] = 194, [208] = 208, [209] = 209, [210] = 210, [211] = 211, - [212] = 208, + [212] = 212, [213] = 213, [214] = 214, - [215] = 210, - [216] = 214, + [215] = 215, + [216] = 216, [217] = 217, [218] = 218, - [219] = 218, - [220] = 207, + [219] = 219, + [220] = 219, [221] = 221, [222] = 222, - [223] = 213, - [224] = 209, + [223] = 223, + [224] = 224, + [225] = 225, + [226] = 215, + [227] = 227, + [228] = 217, + [229] = 216, + [230] = 218, + [231] = 231, + [232] = 222, + [233] = 224, + [234] = 223, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -878,234 +907,313 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(10); + if (eof) ADVANCE(16); ADVANCE_MAP( - '!', 35, - '"', 2, - '#', 12, - '&', 45, - '(', 25, - ')', 26, - '*', 42, - '+', 41, - ',', 23, - '-', 34, - '.', 21, - '/', 44, - ':', 28, - ';', 11, - '<', 32, - '=', 20, - '>', 30, - '[', 22, - ']', 24, - '_', 29, - '{', 18, - '|', 6, - '}', 19, + '!', 44, + '"', 3, + '#', 18, + '&', 54, + '(', 33, + ')', 34, + '*', 51, + '+', 50, + ',', 30, + '-', 42, + '.', 28, + '/', 53, + ':', 36, + ';', 17, + '<', 40, + '=', 26, + '>', 38, + '[', 29, + ']', 31, + '_', 37, + '{', 24, + '|', 11, + '}', 25, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 1: ADVANCE_MAP( - '!', 4, - '#', 12, - '&', 45, - '(', 25, - ')', 26, - '*', 42, - '+', 41, - ',', 23, - '-', 34, - '.', 21, - '/', 43, - ':', 28, - ';', 11, - '<', 32, - '=', 5, - '>', 30, - ']', 24, - '{', 18, - '|', 6, - '}', 19, + '!', 43, + '"', 3, + '#', 18, + '(', 33, + '-', 42, + '.', 4, + '/', 10, + '<', 40, + '=', 9, + '>', 38, + '[', 29, + ']', 31, + '{', 24, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(13); - if (lookahead == '\\') ADVANCE(8); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(2); + ADVANCE_MAP( + '!', 7, + '#', 18, + '&', 54, + '(', 33, + ')', 34, + '*', 51, + '+', 50, + ',', 30, + '-', 42, + '.', 27, + '/', 52, + ':', 36, + ';', 17, + '<', 40, + '=', 8, + '>', 38, + ']', 31, + '{', 24, + '|', 11, + '}', 25, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(2); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 3: - if (lookahead == '/') ADVANCE(17); - if (lookahead == '\\') ADVANCE(9); + if (lookahead == '"') ADVANCE(19); + if (lookahead == '\\') ADVANCE(13); if (lookahead != 0 && lookahead != '\n') ADVANCE(3); END_STATE(); case 4: - if (lookahead == '=') ADVANCE(39); + if (lookahead == '.') ADVANCE(5); END_STATE(); case 5: - if (lookahead == '=') ADVANCE(38); - if (lookahead == '>') ADVANCE(27); + if (lookahead == '.') ADVANCE(32); END_STATE(); case 6: - if (lookahead == '|') ADVANCE(36); + if (lookahead == '/') ADVANCE(23); + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); END_STATE(); case 7: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (lookahead == '=') ADVANCE(48); END_STATE(); case 8: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(2); + if (lookahead == '=') ADVANCE(47); END_STATE(); case 9: + if (lookahead == '>') ADVANCE(35); + END_STATE(); + case 10: + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '/') ADVANCE(6); + END_STATE(); + case 11: + if (lookahead == '|') ADVANCE(45); + END_STATE(); + case 12: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); + END_STATE(); + case 13: if (lookahead != 0 && lookahead != '\n') ADVANCE(3); END_STATE(); - case 10: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 11: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 12: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(12); - END_STATE(); - case 13: - ACCEPT_TOKEN(sym_string); - END_STATE(); case 14: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '.') ADVANCE(7); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); END_STATE(); case 15: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (eof) ADVANCE(16); + ADVANCE_MAP( + '!', 44, + '"', 3, + '#', 18, + '&', 54, + '(', 33, + '*', 51, + '+', 50, + '-', 42, + '.', 27, + '/', 53, + ';', 17, + '<', 40, + '=', 26, + '>', 38, + '[', 29, + '{', 24, + '|', 11, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(15); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 16: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 17: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 18: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 19: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 20: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '.') ADVANCE(12); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + END_STATE(); + case 21: + ACCEPT_TOKEN(sym_float); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); + END_STATE(); + case 22: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); - END_STATE(); - case 17: - ACCEPT_TOKEN(sym_regex_literal); - END_STATE(); - case 18: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 19: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 20: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(38); - END_STATE(); - case 21: - ACCEPT_TOKEN(anon_sym_DOT); - END_STATE(); - case 22: - ACCEPT_TOKEN(anon_sym_LBRACK); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 23: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(sym_regex_literal); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(47); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_EQ_GT); + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(5); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym__); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(31); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 32: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(33); + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 34: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(39); + ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 37: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym__); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(39); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(41); END_STATE(); case 41: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '+') ADVANCE(40); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(46); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(46); - if (lookahead == '\\') ADVANCE(9); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(3); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(48); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(37); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 46: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(49); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(55); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(55); + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(46); + END_STATE(); + case 55: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); default: @@ -1242,9 +1350,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [9] = {.lex_state = 0}, [10] = {.lex_state = 0}, [11] = {.lex_state = 0}, - [12] = {.lex_state = 0}, + [12] = {.lex_state = 1}, [13] = {.lex_state = 0}, - [14] = {.lex_state = 0}, + [14] = {.lex_state = 1}, [15] = {.lex_state = 0}, [16] = {.lex_state = 0}, [17] = {.lex_state = 0}, @@ -1298,107 +1406,107 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 0}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 0}, - [81] = {.lex_state = 0}, - [82] = {.lex_state = 0}, - [83] = {.lex_state = 0}, - [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, - [86] = {.lex_state = 0}, - [87] = {.lex_state = 0}, - [88] = {.lex_state = 0}, - [89] = {.lex_state = 0}, - [90] = {.lex_state = 0}, - [91] = {.lex_state = 0}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, - [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, - [96] = {.lex_state = 0}, - [97] = {.lex_state = 0}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, - [102] = {.lex_state = 0}, - [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 0}, - [107] = {.lex_state = 1}, - [108] = {.lex_state = 1}, - [109] = {.lex_state = 1}, - [110] = {.lex_state = 1}, - [111] = {.lex_state = 1}, - [112] = {.lex_state = 1}, - [113] = {.lex_state = 1}, - [114] = {.lex_state = 1}, - [115] = {.lex_state = 1}, - [116] = {.lex_state = 1}, - [117] = {.lex_state = 1}, - [118] = {.lex_state = 1}, - [119] = {.lex_state = 1}, - [120] = {.lex_state = 1}, - [121] = {.lex_state = 1}, - [122] = {.lex_state = 1}, - [123] = {.lex_state = 1}, - [124] = {.lex_state = 1}, - [125] = {.lex_state = 1}, - [126] = {.lex_state = 1}, - [127] = {.lex_state = 1}, - [128] = {.lex_state = 1}, - [129] = {.lex_state = 1}, - [130] = {.lex_state = 1}, - [131] = {.lex_state = 1}, - [132] = {.lex_state = 1}, - [133] = {.lex_state = 1}, - [134] = {.lex_state = 1}, - [135] = {.lex_state = 1}, - [136] = {.lex_state = 1}, - [137] = {.lex_state = 1}, - [138] = {.lex_state = 1}, - [139] = {.lex_state = 1}, - [140] = {.lex_state = 1}, - [141] = {.lex_state = 1}, - [142] = {.lex_state = 1}, - [143] = {.lex_state = 1}, - [144] = {.lex_state = 1}, - [145] = {.lex_state = 1}, - [146] = {.lex_state = 1}, - [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 1}, - [152] = {.lex_state = 1}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 1}, - [155] = {.lex_state = 1}, - [156] = {.lex_state = 1}, - [157] = {.lex_state = 1}, - [158] = {.lex_state = 1}, - [159] = {.lex_state = 1}, - [160] = {.lex_state = 1}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 0}, - [167] = {.lex_state = 0}, - [168] = {.lex_state = 0}, + [68] = {.lex_state = 15}, + [69] = {.lex_state = 15}, + [70] = {.lex_state = 15}, + [71] = {.lex_state = 15}, + [72] = {.lex_state = 15}, + [73] = {.lex_state = 15}, + [74] = {.lex_state = 15}, + [75] = {.lex_state = 15}, + [76] = {.lex_state = 15}, + [77] = {.lex_state = 15}, + [78] = {.lex_state = 15}, + [79] = {.lex_state = 15}, + [80] = {.lex_state = 15}, + [81] = {.lex_state = 15}, + [82] = {.lex_state = 15}, + [83] = {.lex_state = 15}, + [84] = {.lex_state = 15}, + [85] = {.lex_state = 15}, + [86] = {.lex_state = 15}, + [87] = {.lex_state = 15}, + [88] = {.lex_state = 15}, + [89] = {.lex_state = 15}, + [90] = {.lex_state = 15}, + [91] = {.lex_state = 15}, + [92] = {.lex_state = 15}, + [93] = {.lex_state = 15}, + [94] = {.lex_state = 15}, + [95] = {.lex_state = 15}, + [96] = {.lex_state = 15}, + [97] = {.lex_state = 15}, + [98] = {.lex_state = 15}, + [99] = {.lex_state = 15}, + [100] = {.lex_state = 15}, + [101] = {.lex_state = 15}, + [102] = {.lex_state = 15}, + [103] = {.lex_state = 15}, + [104] = {.lex_state = 15}, + [105] = {.lex_state = 15}, + [106] = {.lex_state = 15}, + [107] = {.lex_state = 15}, + [108] = {.lex_state = 15}, + [109] = {.lex_state = 15}, + [110] = {.lex_state = 15}, + [111] = {.lex_state = 2}, + [112] = {.lex_state = 2}, + [113] = {.lex_state = 2}, + [114] = {.lex_state = 2}, + [115] = {.lex_state = 2}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 2}, + [118] = {.lex_state = 2}, + [119] = {.lex_state = 2}, + [120] = {.lex_state = 2}, + [121] = {.lex_state = 2}, + [122] = {.lex_state = 2}, + [123] = {.lex_state = 2}, + [124] = {.lex_state = 2}, + [125] = {.lex_state = 2}, + [126] = {.lex_state = 2}, + [127] = {.lex_state = 2}, + [128] = {.lex_state = 2}, + [129] = {.lex_state = 2}, + [130] = {.lex_state = 2}, + [131] = {.lex_state = 2}, + [132] = {.lex_state = 2}, + [133] = {.lex_state = 2}, + [134] = {.lex_state = 2}, + [135] = {.lex_state = 2}, + [136] = {.lex_state = 2}, + [137] = {.lex_state = 2}, + [138] = {.lex_state = 2}, + [139] = {.lex_state = 2}, + [140] = {.lex_state = 2}, + [141] = {.lex_state = 2}, + [142] = {.lex_state = 2}, + [143] = {.lex_state = 2}, + [144] = {.lex_state = 2}, + [145] = {.lex_state = 2}, + [146] = {.lex_state = 2}, + [147] = {.lex_state = 2}, + [148] = {.lex_state = 2}, + [149] = {.lex_state = 2}, + [150] = {.lex_state = 2}, + [151] = {.lex_state = 2}, + [152] = {.lex_state = 2}, + [153] = {.lex_state = 2}, + [154] = {.lex_state = 2}, + [155] = {.lex_state = 2}, + [156] = {.lex_state = 2}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 2}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 2}, + [161] = {.lex_state = 2}, + [162] = {.lex_state = 2}, + [163] = {.lex_state = 2}, + [164] = {.lex_state = 2}, + [165] = {.lex_state = 2}, + [166] = {.lex_state = 2}, + [167] = {.lex_state = 2}, + [168] = {.lex_state = 2}, [169] = {.lex_state = 0}, [170] = {.lex_state = 0}, [171] = {.lex_state = 0}, @@ -1431,30 +1539,40 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [198] = {.lex_state = 0}, [199] = {.lex_state = 0}, [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, + [201] = {.lex_state = 15}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, + [204] = {.lex_state = 15}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, - [208] = {.lex_state = 1}, - [209] = {.lex_state = 1}, - [210] = {.lex_state = 1}, + [208] = {.lex_state = 15}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 15}, [211] = {.lex_state = 0}, - [212] = {.lex_state = 1}, - [213] = {.lex_state = 1}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, - [215] = {.lex_state = 1}, + [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, [221] = {.lex_state = 0}, - [222] = {.lex_state = 0}, + [222] = {.lex_state = 1}, [223] = {.lex_state = 1}, - [224] = {.lex_state = 1}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 0}, + [230] = {.lex_state = 1}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 0}, + [234] = {.lex_state = 1}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1476,6 +1594,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), @@ -1503,27 +1622,28 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_default] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(217), - [sym__statement] = STATE(3), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(3), + [sym_source_file] = STATE(225), + [sym__statement] = STATE(2), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = STATE(72), + [sym_let_expression] = STATE(72), + [sym_function_expression] = STATE(72), + [sym_match_expression] = STATE(72), + [sym_import_expression] = STATE(72), + [sym_parenthesized_expression] = STATE(72), + [sym_call_expression] = STATE(72), + [sym_path_expression] = STATE(72), + [sym_comparison_constraint] = STATE(72), + [sym_unary_expression] = STATE(72), + [sym_binary_expression] = STATE(72), + [sym_default_expression] = STATE(72), + [aux_sym_source_file_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [sym_comment] = ACTIONS(3), @@ -1547,70 +1667,28 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(33), }, [2] = { - [sym__statement] = STATE(2), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(2), + [sym__statement] = STATE(3), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = STATE(72), + [sym_let_expression] = STATE(72), + [sym_function_expression] = STATE(72), + [sym_match_expression] = STATE(72), + [sym_import_expression] = STATE(72), + [sym_parenthesized_expression] = STATE(72), + [sym_call_expression] = STATE(72), + [sym_path_expression] = STATE(72), + [sym_comparison_constraint] = STATE(72), + [sym_unary_expression] = STATE(72), + [sym_binary_expression] = STATE(72), + [sym_default_expression] = STATE(72), + [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(35), - [sym_identifier] = ACTIONS(37), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(40), - [anon_sym_false] = ACTIONS(40), - [sym_string] = ACTIONS(43), - [sym_integer] = ACTIONS(46), - [sym_float] = ACTIONS(43), - [sym_regex_literal] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(52), - [anon_sym_LBRACK] = ACTIONS(55), - [anon_sym_let] = ACTIONS(58), - [anon_sym_LPAREN] = ACTIONS(61), - [anon_sym_match] = ACTIONS(64), - [anon_sym_import] = ACTIONS(67), - [anon_sym_GT] = ACTIONS(70), - [anon_sym_GT_EQ] = ACTIONS(73), - [anon_sym_LT] = ACTIONS(70), - [anon_sym_LT_EQ] = ACTIONS(73), - [anon_sym_DASH] = ACTIONS(76), - [anon_sym_BANG] = ACTIONS(76), - }, - [3] = { - [sym__statement] = STATE(2), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(79), [sym_identifier] = ACTIONS(7), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), @@ -1632,24 +1710,69 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(33), [anon_sym_BANG] = ACTIONS(33), }, + [3] = { + [sym__statement] = STATE(3), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = STATE(72), + [sym_let_expression] = STATE(72), + [sym_function_expression] = STATE(72), + [sym_match_expression] = STATE(72), + [sym_import_expression] = STATE(72), + [sym_parenthesized_expression] = STATE(72), + [sym_call_expression] = STATE(72), + [sym_path_expression] = STATE(72), + [sym_comparison_constraint] = STATE(72), + [sym_unary_expression] = STATE(72), + [sym_binary_expression] = STATE(72), + [sym_default_expression] = STATE(72), + [aux_sym_source_file_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(37), + [sym_identifier] = ACTIONS(39), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(42), + [anon_sym_false] = ACTIONS(42), + [sym_string] = ACTIONS(45), + [sym_integer] = ACTIONS(48), + [sym_float] = ACTIONS(45), + [sym_regex_literal] = ACTIONS(51), + [anon_sym_LBRACE] = ACTIONS(54), + [anon_sym_LBRACK] = ACTIONS(57), + [anon_sym_let] = ACTIONS(60), + [anon_sym_LPAREN] = ACTIONS(63), + [anon_sym_match] = ACTIONS(66), + [anon_sym_import] = ACTIONS(69), + [anon_sym_GT] = ACTIONS(72), + [anon_sym_GT_EQ] = ACTIONS(75), + [anon_sym_LT] = ACTIONS(72), + [anon_sym_LT_EQ] = ACTIONS(75), + [anon_sym_DASH] = ACTIONS(78), + [anon_sym_BANG] = ACTIONS(78), + }, [4] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(197), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1674,23 +1797,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [5] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(186), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1715,23 +1839,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [6] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1756,23 +1881,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [7] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1797,23 +1923,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [8] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1838,23 +1965,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [9] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(174), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(198), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1879,103 +2007,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [10] = { - [sym__expression] = STATE(157), - [sym_literal] = STATE(157), - [sym_boolean] = STATE(132), - [sym_object] = STATE(157), - [sym_array] = STATE(157), - [sym_let_expression] = STATE(157), - [sym_function_expression] = STATE(157), - [sym_parameter] = STATE(189), - [sym_match_expression] = STATE(157), - [sym_import_expression] = STATE(157), - [sym_parenthesized_expression] = STATE(157), - [sym_call_expression] = STATE(157), - [sym_path_expression] = STATE(157), - [sym_comparison_constraint] = STATE(157), - [sym_unary_expression] = STATE(157), - [sym_binary_expression] = STATE(157), - [sym_default_expression] = STATE(157), - [sym_identifier] = ACTIONS(123), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(83), - [anon_sym_false] = ACTIONS(83), - [sym_string] = ACTIONS(85), - [sym_integer] = ACTIONS(87), - [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(125), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_let] = ACTIONS(97), - [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(127), - [anon_sym_match] = ACTIONS(101), - [anon_sym_import] = ACTIONS(105), - [anon_sym_GT] = ACTIONS(107), - [anon_sym_GT_EQ] = ACTIONS(109), - [anon_sym_LT] = ACTIONS(107), - [anon_sym_LT_EQ] = ACTIONS(109), - [anon_sym_DASH] = ACTIONS(111), - [anon_sym_BANG] = ACTIONS(111), - }, - [11] = { - [sym__expression] = STATE(159), - [sym_literal] = STATE(159), - [sym_boolean] = STATE(132), - [sym_object] = STATE(159), - [sym_array] = STATE(159), - [sym_let_expression] = STATE(159), - [sym_function_expression] = STATE(159), - [sym_parameter] = STATE(176), - [sym_match_expression] = STATE(159), - [sym_import_expression] = STATE(159), - [sym_parenthesized_expression] = STATE(159), - [sym_call_expression] = STATE(159), - [sym_path_expression] = STATE(159), - [sym_comparison_constraint] = STATE(159), - [sym_unary_expression] = STATE(159), - [sym_binary_expression] = STATE(159), - [sym_default_expression] = STATE(159), - [sym_identifier] = ACTIONS(123), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(83), - [anon_sym_false] = ACTIONS(83), - [sym_string] = ACTIONS(85), - [sym_integer] = ACTIONS(87), - [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(129), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_let] = ACTIONS(97), - [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(131), - [anon_sym_match] = ACTIONS(101), - [anon_sym_import] = ACTIONS(105), - [anon_sym_GT] = ACTIONS(107), - [anon_sym_GT_EQ] = ACTIONS(109), - [anon_sym_LT] = ACTIONS(107), - [anon_sym_LT_EQ] = ACTIONS(109), - [anon_sym_DASH] = ACTIONS(111), - [anon_sym_BANG] = ACTIONS(111), - }, - [12] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1998,34 +2047,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [13] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [11] = { + [sym__expression] = STATE(166), + [sym_literal] = STATE(166), + [sym_boolean] = STATE(137), + [sym_object] = STATE(166), + [sym_array] = STATE(166), + [sym_array_constraint] = STATE(166), + [sym_let_expression] = STATE(166), + [sym_function_expression] = STATE(166), + [sym_parameter] = STATE(191), + [sym_match_expression] = STATE(166), + [sym_import_expression] = STATE(166), + [sym_parenthesized_expression] = STATE(166), + [sym_call_expression] = STATE(166), + [sym_path_expression] = STATE(166), + [sym_comparison_constraint] = STATE(166), + [sym_unary_expression] = STATE(166), + [sym_binary_expression] = STATE(166), + [sym_default_expression] = STATE(166), + [sym_identifier] = ACTIONS(123), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(125), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(137), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(127), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_BANG] = ACTIONS(111), + }, + [12] = { + [sym__expression] = STATE(156), + [sym_literal] = STATE(156), + [sym_boolean] = STATE(137), + [sym_object] = STATE(156), + [sym_array] = STATE(156), + [sym_array_constraint] = STATE(156), + [sym_let_expression] = STATE(156), + [sym_function_expression] = STATE(156), + [sym_match_expression] = STATE(156), + [sym_import_expression] = STATE(156), + [sym_parenthesized_expression] = STATE(156), + [sym_call_expression] = STATE(156), + [sym_path_expression] = STATE(156), + [sym_comparison_constraint] = STATE(156), + [sym_unary_expression] = STATE(156), + [sym_binary_expression] = STATE(156), + [sym_default_expression] = STATE(156), + [sym_identifier] = ACTIONS(129), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(131), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(133), + [anon_sym_DOT_DOT_DOT] = ACTIONS(135), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2037,31 +2129,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [14] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [13] = { + [sym__expression] = STATE(164), + [sym_literal] = STATE(164), + [sym_boolean] = STATE(137), + [sym_object] = STATE(164), + [sym_array] = STATE(164), + [sym_array_constraint] = STATE(164), + [sym_let_expression] = STATE(164), + [sym_function_expression] = STATE(164), + [sym_parameter] = STATE(205), + [sym_match_expression] = STATE(164), + [sym_import_expression] = STATE(164), + [sym_parenthesized_expression] = STATE(164), + [sym_call_expression] = STATE(164), + [sym_path_expression] = STATE(164), + [sym_comparison_constraint] = STATE(164), + [sym_unary_expression] = STATE(164), + [sym_binary_expression] = STATE(164), + [sym_default_expression] = STATE(164), + [sym_identifier] = ACTIONS(123), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(137), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), @@ -2076,23 +2170,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [15] = { - [sym__expression] = STATE(151), - [sym_literal] = STATE(151), - [sym_boolean] = STATE(132), - [sym_object] = STATE(151), - [sym_array] = STATE(151), - [sym_let_expression] = STATE(151), - [sym_function_expression] = STATE(151), - [sym_match_expression] = STATE(151), - [sym_import_expression] = STATE(151), - [sym_parenthesized_expression] = STATE(151), - [sym_call_expression] = STATE(151), - [sym_path_expression] = STATE(151), - [sym_comparison_constraint] = STATE(151), - [sym_unary_expression] = STATE(151), - [sym_binary_expression] = STATE(151), - [sym_default_expression] = STATE(151), + [14] = { + [sym__expression] = STATE(154), + [sym_literal] = STATE(154), + [sym_boolean] = STATE(137), + [sym_object] = STATE(154), + [sym_array] = STATE(154), + [sym_array_constraint] = STATE(154), + [sym_let_expression] = STATE(154), + [sym_function_expression] = STATE(154), + [sym_match_expression] = STATE(154), + [sym_import_expression] = STATE(154), + [sym_parenthesized_expression] = STATE(154), + [sym_call_expression] = STATE(154), + [sym_path_expression] = STATE(154), + [sym_comparison_constraint] = STATE(154), + [sym_unary_expression] = STATE(154), + [sym_binary_expression] = STATE(154), + [sym_default_expression] = STATE(154), [sym_identifier] = ACTIONS(141), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -2104,6 +2199,47 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_RBRACK] = ACTIONS(145), + [anon_sym_DOT_DOT_DOT] = ACTIONS(147), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_BANG] = ACTIONS(111), + }, + [15] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(153), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2116,35 +2252,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [16] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(147), + [anon_sym_RPAREN] = ACTIONS(155), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2155,33 +2292,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [17] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(149), + [anon_sym_RBRACK] = ACTIONS(157), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2194,33 +2332,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [18] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(151), + [anon_sym_RBRACK] = ACTIONS(159), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2233,35 +2372,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [19] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(152), + [sym_literal] = STATE(152), + [sym_boolean] = STATE(137), + [sym_object] = STATE(152), + [sym_array] = STATE(152), + [sym_array_constraint] = STATE(152), + [sym_let_expression] = STATE(152), + [sym_function_expression] = STATE(152), + [sym_match_expression] = STATE(152), + [sym_import_expression] = STATE(152), + [sym_parenthesized_expression] = STATE(152), + [sym_call_expression] = STATE(152), + [sym_path_expression] = STATE(152), + [sym_comparison_constraint] = STATE(152), + [sym_unary_expression] = STATE(152), + [sym_binary_expression] = STATE(152), + [sym_default_expression] = STATE(152), + [sym_identifier] = ACTIONS(161), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(163), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(153), + [anon_sym_RPAREN] = ACTIONS(165), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2272,35 +2412,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [20] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(155), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(167), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2311,108 +2452,31 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [21] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), [anon_sym_false] = ACTIONS(83), [sym_string] = ACTIONS(85), [sym_integer] = ACTIONS(87), [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(135), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_let] = ACTIONS(97), - [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(157), - [anon_sym_match] = ACTIONS(101), - [anon_sym_import] = ACTIONS(105), - [anon_sym_GT] = ACTIONS(107), - [anon_sym_GT_EQ] = ACTIONS(109), - [anon_sym_LT] = ACTIONS(107), - [anon_sym_LT_EQ] = ACTIONS(109), - [anon_sym_DASH] = ACTIONS(111), - [anon_sym_BANG] = ACTIONS(111), - }, - [22] = { - [sym__expression] = STATE(146), - [sym_literal] = STATE(146), - [sym_boolean] = STATE(132), - [sym_object] = STATE(146), - [sym_array] = STATE(146), - [sym_let_expression] = STATE(146), - [sym_function_expression] = STATE(146), - [sym_match_expression] = STATE(146), - [sym_import_expression] = STATE(146), - [sym_parenthesized_expression] = STATE(146), - [sym_call_expression] = STATE(146), - [sym_path_expression] = STATE(146), - [sym_comparison_constraint] = STATE(146), - [sym_unary_expression] = STATE(146), - [sym_binary_expression] = STATE(146), - [sym_default_expression] = STATE(146), - [sym_identifier] = ACTIONS(159), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(83), - [anon_sym_false] = ACTIONS(83), - [sym_string] = ACTIONS(85), - [sym_integer] = ACTIONS(87), - [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(161), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_let] = ACTIONS(97), - [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(163), - [anon_sym_match] = ACTIONS(101), - [anon_sym_import] = ACTIONS(105), - [anon_sym_GT] = ACTIONS(107), - [anon_sym_GT_EQ] = ACTIONS(109), - [anon_sym_LT] = ACTIONS(107), - [anon_sym_LT_EQ] = ACTIONS(109), - [anon_sym_DASH] = ACTIONS(111), - [anon_sym_BANG] = ACTIONS(111), - }, - [23] = { - [sym__expression] = STATE(145), - [sym_literal] = STATE(145), - [sym_boolean] = STATE(132), - [sym_object] = STATE(145), - [sym_array] = STATE(145), - [sym_let_expression] = STATE(145), - [sym_function_expression] = STATE(145), - [sym_match_expression] = STATE(145), - [sym_import_expression] = STATE(145), - [sym_parenthesized_expression] = STATE(145), - [sym_call_expression] = STATE(145), - [sym_path_expression] = STATE(145), - [sym_comparison_constraint] = STATE(145), - [sym_unary_expression] = STATE(145), - [sym_binary_expression] = STATE(145), - [sym_default_expression] = STATE(145), - [sym_identifier] = ACTIONS(165), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(83), - [anon_sym_false] = ACTIONS(83), - [sym_string] = ACTIONS(85), - [sym_integer] = ACTIONS(87), - [sym_float] = ACTIONS(85), - [sym_regex_literal] = ACTIONS(167), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), @@ -2427,23 +2491,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [24] = { - [sym__expression] = STATE(149), - [sym_literal] = STATE(149), - [sym_boolean] = STATE(132), - [sym_object] = STATE(149), - [sym_array] = STATE(149), - [sym_let_expression] = STATE(149), - [sym_function_expression] = STATE(149), - [sym_match_expression] = STATE(149), - [sym_import_expression] = STATE(149), - [sym_parenthesized_expression] = STATE(149), - [sym_call_expression] = STATE(149), - [sym_path_expression] = STATE(149), - [sym_comparison_constraint] = STATE(149), - [sym_unary_expression] = STATE(149), - [sym_binary_expression] = STATE(149), - [sym_default_expression] = STATE(149), + [22] = { + [sym__expression] = STATE(151), + [sym_literal] = STATE(151), + [sym_boolean] = STATE(137), + [sym_object] = STATE(151), + [sym_array] = STATE(151), + [sym_array_constraint] = STATE(151), + [sym_let_expression] = STATE(151), + [sym_function_expression] = STATE(151), + [sym_match_expression] = STATE(151), + [sym_import_expression] = STATE(151), + [sym_parenthesized_expression] = STATE(151), + [sym_call_expression] = STATE(151), + [sym_path_expression] = STATE(151), + [sym_comparison_constraint] = STATE(151), + [sym_unary_expression] = STATE(151), + [sym_binary_expression] = STATE(151), + [sym_default_expression] = STATE(151), [sym_identifier] = ACTIONS(171), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -2454,7 +2519,87 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_regex_literal] = ACTIONS(173), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(175), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(175), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_BANG] = ACTIONS(111), + }, + [23] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(177), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_BANG] = ACTIONS(111), + }, + [24] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(179), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2486,11 +2631,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(177), 1, + ACTIONS(181), 1, sym_identifier, - ACTIONS(179), 1, + ACTIONS(183), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2507,11 +2652,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(127), 15, + STATE(135), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2523,7 +2669,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [71] = 17, + [72] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_let, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_match, + ACTIONS(27), 1, + anon_sym_import, + ACTIONS(185), 1, + sym_identifier, + ACTIONS(187), 1, + sym_regex_literal, + STATE(71), 1, + sym_boolean, + ACTIONS(9), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(11), 2, + sym_string, + sym_float, + ACTIONS(29), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(31), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(33), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(86), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [144] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2540,11 +2741,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(181), 1, + ACTIONS(189), 1, sym_identifier, - ACTIONS(183), 1, + ACTIONS(191), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2561,11 +2762,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(140), 15, + STATE(122), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2577,92 +2779,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [142] = 6, + [216] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(189), 1, - anon_sym_EQ, - ACTIONS(191), 1, - anon_sym_DOT, - STATE(182), 1, - aux_sym_field_path_repeat1, - ACTIONS(187), 14, - anon_sym_true, - anon_sym_false, + ACTIONS(87), 1, sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(185), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, + ACTIONS(91), 1, anon_sym_LBRACE, + ACTIONS(95), 1, anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [191] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(193), 1, sym_identifier, ACTIONS(195), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(93), 15, + STATE(160), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2674,49 +2834,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [262] = 17, + [288] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(197), 1, sym_identifier, ACTIONS(199), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(71), 15, + STATE(112), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2728,7 +2889,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [333] = 17, + [360] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2749,7 +2910,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(203), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2766,11 +2927,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(110), 15, + STATE(142), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2782,7 +2944,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [404] = 17, + [432] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2803,7 +2965,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(207), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2820,11 +2982,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(113), 15, + STATE(146), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2836,7 +2999,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [475] = 17, + [504] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2857,7 +3020,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(211), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2874,11 +3037,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(116), 15, + STATE(150), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2890,7 +3054,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [546] = 17, + [576] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2911,7 +3075,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(215), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2928,11 +3092,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(121), 15, + STATE(149), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2944,7 +3109,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [617] = 17, + [648] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(87), 1, + sym_integer, + ACTIONS(91), 1, + anon_sym_LBRACE, + ACTIONS(95), 1, + anon_sym_LBRACK, + ACTIONS(97), 1, + anon_sym_let, + ACTIONS(99), 1, + anon_sym_LPAREN, + ACTIONS(101), 1, + anon_sym_match, + ACTIONS(105), 1, + anon_sym_import, + ACTIONS(149), 1, + sym_identifier, + ACTIONS(151), 1, + sym_regex_literal, + STATE(137), 1, + sym_boolean, + ACTIONS(83), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(85), 2, + sym_string, + sym_float, + ACTIONS(107), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(109), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(111), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(155), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [720] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2965,7 +3185,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(219), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2982,11 +3202,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(122), 15, + STATE(115), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2998,7 +3219,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [688] = 17, + [792] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3019,7 +3240,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(223), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3036,11 +3257,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(152), 15, + STATE(118), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3052,61 +3274,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [759] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(87), 1, - sym_integer, - ACTIONS(91), 1, - anon_sym_LBRACE, - ACTIONS(95), 1, - anon_sym_LBRACK, - ACTIONS(97), 1, - anon_sym_let, - ACTIONS(99), 1, - anon_sym_LPAREN, - ACTIONS(101), 1, - anon_sym_match, - ACTIONS(105), 1, - anon_sym_import, - ACTIONS(133), 1, - sym_identifier, - ACTIONS(135), 1, - sym_regex_literal, - STATE(132), 1, - sym_boolean, - ACTIONS(83), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(85), 2, - sym_string, - sym_float, - ACTIONS(107), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(109), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(111), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(148), 15, - sym__expression, - sym_literal, - sym_object, - sym_array, - sym_let_expression, - sym_function_expression, - sym_match_expression, - sym_import_expression, - sym_parenthesized_expression, - sym_call_expression, - sym_path_expression, - sym_comparison_constraint, - sym_unary_expression, - sym_binary_expression, - sym_default_expression, - [830] = 17, + [864] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3127,7 +3295,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(227), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3144,11 +3312,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(160), 15, + STATE(126), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3160,49 +3329,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [901] = 17, + [936] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(229), 1, sym_identifier, ACTIONS(231), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(105), 15, + STATE(138), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3214,7 +3384,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [972] = 17, + [1008] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3235,7 +3405,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(235), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3252,11 +3422,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(124), 15, + STATE(168), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3268,49 +3439,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1043] = 17, + [1080] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(237), 1, sym_identifier, ACTIONS(239), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(108), 15, + STATE(80), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3322,7 +3494,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1114] = 17, + [1152] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3343,7 +3515,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(243), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3360,11 +3532,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(72), 15, + STATE(81), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3376,7 +3549,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1185] = 17, + [1224] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3397,7 +3570,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(247), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3414,11 +3587,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(73), 15, + STATE(82), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3430,7 +3604,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1256] = 17, + [1296] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3451,7 +3625,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(251), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3468,11 +3642,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(74), 15, + STATE(83), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3484,7 +3659,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1327] = 17, + [1368] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3505,7 +3680,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(255), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3522,11 +3697,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(75), 15, + STATE(84), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3538,7 +3714,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1398] = 17, + [1440] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3559,7 +3735,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(259), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3576,11 +3752,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(76), 15, + STATE(85), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3592,7 +3769,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1469] = 17, + [1512] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3613,7 +3790,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(263), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3630,11 +3807,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(77), 15, + STATE(74), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3646,7 +3824,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1540] = 17, + [1584] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3667,7 +3845,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(267), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3684,11 +3862,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(78), 15, + STATE(87), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3700,7 +3879,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1611] = 17, + [1656] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3721,7 +3900,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(271), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3738,11 +3917,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(79), 15, + STATE(88), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3754,7 +3934,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1682] = 17, + [1728] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3775,7 +3955,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(275), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3792,11 +3972,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(80), 15, + STATE(89), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3808,49 +3989,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1753] = 17, + [1800] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(277), 1, sym_identifier, ACTIONS(279), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(68), 15, + STATE(120), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3862,7 +4044,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1824] = 17, + [1872] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3883,7 +4065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(283), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3900,11 +4082,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(125), 15, + STATE(145), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3916,7 +4099,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1895] = 17, + [1944] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3937,7 +4120,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(287), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3954,11 +4137,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(126), 15, + STATE(144), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3970,49 +4154,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1966] = 17, + [2016] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(289), 1, sym_identifier, ACTIONS(291), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(84), 15, + STATE(163), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4024,7 +4209,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2037] = 17, + [2088] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4045,7 +4230,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(295), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4062,11 +4247,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(128), 15, + STATE(119), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4078,49 +4264,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2108] = 17, + [2160] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(297), 1, sym_identifier, ACTIONS(299), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(155), 15, + STATE(94), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4132,7 +4319,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2179] = 17, + [2232] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4153,7 +4340,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(303), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4170,11 +4357,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(156), 15, + STATE(124), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4186,7 +4374,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2250] = 17, + [2304] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4207,7 +4395,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(307), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4224,11 +4412,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(129), 15, + STATE(134), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4240,7 +4429,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2321] = 17, + [2376] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4261,7 +4450,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(311), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4278,11 +4467,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(98), 15, + STATE(79), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4294,7 +4484,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2392] = 17, + [2448] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4315,7 +4505,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(315), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4332,11 +4522,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(130), 15, + STATE(162), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4348,7 +4539,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2463] = 17, + [2520] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4369,7 +4560,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(319), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4386,11 +4577,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(90), 15, + STATE(76), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4402,49 +4594,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2534] = 17, + [2592] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(321), 1, sym_identifier, ACTIONS(323), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(133), 15, + STATE(69), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4456,49 +4649,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2605] = 17, + [2664] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(325), 1, sym_identifier, ACTIONS(327), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(154), 15, + STATE(99), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4510,7 +4704,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2676] = 17, + [2736] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4531,7 +4725,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(331), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4548,11 +4742,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(87), 15, + STATE(100), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4564,61 +4759,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2747] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_let, - ACTIONS(23), 1, - anon_sym_LPAREN, - ACTIONS(25), 1, - anon_sym_match, - ACTIONS(27), 1, - anon_sym_import, - ACTIONS(333), 1, - sym_identifier, - ACTIONS(335), 1, - sym_regex_literal, - STATE(88), 1, - sym_boolean, - ACTIONS(9), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(11), 2, - sym_string, - sym_float, - ACTIONS(29), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(31), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(33), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(96), 15, - sym__expression, - sym_literal, - sym_object, - sym_array, - sym_let_expression, - sym_function_expression, - sym_match_expression, - sym_import_expression, - sym_parenthesized_expression, - sym_call_expression, - sym_path_expression, - sym_comparison_constraint, - sym_unary_expression, - sym_binary_expression, - sym_default_expression, - [2818] = 17, + [2808] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4635,11 +4776,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(337), 1, + ACTIONS(333), 1, sym_identifier, - ACTIONS(339), 1, + ACTIONS(335), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4656,11 +4797,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(142), 15, + STATE(161), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4672,7 +4814,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2889] = 17, + [2880] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_let, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_match, + ACTIONS(27), 1, + anon_sym_import, + ACTIONS(337), 1, + sym_identifier, + ACTIONS(339), 1, + sym_regex_literal, + STATE(71), 1, + sym_boolean, + ACTIONS(9), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(11), 2, + sym_string, + sym_float, + ACTIONS(29), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(31), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(33), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(101), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [2952] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4693,7 +4890,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(343), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4710,11 +4907,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(139), 15, + STATE(167), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4726,10 +4924,71 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2960] = 3, + [3024] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(347), 14, + ACTIONS(87), 1, + sym_integer, + ACTIONS(91), 1, + anon_sym_LBRACE, + ACTIONS(95), 1, + anon_sym_LBRACK, + ACTIONS(97), 1, + anon_sym_let, + ACTIONS(99), 1, + anon_sym_LPAREN, + ACTIONS(101), 1, + anon_sym_match, + ACTIONS(105), 1, + anon_sym_import, + ACTIONS(345), 1, + sym_identifier, + ACTIONS(347), 1, + sym_regex_literal, + STATE(137), 1, + sym_boolean, + ACTIONS(83), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(85), 2, + sym_string, + sym_float, + ACTIONS(107), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(109), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(111), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(158), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [3096] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(353), 1, + anon_sym_EQ, + ACTIONS(355), 1, + anon_sym_DOT, + STATE(208), 1, + aux_sym_field_path_repeat1, + ACTIONS(351), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -4744,14 +5003,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(345), 19, + ACTIONS(349), 18, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_DOT, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_GT_EQ, @@ -4764,42 +5022,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3001] = 17, + [3145] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(349), 7, + ACTIONS(357), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -4807,7 +5065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(351), 8, + ACTIONS(359), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -4816,10 +5074,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3070] = 3, + [3214] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(383), 14, + ACTIONS(391), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -4834,7 +5092,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(381), 19, + ACTIONS(389), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -4854,329 +5112,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3111] = 3, + [3255] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(387), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(385), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3152] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(389), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(391), 8, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - [3221] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 12, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 14, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_SLASH_SLASH, - [3276] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 13, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 16, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - [3325] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_PIPE_PIPE, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3386] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3445] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 12, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 15, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - [3498] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(395), 14, anon_sym_true, anon_sym_false, @@ -5192,14 +5130,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(393), 17, + ACTIONS(393), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, + anon_sym_DOT, anon_sym_LBRACK, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -5210,143 +5150,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3543] = 14, + [3296] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 8, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3606] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 8, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_SLASH_SLASH, - ACTIONS(395), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_default, - [3671] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(401), 1, + anon_sym_SEMI, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(397), 7, + ACTIONS(397), 6, ts_builtin_sym_end, - anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, @@ -5361,10 +5203,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3740] = 3, + [3367] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(403), 14, + ACTIONS(405), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5379,7 +5221,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(401), 19, + ACTIONS(403), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5399,118 +5241,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3781] = 3, + [3408] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(407), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(405), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3822] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(409), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3863] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(413), 7, + ACTIONS(407), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5518,7 +5284,7 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(415), 8, + ACTIONS(409), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -5527,10 +5293,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3932] = 3, + [3477] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(419), 14, + ACTIONS(413), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5545,7 +5311,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(417), 19, + ACTIONS(411), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5565,88 +5331,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3973] = 3, + [3518] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(423), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(421), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4014] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(425), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(427), 8, + anon_sym_LPAREN, + ACTIONS(417), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5654,163 +5346,225 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_GT, + anon_sym_LT, anon_sym_BANG, - [4083] = 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(415), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3563] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(421), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(419), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(423), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(429), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(427), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3690] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 12, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_default, ACTIONS(431), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(429), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_DOT, anon_sym_LBRACK, - anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, - [4124] = 3, + [3745] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(433), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4165] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(437), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(439), 8, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - [4234] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 14, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(441), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, anon_sym_LPAREN, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 13, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_AMP, + anon_sym_default, + ACTIONS(431), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -5819,53 +5573,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, - [4275] = 18, + [3794] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_DASH, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, - anon_sym_default, - ACTIONS(449), 1, - anon_sym_SEMI, - ACTIONS(357), 2, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(445), 6, + ACTIONS(431), 9, ts_builtin_sym_end, + anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(447), 8, + anon_sym_PIPE_PIPE, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, anon_sym_true, anon_sym_false, sym_integer, @@ -5874,42 +5620,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [4346] = 17, + anon_sym_AMP, + anon_sym_default, + [3855] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_DASH, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(451), 7, + ACTIONS(431), 10, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5917,7 +5655,10 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(453), 8, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, anon_sym_true, anon_sym_false, sym_integer, @@ -5926,7 +5667,410 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [4415] = 3, + anon_sym_AMP, + anon_sym_default, + [3914] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 12, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_default, + ACTIONS(431), 15, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_SLASH_SLASH, + [3967] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(433), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(431), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4012] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_default, + [4075] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_SLASH_SLASH, + ACTIONS(433), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + anon_sym_default, + [4140] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(435), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(437), 8, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + [4209] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(439), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(441), 8, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + [4278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(443), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(449), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(447), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(451), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4401] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(457), 14, @@ -5964,10 +6108,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4456] = 3, + [4442] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(461), 14, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(459), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(461), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -5975,40 +6159,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, - anon_sym_GT, - anon_sym_LT, anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(459), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4497] = 5, + [4511] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(465), 14, anon_sym_true, anon_sym_false, @@ -6024,14 +6178,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(463), 17, + ACTIONS(463), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, + anon_sym_DOT, anon_sym_LBRACK, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6042,7 +6198,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4542] = 3, + [4552] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(469), 14, @@ -6080,13 +6236,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4583] = 5, + [4593] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(473), 14, anon_sym_true, anon_sym_false, @@ -6102,14 +6254,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(471), 17, + ACTIONS(471), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, + anon_sym_DOT, anon_sym_LBRACK, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6120,7 +6274,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4628] = 3, + [4634] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(477), 14, @@ -6158,10 +6312,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4669] = 3, + [4675] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(481), 14, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(479), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(481), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6169,37 +6363,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_BANG, + [4744] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(479), 19, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(483), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_DOT, anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4710] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(485), 14, + ACTIONS(485), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6207,37 +6415,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_BANG, + [4813] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(483), 19, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(487), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_DOT, anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4751] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(489), 14, + ACTIONS(489), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6245,34 +6467,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, - anon_sym_GT, - anon_sym_LT, anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(487), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4792] = 3, + [4882] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(493), 14, @@ -6310,7 +6506,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4833] = 3, + [4923] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(497), 14, @@ -6348,50 +6544,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4874] = 17, + [4964] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(499), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(501), 8, + ACTIONS(501), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -6399,8 +6555,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_GT, + anon_sym_LT, anon_sym_BANG, - [4943] = 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(499), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [5005] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(505), 14, @@ -6438,25 +6620,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4984] = 3, + [5046] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(407), 5, + ACTIONS(509), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(405), 20, + anon_sym_default, + ACTIONS(507), 19, + ts_builtin_sym_end, anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6467,67 +6658,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5017] = 14, + [5087] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 9, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5072] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 5, + ACTIONS(513), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(409), 20, + anon_sym_default, + ACTIONS(511), 19, + ts_builtin_sym_end, anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6538,69 +6696,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5105] = 16, + [5128] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(413), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5164] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(423), 5, + ACTIONS(517), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(421), 20, + anon_sym_default, + ACTIONS(515), 19, + ts_builtin_sym_end, anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6611,26 +6734,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5197] = 3, + [5169] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 5, + ACTIONS(521), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(433), 20, + anon_sym_default, + ACTIONS(519), 19, + ts_builtin_sym_end, anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6641,69 +6772,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5230] = 16, + [5210] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(451), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5289] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 5, + ACTIONS(525), 14, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(459), 20, + anon_sym_default, + ACTIONS(523), 19, + ts_builtin_sym_end, anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6714,582 +6810,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5322] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(469), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(467), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5355] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(499), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5414] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(481), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(479), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5447] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(505), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(503), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5480] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(497), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(495), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5513] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(477), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(475), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5546] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(425), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5605] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(437), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5664] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(403), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(401), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5697] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(397), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5756] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 9, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5811] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(395), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(393), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5848] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(395), 3, - anon_sym_GT, - anon_sym_LT, - anon_sym_AMP, - ACTIONS(393), 16, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5893] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 11, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5944] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 10, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_PIPE_PIPE, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5997] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(395), 4, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_AMP, - ACTIONS(393), 17, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6038] = 3, + [5251] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(457), 5, @@ -7319,58 +6840,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6071] = 3, + [5284] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(431), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(429), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6104] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, anon_sym_SLASH, - ACTIONS(395), 3, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, anon_sym_GT, anon_sym_LT, - anon_sym_AMP, - ACTIONS(393), 15, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(435), 7, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7378,24 +6883,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RPAREN, anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6151] = 3, + [5343] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(387), 5, + ACTIONS(525), 5, anon_sym_GT, anon_sym_LT, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(385), 20, + ACTIONS(523), 20, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7416,7 +6913,1131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6184] = 3, + [5376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(389), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5409] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 10, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PIPE_PIPE, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5462] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(509), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(507), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5495] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(513), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(511), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5528] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 4, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_AMP, + ACTIONS(431), 17, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5569] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(357), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5628] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(487), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(501), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(499), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5720] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(479), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5779] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(495), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5812] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(483), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(477), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(475), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5904] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 3, + anon_sym_GT, + anon_sym_LT, + anon_sym_AMP, + ACTIONS(431), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(423), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5984] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(421), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(419), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(469), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(467), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(465), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(463), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(443), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(473), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(471), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(405), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(403), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6182] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(459), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [6241] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 11, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(505), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(503), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6325] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(393), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6358] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(407), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [6417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(521), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(519), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(451), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6483] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(517), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(515), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6516] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 9, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(413), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(411), 20, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6604] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(417), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(415), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6641] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(429), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(427), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6678] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 9, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6733] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(493), 5, @@ -7446,16 +8067,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6217] = 3, + [6766] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(489), 5, + ACTIONS(449), 5, anon_sym_GT, anon_sym_LT, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(487), 20, + ACTIONS(447), 20, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7476,1568 +8097,1477 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6250] = 3, + [6799] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(383), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(381), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6283] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(485), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(483), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6316] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(473), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(471), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6353] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(465), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(463), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6390] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(419), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(417), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6423] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(389), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [6482] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(347), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(345), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6515] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(441), 20, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6548] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, ACTIONS(535), 1, - anon_sym_COMMA, - ACTIONS(537), 1, - anon_sym_RPAREN, - STATE(173), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6607] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(539), 1, - anon_sym_COMMA, - ACTIONS(541), 1, - anon_sym_RPAREN, - STATE(195), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6666] = 6, - ACTIONS(3), 1, - sym_comment, ACTIONS(543), 1, - anon_sym_COMMA, + anon_sym_PLUS, ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 3, + anon_sym_GT, + anon_sym_LT, + anon_sym_AMP, + ACTIONS(431), 16, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_RPAREN, - ACTIONS(548), 1, anon_sym_COLON, - ACTIONS(187), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(185), 13, - anon_sym_DOT, - anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6701] = 16, + [6844] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, + anon_sym_LPAREN, + ACTIONS(433), 5, anon_sym_GT, anon_sym_LT, - ACTIONS(550), 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(431), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RPAREN, - ACTIONS(513), 4, + anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [6756] = 18, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6881] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, - ACTIONS(552), 1, - anon_sym_COMMA, - ACTIONS(554), 1, - anon_sym_RBRACK, - STATE(186), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6815] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(449), 1, - anon_sym_SEMI, - ACTIONS(447), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(445), 11, - ts_builtin_sym_end, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_BANG, - [6846] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(556), 1, - anon_sym_COMMA, - ACTIONS(558), 1, - anon_sym_RBRACK, - STATE(191), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6905] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(349), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6959] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(562), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(560), 11, - ts_builtin_sym_end, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_BANG, - [6987] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(564), 2, + ACTIONS(555), 1, anon_sym_COMMA, + ACTIONS(557), 1, anon_sym_RPAREN, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7041] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, + STATE(185), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(566), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - ACTIONS(513), 4, + ACTIONS(533), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [7095] = 16, + [6940] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, + ACTIONS(559), 1, + anon_sym_COMMA, + ACTIONS(561), 1, + anon_sym_RPAREN, + STATE(197), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [6999] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 1, + anon_sym_COMMA, + ACTIONS(565), 1, + anon_sym_RPAREN, ACTIONS(568), 1, - anon_sym_LBRACE, - ACTIONS(511), 2, + anon_sym_COLON, + ACTIONS(351), 5, anon_sym_GT, anon_sym_LT, - ACTIONS(513), 4, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(349), 13, + anon_sym_DOT, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [7148] = 16, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [7034] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, ACTIONS(570), 1, - anon_sym_RPAREN, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7201] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(572), 1, - anon_sym_COLON, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7254] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(574), 1, - anon_sym_RPAREN, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7307] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(576), 1, - anon_sym_LBRACE, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7360] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(578), 1, - sym_identifier, - ACTIONS(581), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7379] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(585), 1, - anon_sym_in, - STATE(164), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7398] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(587), 1, - anon_sym_in, - STATE(165), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7417] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(589), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7436] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(591), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7455] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(595), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7471] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(597), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7487] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(599), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7503] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(601), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7519] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(603), 1, - anon_sym_RBRACE, - STATE(193), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7535] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(605), 1, anon_sym_COMMA, - STATE(171), 1, + ACTIONS(572), 1, + anon_sym_RBRACK, + STATE(207), 1, aux_sym_array_repeat1, - ACTIONS(550), 2, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7093] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(574), 3, + anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RPAREN, - [7549] = 5, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7148] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(593), 1, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(576), 1, + anon_sym_COMMA, + ACTIONS(578), 1, + anon_sym_RBRACK, + STATE(194), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, + anon_sym_SEMI, + ACTIONS(399), 9, + anon_sym_true, + anon_sym_false, + sym_integer, sym_identifier, - ACTIONS(608), 1, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + ACTIONS(397), 11, + ts_builtin_sym_end, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_BANG, + [7238] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(580), 1, + anon_sym_COMMA, + ACTIONS(582), 1, + anon_sym_RBRACK, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(586), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + ACTIONS(584), 11, + ts_builtin_sym_end, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_BANG, + [7322] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(439), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7376] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(588), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7430] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(590), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7484] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(592), 1, + anon_sym_COMMA, + ACTIONS(594), 1, + anon_sym_RBRACK, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7540] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(596), 1, + anon_sym_RPAREN, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7593] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(598), 1, + anon_sym_COLON, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7646] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(600), 1, + anon_sym_RPAREN, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7699] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(602), 1, + anon_sym_LBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7752] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(604), 1, + anon_sym_LBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7805] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(606), 1, + sym_identifier, + ACTIONS(609), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7824] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(613), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7843] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(615), 1, + anon_sym_in, + STATE(172), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7862] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(617), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7881] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(619), 1, + anon_sym_in, + STATE(170), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7900] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(623), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7916] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(625), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7932] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(627), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7948] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(629), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7964] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(631), 1, anon_sym_RBRACE, STATE(200), 1, sym_field_definition, - STATE(216), 1, + STATE(228), 1, sym_field_path, - [7565] = 4, + [7980] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(157), 1, - anon_sym_RPAREN, - ACTIONS(610), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7578] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(612), 1, - anon_sym_SEMI, - ACTIONS(614), 1, - anon_sym_RBRACE, - STATE(180), 1, - aux_sym_match_expression_repeat1, - [7591] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(548), 1, - anon_sym_COLON, - ACTIONS(543), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [7602] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(616), 1, - anon_sym_COMMA, - ACTIONS(618), 1, - anon_sym_RPAREN, - STATE(196), 1, - aux_sym_function_expression_repeat1, - [7615] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, + ACTIONS(621), 1, sym_identifier, - ACTIONS(622), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7628] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(191), 1, - anon_sym_DOT, - ACTIONS(624), 1, - anon_sym_EQ, - STATE(182), 1, - aux_sym_field_path_repeat1, - [7641] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(626), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7654] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(113), 1, - anon_sym_RBRACE, - ACTIONS(628), 1, - anon_sym_SEMI, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7667] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(630), 1, - anon_sym_COMMA, ACTIONS(633), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7680] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(191), 1, - anon_sym_DOT, - ACTIONS(635), 1, - anon_sym_EQ, - STATE(187), 1, - aux_sym_field_path_repeat1, - [7693] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(637), 1, - anon_sym_COMMA, - ACTIONS(639), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7706] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7719] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(599), 1, anon_sym_RBRACE, - ACTIONS(641), 1, + STATE(190), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7996] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(635), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + ACTIONS(574), 2, + anon_sym_RBRACK, + anon_sym_RPAREN, + [8010] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_RBRACE, + ACTIONS(638), 1, anon_sym_SEMI, - STATE(194), 1, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8023] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(629), 1, + anon_sym_RBRACE, + ACTIONS(640), 1, + anon_sym_SEMI, + STATE(196), 1, aux_sym_object_repeat1, - [7732] = 4, + [8036] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(644), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8049] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [8062] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(167), 1, + anon_sym_RPAREN, + ACTIONS(646), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8075] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(648), 1, + anon_sym_SEMI, + ACTIONS(650), 1, + anon_sym_RBRACE, + STATE(181), 1, + aux_sym_match_expression_repeat1, + [8088] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(652), 1, + anon_sym_COMMA, + ACTIONS(655), 1, + anon_sym_RPAREN, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(657), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8114] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(659), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8127] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(661), 1, + anon_sym_SEMI, + ACTIONS(663), 1, + anon_sym_RBRACE, + STATE(182), 1, + aux_sym_object_repeat1, + [8140] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(665), 1, + anon_sym_COMMA, + ACTIONS(667), 1, + anon_sym_RPAREN, + STATE(203), 1, + aux_sym_function_expression_repeat1, + [8153] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(568), 1, + anon_sym_COLON, + ACTIONS(563), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [8164] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8177] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(153), 1, + anon_sym_RBRACK, + ACTIONS(671), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(119), 1, + anon_sym_RBRACE, + ACTIONS(673), 1, + anon_sym_SEMI, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8203] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(675), 1, + anon_sym_SEMI, + ACTIONS(678), 1, + anon_sym_RBRACE, + STATE(196), 1, + aux_sym_object_repeat1, + [8216] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(155), 1, - anon_sym_RBRACK, - ACTIONS(643), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7745] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(645), 1, - anon_sym_EQ, - ACTIONS(647), 1, - anon_sym_DOT, - STATE(187), 1, - aux_sym_field_path_repeat1, - [7758] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(639), 1, anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7771] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(650), 1, - anon_sym_COMMA, - ACTIONS(652), 1, - anon_sym_RPAREN, - STATE(183), 1, - aux_sym_function_expression_repeat1, - [7784] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(654), 1, - anon_sym_SEMI, - ACTIONS(657), 1, - anon_sym_RBRACE, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7797] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(137), 1, - anon_sym_RBRACK, - ACTIONS(659), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7810] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(115), 1, - anon_sym_RBRACE, - ACTIONS(661), 1, - anon_sym_SEMI, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7823] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(663), 1, - anon_sym_SEMI, - ACTIONS(665), 1, - anon_sym_RBRACE, - STATE(199), 1, - aux_sym_object_repeat1, - [7836] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(667), 1, - anon_sym_SEMI, - ACTIONS(670), 1, - anon_sym_RBRACE, - STATE(194), 1, - aux_sym_object_repeat1, - [7849] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(147), 1, - anon_sym_RPAREN, - ACTIONS(672), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7862] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(674), 1, - anon_sym_COMMA, - ACTIONS(676), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7875] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(678), 1, - anon_sym_SEMI, ACTIONS(680), 1, - anon_sym_RBRACE, - STATE(192), 1, - aux_sym_match_expression_repeat1, - [7888] = 4, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8229] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(676), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7901] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(597), 1, - anon_sym_RBRACE, ACTIONS(682), 1, anon_sym_SEMI, - STATE(194), 1, - aux_sym_object_repeat1, - [7914] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(684), 1, - anon_sym_SEMI, + anon_sym_RBRACE, + STATE(195), 1, + aux_sym_match_expression_repeat1, + [8242] = 4, + ACTIONS(3), 1, + sym_comment, ACTIONS(686), 1, + anon_sym_SEMI, + ACTIONS(689), 1, anon_sym_RBRACE, - STATE(185), 1, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8255] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(691), 1, + anon_sym_SEMI, + ACTIONS(693), 1, + anon_sym_RBRACE, + STATE(206), 1, aux_sym_object_repeat1, - [7927] = 3, + [8268] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(620), 1, - sym_identifier, - STATE(205), 1, - sym_parameter, - [7937] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(657), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [7945] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(670), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [7953] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(645), 2, + ACTIONS(695), 1, anon_sym_EQ, + ACTIONS(697), 1, anon_sym_DOT, - [7961] = 2, + STATE(201), 1, + aux_sym_field_path_repeat1, + [8281] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 2, - anon_sym_COMMA, + ACTIONS(659), 1, anon_sym_RPAREN, - [7969] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(581), 2, - sym_identifier, - anon_sym_in, - [7977] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(688), 1, - sym_identifier, - [7984] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(690), 1, - anon_sym_EQ_GT, - [7991] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(692), 1, - anon_sym_EQ_GT, - [7998] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(694), 1, - anon_sym_EQ_GT, - [8005] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(696), 1, - sym_identifier, - [8012] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(698), 1, - anon_sym_EQ_GT, - [8019] = 2, - ACTIONS(3), 1, - sym_comment, ACTIONS(700), 1, - anon_sym_EQ_GT, - [8026] = 2, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8294] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(644), 1, + anon_sym_RPAREN, ACTIONS(702), 1, - anon_sym_EQ, - [8033] = 2, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8307] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(355), 1, + anon_sym_DOT, ACTIONS(704), 1, - anon_sym_EQ_GT, - [8040] = 2, + anon_sym_EQ, + STATE(208), 1, + aux_sym_field_path_repeat1, + [8320] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(706), 1, - anon_sym_EQ, - [8047] = 2, - ACTIONS(3), 1, - sym_comment, + anon_sym_COMMA, ACTIONS(708), 1, - ts_builtin_sym_end, - [8054] = 2, + anon_sym_RPAREN, + STATE(202), 1, + aux_sym_function_expression_repeat1, + [8333] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(625), 1, + anon_sym_RBRACE, ACTIONS(710), 1, - sym_string, - [8061] = 2, + anon_sym_SEMI, + STATE(196), 1, + aux_sym_object_repeat1, + [8346] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(159), 1, + anon_sym_RBRACK, ACTIONS(712), 1, - sym_string, - [8068] = 2, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8359] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(355), 1, + anon_sym_DOT, ACTIONS(714), 1, + anon_sym_EQ, + STATE(201), 1, + aux_sym_field_path_repeat1, + [8372] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(678), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [8380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(695), 2, + anon_sym_EQ, + anon_sym_DOT, + [8388] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 2, sym_identifier, - [8075] = 2, + anon_sym_in, + [8396] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + STATE(214), 1, + sym_parameter, + [8406] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(689), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [8414] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(655), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [8422] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(716), 1, - anon_sym_SEMI, - [8082] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(572), 1, - anon_sym_COLON, - [8089] = 2, + sym_string, + [8429] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(718), 1, - anon_sym_EQ_GT, - [8096] = 2, + anon_sym_RBRACK, + [8436] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(720), 1, + anon_sym_EQ, + [8443] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(722), 1, + anon_sym_EQ_GT, + [8450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(724), 1, + anon_sym_EQ_GT, + [8457] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(726), 1, + anon_sym_EQ_GT, + [8464] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(728), 1, + sym_identifier, + [8471] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_EQ_GT, + [8478] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(732), 1, + anon_sym_EQ_GT, + [8485] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(734), 1, + sym_identifier, + [8492] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(736), 1, + ts_builtin_sym_end, + [8499] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(738), 1, + sym_string, + [8506] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(740), 1, + anon_sym_SEMI, + [8513] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(742), 1, + anon_sym_EQ, + [8520] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(744), 1, + anon_sym_RBRACK, + [8527] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(746), 1, + anon_sym_EQ_GT, + [8534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(598), 1, + anon_sym_COLON, + [8541] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(748), 1, + anon_sym_EQ_GT, + [8548] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(750), 1, + sym_identifier, + [8555] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(752), 1, anon_sym_EQ_GT, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(25)] = 0, - [SMALL_STATE(26)] = 71, - [SMALL_STATE(27)] = 142, - [SMALL_STATE(28)] = 191, - [SMALL_STATE(29)] = 262, - [SMALL_STATE(30)] = 333, - [SMALL_STATE(31)] = 404, - [SMALL_STATE(32)] = 475, - [SMALL_STATE(33)] = 546, - [SMALL_STATE(34)] = 617, - [SMALL_STATE(35)] = 688, - [SMALL_STATE(36)] = 759, - [SMALL_STATE(37)] = 830, - [SMALL_STATE(38)] = 901, - [SMALL_STATE(39)] = 972, - [SMALL_STATE(40)] = 1043, - [SMALL_STATE(41)] = 1114, - [SMALL_STATE(42)] = 1185, - [SMALL_STATE(43)] = 1256, - [SMALL_STATE(44)] = 1327, - [SMALL_STATE(45)] = 1398, - [SMALL_STATE(46)] = 1469, - [SMALL_STATE(47)] = 1540, - [SMALL_STATE(48)] = 1611, - [SMALL_STATE(49)] = 1682, - [SMALL_STATE(50)] = 1753, - [SMALL_STATE(51)] = 1824, - [SMALL_STATE(52)] = 1895, - [SMALL_STATE(53)] = 1966, - [SMALL_STATE(54)] = 2037, - [SMALL_STATE(55)] = 2108, - [SMALL_STATE(56)] = 2179, - [SMALL_STATE(57)] = 2250, - [SMALL_STATE(58)] = 2321, - [SMALL_STATE(59)] = 2392, - [SMALL_STATE(60)] = 2463, - [SMALL_STATE(61)] = 2534, - [SMALL_STATE(62)] = 2605, - [SMALL_STATE(63)] = 2676, - [SMALL_STATE(64)] = 2747, - [SMALL_STATE(65)] = 2818, - [SMALL_STATE(66)] = 2889, - [SMALL_STATE(67)] = 2960, - [SMALL_STATE(68)] = 3001, - [SMALL_STATE(69)] = 3070, - [SMALL_STATE(70)] = 3111, - [SMALL_STATE(71)] = 3152, - [SMALL_STATE(72)] = 3221, - [SMALL_STATE(73)] = 3276, - [SMALL_STATE(74)] = 3325, - [SMALL_STATE(75)] = 3386, - [SMALL_STATE(76)] = 3445, - [SMALL_STATE(77)] = 3498, - [SMALL_STATE(78)] = 3543, - [SMALL_STATE(79)] = 3606, - [SMALL_STATE(80)] = 3671, - [SMALL_STATE(81)] = 3740, - [SMALL_STATE(82)] = 3781, - [SMALL_STATE(83)] = 3822, - [SMALL_STATE(84)] = 3863, - [SMALL_STATE(85)] = 3932, - [SMALL_STATE(86)] = 3973, - [SMALL_STATE(87)] = 4014, - [SMALL_STATE(88)] = 4083, - [SMALL_STATE(89)] = 4124, - [SMALL_STATE(90)] = 4165, - [SMALL_STATE(91)] = 4234, - [SMALL_STATE(92)] = 4275, - [SMALL_STATE(93)] = 4346, - [SMALL_STATE(94)] = 4415, - [SMALL_STATE(95)] = 4456, - [SMALL_STATE(96)] = 4497, - [SMALL_STATE(97)] = 4542, - [SMALL_STATE(98)] = 4583, - [SMALL_STATE(99)] = 4628, - [SMALL_STATE(100)] = 4669, - [SMALL_STATE(101)] = 4710, - [SMALL_STATE(102)] = 4751, - [SMALL_STATE(103)] = 4792, - [SMALL_STATE(104)] = 4833, - [SMALL_STATE(105)] = 4874, - [SMALL_STATE(106)] = 4943, - [SMALL_STATE(107)] = 4984, - [SMALL_STATE(108)] = 5017, - [SMALL_STATE(109)] = 5072, - [SMALL_STATE(110)] = 5105, - [SMALL_STATE(111)] = 5164, - [SMALL_STATE(112)] = 5197, - [SMALL_STATE(113)] = 5230, - [SMALL_STATE(114)] = 5289, - [SMALL_STATE(115)] = 5322, - [SMALL_STATE(116)] = 5355, - [SMALL_STATE(117)] = 5414, - [SMALL_STATE(118)] = 5447, - [SMALL_STATE(119)] = 5480, - [SMALL_STATE(120)] = 5513, - [SMALL_STATE(121)] = 5546, - [SMALL_STATE(122)] = 5605, - [SMALL_STATE(123)] = 5664, - [SMALL_STATE(124)] = 5697, - [SMALL_STATE(125)] = 5756, - [SMALL_STATE(126)] = 5811, - [SMALL_STATE(127)] = 5848, - [SMALL_STATE(128)] = 5893, - [SMALL_STATE(129)] = 5944, - [SMALL_STATE(130)] = 5997, - [SMALL_STATE(131)] = 6038, - [SMALL_STATE(132)] = 6071, - [SMALL_STATE(133)] = 6104, - [SMALL_STATE(134)] = 6151, - [SMALL_STATE(135)] = 6184, - [SMALL_STATE(136)] = 6217, - [SMALL_STATE(137)] = 6250, - [SMALL_STATE(138)] = 6283, - [SMALL_STATE(139)] = 6316, - [SMALL_STATE(140)] = 6353, - [SMALL_STATE(141)] = 6390, - [SMALL_STATE(142)] = 6423, - [SMALL_STATE(143)] = 6482, - [SMALL_STATE(144)] = 6515, - [SMALL_STATE(145)] = 6548, - [SMALL_STATE(146)] = 6607, - [SMALL_STATE(147)] = 6666, - [SMALL_STATE(148)] = 6701, - [SMALL_STATE(149)] = 6756, - [SMALL_STATE(150)] = 6815, - [SMALL_STATE(151)] = 6846, - [SMALL_STATE(152)] = 6905, - [SMALL_STATE(153)] = 6959, - [SMALL_STATE(154)] = 6987, - [SMALL_STATE(155)] = 7041, - [SMALL_STATE(156)] = 7095, - [SMALL_STATE(157)] = 7148, - [SMALL_STATE(158)] = 7201, - [SMALL_STATE(159)] = 7254, - [SMALL_STATE(160)] = 7307, - [SMALL_STATE(161)] = 7360, - [SMALL_STATE(162)] = 7379, - [SMALL_STATE(163)] = 7398, - [SMALL_STATE(164)] = 7417, - [SMALL_STATE(165)] = 7436, - [SMALL_STATE(166)] = 7455, - [SMALL_STATE(167)] = 7471, - [SMALL_STATE(168)] = 7487, - [SMALL_STATE(169)] = 7503, - [SMALL_STATE(170)] = 7519, - [SMALL_STATE(171)] = 7535, - [SMALL_STATE(172)] = 7549, - [SMALL_STATE(173)] = 7565, - [SMALL_STATE(174)] = 7578, - [SMALL_STATE(175)] = 7591, - [SMALL_STATE(176)] = 7602, - [SMALL_STATE(177)] = 7615, - [SMALL_STATE(178)] = 7628, - [SMALL_STATE(179)] = 7641, - [SMALL_STATE(180)] = 7654, - [SMALL_STATE(181)] = 7667, - [SMALL_STATE(182)] = 7680, - [SMALL_STATE(183)] = 7693, - [SMALL_STATE(184)] = 7706, - [SMALL_STATE(185)] = 7719, - [SMALL_STATE(186)] = 7732, - [SMALL_STATE(187)] = 7745, - [SMALL_STATE(188)] = 7758, - [SMALL_STATE(189)] = 7771, - [SMALL_STATE(190)] = 7784, - [SMALL_STATE(191)] = 7797, - [SMALL_STATE(192)] = 7810, - [SMALL_STATE(193)] = 7823, - [SMALL_STATE(194)] = 7836, - [SMALL_STATE(195)] = 7849, - [SMALL_STATE(196)] = 7862, - [SMALL_STATE(197)] = 7875, - [SMALL_STATE(198)] = 7888, - [SMALL_STATE(199)] = 7901, - [SMALL_STATE(200)] = 7914, - [SMALL_STATE(201)] = 7927, - [SMALL_STATE(202)] = 7937, - [SMALL_STATE(203)] = 7945, - [SMALL_STATE(204)] = 7953, - [SMALL_STATE(205)] = 7961, - [SMALL_STATE(206)] = 7969, - [SMALL_STATE(207)] = 7977, - [SMALL_STATE(208)] = 7984, - [SMALL_STATE(209)] = 7991, - [SMALL_STATE(210)] = 7998, - [SMALL_STATE(211)] = 8005, - [SMALL_STATE(212)] = 8012, - [SMALL_STATE(213)] = 8019, - [SMALL_STATE(214)] = 8026, - [SMALL_STATE(215)] = 8033, - [SMALL_STATE(216)] = 8040, - [SMALL_STATE(217)] = 8047, - [SMALL_STATE(218)] = 8054, - [SMALL_STATE(219)] = 8061, - [SMALL_STATE(220)] = 8068, - [SMALL_STATE(221)] = 8075, - [SMALL_STATE(222)] = 8082, - [SMALL_STATE(223)] = 8089, - [SMALL_STATE(224)] = 8096, + [SMALL_STATE(26)] = 72, + [SMALL_STATE(27)] = 144, + [SMALL_STATE(28)] = 216, + [SMALL_STATE(29)] = 288, + [SMALL_STATE(30)] = 360, + [SMALL_STATE(31)] = 432, + [SMALL_STATE(32)] = 504, + [SMALL_STATE(33)] = 576, + [SMALL_STATE(34)] = 648, + [SMALL_STATE(35)] = 720, + [SMALL_STATE(36)] = 792, + [SMALL_STATE(37)] = 864, + [SMALL_STATE(38)] = 936, + [SMALL_STATE(39)] = 1008, + [SMALL_STATE(40)] = 1080, + [SMALL_STATE(41)] = 1152, + [SMALL_STATE(42)] = 1224, + [SMALL_STATE(43)] = 1296, + [SMALL_STATE(44)] = 1368, + [SMALL_STATE(45)] = 1440, + [SMALL_STATE(46)] = 1512, + [SMALL_STATE(47)] = 1584, + [SMALL_STATE(48)] = 1656, + [SMALL_STATE(49)] = 1728, + [SMALL_STATE(50)] = 1800, + [SMALL_STATE(51)] = 1872, + [SMALL_STATE(52)] = 1944, + [SMALL_STATE(53)] = 2016, + [SMALL_STATE(54)] = 2088, + [SMALL_STATE(55)] = 2160, + [SMALL_STATE(56)] = 2232, + [SMALL_STATE(57)] = 2304, + [SMALL_STATE(58)] = 2376, + [SMALL_STATE(59)] = 2448, + [SMALL_STATE(60)] = 2520, + [SMALL_STATE(61)] = 2592, + [SMALL_STATE(62)] = 2664, + [SMALL_STATE(63)] = 2736, + [SMALL_STATE(64)] = 2808, + [SMALL_STATE(65)] = 2880, + [SMALL_STATE(66)] = 2952, + [SMALL_STATE(67)] = 3024, + [SMALL_STATE(68)] = 3096, + [SMALL_STATE(69)] = 3145, + [SMALL_STATE(70)] = 3214, + [SMALL_STATE(71)] = 3255, + [SMALL_STATE(72)] = 3296, + [SMALL_STATE(73)] = 3367, + [SMALL_STATE(74)] = 3408, + [SMALL_STATE(75)] = 3477, + [SMALL_STATE(76)] = 3518, + [SMALL_STATE(77)] = 3563, + [SMALL_STATE(78)] = 3604, + [SMALL_STATE(79)] = 3645, + [SMALL_STATE(80)] = 3690, + [SMALL_STATE(81)] = 3745, + [SMALL_STATE(82)] = 3794, + [SMALL_STATE(83)] = 3855, + [SMALL_STATE(84)] = 3914, + [SMALL_STATE(85)] = 3967, + [SMALL_STATE(86)] = 4012, + [SMALL_STATE(87)] = 4075, + [SMALL_STATE(88)] = 4140, + [SMALL_STATE(89)] = 4209, + [SMALL_STATE(90)] = 4278, + [SMALL_STATE(91)] = 4319, + [SMALL_STATE(92)] = 4360, + [SMALL_STATE(93)] = 4401, + [SMALL_STATE(94)] = 4442, + [SMALL_STATE(95)] = 4511, + [SMALL_STATE(96)] = 4552, + [SMALL_STATE(97)] = 4593, + [SMALL_STATE(98)] = 4634, + [SMALL_STATE(99)] = 4675, + [SMALL_STATE(100)] = 4744, + [SMALL_STATE(101)] = 4813, + [SMALL_STATE(102)] = 4882, + [SMALL_STATE(103)] = 4923, + [SMALL_STATE(104)] = 4964, + [SMALL_STATE(105)] = 5005, + [SMALL_STATE(106)] = 5046, + [SMALL_STATE(107)] = 5087, + [SMALL_STATE(108)] = 5128, + [SMALL_STATE(109)] = 5169, + [SMALL_STATE(110)] = 5210, + [SMALL_STATE(111)] = 5251, + [SMALL_STATE(112)] = 5284, + [SMALL_STATE(113)] = 5343, + [SMALL_STATE(114)] = 5376, + [SMALL_STATE(115)] = 5409, + [SMALL_STATE(116)] = 5462, + [SMALL_STATE(117)] = 5495, + [SMALL_STATE(118)] = 5528, + [SMALL_STATE(119)] = 5569, + [SMALL_STATE(120)] = 5628, + [SMALL_STATE(121)] = 5687, + [SMALL_STATE(122)] = 5720, + [SMALL_STATE(123)] = 5779, + [SMALL_STATE(124)] = 5812, + [SMALL_STATE(125)] = 5871, + [SMALL_STATE(126)] = 5904, + [SMALL_STATE(127)] = 5951, + [SMALL_STATE(128)] = 5984, + [SMALL_STATE(129)] = 6017, + [SMALL_STATE(130)] = 6050, + [SMALL_STATE(131)] = 6083, + [SMALL_STATE(132)] = 6116, + [SMALL_STATE(133)] = 6149, + [SMALL_STATE(134)] = 6182, + [SMALL_STATE(135)] = 6241, + [SMALL_STATE(136)] = 6292, + [SMALL_STATE(137)] = 6325, + [SMALL_STATE(138)] = 6358, + [SMALL_STATE(139)] = 6417, + [SMALL_STATE(140)] = 6450, + [SMALL_STATE(141)] = 6483, + [SMALL_STATE(142)] = 6516, + [SMALL_STATE(143)] = 6571, + [SMALL_STATE(144)] = 6604, + [SMALL_STATE(145)] = 6641, + [SMALL_STATE(146)] = 6678, + [SMALL_STATE(147)] = 6733, + [SMALL_STATE(148)] = 6766, + [SMALL_STATE(149)] = 6799, + [SMALL_STATE(150)] = 6844, + [SMALL_STATE(151)] = 6881, + [SMALL_STATE(152)] = 6940, + [SMALL_STATE(153)] = 6999, + [SMALL_STATE(154)] = 7034, + [SMALL_STATE(155)] = 7093, + [SMALL_STATE(156)] = 7148, + [SMALL_STATE(157)] = 7207, + [SMALL_STATE(158)] = 7238, + [SMALL_STATE(159)] = 7294, + [SMALL_STATE(160)] = 7322, + [SMALL_STATE(161)] = 7376, + [SMALL_STATE(162)] = 7430, + [SMALL_STATE(163)] = 7484, + [SMALL_STATE(164)] = 7540, + [SMALL_STATE(165)] = 7593, + [SMALL_STATE(166)] = 7646, + [SMALL_STATE(167)] = 7699, + [SMALL_STATE(168)] = 7752, + [SMALL_STATE(169)] = 7805, + [SMALL_STATE(170)] = 7824, + [SMALL_STATE(171)] = 7843, + [SMALL_STATE(172)] = 7862, + [SMALL_STATE(173)] = 7881, + [SMALL_STATE(174)] = 7900, + [SMALL_STATE(175)] = 7916, + [SMALL_STATE(176)] = 7932, + [SMALL_STATE(177)] = 7948, + [SMALL_STATE(178)] = 7964, + [SMALL_STATE(179)] = 7980, + [SMALL_STATE(180)] = 7996, + [SMALL_STATE(181)] = 8010, + [SMALL_STATE(182)] = 8023, + [SMALL_STATE(183)] = 8036, + [SMALL_STATE(184)] = 8049, + [SMALL_STATE(185)] = 8062, + [SMALL_STATE(186)] = 8075, + [SMALL_STATE(187)] = 8088, + [SMALL_STATE(188)] = 8101, + [SMALL_STATE(189)] = 8114, + [SMALL_STATE(190)] = 8127, + [SMALL_STATE(191)] = 8140, + [SMALL_STATE(192)] = 8153, + [SMALL_STATE(193)] = 8164, + [SMALL_STATE(194)] = 8177, + [SMALL_STATE(195)] = 8190, + [SMALL_STATE(196)] = 8203, + [SMALL_STATE(197)] = 8216, + [SMALL_STATE(198)] = 8229, + [SMALL_STATE(199)] = 8242, + [SMALL_STATE(200)] = 8255, + [SMALL_STATE(201)] = 8268, + [SMALL_STATE(202)] = 8281, + [SMALL_STATE(203)] = 8294, + [SMALL_STATE(204)] = 8307, + [SMALL_STATE(205)] = 8320, + [SMALL_STATE(206)] = 8333, + [SMALL_STATE(207)] = 8346, + [SMALL_STATE(208)] = 8359, + [SMALL_STATE(209)] = 8372, + [SMALL_STATE(210)] = 8380, + [SMALL_STATE(211)] = 8388, + [SMALL_STATE(212)] = 8396, + [SMALL_STATE(213)] = 8406, + [SMALL_STATE(214)] = 8414, + [SMALL_STATE(215)] = 8422, + [SMALL_STATE(216)] = 8429, + [SMALL_STATE(217)] = 8436, + [SMALL_STATE(218)] = 8443, + [SMALL_STATE(219)] = 8450, + [SMALL_STATE(220)] = 8457, + [SMALL_STATE(221)] = 8464, + [SMALL_STATE(222)] = 8471, + [SMALL_STATE(223)] = 8478, + [SMALL_STATE(224)] = 8485, + [SMALL_STATE(225)] = 8492, + [SMALL_STATE(226)] = 8499, + [SMALL_STATE(227)] = 8506, + [SMALL_STATE(228)] = 8513, + [SMALL_STATE(229)] = 8520, + [SMALL_STATE(230)] = 8527, + [SMALL_STATE(231)] = 8534, + [SMALL_STATE(232)] = 8541, + [SMALL_STATE(233)] = 8548, + [SMALL_STATE(234)] = 8555, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -9045,353 +9575,369 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(27), - [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(94), - [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(88), - [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(88), - [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(172), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(162), - [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(218), - [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), - [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(64), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), - [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(105), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(179), + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(66), + [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(226), + [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(60), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(60), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_path, 1, 0, 0), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), - [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 10), - [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 10), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 6), - [383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 6), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 7), - [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 7), - [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 5), - [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 5), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 8), - [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 8), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 9), - [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 9), - [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), - [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 13), - [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 13), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 17), - [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 17), - [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 7), - [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 7), - [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 11), - [427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 11), - [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 13), - [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 13), - [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 11), - [439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 11), - [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), - [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), - [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), - [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 15), - [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 15), - [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 7), - [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 7), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), - [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), - [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 13), - [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 13), - [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 13), - [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 13), - [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), - [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), - [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), - [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 7), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 7), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 14), - [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 14), - [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), - [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), - [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), - [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), - [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 12), - [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 16), - [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(178), - [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), - [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), - [585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(36), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), - [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(201), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), - [647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(211), - [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [654] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(184), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [708] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_path, 1, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 15), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 15), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 7), + [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 7), + [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 5), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 5), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 6), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 6), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 7), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 7), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 8), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 8), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 9), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 9), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 10), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 10), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 14), + [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 14), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 18), + [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 18), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_constraint, 4, 0, 11), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_constraint, 4, 0, 11), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 7), + [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 7), + [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 14), + [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 14), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 12), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 12), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 16), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 16), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 12), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 12), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 7), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 7), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 14), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 14), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 14), + [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 14), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_constraint, 5, 0, 11), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_constraint, 5, 0, 11), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), + [565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), + [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 13), + [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 17), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(204), + [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), + [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), + [613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [635] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(34), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [652] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(212), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [675] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(184), + [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), + [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(221), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [736] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), }; #ifdef __cplusplus diff --git a/examples/array-constraint.dcdl b/examples/array-constraint.dcdl new file mode 100644 index 0000000..5d88109 --- /dev/null +++ b/examples/array-constraint.dcdl @@ -0,0 +1,11 @@ +let + Service = { + name = String; + enabled = Bool default true; + }; + Services = [...Service]; +in + Services & [ + { name = "api"; }, + { name = "worker"; enabled = false; }, + ] diff --git a/packages/decodal-codemirror/src/decodal-parser-jsr.js b/packages/decodal-codemirror/src/decodal-parser-jsr.js index 5941995..df7b840 100644 --- a/packages/decodal-codemirror/src/decodal-parser-jsr.js +++ b/packages/decodal-codemirror/src/decodal-parser-jsr.js @@ -2,15 +2,15 @@ import {LRParser} from "npm:@lezer/lr@^1.4.10" export const parser = LRParser.deserialize({ version: 14, - states: "7vQYQPOOO#nQPO'#CaOOQO'#Cr'#CrO$wQPO'#CyO&UQPO'#DOO&^QPO'#DSO&eQPO'#DWO&mQPO'#CqO$wQPO'#DcO&wQPO'#DhOOQO'#Cq'#CqOOQO'#Cp'#CpO&|QPO'#CoO$wQPO'#CoOOQO'#Cn'#CnO)fQPO'#CmO.XQPO'#ClO0]QPO'#CkOOQO'#Cj'#CjO2TQPO'#CiO3xQPO'#ChO5jQPO'#CgO7UQPO'#CfOOQO'#Ce'#CeO7`QPO'#C`O7eQPO'#C_OOQO'#Dz'#DzQYQPOOO8xQPO'#D{O8}QPO,58{OOQO,59e,59eO9VQPO'#CaOOQO,59j,59jO9_QPO,59jOOQO,59n,59nO9gQPO,59nO9oQPO'#EOO9tQPO'#DYO9|QPO,59rO:RQPO'#CqO:`QPO'#D^O:hQQO,59vO:mQPO,59vO:rQPO,59]O:wQPO,59}OOQO,5:S,5:SO:|QPO'#DjOOQO,59[,59[O;TQPO,59[OOQO,59Z,59ZO$wQPO,59YO$wQPO,59XO$wQPO,59WOOQO'#Dr'#DrO$wQPO,59VO$wQPO,59UO$wQPO,59TO$wQPO,59SO$wQPO,59RO$wQPO,59QO$wQPO,58zOOQO,58y,58yOOQO-E7x-E7xOOQO,5:g,5:gOOQO-E7y-E7yO;YQPO1G/UO;bQPO1G/UOOQO1G/U1G/UO;jQPO1G/YO;qQPO1G/YOOQO1G/Y1G/YOOQO,5:j,5:jOOQO-E7|-E7|O$wQPO1G/^O$wQPO,59yO;yQPO,59xOZAN>ZOJeQPOAN>ZOOQO-E8O-E8OOOQOG23uG23uP]AN>]OJuQPOAN>]OOQO-E8Q-E8QOOQOG23wG23wPZAN>ZOJeQPOAN>ZOOQO-E8O-E8OOOQOG23uG23uP]AN>]OJuQPOAN>]OOQO-E8Q-E8QOOQOG23wG23wP context.column(context.node.from) + context.unit, Array: context => context.column(context.node.from) + context.unit, + ArrayConstraint: context => context.column(context.node.from) + context.unit, MatchExpression: context => context.column(context.node.from) + context.unit, LetExpression: context => context.column(context.node.from) + context.unit, }), foldNodeProp.add({ Object: foldDelimited('{', '}'), Array: foldDelimited('[', ']'), + ArrayConstraint: foldDelimited('[', ']'), MatchExpression: foldDelimited('{', '}'), }), ], diff --git a/packages/decodal-codemirror/src/mod.ts b/packages/decodal-codemirror/src/mod.ts index ec82f27..49a75e7 100644 --- a/packages/decodal-codemirror/src/mod.ts +++ b/packages/decodal-codemirror/src/mod.ts @@ -22,7 +22,7 @@ const parserWithMetadata = parser.configure({ Regex: t.regexp, 'Integer Float': t.number, Comment: t.lineComment, - 'Plus Minus Star Slash PlusPlus Equal EqualEqual Bang BangEqual Amp AmpAmp PipePipe SlashSlash Gt Gte Lt Lte Arrow': t.operator, + 'Plus Minus Star Slash PlusPlus Ellipsis Equal EqualEqual Bang BangEqual Amp AmpAmp PipePipe SlashSlash Gt Gte Lt Lte Arrow': t.operator, 'LBrace RBrace': t.brace, 'LBracket RBracket': t.squareBracket, 'LParen RParen': t.paren, @@ -31,12 +31,14 @@ const parserWithMetadata = parser.configure({ indentNodeProp.add({ Object: context => context.column(context.node.from) + context.unit, Array: context => context.column(context.node.from) + context.unit, + ArrayConstraint: context => context.column(context.node.from) + context.unit, MatchExpression: context => context.column(context.node.from) + context.unit, LetExpression: context => context.column(context.node.from) + context.unit, }), foldNodeProp.add({ Object: foldDelimited('{', '}'), Array: foldDelimited('[', ']'), + ArrayConstraint: foldDelimited('[', ']'), MatchExpression: foldDelimited('{', '}'), }), ], diff --git a/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm b/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm index a8446a411d8664470f3083bd995ed8bb80dee5ce..d178fda3997cc70a3d628781d75e88a208268552 100644 GIT binary patch delta 8148 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 diff --git a/packages/decodal-wasm/decodal_wasm_bg.wasm b/packages/decodal-wasm/decodal_wasm_bg.wasm index c03a15e42ad19b02bb662f4ca27c9e2941dc7d44..2a2cb52730453788e028d31a55bd46baf12bd4da 100644 GIT binary patch delta 91013 zcmeEv3!GI|_5a!XzGv>8x$}O*xfhffk(cQVDhh{0d<$uXWhp*NN0f*7sI-fUiV2Dy z^-!XsqF|!YPiinRNAp!#VOmmQqLQL%qT)|2%>Vbh_Br=4fTr2+SO4G0$GK%Ofjb>7js!&-XnT&_yRq=3G*Oisk#&uZ7-Gp}BgLR90 zqW;$CO`9ID%5#=8|0Vp!)~K@RsVAN~eb(2s6+iLJsngDwI{QTHc3l}l=S=B(pRKJA3Bo_N|Zvre2kZQAtXt);rMsP-$fPCU{2iB1<)oj!Z& ztl5^8xKk<1QRSaqr61K->YwX-^)32Fy;#4mdh}2AFVvH2i~603Ys;BgG z`fmN-YQCDUZ`C*H-1+)0{k(ov&r!eBp8AFUzIOFr)sNLx>R0+|y+r*${|+PZxPDVT zp?|Gk*FVy4s|9Mk{*7LwpVXW59r}8GgZim@L*J)=tnbn9sLRyTdX0WpU9MizM_jC* z(GTh0>Id{(b?DF3E4pm)+KT_yTc_)mT=<)VtdO%L?4BFmzxJK$d#&_)$||?D9d#Dp z%98t3xKr)wp10-DhR85$WJQ&wbSNCjMl*J-rn)LUaDaPqVA#Fvq$6Z^g&J`c+RF;t+PT2} z-mpD(wY%+zV|P38?sjc;YAZRY+*a+{&LsHLnkm!cLgVbPoj5#I;SPvRIBG813j-U@ zjP9&XS>@$+dAkm0!u+vN*5lB($i$QdSg#3SosdeE8#JsFbl9QpPQ4zN_%8me3w5V& zc5jXi-Syilg$_lW@Ezmri}1T7)P2X?uFxE1o^m!V?zM0^M|G#4a{n3|T(K_Hr7hd? z+i`b|@BD?q<>~*@8T6R#0vHgYqtf@IiFSN5Bfsl_(ftWiyWS82@SzE*toakRV|Hk3 znPnxj<+f!jJM5f8+@$N0S$9QzP~~!fJ$?@U>$SQts_q}-pZ_X9L=XY49k&y9xg7$| z44h5;$huHA*y0ks7>C7DL>SP_|;7v`D< z-5(4aQN0bZ+U^l$yQ}Bjd1VJodIbYuS9I!4{H^TN8~xu6%C1D0Fv4}Va+2MdYC{=L zxI0s0#)y}(JnA#Ga_QRTBRIa3%j*+$APPW+(v0%<13B7eY*#3QXAG}4!@EB)jX~?s zn?RUpJk}eMajo&kG{pW}z&UQMbDu4*$)GhbV21`ZakPO|fxHGa9Q59hTbCTT)1?|; zicUc57}mK8!Jt}#%deMC?d4YPtJw0`zTIbH$wZYw-sy>Pj zmV@TX?JDpl{$|RPwLa01Rr2IFvfD}fvH;Ma)1yInq-~$ZK~x;gbkK8m!@xRxXJ$nc z{(e7G&%bRosr8|3*6?jd=pFa*wysB%#feD?~X-3rK%tykrGGUIHbO%q5 z;Va|Pe^FUME@=~}H4KklUP82kG%d6RuFazyVndN+ZN852(vUFgK<@0L_GK4PS|qzF zx}8g*OK|@Kgx5}c$~XDNn&K}e1$m?tjupi9CChs)r#bzY0xbzwtaGnU+c`b~tQuMh zgrcB4s3U0_nHh2}A|CfoRiR0YOZp0xtQLwGXHYsO)5zY9&Om|{jeZtX-L7{pB7wYY zOOg5`&LU-~+o=+2*a1z98_}7wnQ4X}2iTh8WI*<%_xYa!2M7lF=!R4&X z06PuwnW?lJGgYB+1$E9VJ1wF%t08Prs)EjdkQA9)*_{nh;6^EjaU-0mK%1L&j_S#X zUk&k_O?0PswP8|h)}ZqA!6^`*16euSxpGcuCTY+~PfUTZ@oIPapk$NZ4O`*c#XK3x zCJWNYbh?2OJK}5!b;DTbvuEG`XmU_V z7@H)=rta{RvXlO3B!Dd%LG?xx))-A#M|?w`<1Z*QJrbiFqiBd>?4T{nG8(2*#IEnu z^C*jII`v%s)^+MR_@(Mw#9t5|MvN_C{5dFd!fbMWxI3LB^iU@L@J&obi;x+z0~AK> z0^WT6QotK4w!s_q2somhW=F!A(w$Av?8w=m_zv9SSXFb72##rhV=c89EmDa2j$hks zYk!>Lpo(CCs{H|4XC!qXUr1}{Gv!MR7;J}X%rpRZk@i;oN+_EE3Na|?o#3wlR1Qld zlk^@Rtr~K)y3ePaI=H1G911B5x+_V2os>b$Bym4?2#rRJqGg0Qu4vCtB17-P(m><+ zzUTbD6OfHi+Y^A}2Hu_qdl@1;O46uve7iq~&k=;eGyt6DPXjn92uAbc@!yBDUrw~+ zN8vvx^*;Qk!D~;b>z}TG9`K)Ty4cFu-uHU9Swu2n)7}K#^s(PSqtbttb*!1DuBL_FO?&`N$gJ z_a$#Oh%_1C_a|QqT22%REI@?jK*$A=H9+W=T^eR#TF^jFcqf#x?KVD%X%dASzK^m9 z$%Ie)ZTJ-0js``(w?sH7V%uH%9W-b+?1d)ro1`HkII_pv^Oia9tC^hl#X-jW&rlFY zw^*2pboDtnXUro$g2_QbKn51=Ho4lMY&(;|WKoZ^lRkR!-K0b6Y}fOAYbq~LCl@3t5JVx3zZ8DQXOhw{UCiaUZN?q&P%;Wz8?jjC zvvoq)df)A_b%Jc2Fl-I{`fQ!Zvo)@Kws!Yw$b7oYZU~sRKt{<_4W`MCDs-B-`Io}d zTsI&$kjO8y2W|(TVAhugxN2sq3Z}PH+nuelQ?$bg9c&=0*al*6X!y`DfvI;hO}*M; zQxEs@69$<|z_#TJjRngOg_7oR*sHnXa22$-vg85g7|adPJ8-g4apZR zs?K3*Nb=bbO84@f`80JL;J=nmfL~i5*nxi%{vq&N)R)ss;jCHa!(D(B{5=X90N-#| z4r#>v#LQSK8b8Q7#f;@kqVFj=0w)DU&o(ob%`lYwN{WIFFoQ%+ZqOV9io)M3j55&! zr;9PUt@MAnn;ZA6+Mvnb;Kq&+3>(<2?iGV-+(Vn{a(oY?At2CTAS%;8Q8t*r173_S zu!04nmc0Ui$->Cj26eT;EKXk8j8_`*ikU2wP!K^|C-YJREP%s%e1a zn=5LJNDY+D26ytI4YkWuCnngIgP)`{9$Fr9-)nAyE^-@N_QN=TsYSr{9WNhkZqhZj zXuc{25TV*;{G}V)r2zNw!}dM^dLi$-LdWI^&M=VY_(})*(_kO=J}85;F-!VFYubvS zcY|d(T{XF;jsUa;THA8!%$=&w)S#9n4SbKN{zBP6V*N_@al&c@(`YlAzhb zG?I5jQ*DR79@U<6f@*Wm&o+&q3@&0lQfZN^v{?F*;numYPia4hJu=^hKoXzJV7h0h z2mZO{NDpA-^x)*cPog;vvuO^lkB{t;3&WsCU?5S`7ipt^ z+@05TAl-+~oKkiVxKrwP#O!mZ2q|r46636651OP0(jHnR0*)|3&k7s1jEx^m>|l6d zUiW2~oS5Gdk7>Jt8h1ygJZDQVskqqWi$z=o{$sf;_>ZxgW>x^)o?RwmIOx5%htf{% z8k(6%cZLiceefx}EUl6Wwz@%Phk4UUyw`ct3AUo~-!D|%S#dwPHwRzF=^LW$Sf~-!0{6B>HdA_c>*SB=gwUR(t#4=>Z2a#bYK>` z(S3T?F}X#zjoZtDnG5;jSRK~F+r|;6TzFz}UQkR+aZXT-OYxoM{=;~3v$?j65sSw1 ziK>eWS9?fjB@*-Z^ULd|ri4*wDWzHfNz$0qhMW68wZ zS8Im7F)#+nS#cHkXbuI78SXtJn)ku#g)9#)fy0v10Ipt4#5x!*R)&oG9Sa+6pvh84gyrjS{g3;EEyV|E+SMo1|&fz;QRL83GkPuJXeyA6}21^A5or3Dg=(!}xT5#$+aY z`56=41O%=yk>cQx?Uz7twd*aiGS&{qR3>Uyqhf0)li*YexJGH6+q3)boHM<;yA9~F z;R&#K%dl`J3tA9yf$LWm_(iM~77Iz~`FSR#2t8qRHH$=95r`fbBqU*{7abLGg*i$h z-2wpcHLgsXua(yskPH-bs7Sqg;~rlFx3+Y446WlbE|!r&+yWjvhA26YEh#uFqRtvA zxzjsa)Wz}OKb+$~H=N_6@*ii79~@29AI_1FJ@b*(AI<@jKlSc6m4?hohq2g5l=e4#&_15OEg{|bIhV{;fs9sG0j#`X#4n0Cm&VK~R~4-My7 zf9U_&aE`zd`3FOn`olS}WLFv>v%_$XkBHj;yl{@7gZXKFe>g{RbO_faOu$5cI7hla zoWobA9~NHp?-S0E+Fm$EjUUbd1Ls6`C=c&N_GV$p;(>kg)G|O2sZFK}R&!98WZtl{Y7wQ_cQ=w*Na2zXRG@ zTNr=pJY+F^YMsT671-6l?XuXk)}fE?vi5PSPHj*d-Dgj!QG2JmF_*=O?7Lx1NAUBeQG26wszWB_lMJ(K^m;dN+6K9%>i&2dD1bjPxRQrp&P!;-|AQWF1kCE#Y_W&#!29D^F`yX*Y95gZurn zI&^ZFJMFY@s)*~HQ=hv@Wn%t*wDKgNXWE7JJ@=a&E7&iV1P)DH;Kq9#h6%>tRA-pr z`k-jy0-p?uxb>L1My8LwEaa!KtGhyRC!9&4xeCBpo*YUnt!5CCyZo%rmnHE`99b!n zL)~Ymx2Tug_ojbARl8GW3_k@O8-R`t@H;jkRqex6FF>5XrUa&~0T2eJEkO}5z4AdY z4IoVJ>oZystAnn)@1MGh!C75AIRyKuka`2;fS-6aa(F7`PMg`D19aIuWb7WX#h}U& z*3+w?e)P zCSy1i`=>JQ#91TrqrJ<>a3&^?6aI*SAL&Obz={le%Q9Ncf4PBN8+T{UsAI>9=?NKY zN=V`D0A521uLVWZn-_y3dh^WodK2`7q#!+s7(o#bh2#G5ikLh1^a9cD;%+!ST!&|6 z1Zp_~NhEf`Pr3W<>0d?0k*Tu}QDyF(vz?Z~*lvqXZ5F%$Na?Gz7m#77i_8PJr43bCAB+?&ogOf7U@Kchv>b5mzdF!CpHA;Ou-(NTB$ znYNnmEm@pO9jdR z>DaG-Z0(O_XsPy`lMnd<_Je7RV_?3_W=Hu6Ow%==M9LLp{aWg`<( zJMnTUhsO^yN$%uxwa*n{Bpm3&6$V-L?xR<VWk zy%^ujrz5%wTuOYW_fOTk*M5C;p7=WUMqD<&h6Wb{JpNv#n4~G>Tm`^iMw}NBL>#@ z{jUyNOcMnD|-2D+X90{8M3# zgl^mZ*NSM?I3!ah&h%gLlu9!9xjQM>sCwO#bK~;Vyo>wi+?OE)51P}}T2U&2u(yS>!gScZZqBfxmy+l4 zrBluu*;>B0Di&MZ>bawrc0S*KX`f4V>08|Gl7EX^`BBF3Wkta`rGwwwR7qkv*MesGl z^|u5?1KM>`>;U2oY*z=j0owv|T@cjZde^@A(|H=`aF<>@r5-zSfURw$*ahrA(e(5MM^OuC(ZF&p)eJ`$ogq#|}`LfkL%!0xefm|?fDSJn#llHc%l9lBJ>ruts11~v(3bHMaUgeK`ov6VJ z1B4lT&IyVJo$nNJfh8$!iTuoX+*0?3^2ABcQTpV|&%unwG9m=$ArVaevW{6S{Htr#pwC0M9%UUWo z13(t!iAf=#G#b}8K@E9AQ*MVmhvsnyS`w}qB3!dHP)O8I9oBV$$`MMOJ;M&Q@)m4WyLuTn zdfDLvQ9lhB3j?)oW?sX@O;#W3uIw{-+YIGUL&im5IOi#M__vzX*W9*C#~VXbo$1cL zbclY>a<4eExxTM*0zuTKd);4L$^>yQUb+HiGbVx)O1KPLcc^Oec3WSIIxwo3mBkoU zCSREQ+Wa|ab;bhjKf8WG2mU^~;Ij0fCX4?y@n2JuvfL9d8*?>%* zg?%CciTD(z(h#rCI``?zTGSNx-OCP|xWNkS9q?dBXo@6XpwL4?1xz-Xg@EY|E!khp z*()~dfVqooB)k)9biZ}^F+kYMm$#J1$j-3BI#8QlxOdc7SCbdkrH(B!=cc%)FWfh< zym}ViGvZidx=k^b8ypmY<#sf%N5hR^fJO}89qZnB#VNt-)mIKXM)u`p3~fUMVUd&| ztOg4r)0<2rhgtJiI|7_P3!iHyR1tp`zO_eeXy)xC18fP3xPGO_z5dEE(A0mpa#{_2 zC&BJKzysgO6!#16&^By!#552}fTmQKiJs6SSeqRExOJz^;1RHqrAd1mlj?Bspxv_qQW!Z zF1miR==#ua7oJ&GbgjNqsQ+To^$+sbDYx?4reNfUUpuvP3awFifZDYgO`{oL6pAmv zpEbl0`zjn37+~&0*Y28%cj;DJl0}4^wEOpK2j(_Ap@v-ioBEtVma{N)N;Wju8m}|W zATFdF8400AR}-cWC-~$x2SjkR%-b*^;&os`&}@wP@ldpaEn~86EQ-`V;Y=ACL{2@- z_hpwDa*HuP?UZiF%TUf)tGgY%ox*3}A%poBauz@bpsEs=kVL#p`+%^BRD4zbol2zQ zBecN>_%VJsgw2Lo?v%sSh(Kkd&ODPfLlW%`Mm|q9%t|AH=l=K&W2a;lbVrl;=dfR{ z8U?#MTisY&9I6>L9 z)bGk}?XrM%yJ2sFW#{U+=@@w_$=gto9ifxDEOd+s<^~JcNG+5;Q|w@L)~@n5Ewi(B zwdt&*INUawqOry@gGw|m;VzYauBqmm}qq)p^Kc{8_(U|&k zr(WIu@Pvfy#=Wd@_!-a@8jYW3kQD9yK}NJF=2TOTF*ILzKnzXg%admw5CNimdGb_H zH1gzEK@sxg5px}KawH{;TZ65OWD2#~7U+ZV;V!*_zk|B;I{ey*BYG0Q&Y(`cmSruQ zJ2zLIYXi`O_>d*AXPDQIDQQs+T>s} zHHZ#0Pnuj$@+3aDksW4B*kE7B{_+ODycXQPM6v6>uNGqi(((sm@lQ$y<|sT2&btH3}|2RsD`^XrgJP)L21LOX&Kc{W)=D9s3L z!>4nUU6(0Kaw=6q-*p87A5owm_wzs6DfjaLW5ynQFesXt%bK8Q%)wPb(V%xlPy}|D znrq9)i=U{e7%z_A%Nh)HsRO`&4ZOf!`&=?vK3-+oAYh9B*|ilBOCcpWZ15B%StBVp zMSS|Q598P}UQY%`x87&B-fg!nYsqHqf%n-1@3vc(L7cT@2c3YsS$oh_y9rqt1aIh7 zWk7$G9I>3NjF6a$DcGcgB>7n+zedRTCII@6gHi&>36eXUX;S-q9N*4iFhA_$3LnRi z?hp@9GJWwd;68i6-FCB&hvNf0Gy)Ik1~i#;3@FW2YzvcJ(H9xeDORSDKAnFU2)h`B z<0quhfuhgmzxrk3#OIvte3p8-GC%&6CF8#x3h0Y=<^Jg2y>ieTO?E5N6SQSosL1-_ zt1qZ!KBx;6iOvU=n!hiktOH+5T1sZ@!xXI*33l5u&3RWPG$w`^_RvRFnV*2hgb<*% z%u!tiuG5dJ!T$+xkfPNe;DYv!GTVjmJK&;Orf9gZgNqSn(iRMwks4NBYQRxN6N-6M z#aN5kao`tD8?odt#HgUMPde?VWpWK5UPZ$TT0`=(29ied0YJWQ$2QtFQENGj!XTsL z4idFu4Y50;0@xZHBx-F)SvinCGQ`4Vg5-Wdj#fHHN<_4g(CC64JB3g;pclACF93bi zj`=;19QP)1C3|6P$nruD%C}85`}usXS%of?7w4Ll#3+($7ULngW+9ck@j0q{Mm`4PH#`xQ z$jGSOV;-o}_^EibCHGFC|BZaceAPE`3+Ba7&4RCQ7+4PN0#O1O^*T8);sGnK-4HYC zJYW$D5x?a{8KCJYoVA*HmIrpk&Of&_7{j#R8*A5GFQ;n4LQ|v&w@vO3kds ze2>EDkx~5fdVMp?DE>J?5sLqv`*;hZZp79Q=WO>?-yjQ!HawHI`rjB_9iz z3+8Q2d@w&q+cT{`$g;|zL5n8nHl|gq#I!0mCKr-X(ae0fKty2>(ZfCwE$jsmJ^X=0 z)R%^Gq45v*C8CG7M??jbNB(h?qgOkit^lu){Iudf9I-eMLsXg197Q%f>w&-mak1iq zOnBahwJNm5y@GigUJ~0IlZ{yReY-H`K{4c;*ep(o5%Nx3{m%h`8S;A}C>rwnV^GAC zzm;o4e(SN&NHToVx9W3G2IPl5tdz@!?Al7m4keOZtk|5VXFiZWc#Sj8^)i<!TeC7CDrd0wPm>73XE(2#TZ>bB=y>l;^J1Lc72Y1gCPZ^Lt5=d{i zz7@Ef+GPyRf54|DGfDqzKs+=zI;=N>q7jz4mxHnyz~_P@9{s(!4l&^^<$93?B+6?I zXx^u6WN#JE)N=mr-ldoD7HDfRex2R1Y$}vr&|Dl90U&2xAAoBBxF#q9fXmEv$XV+9 zpO7z(gdV7@z8Y)J2l$-;%nEJDoTSlSY&oFO8-A*y5sKM?7>_?R`Bem`1&_{)U9 z=9OC?0Pkng*O9q>tOO=vU>`~S_LLr<7Xe9=(&SqU$&{WqiX94l{8@`|03T;S4+Nsm zX$odOjlspk`Fr`Qw%}g=!rrE)EuHJd$|V}#J-BDy7g-Gb^*NZt&C4o65YXcAD#izh z4vMtiaNhbQqj7MG<$q=xv$Z;m$GUMPs*W$a~%ovzT z%zpvHCpP2wOv>7Zx2b37t`O%F63`7CKlWmr3ZzcIWBmK-f^4fj@SLn|w;p-NIhj^W z>0&uinG|$v4Ib?A@X(w8ES!jdmc)I7snP(pgfoVm9NI!tnIrEw7Y^?McIMnnrrfse z%;)S@yX~|5Gr0vh1>vZ1Hs1@fZg&>_7;$9Gsv1-*4=QqY%*@Ru3+qp1%O-$<^xIDfiPh-u+B%IZwP>MX#)*`|TxYMFqcXyCX!C<2a)gSi=e_&7OG z(+NeOsHt;YbAaH5hkIM#0@#+RBG|r{PdAGg2Qi8P9vfb(gYZ6PmNh7`HkJbP-4c}t)Ay{-nKAaA>ySGj z0TTv>ZXkXZoPn4FQLEc)W}7B*EpqCk2xcsX1S^S48H&qAb!9i1r9|j&E+yhrLBEgU zk`MZbFPaX5$vLaf7J7&dLdN>0WJw<=S#vW10EDXMTB$#S!_!!#B$ou(7WxKE;yJ{b zU&x-E#%vL*hFm5Sm^gRD(hSbNh{{x%Hf>-S(j(XhA|n52e3>@>u>nQ0@&uf83D4Up zhX$VqESSpSv=S@<;r?=!kpqc9e4t4p$($91TLFMJmQ{Q&7hlG-bvbCs7B^o5M2t^+ zqH4jWOWaYvXsBEs#KNMlSZKeiY4H`c(dExWZ(MNK%9V$x+!MIQx}#KyD#4lyREv28 zQG?EQ9>BLg_<;{?0T?$e8h*~kzXc)GrO$p)sc$=RTQT5_}2oxHLBt99lPB>P45=s+xUl}QxF z@QEoL;fJO)58J{mtR>kAb8CN|CXD!xbS6#{V?YLR$;QMe$9|oBka95~4Q_5@eJ<&P zgQF3OZz7D5z#9-+^C0XzG1V&10R+Jyx9#BcgyL7RrKIp`Oa9fNObg5Bf>&W`CR^MY zf2z;*8I?gkNO0K{x7%3UZezaPPj^@7SQIN|#m_buKiiOhcAtqUgs~LC0EwM!Fh?~} zuu7M(d7%J*eet{XCGQTwyO^05f405&)w<$W>q=hjz^ga{MN?BxvEARllytxL!YsAQ zedUGE?OrB!e4w%U%TYj#Q_=YPapdK)%d7^WglE3^>9!ZvI9zkrB`bsvs^oJ8vbx$4{Xkr0w% ztsuHxC2QQ5H?`&v#a1B0dXS-SVM1l_Q^vx)=3cSf14tJJML;@Fu6e2f5sTB0WK8OT zFuy7wpH@`ibc5p2Y|51DWZIqm(mpo!GYIqbd15EOI_*CGQbtv{Z@zRUkh1<|$G!dK zk#cn${*L|gKDc-8pW8ITh_CuxSNpWDzIk)QWaz* z%*oy=Va`e2azAl!D&ZddN?V=0VIE`T8kXY9l5zLkS1z1_5Wa&`QJ|TTi2Sh=9C!TC zFp5h!efO@G<%~NZ#RXVAQf3~(&%{)mwk4Lu3Xh`6(;qaP^22^D%|Z1Bns%;!Eq{mJ2&^zZ%;E63%1!MnX=)j8MXPoRxBH zyLQU_r!fi%=c#+|&sk24$FwV_+`p41KwNgU4uD0Q#NwpNRAX{&=1IIE^Q3A-PbD*; zfO5N9taKpPY(Jb6(2kkb{WYLk!vk*wMNrnuYn8N8Sk69 z0KURz+pRnAEn%%&gO8%w>&-R8OL0tl?|?1e zBS(~1?BYJYrQ@34=x`+hzIjT3rudwc>~KfEHAuDdZw|Xe^EYws+9Yl-%vT@~coKED zb`YmLDG7D09Rv_g;=VEMAmVls&$ovMlUEof?cf~uNtj9F3ZpoQhZ|`JCi)~E$*dim zWI2gv18OJ5E2zPoc5vGIBpv{y9qa^|#It*}ljaq)nRcpp1zn|`YF=R{1qOjvP$ZBs zyb`^D^KmCJiHYVce-e+n)=mSjzydfVgje7x&1K(7^Z_G`k5@SauWJV(?vohRg>25e zf?JrsWcu=+vLMkICsJaIf9T|7 zK*5_2X@V~Hy7OXn?Fv|^;b#HOn0~GU+E70+xR{&zbY>ecyF-#%fFR}agoN6%B@37PrdkfI$|7M4t8tbeHKDm9r(9)g~~@qDsQ~HGoaZdu=z>l5;|LjJGec!*|R@ zK8&!l53)rNgbxJ(!0(4c9aP-Xg=U$x;A zSS|J6H^(5u=0^3n9d&eG{_zj)rFZ$hsxt>VPTDDdwI>PCanfH3KlvJLH;hPlzh7f| z3QQssh-?Kh6<8*cup8pqPRgy7z#7x#AWQ+tJ-VF@*Y~nJ=x}-ldJ5-wJd1(EuO)u{ zwC6cvRn2Y)@WD*o3>IE1^4V)l4Y^iF6oW40%XTQ8@Xi~n_RGN>HV8~-i|~g}c7)ow z2EZ#_YxY+Pt;i~v3>Ox`xK3cftifhrsVY77TB?G>$jnz(s)ETwNOE#KJ#7E7^n-w{ z9XpS+I1L8Sw(DNbu>zw^wrrttGw$=|CJECC^F+w>AE8)L^$MR4Gerx+^$cW!5YG7g zau`n#8=Eof6@bR-z7PpO%16qBO4i2UB*5lfLX@q{Xb>VdigN)j?L9tPHSAkr@r6Q) zak*(Ox20tklED&-zucC_xS3@RTrrpt4lM6i2daU4n2rP8r5#7?KBx8-Hu5Lo@Id-m zxZ6;M1x)qqM3u?mm`pSa0+&Pn(CFqH@~5vkizKeikPu1KAO;K~fsI*m86r)BYL5F# zY!O)mT+*Ez;ZJRb#0X52ykh24pi(?KPj!VhH0ew5r4Ozz2`r5%U!IW6@6m5|UO9e)(lA;Z?E9J&+P@nk_ zg^W=rj{=FlIsxrbXyb@P4sQ%?;U{cE7$Hn5Y}a+^NBIl)h6qc*Y5=8hluf(w^vRIZ zVP_J%Vbp-MScy7T6{$K79jp3Ee?$dB#}Oz-Fj5L&nNfSMje-^kLr4VwgiT03^c;>c zGa*nv$sO!42izn8_wC)2Ezu zdr&s>r<;Q!tf6bob=XPlWz7Zj;~}We#!t8_Gy^|lxW^X4kh_h;&X`VptOzP_Jcr-L zN;-a8A-C|;n33Iz#hsGQUXpb5zcZ{WBG4)@ALX641Ih&Y&4q@+Fal!U=@h6#<#z15IR4swfz@B6{9 z8=84LC>ol1Ehw5P_lrT%kjyhd5$!xB*G6!y(Gad6`Bf5PQzaob6#UR?46unfdvt2= z_lK&w+#JNWC4pZ=`;_@zz|w;+ALB5RjJ`=i2K$-^ZBPXxG!qGk@|9rv<>-{2pbid+Odfe0Ot2xug~kXomg~)>IYX>h^EcC_5o;>UML9*ECghV( zPbHlY-$lka&jr9fCNqT#1xu1?2mq|ue!z7rv;%WBz4Q=NBCgN*>EK-XLi$0!8;GciK$#-DZ}$i)!-d4Rwajl+5mzWh}`~0O@pwyysbQX z`?fMZ0j>=`0S+0xjoCaYZ#F{^F@Q{Tj&C+&Z2FqbsOoDrqpH+wM)16zkOK|ii*rfE zvhImaqP$%L7QXRPiyAJ&OoFa9+jP|Mj_@W5@9=M*m^m5i;ck& z7mK3U5`Q{xiA%~Yn(BtH$!ahpD*O-7R?AyaWI~@pO(3jHhfKnhyrGV6jwziw{4W{m z!*^(?r(k11S@f~cZ#Y8L7g^|_L1W(DA~wY)neND?Oka?FD$XO@iAR~+^b|cN!|%^> zbl?mDGW(qb+Yx*v zPJ*(2Cjt1Q-$?*o>HW8K5LSrHM9tCR$UTJ@ndpIfaYu%RS>cLsm^t&g zX-nS0wgv`c#?0QmiK%+}mbeoz3_tG-cyyI4`eR+v>b_$xwy$GTnk*-7y0#bVJ5Dc` zf%zPl7~z5E#y&gPbQX26F>pRtSmC4FiZ>;upch`(EhunzW+QW3&|B_DpoL5h7NhBY za2j3q+@`O2FXt4CJ}^^Rw2c(I9+k99EMbuY z-Iu+k;_yUM93bq{M)a<~r;%~`h}-qg^O=~c@s1gQl`2H~f*t+goNI;?fG{>09?&f} z^;*t|^f(E!g-_Tl`o`g6#v5UHj|DC`jOjd0Qx`$VKt5QSRnKtH!E&+QcWbiqO$ddM6kT9v6m6Myx{w1a~6?`_olsvNm*uY?S1jjQ9j>v`N6ftY8_(Bw9#E5E`5VrFetHf zZRvPSL|O>)R5t?#7-E10dRb=*-0lp^0R0xZ-ASnMTo$?AqhLV7Awe!OVkiSGLE zX(KDk`9LE>ZtP0@@p(k@X)>vzDPyn%vFRLtlMI)sNWTcrsvtLQkc&O4hB3*@;;D~0 z7n7_zwT&8(nW2!NQPhD5K|3n=YK-(LVX1Iux7kXzz^p8XC@f%pTpSdQ zW%7QJW%9OMW7N=xCl!Li@cWp=!$qCP#8_e92{;5jEKshra@jtH-8VTJCxPvP%{UZS z#>SxS0@2328$PWX$rlJ{BE>8ZntDNs!A?oNbe{F-y#GADPXYEM@N8@WAPx(I2E&w= zy^JGMVqiuvPF(mmJwVW~;vPMm+QQ(J5I5>Yj3FwU^|Q~Ga`w|A&#&Q3yfwgkC^S4t_UXd`P39H~X;ImoPqr4u|0w1o`4WMRsnmZq(hMYejx zsLASaZP&gSF0mAi>4QdS{jd&iHyCpW)^K1L(hv-69+ikE#26fj!)eIw;VhEHRq!f~ z_l=>1{Uwa1@Q;*2-^oY52?<#OkQguoT83WaK_N3JSDcOn3ha7BK8a#gBgN43bDLhOA~5a!&W-|KVsJ+yAeR56;B~uWZO#k zE+DozoC15eFq{&g#{SF*CUJOzLXmNZ(!H&?eh^4)*XQILm_vHY3tkWiEa#kWI>#0A zAOZ@}7u<*q-bC00dDGtl1uCY}i074tMc_U#GYvyqk=FnKanFB{nZ``Bgpb?xRO&pF zng(nR#v_Q`84C;vr2%n4RY%DIEW`w!LLX!sVLtM58~hpau^39rgCzp#Cqm|vK%I}d z2+o+3L?trkdhn)R%Ndy-SHhy&%E@s4Pb0U0+fzOixiXc)@j3y4$c9T_nkXW^Sejr& zH4sle!Uh9`DfD|F`aKXa=b!XIaK{H2v)=>pZ{vZeD;%v##A_9i((fdPPP+MZalh#d%MSQpEk%9Cybic;bj*X{BVMi z-D!FV;jdq$vng3(`HBPyL>z7tGhZy)jf?aY`D)`!#o?vw7M583r%j9iu#9S^P*|+9 ztzB4=$8~76M(%i#r`ntGE#$#QHZ-Qz#=1|i;4PcQxxAfUl9RpS6~znQc`OFIIP<6u zmcX$cS$aK%9!`27%eh4nspjB%1YA6Y8cCF`;bu`uoXYfj2krR8B=H*&?q@U=-m6*F zqQc(3Rgy;_xy_0ivp{6RqywG7va7$M##NnclFm_Fv6^`VzBEX+c#l-7s(r{w`M@1| z>Hj8PNJk%-iqc~jah3qNNcqO4o~#5{;H+LapVn8}pv%h_hKqvLbA!GK7I8LRNOC8O9=X3t$X^C4)sQpI|_( zd7=yj>wZ`{Avtj?AYGbZbMvxU{tFgcOkGh}P7YB4U{COZX&^MxgrE?Q459&49js#_ zHn5WasQLUttRTr@azMdV*zhl$nE*<3CMAPxrx;Mfzy%`sl0M_A1g{Bnf{ zC!%0KFHb}XIGr0>wH;@G3dkAJTI?2=cO^bW7sU?{2_PNc0{e+jSttj__<&(eky1kl z69y#E=gk>{gg{9{(5E{{Q|i56r%uk9#b=CA5g$N&$@YK1-HIc>!5H9g?DNLYU|hAE zMQKFV+1WBD*D6Y`UC$1p7wj^#SOszt#;f4(B9)1A0V@RFB0XdCKfVJXr=FX;6h&U@nI0K~oI}EWg3N5q}Uz5#@2;DFvE@67? zp+=YTVR{j+otjZID%IDty;w{&)kXmuO$(;%ws$x6#rm3LDpZlz#4rR(74h1ks$C_$ z4ZA>*;BaKXX)++7clE$(a3$%#fE`u@*r^n&$e;&ex53LqKsF*bDKd#LU>AS!68?f^(~S55M4MF+ z%4{Tk9SuGT1{djSF|2q2lxK`Su@E}-?xqo=E%60hWR0=Ofuux$)dTaFxAN=#<_17E z_4x&VQ!n(+=LE8nD*1-MKmIcL)0z^-fy*N&3`N+Smlf0o$DtNB65u;Kn>-w$L%5m^sl`SRt%B1WXj@hA zlqNa+Hf2{)K-pE9l=tj#B9bc|j4^bC!(rrdI2= z6A&761(=xMM0^q=hm5WVtI0a|hs`p{DIogd85{XY0)YH!VgDraLnfI?kQ!*Wf0Efh z$?TtG_D?dYTWJ>cPcpH|tbdYe+*z1<_D?bc8}gH%WHJ)VsNnyMSpPoZ2&dD$dIB{&>9FyJy~U>Q$Yee*>1o6=%^&#bSguY_6IE6?;i z+pSbM_cGIJGRnT(S$GE=2N&=}7N(0&Z}-khJcFdAoA~Jce3f~lw*M$R>Q2&Gl5cd~ z3cT9x%n4qVg%NM+bX8vf%9}G?9nvt5PmXj}!FztXI;C8|dX%>|ct_1p zUr`r%y))E)YK9k?sc@i^H)^Ijq>k%jA$*>G3?|X5Gu2e3PVlzOQiB?B!w9f( z*)ZJ_O!NxR#j@e2E2ZXoBW9}u2Zd!{I}&orwsv^Pah?WD(Ce=2MVt$TD(zbsZpxdJN_(nz50!(&sHbxT;@M>DP1y9(rcCJ z2QIM>E9@l2i{mXkTP?vWqrRp_Po$R~i&|V%TLjo;4TqihDk>fWgr}e-Io<`wz4=}o zv?llwx8{BZMc&G<0nD`q3GWCJ{_r&n!8*_Wx@yGFo?llNRC1uO6(Z!U!K!llJ@4mV zSJ&a*$=^^T>Q5x$x}I0(sgzQ6-ndKEjo#vK zsRp`xkozA=7qN^_$FBF@9M!1TY46!f)nIS$^VGhox(AOBR_aCXhV#`rz`5@NH4o0S zLVks?mz*nS5A8Eo$r(0SGUWY71J9h4R!hm7beTFpUEzKEGS!K;uDBdWwQRZ!Zg2SC zLc~%vX|vYm!Ds8dVhO1f@_v*g*Sy53;C_a-%V$EX0w zPQO`wqvn+Wj{ph2du$@=A3h#jw$1Q)7{2fH{OWr3nEI$=Sn;nN!>AcUZ}ZLS%W8{v z_)=A;HhL#6h3eYqUA+{N?N0BprD|vbK_l3vJs5FRS1eccUi~dGrt-nQmssqm= ze#X(}!ML1UtHo*0X8dZr81=q<8)WRHTh*t_?qmZv2`qi4cipWxTIeqClI3cU_tvc{ zTR}#J1p%)U?$>)eEraCs@1MC$4Z#3iZ>kp!>K-+qon$Vnw3MP##U5CwjaeBD-#qY`o@z@}5 z#dp<^jM16Ew~a&E9YrM@;vxi&6M_g)>ASow--U#z_lDfAhUvSMcg1&6n0C7u9E(v0 zfPZ$ont-453bl8Yk1ceLgP6{Qz2Ud3opDz_dFu*6ir>-KR;axu_R>IBes(XX>CLofLD!Q?<&BjLa=g0A;H+D5d*RQ*X2sD(Bx5oc^ z!Gb4mUAO6iS1fsH`rYd62Ht0*eQx&r{cfezXZiVL@cAY9e1-XZr0{ulP65D$0-&C2 zmtT~{lXm`9m|c9;macf8y+@ro`eQ)Z0>hn}yNUaa$)q9`X ztzx5DwkqQi*7_ya^gZ7wd10e}WbowPPb-#K5&usXq zdJ&Yl`T;eR#s*fY6A}=BqrG65rE7a)KUdc%b%}S`gCg0NJqY9HMel_N)tzzbi11$4 zVE4;!)_c<*Q4QWtA5t~yLGS5@R3nJgw3e17JE(|+vjyG4p{icx!)k9da`40I8!*Ej zd03sSdc9GPsJfbapkE9G$P`uD`oOAJ#Dt_4PSENeY<^gnj z$9SphdHVrKD?HftpqlY-fu8ar^mx;sQr#Hc-#?{>s%yP*Yt3c0dxrmB#T8~VGoMg%0|VC?gF3t0*~IHrH~92SzRD}VQ|*;2y(e+f$@Eo-#|twO!Lljv@5AhS=}Poq7!<_c z5zQfivy3!V-3)WB#WR@U&M-eG>2dr=01uaJA_*251Puw7iOMB%UUUz$kifv}y;JSl z8If==WHX?+bS%bccj#%EGD3P1QnB%HCutKCNi47fzZlNulejIbM6HVkSQKHgUD}ak95O;`-Q=BC*<_r~! zkpRWd--gSCw|S*PPCoRCH<#e1SN?s_!_#-Da__VssCW~DX-d94l27gqWH0Hsbza1x_Cllslq@f5Nl-FW#02Y zP??ejZN4@b4L1HzTr(4Y=sVZqdFNWlIM=-8KUAI7Wy`Wa?<$Tle&K>C^EUrbbu|gA zLhmr44$M$S<6x|y$$L6qfV*w4IZutJS%q`=DlRhC74weKT(Z-CSqfEB7_T5-A~p=w zc~5yWUsNOYx1REDeo;M=Tlnk)2m^EGKmP!P9Iej9xN_Q@HTjCiSkdZi%2#au6Dm5L z1bU4 ziuz*BlQgHx9P@+cb^1o{pjXwm;-)4&)_ZNUDA3B+#oIXIFQQey^cP^T&Rg&owF1hu z^xn0vspD0`d;c|YC5+sRC*g3~tnMs4IsSF2ob@_rvEIAwb+yOmZh_;Gfn=B;90`;J zhn;XLg&O)NL38bT3N;P|2Bb|$d~M-bX&i(SJOm0c4~6Bl6mR!8fSz^UF>mbHb-45m zq0cAY5ZB>OZ%PM`cvE%k$|(~Xq(3mkSjWLuCEeD(K4Y#ji;qLqK zf*n4v1!}@MrMn_*DX(^m`W8&q8@8wgY8P+VTk6|@=#jVNJ8!+EI@G$Jf&UGw7B{bb zTMgP*l&DNv5gsRj9p`2KMHNFIUGAgbNSus&#=Ecr*LjQI#biiIwcdO0Vk)%G zYxt|O8;KfBqAbA)dYu2p;eS<6>$RJ`;eS&Px0w@NBZ%)~Zr66_cjx!g#oA7b{ySdP zR`fmO?Y$MdT%^?Cowij~qw2h^`1p5v?%1jhQoHtTmOgZ{2= zS7_l^@2i%E@9=Ioy`k_Bh9><;>4&eLsE<&WU45-?A92;spx>d<9W{G|y6TtXX5H_^ zXR}75X1LU_1dD;CpI!Zi9d$q-NW@6E>(boOu1)GRM)BKslq;d;zk-US*{&r|m1pv+d%09%#)J zj+R%R`n#_64z1M3?XaN{lwjnb!jbPo(|St$dq23}a+=c5dY7j4KJiCcYDH;n8sqdU z?}fD9E54DH15w#trMt?+32bKeCs*m+DlRSR+y&CPfvs{LUfTFXg5&I=1pZ~{+_|!s z45x>N;@r1^+N5o4~rG)(n{HM;M-A4mg`-=a;C=6~4t=LywYBH(9eQ8Ii+zXcJ=AW?pZ5vaX~#b) zQ8Gfk;y^)DCV3a#?YU)F-L3TctzOk|UDv#ED{vl4@7c^%6$L|4c4=A8=B?hi;kv$g z?t8djmcKto`}bG8=gkoqHXkM zkI;vxyL#>)q2r+(k>V`66K~Ww@8Bm*`Sw3ovClvC-JT0Sr90>!_}=dNC3Z55T+&Db z4whcJhn{0y+f<_Ki_~^JP}@Ip^eBo(M-NRIy^HXBEOx-EI#`eOt~*%AtE()f zL*Ym?7EhFwCsP%bY43*z>w&watEy{|&>CJbA|;HaWQBsl0hde$UZ|dqYt7mkZ^>tM zOR@%IBl#f@MxyZHhv=5-;voYzCZuY;FCL;lt*X7t4%53*;7QKRv7S_D?P7wQ@a{TP9}tj9RLCTD zm_ARHd6yifA8M8FRI&$HGR00>UcoU5gA%^O?!)yZwMM3(>=RBD7d@Hrx<%DqgU7h1 zfyN`uEHe?B^l5!z$(?rI!DQEa>C^hw-HP8C%{wyXiXcrU+CpCX8Ge(rsUJrV(tr2v z-w#Oeub(Npes4eB6x6p)C_J;*1l`g)m7BoFjSo#m^1_fzQrY4L)8fnt7>X(0RTK2? zK?A>>pa&1d{4L)hliwEeH^QJY5u!y*XP`-?r+RJs>rBqH$GdR4h8(01Cj6L3h110y zMYdpnE*Rm4iu{9MxzY!1K8V>L&PAr8%RdO;Lg|Ae`QYvvSiNt5y-Te~zc6Ph{0D{u z@AbU5zn-D6T5#F{`XKz=ZGOTBO6hR(^PK}>?%d@i4$}9h*KktvJ^aCUvH9ck-tQ06 zLtrlHgYk2hx68qL4=*tZR?^wttV#N4RQ+lajKI6RL6h~D@N*u2)_KoN*7w3$c-?38 zfwl?fph-bXwvn2n+xg*j_ynyEL|a6U05pH_CLaN<^apR+5juyR+pip<2V%0FJQA&g zTaVO^I>5W>Nc}k@2OGV!KC9ckJwK~&E9Hm3e73Jd{QBntiFmtrXg0;wgH8KC9e2c0A0Ju}A4$)LA{5u(h};Z1KmWEtUZ@ zYaEN(>z#QV0J8q`xc-YZ*d50da#{y>yj>pNr=#96_v3l{pJD?Gw{RQtU zU)9g5Ro($7>4VD56cP!IM>2_M#@lzHinqZV#T2q;37>&)dG*o+EIoIU9&p8`@3>DFJ| z{sSAkHD~L!ryxUuF~GS>n7*=S+$s84r4ICNoTgVq=h2{gr00lJ^`0uaNDAJSr|Fya zg)atfmkPVm_rzeMo;7~#JZ{*FpOdX{#@SKhdKuq+3i7^=oq0z#J#SeCd+A0f_+e&E z*F*Hm=e%pD>lOR@{+JbT%NSqE8aikOI~(#9n^}=@uA(D^9vfimamz7&5%0nodR25i zZ$0acovGW@Z0}1m_17zBi-3b*ct!jt-U~BzX6M;~Piw1GayDbp8O&J?SRT6e)u^ht z=I~I)J8YJ2;94rU08vOulNlFRX_2Puyxc79MAOv9<=#WHbUU#5msy&jO|jEO3S?$$ zu1j2UI%Ls0@B61i|6s+wS+^k`8MU0_lV;EP-_Pu%-h7vI?>(V(4@_5C};~!mb1m zG%U(0pDZf40V;!t5)jnjpo5|qc2rbUbU;wiQO0px-tVj1-ATZi_doA{&P&eiduzFM zYx(NitI7ld&dM)gWgx1EiZ%5t%Y)LyTOigk*A;lz4De>>s_&m6b{ZzPYO0SMUUs>9 zz$|oOs*iVuG0mG~a?;8h)|@meuDqNzJu+MT%Ub)fBi;{(cca^2p@08l+ByeFVACgu zEK}n2Za-`R+AJLBKi8c6&vQhfb^F=+?`(sIg>!u4hY9W5u410TgKugDh6ExyU(VS|K+`I}Y%*TM#`m?4M+i^M; zouD7@745{56BPcG=+I`VCl9pKx-@Kkz(obMjDz!;SvK>hxgSZcXIf4@%@0AhzN79D}M96#^Wu?rT9PZ2wDi3aXDO9ZQ-`rWUm zNzwhHuZjIx>&866f%`>!!&pL}KOp{Pd`jo5#4u3!&P%~deDW+gmx^Ys%vlNw1=lMN ztwKk@)(__K9Iag{hL}aN9Kw|E%2FTYYs8cfS*hJJP5A~a6HZOC(42nek?VLG2!P@F zShGx&nv~B|l)za9;K1VG5UAx68nPVCFQrw>Mdp7l=E8DK`C?XR%6HcaF{~{Uls*22 zti-`gwU(*z{%uXiFOxmepT9`QR)|S`KzKdNSJ@JW6m!AqQS+z(UQ)`ck-vI_cs^i0 z`vXR-SE%Aav2G*^NifL~3c;dYkAB5-P!g}CaYt_GV`4|Wc((e&-7H5yu4trd5+dHk^&=Kmm#Fvr3s44g^MnoeyNW6!fIv~jI? zH{=)Q;>?UReI3fZLMzsZciLVu<6(-?B>;|MuvY_v6PEzn1xl!%`!GaGV+;L2*cD?7 z&3i=5iQ0lS%Ql{VezstIFCx$q2d}wCA=fB$gXrre4x=|{;xK=M26x(^iNo%Vnm9yl z)a`I=)ChjU#`RV8V*?-Wj<+Cj&Zeb-cZ_2{0!VeG#MQufwtS84- z(ZpC+J$kEnz=&?`MVv79+#Vm?G7c^t9>jV52{E7^lGYh~NIEszi=Uyn3uJY4Ad9XT zFsmOu{v@=h^XTZ4qNM=JzVu`r%I@gJxj@+-ocjV$ugRX&FcMC5T+$DUJxxDfKUKCcB_ZkAU>q-6qOL4Z>FCX@L8|M zk_QAcW)1b)5w?dVkn=+k*)oAW;QmVn{{;3?HmKqS5ufc<2MCAWLo8h+FvAgqf=xAn z@a|cVpap4D^o0IEucSvve=;ar>oMyEfjHTgs#7Uxw-{e+0F9tsY`Fuc2Pp7XTPsoG z!_6Ztxb;kQ1b#djI4^d#Fju{Edu?HymsJe5Q2k`nFSA7f9gMwQro;!+*7h&!3^aPm5C{btzFdmD}p3a${~P7t1;DZC|;lUo;R*b1HpWw4pzq5pn#H_-&%Z z??pc&ppqii!3|~CHsR+*Ci}OE1ULxe_zoPYpjbN-#82GaOrU<*CPspohV9VUW!`qt z7NITMf$PrEf$jCvdhXC^&K;tKue?Am4|XU<7iM{@cj#B2-yt$l!k0TVCJTF3MEl;+ zb$~j@SBGlHvtpVu{!P37A|CQzcLF5;H|o1f^rLn!ilN2?Dt}RQ6ARDK@jaroHuv(k z9Dkgq_g)0I_TA~56H@kwHe$(f8n;IbL;+j(h_0S|Z3N!CzDIQT6sW^vUxGyNJS&fX zqllNqKL3N}^ZPH0i~cLj=ly%dp|+R4%CQAMferRp!(j`^0oZP1uHgvOybPK->?QbE zwfIt8`ihq9gGe=n_V0s^ZVFx5C&(C6ecyg@)-cA<_yfX;+p7meFLCuE{dxeN47hhV zD8`9p*J$BE(aC@FHPq-n+I>(o^Z3b)(nB0MYzM?mI7= zjp=exhpP)~Aa#ldj#m$PLzEkX>R5HqtSOioUWQz&zQ2Lc2HUpIq(vv3e$*fbu$7m= zr=Y{)XyseV@b_{d5?dom^T0Km##qcPdS*B*Y<%pZ%rvFj_9i=_`7h;Yt@(#NCgZ`9 zB{K;-y+M;>dDUTg}El|MFhTqPl4o(S%7|+Rba%#n>E#s!d^FlCibeA z4>*hW@6_+H9}AwKkK?|>m(h1BUZ6N%-{~BpA99#hPa{nPLf@3cdtc(6?YzE6Vz-+= z=SWa5W^2$7x{l}y9v!YI9~FpJbHr;j@z1{?(tvPQsk z>S6E`23>nt*u2OU)3ZGz*As`u266BVO?y*J!@c_an_`_bhS2o4!MCiWH{S-9sG;BA z7MuMKYgnZ%??7KwL+`&MZiD&Kc2p!}t@LafW?u;A0$b1&93wAn;e&y79nb3|n)V*_bq~@v z?}_ytHvru>(i=A#P_)J)5X{m(SjWJ4bS8RKbCA|===o#dI=`Whk74eAL*ei1P_}uS zZr+|SZzs*0sufT6+;&Q z!>m6C@5T^aR~$oz8KUMVM2Gmg6tn{V)Z1VgPqb{;4aB=4A1aE76|uDHl*pvoQ^Mcq zy!QBy9jzTZp_O&U2RQeh7DM56j5v1iVKP={u&6FSEk+wbI8=x^*xQTB*Nf&; zy~?T^doh@MF@$@`|72Y+D&0lgi^1HBx|fHaY|x8l7H`WppA_R9o?he>%q-oD;Q0C6 zsT(>FjtTYaAa4fv+^t=m(G-V7h51-WcF0JyfUKGK{-J>Yam*8QOFNFm=lX{RFgM9k zo|#wQ2ZXXJBX$OU7IF=yOpk{bA4ddvBXpK9#pWo@{OfH7E0GP3UtI727&2H`#3Q22 zyT9H<&yW2Yc?F(sZC!p=%=}q?#SE(_NtdrP4S=%jhPL2rIdhjj=4AN=P;vcj+((28 zR(No1XHP8dPPhkx{NK=1*k_mH^d4b&U*FlO(a)rRh|+Y>jMBUDAxht4ISw=x`?UfD zcwZ|B*nA2jbivGK(2+BuB4j0toJ1kn$+9u|lIelr{=>O}wmph@EhY+%VbcrA_N5=VrY5iB`4u5(17 z8NqH3j^8;#nh_Wc!?AD=B9s|{-ZpM?Ea4bWspx6Lv6>^o%`9lV;n>0vp=Jbn*l_IR z2+wyx&VU#|Dm6EW^dyQhG&WjWlU?r0}BzP@cH0Zo|u6}~gE*SW+uo=6k0 zjrdel8|x_Of>>m{Kr1dlbkx$Ui&}mrf{kU={xdP&xSJMz1{(DjO8#67f<@`x&*9SZ zEQNd_b|SR@3$YGd^stL!UF1?D8mJHL;D#^-1g(em`2ziN5hk#6H1$i-2Dg=8iWV_- z?7nuK)2udDF`3$}Radm!|MQocHIMsB^bKRa#)CC*N;ggaO6S=2mDc#5{R*y^i)qE* z#lB|R>YZ#dZl={c8D@z)E{TLYK72_#-atd6S+^5jJA_RK-|+@b#_kPo&}8gh@dm-B zfR}sG8^rUoFVTmWpwEM(^1o{5cUOc1h}@`aC-uClHAB;`if(>T2!^bptyf|4TSLEJ z6*(<`dI@j_hZ_U1vc?Gam}KI(?KJ)y(YeQ8Ue?6g%d0-~vbMu82gPl8%o{YDwB8#; z(nBxPp>IU7CeFTIryk$x+7x{YMJZ|ncS6GvXBwonr_*a>To#ey$ET>}W#P)e@x&NW zy^>scR+1+n#xzDU&!*k#5QFL*XMGoA7#JfDUWT^*9DR5hg!2j|eJzM~e+yBy>N)!3 zTkT8K>^os=x_!YL7A&ynWC}I5Ko)GOZ~aajGVpT9_rkNG>z!kD?|*DMJ9)?Ej5lbG z%`tD#9GkbiL5$67dnx$37>cp+k;yQ%*7ip;ntfes&DLEPUKcIBo)FSG>}n^kV=}Fw zU$2X4+S2y~?fOMDBfluwnN^$Y(1Ni6{sSf*>fDr^Q7;#XTYvAkgi-_%Z?HKF}%!H1GO4sqo`+(Im%>Rc^aa3{O z8h-RLIIw9@b5t+=MfB&PtNpjQr4iO-1jA(oQjhg(iu+aML0h-@SMf4*cin#zv!Kd* z@i)lN{ztxojqE=9=nru=_MCoZ7Sy86Uw}_j9N4E59zHJbfRk!xL+;}RR5(-^jlE*X zs8+l8YmZdc%<#N;cE875iRUNwQ=E_^c}*d(a*fYpRC(N6@HI?=Cg_xPLb|*fd0rN9 zk))Jt3+^N3vyE$5NBrt@H5NyNqZT*ors{u7`J-rl^&|_>TnwZ>^v-!5CcgmrFw~Zt z0%QhmCj;at?17OGD9gegkftbWn;I{$9*oyR(8ircOo3w-AA}nNOd_Y4#(_>w6l@>aw6uwfm?!a-yl1`H}t2Q~l(#q!~DhI7**#0xxH zRyIXvfMwQ8ph1^(A$Sk`w$^vDvwee?!58brEM`{6OLZ$*{xm0(Kvr0z&I3aYku9=q zQmIGP$z{*cDC9O zB4dJ?A^nD6eyZrx>f~g)X?aw`BHK z(nXt1^=BCjBA0n;06u{&aLrHXeaV?quYf*>?2|;>0BzXcBejUS*5=og4u;8Ym4~$! zl|N=!7Xkp#Rp+53fN@Hv7>*w~)Y2PT`4&Ra-p~#XMR`MSaEKXSUCJ>IHSvZ%YY_U8 zL(K1nSMmoJ{mmQX&?*l3irL&C?b!yQeH`+A;wXoFRr``dy}h4*@(4mry`gFjrRvZK zeDDefyLc1nZG_r-LkBpdYsyu7n?t@2p65`EH|NhBLa$MlRi>t59yc|y4IC2~F*21- zu++Y-2?sm-G2uA!wk8|^=#G|}w`r?Y-V*W^Gd2SGAryUYmCZp(Owh0-TCn`PA|9OY zDHOxFlSPDI-+^zm>>R~%5AzqSWW$d|KVeX>P*DV?dJR1qAsqo#wZKD5YU#@e*kGOzk^P#R>kDj}9str9lG$eb zb`u#Je{>0IZED)IpDsWVC=uY@ARksa&`(WdcifVi%G-_cw79A4##-za&7{^^_iQF3 z>4&BWKsWA*tVZN|!)Qe(o69Zi>nGUG4=jOxLTlOU&Oi_2duX&KJIDdXu$CTcA=wqB zx`n)>A*ZgP9UCBP~pgVpj z0ACx3ciBqBD}doeiYU!lD6KHT2Q~MG+-6>b^NJhuVwhRciX_Y&&X3kWyr!0JO^_WzHe<4DzQkss z2ODEztxb^4c~(D{AQNMVQ2`(gQwT&0W_u<(j5!?ZYw5=XS!Cprv!hH)XrcRkYMhCd z^bW(0by#BKApGFKl*-ZZmX?l9C+W40a#%}`h6eMGF%pUdMt=vHp(CLVo#ddfEoXqd znzE`D+pV9W%1-#wM!MPw(+6mwvrLZp`8NlQqY=Dj7e>npjFLawAj=Xh*G|#=&aze1 zx#Ky=(S>(@H}q~6t4`#gmgkPsOPytJ`_F%X@ACL`@m?25HG9=?L^-M;26_{_I3Cd< zYSTqdZnpXI8)zdqzcTE@j!_0XwD~e^=^{rB)kzks-3EwvJoPSmuB+n|ZYFnk(TrI4 zo;TvZ=O9NSkc2-iO_ci$8};ofyLbfwfErNC$`P_Tt?nvY7*}XVS8$*(I}GkB+y3`l zz*K#^$-$zkmR5BGo3O5yUg>6{_4D1pm0{pxljNf4r%+91BP{X!qq!05*l2WLBz-?z zHl_EI2G>yTO<#kPR!^FwI41#OrwK7~O7{{o$mv(Jr6B78kve zWp}g2V2E_P?n{>a%^0kW*D1+fUNt15@1UU*<5en;0Il%7QV104dxX#d?`)?`Z9Awuw14W?<0+? z0H4G(nJp1bHGO3#<7tXb*T}9%x@?_oI)wswp~2*JmrQh6m&usJRM7&>=%trTdLcYu zk{GP-gd!;<1d6N;>9T*DMG&q4??JX;D<1h&Bi3GHlM1O9nbv3=yT?-ICJ$#s=7Cp28F|dagAm;Xv zvC-P1;nn7OwM*v0t35qr@}TXeI!&OTnB&=Es>FEwIQWP+Xi~IQ-k?d*s=PtuT<{Wg z>nYnw;71DTC38VUJhp!71zRVN<=CEbD4O+jPwA$^z2qDtk9zl(9j(il#l;x$G=~zQ zh-USc>p-s?^^wDjRW!bj?9}?w)f^ZfDu*z_hvJ{f38F9^fE=%0r6>Eyls;Fl<^X&& zQzx!n%>mhoP{@w6*stbb{K5P4yZS}zw;pK|pS6AjVbBut4mHb`{X-kT1r=mBgn-wx zB^wgM`pV|G9dgJ4RMb~S;kncyvl^xt2WVPf@H&5*cJRNXy;?8LM$hz>{Tj}IPXF^6 zK*RgVGUHvEev51hIac@YMf#+lT=V}cGL7aBl%tKYbZVgN(Ei{aVCm;f48bObPzyj? zBw8TKVUC{SRAD_#akt9!xCkVfPLoXRv0PD`KzW`6QZ$yBjcn|P#{2{D6F91pycV&b?Kn)T5lI)4ywwA(O@O4IM48zWP}r-y*A>tJ ze;W|UtyFrOoNbNeL8}i8Ki}p91~zkHbo8Du+(bOq(7+M0$4#`l0JXV30@(6dN*F2I z_*b!a@MAP$B-rw80))de#FmixG#42{78oW2h0QN$+en#XjII89q?~L7zJUa^GKtJtd3=pMQFk?84Ghy~v(uvwO5m#cktg*(m_<9da)g>>MhW%_P&ndWnIY zI2-IWyN%H+(a4bAjw_7d~Ov%vu) zUlveJ8He?M%sJQL7;7~>HrABc#!APKgUqS$3;Y9jghUJ2-$YB0bvG+*J=?4>_hGP9 z%I;d{{^J|eZyY$xkEm*#Tw#t4P!z)^+3t|30X(6mLDCKDC0o;+J2VUM@EtNyQ@p3YA zdWR;+R5%nJxba)bvgyr{T!Dm}qm!lW&myf2B1eO4+|ZuXo1>CtOoO*{yOX8*v&hJs zBe{ZqQkV90b)pP2UTsi;RHy6(s$J%k%cvqx_U!0oyZ^6DH+_&NlS0?4jOnIo^AF*$nNicT1&C1)#9wDZfCT2TV97N!DCU znJhMH_00<0XFnf`8caq|p?|VLV%RP+XyG8L7JhaBeNrD@Y)jyn(r4 z4X06s@>xvmKMLg_+y+gNS#XP^B~!qIpQD7SKz};18TFb9r3W^*m@4g^e%^(zggYL9 zZWlHa=-Z|^&T-Uoj$kJaL|j6I^+h^56+H-}Z;`wex7*FzqeZeq&qprj#0$+I;Yk2T zYQflH#6fmSw5+?Fqd6!`cYbte?r0Srn4em8dHpmw1LHDtn(SpCA8&z!n9VZP+E=4N z*1s2f9|>KYCS6fgTG7bl(_tB4!uM2_1GlZ?1u}|y7s()6 zR1C8GH+r=g6S{^zD3+}|Ysp5huNHchGdn8lEtrA3S+Ir@*A!^hfeMu9wofd9T(h0F zm4NJR#O~TMsmU7tI1rEZq=%!lo}l)nvMpmpj=o4EOJx^GL6xPDQOD92q%~gwZzI4b z`c^-&!q(6F2z^*8U4L5OZPR7KpC&AyuBq&y>9ReTt4q@X)$6HMnQYs*mPZl5=>wnj zbbA?ed5_f6{4&|U)ivO`&gfWEd7{wKtV%%B!Gyd{pOrzmzxeq2ay0ZP^(;rZ-_i7P znShNC*@wcYL}s){XCF^H%VpPmPKmRKY+&D@TQNd)fU4zZ6G}tca1KC)MRQ-jeh%)- z&pKFZiWjnXrm_wWiS-S50y~e3cw}}kdi$FCRLGtXhVQA6G0ol*A+0r8&_B?QB!~-F zX=epgZP=`DhGbjtf4uSbSRt*r#atPWKJ~{Ps9SMzE?~E# zSgfDxr~dk0UFwheIi$I6rWOzZ1PoTzPw>+iWiY9$aQGW#U=cRbcQa&ki?Jb1IKNf_ zag_vfo*~UCE?YLEw3#xq3AA1jc-Kn;QRWp|FcTJ$E5eiDNkxJP3Dcj^gR>D}X}(!M z!woSXiV&+#_T@b43MOhpxjk8ahkHz|z1U zGq^G4=P=^ooZ-TAHD=?-hBQK0_ro<*UnepbuVcoVtpoGT+A2SY*E+BDA0pafX4MQG zcj8zx{L(SstBoy=%6AcTv~gU(O{=JN@vI{A6d!JJ{CWmiIs>b+%?{zK*AY%Zm{s5C zT)6J=T5CUs5*^%!s++-Jvoat-L`ednWLzkDzFq*VXHYWQr`Ans^ zUb~gW(zsp~jv&n6@}>_&IJ#c=E`*!b3r|3p+vm++j&Mx9aLEnf!Dg7oEeGeapVlmw zPa5A-`U;s_9q}MEHPz0CWDGX-MG@1``MqsL?qWRiAKuhgORP?lv9xm~nj5!Dj%#;& z$&50W`__EU)X0;m6$kL=eW^A5vQoC{X0a^uvszjsAqp2a#QSI9fg9redl@%}>d(Mi~{Kl7EB0Mfz#^Ox%PHHfKSFyUf*Y;gxL0<&10 z)ccIQyIIBL!m@l@hpruLg$zwag{9?%<+S#U>=a`0S-1w{8i%U@*F0Pg;97%g8?J-6 zj^g?N*Hv7NT~^B=TrOO5aovw=C9Vy)cHpYPbqv>eT$geEhRZMC+QDMWw_3X5>Wym@ zu0mWDxR&7}Tu=$4tRk+*+Gap@8r>a610u6o;0 z#m;GNOXG-qx2q)IS(H1=Sw5{R{}?YGF|G?Eojyxc(PZnQ9;EACR3G6tfVTEl?J2v5 z3Z_rGs20$V-;=0PL_oiW3E_V3*-lpl?MhU3BgZVJq$^Aq!F7R1I@(oPMMy85+|F5A zS~MrO4tBbCpPZTIOwP>9OmVsk(z4RCvKpCL+x|&byFD{4EiENAGu55qvfDF4aU!nD zGQ#-Qu}PXc%brzGkm1hEaN9HN_HbuUN}8%-XhEjx9Wc#VR8-=!R`=XHQYO-o2TGj3Rdw1U*E?g>asNk+?Z3#L`%78Vz~ z%kHKYx2O@Y%VqXcgT=&Q6p@K?v(uFyJ=#yD8%|0Zs1oScekxkzC67At(cOd z$BlLjKrvHu$Nr9TF!By6{e&*#W#lj=HIy7EIQIZ?`0nffwg&EUn(-4(P2X4hID5KSxswFKV+J_Mj(cjejB(=%L|&aC{T^!$Q( z8D@n>4N(!sJyd{38255p`e8Zdg&}H4N@b!4B?4l>2X*gWP*OI{S&>`nteDINre@mn zQ=LwyJ1sLkGs(Wd7y{_2P?0oXs7g@_jWIoO!j5V|>xQb{@WLi%cg(hI2OuD6w6ca( zl+AEe0A>mb-9`ELk#(5L3|ws3d$wmV+nS}iKq->uYi|VY7^XsSFx1P#FzgRty%UCq zS`7#8tnvg35RglaQ6|W&8?Lfol-HmY2Wz2jz=_*K0PFqdgMyg@(Tf?n49UO`3 zto2mK?{;MkSZAd0tf!>qsvEo>%c91o{PvfceV=?cZCi_@52I$im(H$3+yQ_ccwExB_$){ zFEr*3yt2#aZ(^0iJ5{WFfeT<9GxJW>R_-?J6!#zy0-ER_%sf)=Ox$L*J$P4 zYGkw5jc}gEGn^If+saC&xLp-BH#R7aGIH^WLzp$*s&-Lt7{fgCdY%j1z~NjKCI1Rw z^m0WZ6&g%oP8DYyF<+VDMDp9lTodZH zIMvvIcYp_Y+HA>EiD5^LKySt0#bi7_3IlRyo@#EqN7M6EvN~oA^i=TmJk>4qeIqb8 zciN1iio%pygSPfy%G_UtQx_L_mg6+hrN&_W|939ckuJD^z)$jXhCBsAtBJ(meAP*w zHip-Q{LzVLKym>Nj>Q3W4!|t8N$Mk&xXx)VZblNBU+?_^D28kOp2@w})(j<`K&uH5u;O5WGtp1ac z@`Zkmu%~8ZrlqFk+cVwCNg1w;i)NO4ILnvjb2UGIWoA#$N=^k&g_)V3mXep1`gb!+ zVj;3zGM^{&^JO!;Gc7GCFE7dMPD)O8XB4D=&C#9d(?S&v^_H%8)D&dDYCey`v;4-$ z^v!^9S~Ue(zojixlv90Y+~FZtH3LC9yG#Wic8zgVC&+#Wr>Z;U4@M$m`$)1Esb&HH zFp_%~rX-Vnx#}u^G=`ERU)kufB9$nA0!z{WjfeSz%3X(wwqa}#Vli_6{PTq52|xdN zLdt}H-INf@MWs&og)0T>q$~Arj5?U5&J>Ruxu?{h%24VGkwgpc0~`03BJfcO zins#x{Ra8?Bio9A3^i`pAz#5Uv zoTKj0fVCX(^e)sRyDC&#z{7|u@WiS0Vx*^!lV)Hh5tYmUy?R94Q#ax0lNlf{8>r(< z@DCeB7qkBt%v4HlLMLkYdVD6hr_Bx8a(1S&HhWY=vz zPl?9$iuVxar^PMw@oaSqDB?%6)gZY|boUKhxOGTjxyd0hk=%~f00>&rf;lRp-3}4! zMT#D5ZqqoAF}&MWKDlt(vj8P#82pM*%5!vO4#4Yq(ca|Aw%miU-$~u(s*1*c5h2_T z5Bt7L3 zpK422@F-sv577Ig)pRPkN41c9MT)NuF|u0ZFrvlDJNIHQzJ2HpZ>WphUoX_jFL}Z% z;&!sn1*1?hA1{1(FDBIiG1?cEU>v0E`M@NviV-Hdcy&Io%xm=Bd^OJRb&=AuJ=HD) z;7_eojp31_8xS8l*;$-lMr>=6U-7p-SFN18fxU*Vw8!TY8IeB-Vt}0p`^vCiL_5Rs=Ml; zMd-D6aR8<2Y`mvqzT=oxKz`~v5 zDz**GH#y4>IMPO!m!PU2(l1NYF!>Qyb9e#O&%e}JT^e5<0 z(9`&)5R9F!!iqV$B{SV+1w|#ZJ{9@C2@y;WJ)nBZ3-u;)Abs-yz~D16z?|vrs(@QR z7a-n@{oGX;|1W6ba?tvkD%9{I9j^kIeTlJ04Z#>Jg~az2by=#M^6%Jt)Entf`<9~E zOTxpHVE%_QYRL(5mZO`?E{lN%>O+B~yp?YzPz$BBJEmLJJ*I43tJ>yh$gWJIOF|7YSk5B6Re<@^|t{Ia4l`9dfQz z^6%m|a;01?o)cTeGvW#Pl(=7hB&Lf$$XDe9@~`4b@tWKsuaL>x57QYmKl53?SpObIM1@cCDlUOM} zkiV4=%ZKDPag}&ccFIr046#{$f2w>*cFE`EBXWv3>o(yq6Iu?;dIM@I6{ zgulVGn$2=*%&E>ftg0?#iF#?pbLpo#o+n$(7RzVl9udiNrsa$j?atFVb(U^px=Fv5 z+14ay;L#4Y;m>rlEq1G8we;ZK7Y3fDS)b9>}(LCquD@n4tG44gT~=N`K^ zHAFB1UMpzjS|Q5>1~j1M)W~!*VcPW3MWZ8S&PKbW=W5ZWp~g3OKnn@kgueKJUsRg_ zidQ>Tc@3h}8JTyC__^vhLsUCU^D0D*lN%l=UULo%k7-?xR;_50TuZ&LLLQfLV~+!im?=&*fl@gfZvJ?3bb(SE#`ADtJ%jq#1rl6G|)zLx}6Km$GsRiS)? zi9Yv^)HhO}br0tY5RUGo^vYsTs3UVQJ~0&AE}csv75n2GyS%MI0&_HKmOJ`*aP$0D z$n8WCatI0d^7oNCdAW3M8(k7zCy6|OyVzX<g7Nti`CAb^Q)_YB26Lqt(V0hXJ5?gh*JX z`l2QFjz|PXMrdpVI7L{~HTwMvn);aD2Iv+;KhgHZ7}NFOf;8=Gn(2EG7uYo3glni% z(w(FjjjT!f?k!!w#+Oaf`leri#70J9nazb6Q-oBSx>lS0*d1MlT^U;?Qk3Ex0&1S_ zd{k3(GL;K@RKujES%GO^PP1%OB#KIaiP$U=&gZdjp|J-h;yfV-#Um(yT4>&4_!D9J z8JI}}n+i+NSj*m}`1{qyd)D4fNh>lkQe~A}5xZEUF`7B->Hr2=I~ZGK?iddi_f3j)jhhNUI{%n?PGaf~0@}&0=MP zEGO1N@FQymXh6>t8Yl2?;)}p9{?by@Lt}Jz9jokb7`k8RW75D91CG}~y^6cN%A?;o zX1tVsuQQ1Q^SYByeQl5nFwsX?)92HwYhTh94H_o@XP6-rD5GgvU!Rn#^!QQK|*i~Ca@fskc*2;_5S@C$nvf@3gm@UqU1j0E?Zx{h)0T_V* zcql}kxga7dw+Ul|-{K~W4Sul<&!*o%Q<8-g%Vo1^3W=Re6;T@O1rHh|8S#e$M2aCh zTOv!RFiTwdjHEU9L&C<+(@4*vq?!2AX%xkWv{H2NN--OtXo5?WX__YDx(+MwH1`cA z6*|{WAcL;)7u1fvKw={r@;E0=Fe3X|qJ}`T=ErmK+G3d}b`%DLi8Y?13eFTo-_lT5 zIUB12$y^NUE+Y*>2Nbkog{?y3&tY^sXcxC7f>spFA)FTqS&&QZl`QxYVj<6E3<0`J zvn{qv@~d2X+wHErYzOW7*qf9M=Cn`Tk5RX$I|X}}gX2R2z~8fKzdHBFYJYr*JE~f= z+lkkMOf;|WFjFD`4c}~&mU*<@#Vm)Y>5r}?(k1PwdOb5@i<~3t2A6k95*<*w!Ii>w zQ(aESvGF8*dZ!386vUTl9gRIIfIU#c3{Zj(YiXGB2{aa7v?NySce{`&ysVQme<>x9 zuD9ph33+Hai$Pen?H^aewu9j&JZ26!Dv9NVi?uA4@hTQ`Hl5ZV3yKz;zRoNkcF;!8 z9EMgh=M&}cZc=X~A&EFFX$fEm1bPL74(PO?0g!*n+NOSc{4Q^Q0?QC;fzobdD(#+} z0Sh4r-F}%6Rh(&x0F)`Cl>rrt+bnh9>N$N#+<_RrwLqsEE2a7ls{dRl>UC~|s z$(n{yiH)UkC>Tl$z6Fs9Qks?51Tz+t!X}x7h+`FL5eHVmAW|?TS@?+!F(3n4P!LES z$Z3OS8M|NzR5RHP5|HO76HumRKq>=lDx`YY>+!q-WKu8JvzZ7cm3sN2uw=6*#)l(R zj^MqMv>eZ##E)rn5(Ic{_;ZF0IFgNc<<6Z0O7OINKpcNx8&H-+yTE8l(qr3IO45U9 zOQsSmZK5qfhF8MB9v_ww!NlleDnW0w36kCb`DCNi0vCbFmN38x3v7tVs$RlA9N{IV79+Ksl3iXh#>u5#GRVm#UJ@l2-05uDx2`{FF}jJgRbJ}@av;g~U{@*4;1^DO z`2Nlr`_+p#o!Jw9v{O zWSF@Ufy{L_W$0|#zw!VWI;#n)jS^}-Izxue(GgZ`w@PUE$bb#BR`+0=Occg;2-w45 zCG%O;j@rKgR`SR8zYb>MW18;7-_M)Ig{j9T)SW~y_JVU#^8i?jXP;FGA%>J66N)}` z0n>%td91myhKPjtK8EZrn)>CLQ{RaU>c6`Q4kYI2*#gZJ6==#Qvw(ia%<+d{(FkPd zr`aiVC9TP#IyQk6!2}{FxmH=?%;RdU8mlBm1Wip$kyh16AgS7_N?CHyj;40EBh#oO zy)rwJnj_2$cIIIt2npTuuym6~W|JWT*0j>VIu{S#C%GOn0~;NEuw1sqUT`NN+!FO5 z74QqG$?z4JgsnjA1Gi5!U%eh^MKz`E5mP4M(n=srW8wiDnP6a71P`c(T@7}gLOd*l zfsxcekHm)!8A$rxS?5}SF5x2^SRPF1Y}#f**0xo)OKA;Pb03XuvUk$ zhW8;cG9LoNAqsVki1->BR&J~k0H8I4)Gcl;RH8xBP=JH$e5d!&pMj-x3~lIJL_Qpv z)usjyCRe2FwewsP22ugLi&M@==T(Wzo!GD+lxs`b60@zR5!#XR7w&Nv{u|weg&Ipb9aAx z?!w&e+=T_MyHE>GUuTx@aTmtpWG2LhS@z&`x3%=Y)m@k*+c!I}X;Xj1%8SWxE;$nZ zO%B99yYnFazwJQ8s;yla|A7v~&;NTJh$I1|y?Os>4n*4MxQhd^QFrOv@*nyO{_pq? zD=@|WMgL*p*YO{^$E>vfaM5Ybq)9(5YM^bVbQ(_JoKZP;LfLDbZIi~R@neMV(AH=J zA29R>aw>wk6?vhGa7Cm-|5xY!*5bFOx~h_PQP~HOLw>D6dyvVOYLFY=Y>-Da8~Zzt zU07DK0d810jbrep*H3Iq`0>)%*I9nPRXy0-&5GTW3`=o%0BUS7$Hj~2Q?bD*xL~-m zv=>4LxJATs++!i3FuF)bVCFvbm_AsFBOYO(TW?wU z>|yl7KvHj6`N&J^Ei3PMNo-l!q@PXO7-9r5!iCtn9<_b(2Gp2{?)qu8yP8Z;VI=!GU~Tk@Lc01H9S{( zNx(BjKWD*{0;iV10o9@3*hJ*#QL%zJZ{$QL=LEJtNT_hCCimAUEiuBqnMBJ$PJGPD ze?%ngoIkmqz)hq;4ZEPy=ATC6mQH&pqfTS;`pzuKXL?Bu`7gXAApiU!E}0E^0!Z?l1ijCxzNAM%4=W#MB>aAFYZC`h)6`X z(6bL`EBxN)rOpSJR8H85$VNtJ5Yt4_=>e;W;$APQyE5NPqATJD*=v z>&(8iEEC>JD;UqA9x}Fz6Tmi3fmry-b7b!RIW zy7o7*a(Q*iNo{n>j21V)bI#O8=he&0(kM(g)mNP3v`#B`?zo~X8=Xw&-Jr84(AhH+ zojrGtPU1NA#;XszB%{&!M-P7*ozHkljm{^$B+&VYeomvaeclZ&C~Q zaOO^LtSj01zhazS!0AetPMmkA_bBgJ`WP*SIb*Ac{LXBP`b$bhsZr|mzOq+g_RI6y zqBYL(S5_BQVHZ>oTsj^Mn|O+daJe({${|TE4m#wzu+IwC2ck=C!(#5OkA`KYh|8rG zIWCz>={1x$MWd}$1;|c#C&@BuLUwH|$tTSGnZ>hPrzu_($5varC^g9qS_^@ad>*bj z*)#l_4EnxuXZrTWqX)OkM`nmYo{j*FVAZe^)ugJ|n-fIqVA*l4^e zhKjkud3E;SaKT6%|Bhj6Go2%S?CRshMyGc6tbHdDnJyKHkd|{G&@xZ>^4d=MAqK4n zP~0OmWH>X-D_^I&V(lhLCFR5qPue>B?*i8>RH(hgN!5pw73f*uW{X*=R z?d-UwJXuBJwok7QV9f6N&&vX!$ z<6Qf_4D#vgR60lZ3bNz~DV5QWt=3qFFljY|gY-UIG@D({@v1CIY&L6sDBDS(WO~S) zR6X>h3W7{Bv-{}mEMXLk7H!8agYHTp1oA;ke!VxAcGZ(Ki(UVhIeT4K-AJ||(+-i0 zi&0Kdi$5)n0_SEU=w_&q8_suXCim67_8Hi@?mRZD#94dYP+G`pQdk%6=$Byh8;mDB zL~1m5c}b1trCt&xmvn<>y9NX5$v!oZedt&~n%E7R%r&th<||q-C9%}B|6(}HRHZoG zc|nb+?oQx1MavteGjNV2-!+_@rc~C^R{YGmT~Sxp__?m}e5$cq?dx2p|C~PZGp@=x zdrnS6<}elOVZ!uU&dVyMWWDTSh%o~@<}7rscZ&M$qGn)=GI8gWAV310JN(X7H&*+x zpI(MYb#eZ9zmT~!OgV? zq+ql%u}4aeh=Cih28w;gP{J}vIe?fR&1S3fz|9B8UNk%sN1qyy8J$~Ofw9I{AiNCf zH(Q&{m@{(jiG4OeyP_EzBr(+I>aP$3sH*|3`k|(n^ZU6&>r=~(3t+;hhXa#poMooM z%(Oat-*TWQIh=dTvc_>*@MzU?2Nda;D|Z})Mo8>HJuG&xiagFa?$!z3=g-{Q|3p5b z5Z5G)Nkr~@fV5Q5Xs#(6HK9M?B|+#5A98*$ZFA4v!tSVYy5{CNr*|AsoJIqwEt($g@9bz7rKvZv1=O2I{SC)9 zT>I;096bNUuPnijS2?f!D(*cF`n7)SaaBOCLbTM-$rwMR{Cqm+l3mYL&in2c;wop< z?WuY?(vN>jKOS{Qs=(s(WAIL|&C*@l%;~Pp#TS+GAz}6e8=!b716|hB4u;T=H6a|R08caG zemX{b?Hhrlh!`Uz1)rhA6U5ovxD6CB0%eg*Kt88)4)qjfO4#Edt)upjk(-O(t&kpa z+Tgx2?V0+KR_Z~VNr!RpgrHOr{gjWuH`E&bue5yeeA}Ol$H?JewpjTII!F>nD3$a- zhBZ-OU*U#Mpma|t+M>S^LmU(Q_z>?Z0;nq3-iDJUQ6#LkL`glJB`3})8jONwbC4w( z4VVM~E2IaG@&eVc!AJ&iI;p_^{2%}LM^2k9@aP3P@tHm;Fjw=fz^F)$6}0QmjF&=W z5CkhKf;lrD^gy+8fK&k5O+9YFlpqC62@+OwfWHDaU`jB_-x24g=sjA}g{%Y1Ut64% zd`5aH#e6A+8Wao>3j&`Qm?)v2etOyH*A^q$0T~0V5?-f-RW!tiVJ)g^HiGymrSpZt zDyBn&=p?NvkWw4WLCI#L0FQ-DvL_?QD%Hmbk*H|1B6PY7SR|BM(G*Hcm=OavWz;W-a0;_mb#7`<)54}(dB6VT2)PIO^+X_~!g}Xf7w1O=W z!d)J(^^$sd{H2$~@_3nk)>8l^SL(DZuTAzqBqLG)u-|MOe(fGjax0|~sR%55x+FL% zQ*a>M5x3iDJhFlE-D%=VP;O=Vv>0ZSmaH)Nr7TK$88~95TTLCnG$|0r zG-;ipzrYc}V($yk8BhQ@jJodHwlM@ik&E&_d7aau_j6uScYT$YMAujFvorbb^5k1Y z@C>!vb5L$MJPZZ4mDPQusQcl}j)&77M~@&3>ewl4xz}$;}zF zxL4xxE|`i80`erSzbW%#IN8 z>eMWB=VDRR&n_iEpO?Z#UIs1zd*ujuBv@e83ajd2t9pJ_B5u_rS6DR+SzKya+4@MSbl)BT4r)Sm2BL z9Xn7H`Mjvs1B675UQ8hN(pt(Xcx{NK{Jhy9pBYwB)1E5Q90&y;5GjHu@LYovRy=5U zb`GK@0z$GmB^!*Hk7j{5-Aif^+r1L@qm^3%dU^|q@#ZeSXxx0|i(;Pa%O+o^5D`v#I%23G0htBa2Mw6|W z3ROg-z%s^-tiiO}fo2VuFV2?a%gY{ zrpTP6rvYrXe&SJAey!)#{1K06^x~d;&`aypeUX>cveq45Qd8V5UJ?{{y?$mZad$KI z{q#KCh)0^Vh!|pyK=6vS^a_NCz#t&9flY`!LeQ6|peMyr1Mp|BMGe67UJ?L2Wm`A1$-L;jAJ1mv6enI~%!5moeTr5^BXq@+PS)Ohk?>S3UlQ_c@b6pHhcD~^GwA49x-e$*6((A+(Z1JaAWtcv9|#u_0yRp2)Ngz8J4ZcOrsuq#*v2jsn|J|9ODx$!3#u70{0a-4 z)mUql+ey@kD(j9~bO|gxwN~9FaSNYf!$PHH9fOD;6-U#bBdeefSHU7v7w0`)SY%0s z)$9nIb}J|tnh8go#V8;uu3H!(Q0&diu&&qJGnRYis?Ezz=A5}+4#@+wcSpAfUV9 zYSW-vEr_C%urX>IqHdb;2fG!UHxoHl8Cel?teR$%7F;;DX{FUdB^E3a3t-9gq)J-! zfxko+5b1Hwf<)`KkV4CCi8c41LxOEj1WB!ige{mXh}ShI4HuNG<)Rx%2rvDp^RSb~ zOWpMliGhg%)GQ_(hEe7*09GI?Bc$-XjLYr7EiqW^MxeiB5~pz4dYCM+A6Z;M@;R<< zLtjH!-7e6nd@5H8a!f@-)@0;#JXMxNuvD%3pmLODNazD57XmU7WNS0|(#hKFf=sw# zrSMCv&81{*E+wD^Vtsqo=F*fdi6xo}?x zFjctWyG=M6?l0JWmy}z#-@p8Ccgv*fmDmjDM3&#;I`}hmhU?krN@cjdj}Fg~VRvZn z$cy;VpMd7G{3+Yu?y{@0TwHE}eOyV z+Y%KFA?+yH2@Q45Id7I8)OU0Qi-9i6C28L+j9Zzl#NEcRbtf|$8;!YRrOxclB}olK zNeYJVwMAvXk6nJ5pHyVRTbwF;!01SE77&#H0=v;NKkb$IX;J2QNREy8 zo$((QH_?7VpbqBFwtf(PTE@Uu&H7QEl}k5^;AeCsht@xszf(n=13wszsN2*_K(&-K z7k{i>0^k54j6i*aGEK_#+c_>mK#sYMXyu((AZNmS>Sn`slWTXSDlzR`RD$b?a_uK5 zGoWkEb4z1GSg!s1Wsl)Dv>bXP?2!8=p8yKMzhaDmQWD1cFXDyJ^RLDCoMjoX)HQS#gj^0-bv6ZK(FX&!Lin>Lk_D=Cv+aAbmqK9_W37E7Hs z|8h)V0s0Yp+_68b@Dc8v6F!`E5(c{@4$;Pj6PQ#74z3!qBRq*7@n(UZQ%k)h2z7~m z&I1_G8ev&i20DJrEkCh!ig?-?{n3;78~y97Luf8?$7L%GZ~FPk#5|i#)${K{ns8p;O$d|Zbu05b{1+Ijn|j4SJs<(FJ++i5B!X& zjXPUfwUC6TqeujXef^Y=Ctz>ea~~g!zm?ni;_s+!_xh|*w88oNwuXG*A9p=b3{6Q2 zr!(#oSPMUiCvg-dm5)0aTIn=HDg#@=T4~vnHg=b`hI`Nx4jr}92?uFoV_GZL89dChZ74Va>v&Gq{7SmEvtn8`6F& ztvb?<(Gyk`X+!RA4PzmZHg*iOBJ?z#5T3Y|ZmIwmpeIZtkO)0t-hijk6R1|&2vyul z^8-Q4U=}9p1>KTouDUpuq3(QTPa$rw0qJM_MA(*7d^o@hLa8S1R+@3eVTId2%aJB zdMEm6a}_wa9^ZaYg)q21NmW8EZLznV@t@ws(K)5P(V*y@SM-&Eq@>&Ywi-@+dw=z# zu(&jgc%-QfC2D-B7$DZEYf42=H595uA+|-LBYb2GgaCRtO^u6)>EblCDI#WytJPUi zG1$CXgw?BcqCA%_=P|JRBv-A8iaOMtzLiJKK30^dNWQ2-1M^~{cV4aqvkYIhqn?Y2 z5~?g;jL81z(R>Ez!+g=`11wSXTAe8Srp>$=+kG=V)s+PzL~Vtg=N~A#_6?u9w?O=4 zcW7!n10^vYB6c-fU%++h^<>SZiJ!}+$_C@Z2YGqSb+;3|?IpD}WrLU0Jn2tf5hN(;nrJYwHW0Mx z#AF7WrplnJtERjvpMAp`S2?MzJ@tTL*P!G)sBePFh_#!iTfHF5m@l=imss zf-JZ<3S~_c<;jg~=A&j|b)#nSgJx-IhH)QFK9oi11oYWPv07Vyln5B{uW*1Z@E87 zU~6O6T@}Cx-BrP6QoP)TqhEjJkU%c+Ek9|Y6aVHQV#m0g^M4c%cT)VoxlVoxr`>Lo?N(IlvqKGZolEF z31Bn@?R1X_LSPN@=3T;_dD@Eu(wzg+rMu(czW7R{o5W3fbn7b5QJT7g_yRtKv${_Ktxczl2;rY}tZ#Ochc%i$ihc!wPPD zx=4Vs^9T%(Gm$s@L)fxHHZL-)kfnXwt=_c`=y^H?(Iu>|o+>K$MI+NtBel{l7;ao$ zqXB1-rVDRtF^+l=jI-6tQ^kQ{x3lNj0V}9_O%rE`jq2)Yq9Qq-VCo6)7T>T^pTPA( zdHLk~ ziZSoVxrFz`;qe|f9oRVh!`bCjBXra#wM^F>(_~0gq=%@S2nIw5zdO$r&5CpyO9b5q z>JEECU`X3BtJnkprcRfP6U2!iO7XT%9^~=#4G@8Id7Bv$v<{1$6{1T^L2EQ- zpb@(~Nn=Dfpj(%jQ3NqttrE8{V3A${Z>hrwkU6wTLj5IP*MW~&nn~3_8g&D>WeatDI&KdKc9X7`+D~&+m(61G6p_ZwW(1P}Mm@t$HaA<};7Q~T$UvS% zBIw}^nW$#r2A5pXwLMIZTnZOywc&gT%Ht|h)iPa_2~!QfLX;*=>}SEQ{IJ`3Y+5I) zZyEiByur1X=>FzX27^KwKpDL3I>SA4fSsUT*U{Y>B9`uWo<~;HlXSm-l)1Wn%Na*t<*%XJ|3EctUn%atqj^O06;%6DGFVqsKsFu9e1)-m+w+ zv7`4jY3$_lvaOF~tQJ<8`lwJ8Cz*3@q$9Dw2H?P7e58>V%hl8ZvC3tZG|I5jwWJ3d z=0(V`C=W{1f-O^Y6Wuw_Q=OMfG+^VfOE4wrYcbFACz)O7V-h@`^n!&x`Xoba*IWa2 zQobkCGO?K?5~sT1E(0hY8^Ih>ZpLf_PX>bBuQM;cRU0o7z9Cd+ii5bUlk%9l_4=(r zx2Q^zGnwG)WxHzmr5J>pi?IZUY1S9UUdOzo1sSV4uX_+Swb)A=d1>v(51&kDpOpPjm zaTj}?NVJGp6(qbvK#f`j#J{Y9cvRU}iIODkR(%DlC%b_$+FTyhVe#?4!Ogp1Z+{}H z*@%ZXauxYRAdpP+YP0@fvxti*d1>OBhe9))_3LcK?! z_OxVLhW9AcSp3~(e~&_q<7wm<#p1a~p>B)sQK-F{@m(v_MG#*h8UObw)aj1zQK;FH z`BfC^JWVZo6l&;6Yzx?S^ij&<>P>nFldplbrdWcK6?R-V_ZZVhZ1bj@sah*&DMreigk^Q*=($G-)IA4 z5x*gi2@HM3&E{+bP--w=q)P}4Tb`G+*S?4V`6u` zP#Xq_COX>$d$((#qz$KtR~II0o;F$1#>j+34t_Y=9yh(+pbqGxX^cF|AX6ZHMH$-A ziP$Gz{}2`w<}Z`CN@osL(mi?wysm|9uzaU}0W03HW%i4@#lyxfK8;Wvs)ZZZ1BQNM zz}Se*BhO|AeKxs$*Emz=N%adE^%Yz|+|I3zt9S2bh0S zexWS%;Z8`6HeDrRUsHKDHu}hD{Abv>kO9w)?L%1V0I+nDMl(e{o(=M zGjQZ+QCF@p0O+zY5K?Q0U{76G-ExMgo9KflxEr&%f?I>fkQa|;0fzkr5jak0| z{pdI4ZHcJ&h9+DW2;(BM`4z|E&ZG?-G`p87yIvF}f6|O-h)804DJ8YE(yjOz)@+W!(!kr!a$b(h-hapS=?6V!pQm zV!q)xtdD#o^vG^9Z)PR&A#U;3FYyTXvR-6(9R(Z7ao^$5bEoOqj5RCIeTT=G_Z=SrFMv#>pFjp(8ZrEGYCBa#+4+0xIa7I`2Tq}l1V>+5i z5No=A;%&?BsvKp9(;9f5tei{^yA({S1t`F-rvQ#uj%!Oq$bW;W&sfjoTHxz2+zg8? z!^-JC>4*J!bA40> z@HT+}>E?kp#75AoRXEv(!_At`ViYOUN8A8X9Z?)n6=Xe#3!bbO@+jTH2_V$`&1JoQ zgxZ~jqA!#6h9*7lGZ|VS)RDBOl*ic*6=8MCJG~$jfTRuBCl-wCt5(TN?JNV3BFSxR4;mCnG}YzI{Yd6k&a6%-nTG zUENC@#QPNWI__4E`B0v{+Y9o+0FoPljRskr-nIq7j~8(MWl((jJYJ7dyRx@6kxVs&e;l*GS#z z+ui!LMt? zMGWnH;b!rH%!Tc8HuT!q2DRo^@yB$s^X_?KvX9bT{JOL8b|HMpH_40#TfdEvpZ8!t zdAmRwHVGN)_RX|~U535Cy&OL}k{c|AyD3Vi=EC;2RHX~?WY^p4DTD6JVHK>NFU#lHCY-+M)Wik}fs;(k$7 z0{f<)uCTTj+{`VZ60~&0646K^@O#qHEsk z{bFi94G^rcIQf8+)Cj>>@qoAm?>Zk4jisl$3WZ@` zP7eD+$kG-&Rqc2{?2RIQ9~4L8=aL5nu8~vsJSZB5>p|KLY#4)j>B0t(X-Ht^na923 zZTTxZUs@p^rO~|cF`U=jtX_Uhj2A_n!yZS#do^pN_?3F^ccN@BIDO&K^>O@feaZ*c zkK+<11?$4ocyz`)_B-GS(Nndq6bFh}=hZ7kPa$4cA1o6u0^pfXis@mx+~+dxTUAv3 z=n)PtGUE}^NRdTwl1Sq98t>c&rLI{?v@o|nCKo2g&GZ@B=qC9Z-9t` z{}@E9SGPR{dObm{SSRWOn}5yp`N29df+j9vHDltQ@U&<-;oaNW^G6rykRtVlm&EhS z{LEp8=nzqH!Z#MjcgVB2jjIFuM9O<3_{{^iQ$xg9gD(z<#(@d8%JNZYvbgGrq<;Urm=L_qMT{!=qc~u< zr~pyF{|E8&qT4+*0;H{Mtlcx70zRA+yV>n{Dvak%ojqR^YXog@+3ld_{o4mMpa)fr zdR3f&fP*X(ghm+O#|hw~xL-$jRLfq)y0<~S_bPbfT`KV!_}pT3_-o>aa_a(h_iJEu zv(?(y#DIPK)7~9Hx5xR&hl^|AEniiFBDY}!0JgW}fRS?8+kpMr0>~JDUZD2fAolBl zvNGLxt=r0!wwdqY!svh6W(#T&ob9w7cF%kt&e>1xe z_q^%V)w;70QM2rD?eg%JGf6P0xn511z5ijeev6_UBm!Rn67TyV-!om(dNs_@Ge^e{Nd zcG}y0^fG8yjE)4tesxQ^tWeLE$zbwDY;5w!(4$me$5G|Sp+Be}!bXmrKtN5rMx1~- z^vj3Ev%VNZUmU8x;81!v9LYs#*Hm`pKcS)%bx~sQNkRf$LP&VgSRuc(A4ofviq54_ z<@lW=5;#^nidIRwk3Nng%laRENFg+U9FuZ@2ZYKr=z$TLhgFuQF+z_Jif9fa)T@Nwnw{;K?#7(sv*&#%S{~=={;uHdg=TZ<8T_swL(=cL7 z&hsU*L+1D2`%lF|lEFwO?-jIsgL<$)SyATJK<$R+D{E?G|{`{|O| z#O7hk!9h`E7e;L!9)2DucRRebev3eq@%PhW|Jh93x8)oaXLk*3fY502@_{vaZyK!A$d}`H;@tYpq;7d3Cv*~vXI(J zNIfcp#BlhZ(GQ_*C;X46qNk>4Oxhzo!tL6nYzvh=h|4nlQ*u&*P>+d*|AWL5CFNeE z)>Xvk4SHP-&iiVW?6FVg8_0nWovC)rYy|5d-katlxnLEz1xxKy zE#p}gTJ%{@RCs!|Bz^JvYN<8-U`o@+(R|YM)&Ew@ro#OB2@J;r?y%gB5culA8rfXN zJRQ<;95i6i$PtRWgnIHValf4MlKT1EqId81*IN>i5k~B3>JcgNc_R$_DQps(V4IT~ zOuVL-YSr5ihM!i&Tf{Y0T$FGL31-9}X3kuH=ZjmWzK>g7P_Ao>s6n~cwm^h_T79}j zT!f#q-$4Y=r#mlyM@W%N4TibwHSdbjCTc)TPJ=L;L6Fm|(B+Bf2*k1RU?Zxc3YcxcV@chK(Y#Y*J{0>#x9HREd8F%XoTsLL2z}vo z_1K4EE;Q#8wh9a84O|dd0tNc|t>STHj{8WoiZXTAN8$#IL(5-9Us6=DfKW&U+R+oj z!W%2>O#W5$5-51b$KvctL?FmTB&viCYz20Qy)e}idAJ(4L7{$Kow-dch9Rfs6ES)} z=ng1dO{F13)k_Pdy|6soP>iDlU?s}s>4m7fN_`@RqMCJ|h@S)2BmP&MkzfX&YfCod z_{fSg#xm@iZtWuT6kvr}1!MMxlFdu2))k09k%RN$ADXsMrH-i(o%6_I3SS{{*g z_<1EFj})(}y`%C5^+iCQ@>RO3P7Lna*G}{`DE`m)a#?WW_&RI25h#_6;Mi9%yRh`kxH9Pdt7C6d^xoJ+|vMuoO5s-vPJZ%)K*Quv!lm7OW)F<0@#sU=7pHPR0U8>_OnH!k>9Acy2q_Ciuc+V4{GXyrjhVq|v-ek$W zL|`d>{7UE3ae0_1UQG$IEAis_BBxZ}9`f@-tx0QJv}E(Pnz&e0siS+!A*ItvwaT;g z4?dN#xdIaIZ~Mp|YIRR}s+@k8+Pjw|)8dcoC0VDh=*3gz!CtZvK|N7$;V$n!?u|JU zQpfg@19C{a#Ev`Ffkj>&1wA+xxsiSk!ePy}eJ(XaMeDf^LwzH$gYB zNYQsM%mtXB_u>xUvzKh>N4-IXWLGvR{!&i^k^NJ|OPj;Bp&R3H*A0E;4~jaLK8Es^ zZ)_EKqdlQ5Y8vXNedRB)ByI02XNm@Oc|Un0TCw_bD~I=&4PssAMg8T^1zv93TlUb7 z1X`f$8f8VzoQL=(0E&1OsESRWo7a92SGwi5GIsAollyR6;zG#$B1CXZ%NHQINGC&@RpAq{oSZD7eEjJW8#7^opI+dz* z!9Ma;IpYI$#lG@M;Zuk2C#%HuYRP`GOby*n7S{M&&qpKGj<-zbpsU!E7Rk7=7x*H%%D35RsJl;8Ze|eACZ|C|hpO#S{dmLgfr@sXD zV~>AjXgZqZ_r;ZJTeGZhT)Dc%^7l6kTTE&cE7!D~`xsr#jU0)by*Yj!azTo?uxLnQLywv=kCC}hJf1GF0obO1b>EuQ`rI;LHhqGtzCY4q4JrzDkUI|lhh8Lx5 zG*;PlYRqU^tv)#yUdFDaB*&#r30j9?jIuv}s-2wB6m()9? z9`urWUM=#H`0$PgZ55v>YSeE=$|4_P_50NCN6F#4gRG}&8zs}>h~0IBL2E)0dGleE+jT?!e- zDmVNJXc;5M$RP!{Q<*v{1BwW@!ld;4!LVBVdWNnRxo`gOA7EAj9lyc& z-2=MIHTtkeOsmjdID6S*e}`x;gPjJfN#o6ueG$w)!olo68Y>Tudg=-rasBG|V`RT> zAy>B@EDz^k;$Sr~vI;H;Bhs}=*Eg&c6A}Tvom<-j$ft)3CIvI90E~!>rp2o;e{g;n zzKeJekFc=OBjUhnV=sQ_Dh^!+=bFN#xf_Xy_GXSkSj>ps-k*;m!_XJeH{*@M;gN{G z>~9p#jzsKfx?I_A=_xctAHd-o<3S~#-NwE#)7@nFk(bm{=p8SKlAH81-zuq5hVv&S+)X+Vf&Io| ztJtmww@SjZ2{qiOlkjuW>86a}+_Wp1x~ywSowVd^9Bklo%sBtRY0E2?I?IXEth%>U z3&cZ?%}2%Qz}EttfeI$Ik2OlhNADja8w@+@H-t2O;E(x{5P7y@kvuXUMfCWYKeJM*S6j*4>zh8*kB@Q|UxdE??tWj^Vc|`4-P& zy7DE+BcJ4nD28f^pW9AaM9()XMse7m;jChNtiwc^wAdm_#18tB|dLlYX zuQ2N6saH6EJg(VX03!vYNk(rH!L50KXga{%8pHr&cEZR^R!={VN*R9i_H?J(geNs=RP~pj1`!w0O9D52y7PlMM{4AG%ES=mmgaMc zurR9lHvJ8%*VVdFT-o|ZlpG@qG-Ts*!7nnXehE>1zgP>v!?7@rmdUCI+z0tAK7s7c z*9J4mXAd|`KIZ{u3@mWLQSvp6=`3ah%n)=by< z3ui966uPH1eLe<0JRh!(KpeLAc&^z(ftO+G0zJY%7(`*bz*Z<)NAigK;aWgCy_yF* zKJH$gyBN6I-(HWO*bRURbVnD1g6^0fSUF60xh~x$VTZZh_}0k%+qA> zXNo~VzlGbQe8}M7$f@9TsDbW8MK}V?Z9qs4(#6;{gR#4=d$p{ii^#G$8PWf#3WK1Cr{0%xgZXNx{@m zFh!7Vj!7^!;!6*-sfWiKZdw|_eY1z#M}6~QxbwZrBf8drZbNFP82l$;P=hzzWS@-Z zp(Wnq2ePw#nuKvmcY^LFhS}N;-O-H-Am?mAh{R|&K{U+A6198HAWa))FaWDp-H0LvDFful{lAL$K zw)mn2!|tGLGnL(CxcLhy-=E5F*B3Jwb{FO6rSqj*e#>X-kRQTa(j9#2XFrtln!91j zG#67$Sv#mhDPe$KlC|cDAHjmMxO480WYE-?8hw|;{pF*5z&E11&haP0Dg`t4FUQMw z!jKAmh{6K>1D#BsB-?ckxriwzbTW(;FQ_3W%k^GS{i5;|elhkGxmtT-@P%HL5f4*8 zNRk9-y@(yE_B&Nxg6);}ohlEPTi#dVGE;hv^)o_MfFWyjJoFRXT)WkM~ z0eC|lFhRD%weaW!*|&tX+Zw$(3R*Yq8rZtNm>^60eWGn<0wN3Px?8=Z7GSq{Nxa(l zP$w*E`-w!#X2y1}xes~94C=LOTf6?Javzu`R{d1=%_BRZq?p@1J6|{#*073eV8^61 zF}!m617E0&`@=DH&Uv!0+JBNfx;V2;J(a;80Cnpmd1o^74dRHqo^yW~?roFQxU=2L z1=M7ybOv^+pl+}p(+=(KEpPnF+1*>PRnu;V0gI}R65#2&)$`}e@_=qfeR#gCsy-32 zpxH9QJQB-!O51d53`#4|aI<*q95c zPsC2d%tr&QBh3GSsDkc~L+?^0(oIpPp_G|)cP7CNN#7UC#9fR&W?!>Ed^iN=R7sFs zc1ep$!o5smgt1H&gw~c_Z~zs=whlGvLb+El=7xx4Ez|#4nA*_!n+xUH0{fwQ{7fE< zpELE(!}`Z}F=rleF|2Tl)uR{7$6{M)W7!+{gJ#RyV#lbfe=hsLxYtQP*tzv{@Y4nA zA3v4DRm+(&P!MCK)E~$R=H`XMk!Zdecc!e{H$PTT2sN9atqZxQ)E@R5Y6tO%b*U46somn$|`se(lZ`oIWkhDK0i}_uMih~@?ti-RmWK%6Mhb;N6(T+d+b1Sj=HnuL3N-%2=)|5#z*9uu5B8@8dR5^EysB5 zCBW?Eg|p?90AlAD;gGV=lKs?`=g8|4+)9*kvDL}2^XUl$f=P#7lZGzUedA${KIU9G zk?%r-IBaU3191cos&FzEn+w$?ljU*1@k^6o1zxQ7zC<36pBePCPQ81Hd<3q*1((XP zmOcy+0Ev+snUw4LHv4+o4NvApIFbvJ7}ponaY?8QFQ^NXGKrfrK25^Ec$O+_NA2s> zgmzHNp=wdPJO)L4Q+DR9pG}eN8uu=5l?mF8q6$uy^_s)pqfVSE8*~{+#DpNXjCBf^ z0kgeKjhrTrC}Q7tisPa%nBn|suq0og_Wy+(E-vUi{}=MO9748$l*4L;dUb~E7iDX^ zzQ_n8r^;r+TX2>dJX4-fewM_<#NH5&KSobu_``MT-kI{D>ddMn!pXppOPhKmZR$}| zX36iNnkQz-;k&P<`f6~X#cJHu0C1g}bG2;7G+2AJy!HP&n0`X{W_6AuH;H@I_pbvj ztW&pMCx_@|iK0kir1Y{>0c?D5oowv)!2LE&2X9$gct4wCy^ZI$dr2%ybMIGUu9rvT zYAdl1+^6GuISSTfnKBfrt{d1={?QGxN)5k3(vggDH%Q!A+kGMOzQq;7{Aq(a?E#Hl z-FcXjwjnskU3>#rfy)DgZXNkluZ!KE6f9 zd!I*qoR*yBoJmd&gT!_Gy7uAs10t$wpMYoKm|JBv?TZC@&pubG+$hP_U$mTVe9o(FR6R)!2JHxOOF|CalWsSc5ckYPB@~Tb``i&o)O!;F7ul=Kq7bI zn-%M`zF9B4Z(g`lo+h0a)B*Eluj=bwKq=^|=RzO_UfSUK!ZyJLRQt>7()n_z{P-2M zj7n~M#VZ-Wc%!60U9xk>e8`%S7oUZS(93Rr4qq=XUor=^(@7mdFM$Bzw(5&YiVHZb0st_c7&NaUc7Z z|K~S6Auj%n{GR6E;?0o7svbPYIsjc_R&%{gW-3R31;PitZlmq3pcd4@;lqH~W znvPgwaLk6LBc9M-?7!o=aNC3OP+cWyCZv9S_F!u53X=iLhqY_Jhj{He`XPA|FFNSX zK{~(}p2mPKXmUUMkUU$jU2atfc#E~mq)nf!si+@zqWfp5TRY{T-B~ilBmS>;b7kl;$K3!B6Vkq_Tf-4K1#Yi9Ipx2hvPNj`fy-W z^n5rN1Q>FQ6Rr(`F7OaqKLVwQ4Pj;c2x71Bt^6Bs@oe$p$J~;a^`k-_AV^B23%{Q#X z=H8ptl`G}XDsF~h5laVrIApX97X%HyAujZxs(M0x&s_*keS#N)nNKjm-}wYD1YJ+^ zLQwxC!`S*HF9Z{x%zXD3ymJ=E7jjK`%0p;q208beU!KtfwA-HLk?AxRl z0AvOf3F7G=DH($y0`a2Di}(&ZH{r^3XP&dE1VQSEEwnZ$Rt zuF-slEYG@9Sg4t~sQPDQAL2XdS9k)<;5(;2Bd-vZ)gB|o-mdQ_@~YywDMsplPL9rC z+FT&Tv&fhh~a8uO{e&tU__&(urL$tnpJ{^@gR7T)0TV6bqP2ft7I z7g#{qK}@;7y^xu*I&-b8S8eOC|6{V+v`$(FZ}|gcx_lT7pn+Xr=bzKx;G81P31;L# z>q41uMot0e#Jn7J$a;CG-0}x?<9fMX*IThmy*0bkTfIxYRXf$&`A1!^{{?xL|31IS zNvhjwWJR8Vbv3GmoLgRy^*Dq`+9VMVG{9VXBKHDu%-3GP=FN3#pFc6NTQADueq1OB zSzmb9er0@|<9+N3GV}hl)Av2I8^hY3ZtVCMWm&ZcOORlJFNvlDj%n$&VD^i05Wsor zMOmL+5IUtU=!!*=KV!zP>+JPs`BR_xR5`E8S%H;nv3z}|`n)C&68~Ry-yL67vHg4Y zUXu_KNKObP1x%rZp58#^9Ipb(W75Cj#u zfL_H$ks=6oeTt3Wcg;R0B*4A*z0Z69JoxPFS!>Upy=G?3YE#Zq=3|zo@`HVWIcTVr zi^t5!0MQ2in9;y=3fqsH4IYBn!hRrdDb~N6Exz%n~rJLykxAHj`CZ%UcBB#onppn$JbGT zkd2Sm`4vc5{Wjmwv(Z?#_8&4pd7AZapM#4|n2!YdK(nCgu%!{}_Tf_}%+Q|F96*EK z%Ci@>Y`F2Gf{4xp%1opX6;)fOqJrcGT>xtl^R1YB@aOq=Q$rpIu}07sJoFSSgF*bp zDYKoq`vmtn4R2!S2@W|8Q*Yx9c-(2TvAOSke&Mv)6WPByZMOA1z5_i4ZG(4~oiRhX z?-`s1Y!y`P$!ors&R~dN;{j*Q*L{Dp()GSH&-)&>($~K<_cd96E;Gu1B__xumK0S3 zPLSU^u}Gf!9mXcQFjH3hpFd|_FxQ{s_s%1bSislMBTQJp@fS=s`jx+P!Ti`T`tgdd zOeb!1$-L8Cf0i>ZVS^a%BQBW_m~UU@Lzm2!Q75m0qKV?TC^QYWt-vOnh&f+h$6P#a3plqw>0BK%lf_r~&zQ?&gnQZ=cg8%r*9D#fJ(4WnP zWZccye}xj9$^ZBbV|6Fb{>@zK`?CzaiQM)Y;>0^S`a7$gkwrd`GNPt^9p`mnKSVSk}BFYz)9I%?gn zTerBsbrz>}TkyBJs>8Ws+QXMw#VGvHI@~m!a{Q_LPiiGIpy-<$2pF?asHhH)x^A`$ zuPg!6^rrmWGGSH{K^HuK^SYVR;Kqx7=$Xor7S*5u=DA~w9-&6f&tsm(Gry^Q#>!0c zeQeD0e0v5oD#t_FzZ?nEQKwNjO}vQkwlAv27X1Bgs~~p!QDRwtxU~q^8;+;8V))_r z2uvWrlZInK6$Exd8jhucsAc7l{m+i|f(Wz_&?bgshamhcgsez(>=6W62&fdpu}=`n zLcp^%`Zx{>##1T+5{SVFBFM@D*=IP;2%@%ykT{Fu8$o!!3k8CfgXJK9@M+##lXfD4 z`ItZLh}NMx^BIV z6j~lGh2_>jqx~g;@u3bmR>Y&*@f!{>2e61kl)vAN43&HFdvNe^vo4lHR9XRWMfF;l z8rHpg?HaOzQ?@I>>t7a=rY zp@)^~At#oA6@iSZQRYeb=%2*)sfDh;%?q*^!1F@2{7Q@s&m;W-ov8;xR#F%J0ngnk zpTr1}{7`}*2Y38R!hN-MI7`s2JZRjVSS$w?x~WZiU^xqL`X_x+fWFJmzADSq07{!2 z7D{hd2TI=sMPfmSD1!xo-h`hS1lyhc0_hE7F7FSd$;L+R7DTN8!7UkKJjthnXpr#; zx3|+Pm|VGHr!0i}Q-bMfV+|h&rp(D~jl{G?WVd!)t9I^oYqEF-yQuW63)4a0* z6(LjWP-=`@pHMLG2mDA~3dilSx+DR+t#wI4hM(4@E}*rNkphWZ)zcZA^+>|8^Xt)T z_-yz3^tu%`POw4(R@gWJVdIbn6#L+kSM@4qv6{q7U*L@sM`>`T7qqf8$t@vdq7Kj)S z7G6`EHs44e*o~wC0LG@`8ADRHyk&QwnE$d#b^ohSOajjjE6qVUZR=@gX1$ zGRAOtj-VH6*xiVFg&tnF-(x(&eKN8&Oo0S^G`S)wQw+Zz^)78AubY~-sdf16X5=qZ$O5PRn`hX9J zaKsm8G{vx*%iEe_Jn!VFX4F-JPqI`2vIV_c)QldHxE>A!!J=tBRVH&%wJJB7^VMe5 z1ZpX`Ic+m`mLF(Nh*{$WBU(=J7Y6wumLl72dJo}XF$Vi%Nu1+DK#q?j>J&88aX^4g zM_`Q0K^1U@6k=JOT2OastLZJNTPm~g?_1Fr#9oH9 zrp8!)cn&ic6M24H`Z)4got6S^dcs0flQz_Tll^5A`N?+lAodEKZAY)mUZD_8>WVlD zYxG08-YevtLi)PgGuqL}UzYQ+z7)gP;wUZ}ya-`gQMt1RXYhM>4}n8NAZfDV$>oi& z$}a+)<~QO==H`Bhrww&AN`xmoGgUq#{>dU9mO)|CDw;!ib_PcH{{>@8`&Ewc2H>{X_FDW@nRkne zpn5#3y=K&P?Maq|eA1p8`irnZV>U-)UT;rlvG??B2b$-5UKWF0<1u%_TsiO)ueg&M z$-UxE3hi;=Cx;`TG|Id?0?UKN5zsfYRC50BJV8K27aG}-!fPM+34#NI0gK>Je)o=) zZNBskujxoJ<~Fjd-#DL8c6O$AWqWm~2O1p%>j@aUhGX^tbZ#i@I}NQCD8dWv6)4;b zeIihp7y3~ku^jb#e+v}ih2|fu3au7M491{U;K$XQDsrKyCYS1NtDnIdu zK$WB|dK*wj@8>@dsIC|KN}wbQ>SH*bKLoI~_u(Odns}ir0$G%Tv}*!YesK0-Kn=Y) z*9(MJE{ zioP_F-`+nO2~P|TBcn1bCMUx|T_9#BVXzq3+4E2=%wyoN%KQ)?&7@Xgcw5VKDFA4j zWt1D3FsRc7nrSC@=|YYg2Oz*4`;PFeE|g)ueS{Bnp=9&$5&pXizIgHoM|GuC!9UoQ zTA1%0;i+AzH+JlO*p<50*E{x5H~BPz43?#!xUd^Va<6Vw%bNkaFmBF(-GBUiH_E{6 zqi!(v2Xf2q@C^~w+1(u?5fPh--Ko6OI6MlmNx>%U!e-jkF-^ zX4Ud#7Bnps$KA9J&)>M4#$zTq=^h+tfj;+~z?ppyO*by^`Fm)x1i**%qArjhn|e_X z+|Sb)l|r8T7SDZaQoV(Uesfpjni?4ztbxJZe9 z^aNke_4C@ejeQTMFwhz$#aee?=b!U0u1LSAa z%8G^pl`#YxmY*3&JZ2S<3`APO~49N`Uv zXtlb5-aJ+Y%OCO?pBRt+cI8Fwi zc*2efkqYpy`HP1rEAaCZ7^ih%D}Wb|o#5nbd}$G{%m#Zb;)~goaQ|z+J8*7UFt!Nb zWmO7p_LWJ2;x@J|$20MywM3E(M_>GYmLp7JLSW<47_*J-*`xY#Z}D*vmc;KX9?b;N z&mQHW4^zkZ*I`O}wv2n9T6XhpinaHN>AhOhf8@eqleVj^$IM;9D6E*#Z6e z1@50ieS7IgHhX*&dfRd4FvLh($GmsE+Il%sKpd+?{O26}YYxUn4es;^ytX^|+9TB3 zYk^qSSiBP!?M2RU(sLMfKjzZi=7A&J$puY%> z-eM;yg+Prvj|w22&CdGh7|+5Sc*oX}1Q02njVfYC>9@5oah!RVO*d@2$$XcaRvLTx zs+%$_60x>ikI;mC>TY4MlSgBw=2OS8aQN_1R;ODWH8|zw?+jN5&NIs(3?9DIMwp+ zkpk+BVY;G#S{uvxDBcBBF^2BIQFg+?5*Ldx?c4b37>baibAgE(it%8GzYXs+ARyp# z?m3jYN0!M#am-Tq+smS`|5Q%$Kq?5oQWhLl$6m%;heD$N>j-~4l)}y9M|l1S3gJe> zXadZm=Z8_Y_e{yZhf%2q+<>H8&SJInm?M_&GSd zt6#KV#JFQ(k`p+x^p?H};aR2B6vKFHDcX1^pL!Hy|5dh+ zrcgkg#!wV*ew4y)%CO_VWhnnI88~RPE)*Zg`|rGt_Vyb~#f=WhnR?oOz#&*s3V5JOCisrU($BFh_O5>XTr7!f`&+D#|14s-%6KHc9f_`(FL zXS`Oe%aWd;`{1;jouyo9Y{;|IG9`oZBz=ZgJVAvpi98;9Xc=|NC=^AH;BiE>P@y%x zcD}?N2TyJ_45Q47`?Qk*iy1&6$I%Y*cYYa#Wc{{QZ*Vm|WA_IyXjxd7y`VLA&w4>? z?0(_}F?Nry>2TXx-{eaV_&;$QQYp$I_NhWmQ=Tjh+dUDIDG}hke=I-A%wX*xg7DRvO zbAWXB;}lOer%`)LK}wiL;tJ5}^*Lu6^#Ms+ron$+!(UFL#=f6#f}{K#2TZ5%pp}>a z@%F4OU;-yir^fyhEc*&IOLiqgf8*z=U-M~r-m?iD|x3LL{e zGjxnLY6c~t-u-5foDwr}h7L|vNB%v7hTSY&ojh(PwY%Zw8w;gXb)p;#uSf|4nQf$)O*{zy-vj zo;J3c_D%f$ED8-@`0l@betj0K%#XOsY?^I#0%Vx(gwJN96?U@yX_AH4eV(Q^TDz>6 zM~M_=f0gGg&~n+ikh=4C3&`IGzbAPsx)%9WLq_p?b09vC80bB+#-%M_ymv5qK0RIC)W`E#@iLR&`hcMIuGX!tgZXlB_Mn@BzHe=y91p@I7N2MN|X&LAY< z@Wo_KZ6zi+Fc$?wfTliJbDgCWUbYlVS8;CBa=H29rK_8eSSygM zBgR(fKLxQ-5bz>kfIDU*ZC@>%>(MB-fZn=;&@nadf;`hL1p@4&5H*HN=xMpy(b`bZ zF$M$E;B9Ouk~c0TIV>@A8K#-=V*$$`pWb?(4=;lofqfw_KoH|JvKJ`6Kh=!ia3tyzWa64t)VwY3%4ks^U#+cf+LrNsHY+i)M zi-z~s#`fWbOaKre8Ip8p%kCHwVhbL-z_XUqXsiG3wE7~#QdiQ>P@SU5^#NF1xPn}D zrwX4z=3y|~ddQOhK>KXIxPqMd`we^ABYCQDU&cDKO2!1w$rT{8*jV2;J|$d0|sn^)>qxUv$C*(y$01@*g#N3No{kf-$! zfL(gjV;9@s=dG)#i3n}b0oC)xDryZk&VM!h<^J4iH8rV!7?EVy#nSAOf*p-jRSVg@ z8g;!*f%r{TEStFPr|PfK`u?6Z)XX@74lsjF8+or|0X+mqmh`1#w*bnX6%gr_)Q(tL3WqQz`a-1c z1%7uObx62q1~k-N>S)_t%2LG{Hm#JTb@$;!Bs`S3oaicXAC_O{wDkyhVSaSIReGs3O%6vT*)WFCIkVVxI&bcIe=efoNpr(3M2^>yXF zZp#Iji1ttLrw)ol{f$zGuTc!cWf6~miNZtr2ZTs|J)(sq6XIswOLSjIq%9!Ws-4gU zJ&w3)zy^vbL&I1PJWuh!3<%Vv>z-N+hP*YyO_+bd$I$Or7LpQBSC88i^ROPb2yPy@ zka=rKt#3tnFqX+6gqo-n8W02M|(+aihP`{XvppA!c`Uo%;tM2xld)f_(i@ zJO|H1T{}I1YX$otAfWTwzcs^cR#qK|k+$n^!QYFKV!?H6j$F`6&(hThwfXK=355 zqY66HVsUT$%H$8IGC*>?5iO#PCzLCM!<{~p;0dY)|fu_R>t_=1Vp zg`C$Eu>L~%i<{`B+T{grV(#2t5fBwySQ6zfE-oyNs=&NpgI(0b-`2aP-46D1h(XLyh>S zJ@iJIt+L2_l+9KL`Mj^Y0Lyz`_#B81uLA!HxNa5rH^4%gH$T?N*cw)W{cnOVB7Z|} zQ2`;?m)#Y#3TL&}+($WlemC{t$$Kc#wAsps>_gzD5sK0O4Ez-uy#EA_C||T6ZNO*V zB0En#fb~P?-=ZWgLMm10k$?EKzM^pNTHqW!vaqDIz;%x^*FC(X$T@O^yQIW9*gc{k zFREkIaQ8@VaDX1HJ=4c-y8|zT;i_AH_5hWImG?PC_LjylcKWFS#$bNKPaQ(vOsc8Y z^8Nnm!J6(GGP-THe!SgZJ@R+G?=; zX;ePGw)&k68V<0>t`~4^$F&dFySP5YbspCrxN7FwZ4GcW!Ig%qbFRI)Z4eR#xW?g{i)%Hm zS8yG~bpqEHxGv?E@2{hNRQ?YPvD*gXdT2=bo(5`QUBgyhueJIm$y|SdYdK*H96HGD zoGL&tD+4b{>`a6nZ8{sabdphu})WM4W5*%68ZOB70>Z` zD&6pxTMJ&8r|f1xCg0~&;XKo&Liu4AFtu)AV$Ir49#y6u@^cO!Ug!#(YI0z)ir}Vh zb=e5wpnR2J+7qk-vh!7_8GHk%$xHH85Igc!Lp~_aLOjo|0l@jDbq1?8e)WcSXf|SW zX%q)OrXu;BA*vgGNTc&$)zfT{ZWViaunMY^o}ZkU;EH#}r6#2(JJV7^Z#;}N!%}(Q z9CZiZF+_!#;WvPq{Kybx$04tyhNyV6VOC|c_;cq16>c_a!S;MrpNk7rhEm7rS#x zoTUXN`33HhjEo`iacN2Uxk(8wS6+I2iZiiES1C5JTamN4#GRApb`^|p4$moZk7^pH zn>Qn)q_j9AV`yQ)$eh9Mk?!IGSB|T&XdH@4OiE6SON`4+O^#2Dk8>q9OP8XWmH#nR zJ!lx+r1@fa_i)wNXv1fRt2Q`dy6)Y1!O%yt*5|S2cdT>TTvYq~6W>$MGs0%hq0=rySg9Ji6S;wI5Smj9k9&G1bR( zWeL+pao7^D< z9DLi{{O02-*~rx0!2KtvhUU;5tJHx`Rhw5$P;urk4}sr2uWB$o0nQpeSccP}+65y^ z+{L9it|6mG4jaJ}pFrb|v|9Dz6BvSp2^{FUu2aQ9G@p*ATK{9)s>i%n~*q7qj}>rG|Y6~ zHBI%$_9*H97*3h4qUkAP(Bhp6e7y=(7CosH%`hIWhVk)<&z^Y`t_IDz3FG6Fm_7Rz zTvGPa1|$yJINCk7$n7f48CEbd4+GX6=T1mYN=QnJ!!SxuikpK`bA#u;e@X?1{|%FX9NGgLAyFuGJ3Y>6{f7(HX$$D^jGy6l>% z?!;-fXxTKZE$Upok0Rl1$8vB5gxsC8lt0d_?>P%g6Q4CYa>wT(e6P;J@OX2UvSTLE zBj&t)7EViyGU?N9JZHAbz?Q&wW~&)k2hhQiyd_VoJK8QYT0*21<~fIFWH?JoGcp|V zr)YG^5Hv@ATuNeET(UdOd!JSvj2HROr&Szc!%?gy2e1*}qO8o}U zRds46<>VKPEGQYWlK0L*1y{+f4Y!<&+^cWS9ga}x=6NcU56I)S5Lq``y>g@*>$vee z47v4^^?v+>)_`RyiN{8eODJ&ee zx!Pxcoe%kg?R<+=7w)$Jg}h>=UqYI;U>BVI8L;|<6=>h(3zaWlS)h8+RU{it*JXlJRrPjTT;u=q}?-9Km-grAo(f6ia5VraKSJ%w?PF3CFQ2) zCnTqWG2IFI?ss_kb1EzFUBfRYXT<2?r3H!a;m1$o-5_?)V;DcNOCW)cz@YY4qP_7x zUs(cE>GLI!!AB*XO8@kZ)1BMVFWJwlx^&FwZSh$p$`>to+<@j01qJ!v*f_z#OI0)a z01e`0$!HwkBsEOn%Wpx@{fl=mRUPRg;{nL0uADeS)x|Pk@a90{ByU-+TJq=1z+In6 zx)q1Mpn|YXT=2oJq!d?TT%Ic~CC{Cho0Rt%yIxS8=yM~1okP(ddtShwt;60^h=NaB>9LYNV-=i~kdlxN^_!5Fl$($mpMTcM@~vd~(n_~j zj`TSzohRw@R{BLrUyyVL7AR=)>#YFlD=Xbc(wEq|0*^2A(iO@{Ut_Biv|}S~v{H3Q zxnjgs$`k2o$dclM5e20MkGgY8#}&CDRZ^2&?)1FWq_p_t1b13`>Q%3R8^00)?i-%A z5>59lpIHg@@g3V&sU-T|=*3&N!x|X8O0}UMjDcQN5KKQB*_D8F-%r)xgzTTI!HLr?HcwwPJK}A=?{#D!ga8e{xlY^Q_1FEa%;*Dt%G6kH@4WUQ{Ct~>^u?W z;d#SzwC$KP-d$Yi&YNiZj&P4~jVPLA;v^H5&dt~3t;rS;;!e$rONw{8UHN&r330CU zDW5~YiBC(2&(BX!NlHqDeVmp)%Y+VvfaSk2 zW@)zBv-0b$=xH;79k0O0DcXh2esg%vM)cxbGm$5)g-|`c5i({TvUGeDeJafkJ=u1X z>T52*X-CU3ayM@RVb7S4TjOlbPN;^8*~$-U^3KhwH7zn*>yGe&{khoWvnw%BUfrzf z5m%{8ZN9Qu+3P)P2Iu6A$%TT4b)Ey;9WK#xY=2peHkX)ILoR<=HKFIt8!D_7Ek!}7 zK%B9RJH4WklV32ytCW)GhRt6%F2^;zQ2d7%%{o;c7Q6K~mYd!9hgaYlt>EuoQCYOo z%&5|Bu&IK$V2i3vtE4U!aL*QQQNalOuiXOsXN{S3L!Sm%hW_w^lG3$&eTxdGb!Ic( zH$^qzK5wDv*PF%C8euqX0^+b33ct=vWZgle$I#yIVKuLZX{Wa|G5zU)*%w4*X)R|Qz@s8E3X>X!$-mTK=fjs<86%_iO zS+@$^?y)05V_~uTi1k)E-h$FYTQs(Y(@`N|5dG5}Q#pdV(J`~A5^8NpyW?gGKfFUl zYe?(|ELGhFuE$oNUC`?v3KYeE?LzVY;=tYNUi!#vYO(A1-O8UnHZ4(nY_|%glcpt# z1&|K^1TCu_qU=53*-y>9DxD!>OGfW!o+iDvN7XYv=b*jnF8adkT_xwZy(%6vU>od6qj@Km~niLM~T85*?`k51li$0g}Lh`(US>H}AixFd^*%gbzrI z;-mY(MHl((KFFu9%t2Px`28vqS`MFV!OQleLoS<{m7=Z&pWd%R=xg&ai|1>-1+VT3 zk9tczNmtRF-hohq!ww*1@{Nd^raa()>OoIkpn7#zB4-t)iM0%0hp`bTUBf9 QlUrC^`a^k_gKCBGKY;B$hX4Qo diff --git a/site/decodal-site/src/lib/highlight.js b/site/decodal-site/src/lib/highlight.js index 7cfcf1a..4009e1a 100644 --- a/site/decodal-site/src/lib/highlight.js +++ b/site/decodal-site/src/lib/highlight.js @@ -41,7 +41,7 @@ export function highlightDecodalTokens(source, tokens) { function tokenClass(kind, text) { if (['let', 'in', 'fn', 'match', 'import', 'default'].includes(kind)) return 'tok-keyword'; - if (kind === 'ident' && ['String', 'Int', 'Float', 'Bool', 'Array'].includes(text)) return 'tok-type'; + if (kind === 'ident' && ['String', 'Int', 'Float', 'Bool'].includes(text)) return 'tok-type'; if (kind === 'ident') return ''; if (['true', 'false'].includes(kind)) return 'tok-literal'; if (['int', 'float'].includes(kind)) return 'tok-number'; @@ -60,6 +60,7 @@ function tokenClass(kind, text) { 'pipe_pipe', 'plus', 'plus_plus', + 'ellipsis', 'minus', 'star', 'slash', @@ -255,6 +256,7 @@ function isOperatorStart(char) { function readOperator(source, start) { let index = start + 1; + if (source.startsWith('...', start)) return start + 3; if ('&|/+'.includes(source[start]) && source[index] === source[start]) return index + 1; if ((source[start] === '<' || source[start] === '>' || source[start] === '=' || source[start] === '!') && source[index] === '=') { index += 1;