const lang = Object.freeze(JSON.parse("{\"displayName\":\"Imba\",\"fileTypes\":[\"imba\",\"imba2\"],\"name\":\"imba\",\"patterns\":[{\"include\":\"#root\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.imba\"}},\"match\":\"\\\\A(#!).*(?=$)\",\"name\":\"comment.line.shebang.imba\"}],\"repository\":{\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.imba\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.imba\"}},\"name\":\"meta.array.literal.imba\",\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"block\":{\"patterns\":[{\"include\":\"#style-declaration\"},{\"include\":\"#mixin-declaration\"},{\"include\":\"#object-keys\"},{\"include\":\"#generics-literal\"},{\"include\":\"#tag-literal\"},{\"include\":\"#regex\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#literal\"},{\"include\":\"#plain-identifiers\"},{\"include\":\"#plain-accessors\"},{\"include\":\"#pairs\"},{\"include\":\"#invalid-indentation\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?>>?|[+>~]\",\"name\":\"punctuation.separator.combinator.css\"},{\"match\":\"&\",\"name\":\"keyword.other.parent-selector.css\"}]},\"css-commas\":{\"match\":\",\",\"name\":\"punctuation.separator.list.comma.css\"},\"css-comment\":{\"patterns\":[{\"match\":\"#(\\\\s.+)?(\\\\n|$)\",\"name\":\"comment.line.imba\"},{\"match\":\"^(\\\\t+)(#(\\\\s.+)?(\\\\n|$))\",\"name\":\"comment.line.imba\"}]},\"css-escapes\":{\"patterns\":[{\"match\":\"\\\\\\\\\\\\h{1,6}\",\"name\":\"constant.character.escape.codepoint.css\"},{\"begin\":\"\\\\\\\\$\\\\s*\",\"end\":\"^(?[-\\\\w[^0-\\\\\\\\x]]|\\\\\\\\(?:\\\\h{1,6}|.))+)\\\\s*(?=[]$*=^|~]|/\\\\*)\"}]},{\"include\":\"#css-pseudo-classes\"},{\"include\":\"#css-pseudo-elements\"},{\"include\":\"#css-mixin\"}]},\"css-size-keywords\":{\"patterns\":[{\"match\":\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\w])\",\"name\":\"support.constant.size.property-value.css\"}]},\"curly-braces\":{\"begin\":\"\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.curly.imba\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.curly.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"decorator\":{\"begin\":\"(?\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.imba\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.triple-slash.directive.imba\",\"patterns\":[{\"begin\":\"(<)(reference|amd-dependency|amd-module)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.directive.imba\"},\"2\":{\"name\":\"entity.name.tag.directive.imba\"}},\"end\":\"/>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.directive.imba\"}},\"name\":\"meta.tag.imba\",\"patterns\":[{\"match\":\"path|types|no-default-lib|lib|name\",\"name\":\"entity.other.attribute-name.directive.imba\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.imba\"},{\"include\":\"#string\"}]}]},\"docblock\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.access-type.jsdoc\"}},\"match\":\"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"5\":{\"name\":\"constant.other.email.link.underline.jsdoc\"},\"6\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"match\":\"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"keyword.operator.control.jsdoc\"},\"5\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)example)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=@|\\\\*/)\",\"name\":\"meta.example.jsdoc\",\"patterns\":[{\"match\":\"^\\\\s\\\\*\\\\s+\"},{\"begin\":\"\\\\G(<)caption(>)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"contentName\":\"constant.other.description.jsdoc\",\"end\":\"()|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"captures\":{\"0\":{\"name\":\"source.embedded.imba\"}},\"match\":\"[^*@\\\\s](?:[^*]|\\\\*[^/])*\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.symbol-type.jsdoc\"}},\"match\":\"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"4\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)\"},{\"begin\":\"((@)typedef)\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"(?:[^*/@\\\\s]|\\\\*[^/])+\",\"name\":\"entity.name.type.instance.jsdoc\"}]},{\"begin\":\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"([$A-Z_a-z][]$.\\\\[\\\\w]*)\",\"name\":\"variable.other.jsdoc\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\"},\"2\":{\"name\":\"keyword.operator.assignment.jsdoc\"},\"3\":{\"name\":\"source.embedded.imba\"},\"4\":{\"name\":\"punctuation.definition.optional-value.end.bracket.square.jsdoc\"},\"5\":{\"name\":\"invalid.illegal.syntax.jsdoc\"}},\"match\":\"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\\")|[^*\\\\\\\\])*?\\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))\",\"name\":\"variable.other.jsdoc\"}]},{\"begin\":\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)(?:default(?:value)?|license|version))\\\\s+(([\\\"']))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.string.begin.jsdoc\"}},\"contentName\":\"variable.other.jsdoc\",\"end\":\"(\\\\3)|(?=$|\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.string.end.jsdoc\"}}},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b\",\"name\":\"storage.type.class.jsdoc\"},{\"include\":\"#inline-tags\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"((@)[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(?=\\\\s+)\"}]},\"expr\":{\"patterns\":[{\"include\":\"#style-declaration\"},{\"include\":\"#object-keys\"},{\"include\":\"#generics-literal\"},{\"include\":\"#tag-literal\"},{\"include\":\"#regex\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#literal\"},{\"include\":\"#plain-identifiers\"},{\"include\":\"#plain-accessors\"},{\"include\":\"#pairs\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"patterns\":[{\"include\":\"#expr\"}]},{\"include\":\"#tag-literal\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expressionPunctuations\":{\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-accessor\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#regex\"},{\"include\":\"#comment\"},{\"include\":\"#function-expression\"},{\"include\":\"#class-expression\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#new-expr\"},{\"include\":\"#instanceof-expr\"},{\"include\":\"#object-literal\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#support-objects\"}]},\"generics-literal\":{\"begin\":\"(?<=[])\\\\w])<\",\"beginCaptures\":{\"1\":{\"name\":\"meta.generics.annotation.open.imba\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"meta.generics.annotation.close.imba\"}},\"name\":\"meta.generics.annotation.imba\",\"patterns\":[{\"include\":\"#type-brackets\"}]},\"global-literal\":{\"match\":\"(?=?|<=?)\",\"name\":\"keyword.operator.imba\"},{\"match\":\"(of|delete|!?isa|typeof|!?in|new|!?is|isnt)(?![-$?_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.imba\"}]},\"literal\":{\"patterns\":[{\"include\":\"#number-with-unit-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#undefined-literal\"},{\"include\":\"#numericConstant-literal\"},{\"include\":\"#this-literal\"},{\"include\":\"#global-literal\"},{\"include\":\"#super-literal\"},{\"include\":\"#type-literal\"},{\"include\":\"#generics-literal\"},{\"include\":\"#string\"}]},\"mixin-css-selector\":{\"begin\":\"(%[-\\\\w]+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.other.attribute-name.mixin.css\"}},\"end\":\"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"mixin-css-selector-after\":{\"begin\":\"(?<=%[-\\\\w]+)(?![-!$%.@^\\\\w]+\\\\s*[:=][^:])\",\"end\":\"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"mixin-declaration\":{\"begin\":\"^(\\\\t*)(%[-\\\\w]+)\",\"beginCaptures\":{\"2\":{\"name\":\"entity.other.attribute-name.mixin.css\"}},\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#mixin-css-selector-after\"},{\"include\":\"#css-comment\"},{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"nested-css-selector\":{\"begin\":\"^(\\\\t+)(?![-!$%.@^\\\\w]+\\\\s*[:=][^:])\",\"end\":\"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"nested-style-declaration\":{\"begin\":\"^(\\\\t+)(?=[\\\\n^]*&)\",\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"null-literal\":{\"match\":\"(?>=|>>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.imba\"},{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.imba\"},{\"match\":\"(?:==|!=|[!=~])=\",\"name\":\"keyword.operator.comparison.imba\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.imba\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.imba\"},\"2\":{\"name\":\"keyword.operator.arithmetic.imba\"}},\"match\":\"(!)\\\\s*(/)(?![*/])\"},{\"match\":\"!|&&|\\\\|\\\\||\\\\?\\\\?|or\\\\b(?=\\\\s|$)|and\\\\b(?=\\\\s|$)|@\\\\b(?=\\\\s|$)\",\"name\":\"keyword.operator.logical.imba\"},{\"match\":\"\\\\?(?=\\\\s|$)\",\"name\":\"keyword.operator.bitwise.imba\"},{\"match\":\"[\\\\&^|~]\",\"name\":\"keyword.operator.ternary.imba\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.imba\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.imba\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.imba\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.imba\"}]},\"pairs\":{\"patterns\":[{\"include\":\"#curly-braces\"},{\"include\":\"#square-braces\"},{\"include\":\"#round-braces\"}]},\"plain-accessors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.imba\"},\"2\":{\"name\":\"variable.other.property.imba\"}},\"match\":\"(\\\\.\\\\.?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\"}]},\"plain-identifiers\":{\"patterns\":[{\"match\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\",\"name\":\"variable.other.constant.imba\"},{\"match\":\"\\\\p{upper}[$_[:alnum:]]*(?:-[$_[:alnum:]]+)*!?\",\"name\":\"variable.other.class.imba\"},{\"match\":\"\\\\$\\\\d+\",\"name\":\"variable.special.imba\"},{\"match\":\"\\\\$[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"variable.other.internal.imba\"},{\"match\":\"@@+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"variable.other.symbol.imba\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"variable.other.readwrite.imba\"},{\"match\":\"@[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"variable.other.instance.imba\"},{\"match\":\"#+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"variable.other.private.imba\"},{\"match\":\":[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"string.symbol.imba\"}]},\"punctuation-accessor\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.imba\"},\"2\":{\"name\":\"punctuation.accessor.optional.imba\"}},\"match\":\"(\\\\.)|(\\\\.\\\\.(?!\\\\s*\\\\d|\\\\s+))\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.imba\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.imba\"},\"qstring-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.imba\"}},\"name\":\"string.quoted.double.imba\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]},\"qstring-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"(')|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.imba\"},\"2\":{\"name\":\"invalid.illegal.newline.imba\"}},\"name\":\"string.quoted.single.imba\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"qstring-single-multi\":{\"begin\":\"'''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.imba\"}},\"name\":\"string.quoted.single.imba\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"regex\":{\"patterns\":[{\"begin\":\"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([gimsuy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"(/)([gimsuy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.imba\"},\"2\":{\"name\":\"keyword.other.imba\"}},\"name\":\"string.regexp.imba\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"((?)\"},{\"match\":\"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp\"},{\"begin\":\"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"},\"1\":{\"name\":\"punctuation.definition.group.no-capture.regexp\"},\"2\":{\"name\":\"variable.other.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.regexp\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"2\":{\"name\":\"keyword.operator.negation.regexp\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"name\":\"constant.other.character-class.set.regexp\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.control.regexp\"},\"3\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"4\":{\"name\":\"constant.character.numeric.regexp\"},\"5\":{\"name\":\"constant.character.control.regexp\"},\"6\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\",\"name\":\"constant.other.character-class.range.regexp\"},{\"include\":\"#regex-character-class\"}]},{\"include\":\"#regex-character-class\"}]},\"root\":{\"patterns\":[{\"include\":\"#block\"}]},\"round-braces\":{\"begin\":\"\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.imba\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"single-line-comment-consuming-line-ending\":{\"begin\":\"(^[\\\\t ]+)?((//|#\\\\s)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.imba\"},\"2\":{\"name\":\"comment.line.double-slash.imba\"},\"3\":{\"name\":\"punctuation.definition.comment.imba\"},\"4\":{\"name\":\"storage.type.internaldeclaration.imba\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.imba\"}},\"contentName\":\"comment.line.double-slash.imba\",\"end\":\"(?=^)\"},\"square-braces\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.imba\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstring-single-multi\"},{\"include\":\"#qstring-double-multi\"},{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template\"}]},\"string-character-escape\":{\"match\":\"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.imba\"},\"style-declaration\":{\"begin\":\"^(\\\\t*)(?:(global|local|export)\\\\s+)?(?:(scoped)\\\\s+)?(css)\\\\s\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.control.export.imba\"},\"3\":{\"name\":\"storage.modifier.imba\"},\"4\":{\"name\":\"storage.type.style.imba\"}},\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#css-selector\"},{\"include\":\"#css-comment\"},{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"style-expr\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.integer.decimal.css\"},\"2\":{\"name\":\"keyword.other.unit.css\"}},\"match\":\"\\\\b([0-9][0-9_]*)(\\\\w+|%)?\"},{\"match\":\"--[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"support.constant.property-value.var.css\"},{\"match\":\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\w])\",\"name\":\"support.constant.property-value.size.css\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\",\"name\":\"support.constant.property-value.css\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.bracket.round.css\"}},\"end\":\"\\\\)\",\"name\":\"meta.function.css\",\"patterns\":[{\"include\":\"#style-expr\"}]}]},\"style-property\":{\"patterns\":[{\"begin\":\"(?=[-!$%.@^\\\\w]+\\\\s*[:=])\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.calc.css\"},\"2\":{\"name\":\"punctuation.section.function.begin.bracket.round.css\"}},\"end\":\"\\\\s*[:=]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.css\"}},\"name\":\"meta.property-name.css\",\"patterns\":[{\"match\":\"(?:--|\\\\$)[-$\\\\w]+\",\"name\":\"support.type.property-name.variable.css\"},{\"match\":\"@[!<>]?[0-9]+\",\"name\":\"support.type.property-name.modifier.breakpoint.css\"},{\"match\":\"\\\\^?@+[-$\\\\w]+\",\"name\":\"support.type.property-name.modifier.css\"},{\"match\":\"\\\\^?\\\\.+[-$\\\\w]+\",\"name\":\"support.type.property-name.modifier.flag.css\"},{\"match\":\"\\\\^?%+[-$\\\\w]+\",\"name\":\"support.type.property-name.modifier.state.css\"},{\"match\":\"\\\\.\\\\.[-$\\\\w]+|\\\\^+[%.@][-$\\\\w]+\",\"name\":\"support.type.property-name.modifier.up.css\"},{\"match\":\"\\\\.[-$\\\\w]+\",\"name\":\"support.type.property-name.modifier.is.css\"},{\"match\":\"[-$\\\\w]+\",\"name\":\"support.type.property-name.css\"}]}]},\"super-literal\":{\"match\":\"(?\\\\[\\\\s])\"},\"tag-attr-value\":{\"begin\":\"(=)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.tag.assignment\"}},\"contentName\":\"meta.tag.attribute-value.imba\",\"end\":\"(?=[>\\\\s])\",\"patterns\":[{\"include\":\"#expr\"}]},\"tag-classname\":{\"begin\":\"\\\\.\",\"contentName\":\"entity.other.attribute-name.class.css\",\"end\":\"(?=[(.=>\\\\[\\\\s])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"}]},\"tag-content\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-expr-name\"},{\"include\":\"#tag-interpolated-content\"},{\"include\":\"#tag-interpolated-parens\"},{\"include\":\"#tag-interpolated-brackets\"},{\"include\":\"#tag-event-handler\"},{\"include\":\"#tag-mixin-name\"},{\"include\":\"#tag-classname\"},{\"include\":\"#tag-ref\"},{\"include\":\"#tag-attr-value\"},{\"include\":\"#tag-attr-name\"},{\"include\":\"#comment\"}]},\"tag-event-handler\":{\"begin\":\"(@[$_\\\\w]+(?:-[$_\\\\w]+)*)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.event-name.imba\"}},\"contentName\":\"entity.other.tag.event\",\"end\":\"(?=[=>\\\\[\\\\s])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"},{\"include\":\"#tag-interpolated-parens\"},{\"begin\":\"\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag\"}},\"end\":\"(?=[.=>\\\\[\\\\s]|$)\",\"name\":\"entity.other.event-modifier.imba\",\"patterns\":[{\"include\":\"#tag-interpolated-parens\"},{\"include\":\"#tag-interpolated-content\"}]}]},\"tag-expr-name\":{\"begin\":\"(?<=<)(?=[{\\\\w])\",\"contentName\":\"entity.name.tag.imba\",\"end\":\"(?=[#$%(.>\\\\[\\\\s])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"}]},\"tag-interpolated-brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#inline-css-selector\"},{\"include\":\"#inline-styles\"}]},\"tag-interpolated-content\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#expression\"}]},\"tag-interpolated-parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#expression\"}]},\"tag-literal\":{\"patterns\":[{\"begin\":\"(<)(?=[#$%(.@\\\\[{~\\\\w])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.open.imba\"}},\"contentName\":\"meta.tag.attributes.imba\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.close.imba\"}},\"name\":\"meta.tag.imba\",\"patterns\":[{\"include\":\"#tag-content\"}]}]},\"tag-mixin-name\":{\"match\":\"(%[-\\\\w]+)\",\"name\":\"entity.other.tag-mixin.imba\"},\"tag-name\":{\"patterns\":[{\"match\":\"(?<=<)(self|global|slot)(?=[(.>\\\\[\\\\s])\",\"name\":\"entity.name.tag.special.imba\"}]},\"tag-ref\":{\"match\":\"(\\\\$[-\\\\w]+)\",\"name\":\"entity.other.tag-ref.imba\"},\"template\":{\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(\\\\{\\\\{typeArguments}}\\\\s*)?`)\",\"end\":\"(?=`)\",\"name\":\"string.template.imba\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?))\",\"end\":\"(?=(\\\\{\\\\{typeArguments}}\\\\s*)?`)\",\"patterns\":[{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\",\"name\":\"entity.name.function.tagged-template.imba\"}]}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\\s*(?=(\\\\{\\\\{typeArguments}}\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.imba\"}},\"end\":\"(?=`)\",\"name\":\"string.template.imba\",\"patterns\":[{\"include\":\"#type-arguments\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.imba\"},\"2\":{\"name\":\"punctuation.definition.string.template.begin.imba\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.imba\"}},\"name\":\"string.template.imba\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-substitution-element\":{\"begin\":\"(?\",\"patterns\":[{\"include\":\"#type-brackets\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#type-brackets\"}]}]},\"type-literal\":{\"begin\":\"(\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type.annotation.open.imba\"}},\"end\":\"(?=[]),.=}\\\\s]|$)\",\"name\":\"meta.type.annotation.imba\",\"patterns\":[{\"include\":\"#type-brackets\"}]},\"undefined-literal\":{\"match\":\"(?