{"version":3,"file":"stylus-CaoJxDo0.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/stylus.js"],"sourcesContent":["// developer.mozilla.org/en-US/docs/Web/HTML/Element\nvar tagKeywords_ = [\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\", \"b\", \"base\",\"bdi\", \"bdo\",\"bgsound\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\", \"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"div\", \"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\", \"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\", \"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\", \"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"nobr\",\"noframes\", \"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\", \"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\", \"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\", \"u\",\"ul\",\"var\",\"video\"];\n\n// github.com/codemirror/CodeMirror/blob/master/mode/css/css.js\n// Note, \"url-prefix\" should precede \"url\" in order to match correctly in documentTypesRegexp\nvar documentTypes_ = [\"domain\", \"regexp\", \"url-prefix\", \"url\"];\nvar mediaTypes_ = [\"all\",\"aural\",\"braille\",\"handheld\",\"print\",\"projection\",\"screen\",\"tty\",\"tv\",\"embossed\"];\nvar mediaFeatures_ = [\"width\",\"min-width\",\"max-width\",\"height\",\"min-height\",\"max-height\",\"device-width\",\"min-device-width\",\"max-device-width\",\"device-height\",\"min-device-height\",\"max-device-height\",\"aspect-ratio\",\"min-aspect-ratio\",\"max-aspect-ratio\",\"device-aspect-ratio\",\"min-device-aspect-ratio\",\"max-device-aspect-ratio\",\"color\",\"min-color\",\"max-color\",\"color-index\",\"min-color-index\",\"max-color-index\",\"monochrome\",\"min-monochrome\",\"max-monochrome\",\"resolution\",\"min-resolution\",\"max-resolution\",\"scan\",\"grid\",\"dynamic-range\",\"video-dynamic-range\"];\nvar propertyKeywords_ = [\"align-content\",\"align-items\",\"align-self\",\"alignment-adjust\",\"alignment-baseline\",\"anchor-point\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"appearance\",\"azimuth\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"baseline-shift\",\"binding\",\"bleed\",\"bookmark-label\",\"bookmark-level\",\"bookmark-state\",\"bookmark-target\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"clear\",\"clip\",\"color\",\"color-profile\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"content\",\"counter-increment\",\"counter-reset\",\"crop\",\"cue\",\"cue-after\",\"cue-before\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"drop-initial-after-adjust\",\"drop-initial-after-align\",\"drop-initial-before-adjust\",\"drop-initial-before-align\",\"drop-initial-size\",\"drop-initial-value\",\"elevation\",\"empty-cells\",\"fit\",\"fit-position\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"float-offset\",\"flow-from\",\"flow-into\",\"font\",\"font-feature-settings\",\"font-family\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-synthesis\",\"font-variant\",\"font-variant-alternates\",\"font-variant-caps\",\"font-variant-east-asian\",\"font-variant-ligatures\",\"font-variant-numeric\",\"font-variant-position\",\"font-weight\",\"grid\",\"grid-area\",\"grid-auto-columns\",\"grid-auto-flow\",\"grid-auto-position\",\"grid-auto-rows\",\"grid-column\",\"grid-column-end\",\"grid-column-start\",\"grid-row\",\"grid-row-end\",\"grid-row-start\",\"grid-template\",\"grid-template-areas\",\"grid-template-columns\",\"grid-template-rows\",\"hanging-punctuation\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"inline-box-align\",\"justify-content\",\"left\",\"letter-spacing\",\"line-break\",\"line-height\",\"line-stacking\",\"line-stacking-ruby\",\"line-stacking-shift\",\"line-stacking-strategy\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marker-offset\",\"marks\",\"marquee-direction\",\"marquee-loop\",\"marquee-play-count\",\"marquee-speed\",\"marquee-style\",\"max-height\",\"max-width\",\"min-height\",\"min-width\",\"move-to\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"object-fit\",\"object-position\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-style\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"page-policy\",\"pause\",\"pause-after\",\"pause-before\",\"perspective\",\"perspective-origin\",\"pitch\",\"pitch-range\",\"play-during\",\"position\",\"presentation-level\",\"punctuation-trim\",\"quotes\",\"region-break-after\",\"region-break-before\",\"region-break-inside\",\"region-fragment\",\"rendering-intent\",\"resize\",\"rest\",\"rest-after\",\"rest-before\",\"richness\",\"right\",\"rotation\",\"rotation-point\",\"ruby-align\",\"ruby-overhang\",\"ruby-position\",\"ruby-span\",\"shape-image-threshold\",\"shape-inside\",\"shape-margin\",\"shape-outside\",\"size\",\"speak\",\"speak-as\",\"speak-header\",\"speak-numeral\",\"speak-punctuation\",\"speech-rate\",\"stress\",\"string-set\",\"tab-size\",\"table-layout\",\"target\",\"target-name\",\"target-new\",\"target-position\",\"text-align\",\"text-align-last\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-skip\",\"text-decoration-style\",\"text-emphasis\",\"text-emphasis-color\",\"text-emphasis-position\",\"text-emphasis-style\",\"text-height\",\"text-indent\",\"text-justify\",\"text-outline\",\"text-overflow\",\"text-shadow\",\"text-size-adjust\",\"text-space-collapse\",\"text-transform\",\"text-underline-position\",\"text-wrap\",\"top\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"unicode-bidi\",\"vertical-align\",\"visibility\",\"voice-balance\",\"voice-duration\",\"voice-family\",\"voice-pitch\",\"voice-range\",\"voice-rate\",\"voice-stress\",\"voice-volume\",\"volume\",\"white-space\",\"widows\",\"width\",\"will-change\",\"word-break\",\"word-spacing\",\"word-wrap\",\"z-index\",\"clip-path\",\"clip-rule\",\"mask\",\"enable-background\",\"filter\",\"flood-color\",\"flood-opacity\",\"lighting-color\",\"stop-color\",\"stop-opacity\",\"pointer-events\",\"color-interpolation\",\"color-interpolation-filters\",\"color-rendering\",\"fill\",\"fill-opacity\",\"fill-rule\",\"image-rendering\",\"marker\",\"marker-end\",\"marker-mid\",\"marker-start\",\"shape-rendering\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-rendering\",\"baseline-shift\",\"dominant-baseline\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"text-anchor\",\"writing-mode\",\"font-smoothing\",\"osx-font-smoothing\"];\nvar nonStandardPropertyKeywords_ = [\"scrollbar-arrow-color\",\"scrollbar-base-color\",\"scrollbar-dark-shadow-color\",\"scrollbar-face-color\",\"scrollbar-highlight-color\",\"scrollbar-shadow-color\",\"scrollbar-3d-light-color\",\"scrollbar-track-color\",\"shape-inside\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"zoom\"];\nvar fontProperties_ = [\"font-family\",\"src\",\"unicode-range\",\"font-variant\",\"font-feature-settings\",\"font-stretch\",\"font-weight\",\"font-style\"];\nvar colorKeywords_ = [\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"grey\",\"green\",\"greenyellow\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"];\nvar valueKeywords_ = [\"above\",\"absolute\",\"activeborder\",\"additive\",\"activecaption\",\"afar\",\"after-white-space\",\"ahead\",\"alias\",\"all\",\"all-scroll\",\"alphabetic\",\"alternate\",\"always\",\"amharic\",\"amharic-abegede\",\"antialiased\",\"appworkspace\",\"arabic-indic\",\"armenian\",\"asterisks\",\"attr\",\"auto\",\"avoid\",\"avoid-column\",\"avoid-page\",\"avoid-region\",\"background\",\"backwards\",\"baseline\",\"below\",\"bidi-override\",\"binary\",\"bengali\",\"blink\",\"block\",\"block-axis\",\"bold\",\"bolder\",\"border\",\"border-box\",\"both\",\"bottom\",\"break\",\"break-all\",\"break-word\",\"bullets\",\"button\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"calc\",\"cambodian\",\"capitalize\",\"caps-lock-indicator\",\"caption\",\"captiontext\",\"caret\",\"cell\",\"center\",\"checkbox\",\"circle\",\"cjk-decimal\",\"cjk-earthly-branch\",\"cjk-heavenly-stem\",\"cjk-ideographic\",\"clear\",\"clip\",\"close-quote\",\"col-resize\",\"collapse\",\"column\",\"compact\",\"condensed\",\"conic-gradient\",\"contain\",\"content\",\"contents\",\"content-box\",\"context-menu\",\"continuous\",\"copy\",\"counter\",\"counters\",\"cover\",\"crop\",\"cross\",\"crosshair\",\"currentcolor\",\"cursive\",\"cyclic\",\"dashed\",\"decimal\",\"decimal-leading-zero\",\"default\",\"default-button\",\"destination-atop\",\"destination-in\",\"destination-out\",\"destination-over\",\"devanagari\",\"disc\",\"discard\",\"disclosure-closed\",\"disclosure-open\",\"document\",\"dot-dash\",\"dot-dot-dash\",\"dotted\",\"double\",\"down\",\"e-resize\",\"ease\",\"ease-in\",\"ease-in-out\",\"ease-out\",\"element\",\"ellipse\",\"ellipsis\",\"embed\",\"end\",\"ethiopic\",\"ethiopic-abegede\",\"ethiopic-abegede-am-et\",\"ethiopic-abegede-gez\",\"ethiopic-abegede-ti-er\",\"ethiopic-abegede-ti-et\",\"ethiopic-halehame-aa-er\",\"ethiopic-halehame-aa-et\",\"ethiopic-halehame-am-et\",\"ethiopic-halehame-gez\",\"ethiopic-halehame-om-et\",\"ethiopic-halehame-sid-et\",\"ethiopic-halehame-so-et\",\"ethiopic-halehame-ti-er\",\"ethiopic-halehame-ti-et\",\"ethiopic-halehame-tig\",\"ethiopic-numeric\",\"ew-resize\",\"expanded\",\"extends\",\"extra-condensed\",\"extra-expanded\",\"fantasy\",\"fast\",\"fill\",\"fixed\",\"flat\",\"flex\",\"footnotes\",\"forwards\",\"from\",\"geometricPrecision\",\"georgian\",\"graytext\",\"groove\",\"gujarati\",\"gurmukhi\",\"hand\",\"hangul\",\"hangul-consonant\",\"hebrew\",\"help\",\"hidden\",\"hide\",\"high\",\"higher\",\"highlight\",\"highlighttext\",\"hiragana\",\"hiragana-iroha\",\"horizontal\",\"hsl\",\"hsla\",\"icon\",\"ignore\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infinite\",\"infobackground\",\"infotext\",\"inherit\",\"initial\",\"inline\",\"inline-axis\",\"inline-block\",\"inline-flex\",\"inline-table\",\"inset\",\"inside\",\"intrinsic\",\"invert\",\"italic\",\"japanese-formal\",\"japanese-informal\",\"justify\",\"kannada\",\"katakana\",\"katakana-iroha\",\"keep-all\",\"khmer\",\"korean-hangul-formal\",\"korean-hanja-formal\",\"korean-hanja-informal\",\"landscape\",\"lao\",\"large\",\"larger\",\"left\",\"level\",\"lighter\",\"line-through\",\"linear\",\"linear-gradient\",\"lines\",\"list-item\",\"listbox\",\"listitem\",\"local\",\"logical\",\"loud\",\"lower\",\"lower-alpha\",\"lower-armenian\",\"lower-greek\",\"lower-hexadecimal\",\"lower-latin\",\"lower-norwegian\",\"lower-roman\",\"lowercase\",\"ltr\",\"malayalam\",\"match\",\"matrix\",\"matrix3d\",\"media-play-button\",\"media-slider\",\"media-sliderthumb\",\"media-volume-slider\",\"media-volume-sliderthumb\",\"medium\",\"menu\",\"menulist\",\"menulist-button\",\"menutext\",\"message-box\",\"middle\",\"min-intrinsic\",\"mix\",\"mongolian\",\"monospace\",\"move\",\"multiple\",\"myanmar\",\"n-resize\",\"narrower\",\"ne-resize\",\"nesw-resize\",\"no-close-quote\",\"no-drop\",\"no-open-quote\",\"no-repeat\",\"none\",\"normal\",\"not-allowed\",\"nowrap\",\"ns-resize\",\"numbers\",\"numeric\",\"nw-resize\",\"nwse-resize\",\"oblique\",\"octal\",\"open-quote\",\"optimizeLegibility\",\"optimizeSpeed\",\"oriya\",\"oromo\",\"outset\",\"outside\",\"outside-shape\",\"overlay\",\"overline\",\"padding\",\"padding-box\",\"painted\",\"page\",\"paused\",\"persian\",\"perspective\",\"plus-darker\",\"plus-lighter\",\"pointer\",\"polygon\",\"portrait\",\"pre\",\"pre-line\",\"pre-wrap\",\"preserve-3d\",\"progress\",\"push-button\",\"radial-gradient\",\"radio\",\"read-only\",\"read-write\",\"read-write-plaintext-only\",\"rectangle\",\"region\",\"relative\",\"repeat\",\"repeating-linear-gradient\",\"repeating-radial-gradient\",\"repeating-conic-gradient\",\"repeat-x\",\"repeat-y\",\"reset\",\"reverse\",\"rgb\",\"rgba\",\"ridge\",\"right\",\"rotate\",\"rotate3d\",\"rotateX\",\"rotateY\",\"rotateZ\",\"round\",\"row-resize\",\"rtl\",\"run-in\",\"running\",\"s-resize\",\"sans-serif\",\"scale\",\"scale3d\",\"scaleX\",\"scaleY\",\"scaleZ\",\"scroll\",\"scrollbar\",\"scroll-position\",\"se-resize\",\"searchfield\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"semi-condensed\",\"semi-expanded\",\"separate\",\"serif\",\"show\",\"sidama\",\"simp-chinese-formal\",\"simp-chinese-informal\",\"single\",\"skew\",\"skewX\",\"skewY\",\"skip-white-space\",\"slide\",\"slider-horizontal\",\"slider-vertical\",\"sliderthumb-horizontal\",\"sliderthumb-vertical\",\"slow\",\"small\",\"small-caps\",\"small-caption\",\"smaller\",\"solid\",\"somali\",\"source-atop\",\"source-in\",\"source-out\",\"source-over\",\"space\",\"spell-out\",\"square\",\"square-button\",\"standard\",\"start\",\"static\",\"status-bar\",\"stretch\",\"stroke\",\"sub\",\"subpixel-antialiased\",\"super\",\"sw-resize\",\"symbolic\",\"symbols\",\"table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row\",\"table-row-group\",\"tamil\",\"telugu\",\"text\",\"text-bottom\",\"text-top\",\"textarea\",\"textfield\",\"thai\",\"thick\",\"thin\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"tibetan\",\"tigre\",\"tigrinya-er\",\"tigrinya-er-abegede\",\"tigrinya-et\",\"tigrinya-et-abegede\",\"to\",\"top\",\"trad-chinese-formal\",\"trad-chinese-informal\",\"translate\",\"translate3d\",\"translateX\",\"translateY\",\"translateZ\",\"transparent\",\"ultra-condensed\",\"ultra-expanded\",\"underline\",\"up\",\"upper-alpha\",\"upper-armenian\",\"upper-greek\",\"upper-hexadecimal\",\"upper-latin\",\"upper-norwegian\",\"upper-roman\",\"uppercase\",\"urdu\",\"url\",\"var\",\"vertical\",\"vertical-text\",\"visible\",\"visibleFill\",\"visiblePainted\",\"visibleStroke\",\"visual\",\"w-resize\",\"wait\",\"wave\",\"wider\",\"window\",\"windowframe\",\"windowtext\",\"words\",\"x-large\",\"x-small\",\"xor\",\"xx-large\",\"xx-small\",\"bicubic\",\"optimizespeed\",\"grayscale\",\"row\",\"row-reverse\",\"wrap\",\"wrap-reverse\",\"column-reverse\",\"flex-start\",\"flex-end\",\"space-between\",\"space-around\", \"unset\"];\n\nvar wordOperatorKeywords_ = [\"in\",\"and\",\"or\",\"not\",\"is not\",\"is a\",\"is\",\"isnt\",\"defined\",\"if unless\"],\n    blockKeywords_ = [\"for\",\"if\",\"else\",\"unless\", \"from\", \"to\"],\n    commonAtoms_ = [\"null\",\"true\",\"false\",\"href\",\"title\",\"type\",\"not-allowed\",\"readonly\",\"disabled\"],\n    commonDef_ = [\"@font-face\", \"@keyframes\", \"@media\", \"@viewport\", \"@page\", \"@host\", \"@supports\", \"@block\", \"@css\"];\n\nvar hintWords = tagKeywords_.concat(documentTypes_,mediaTypes_,mediaFeatures_,\n                                    propertyKeywords_,nonStandardPropertyKeywords_,\n                                    colorKeywords_,valueKeywords_,fontProperties_,\n                                    wordOperatorKeywords_,blockKeywords_,\n                                    commonAtoms_,commonDef_);\n\nfunction wordRegexp(words) {\n  words = words.sort(function(a,b){return b > a;});\n  return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n}\n\nfunction keySet(array) {\n  var keys = {};\n  for (var i = 0; i < array.length; ++i) keys[array[i]] = true;\n  return keys;\n}\n\nfunction escapeRegExp(text) {\n  return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\nvar tagKeywords = keySet(tagKeywords_),\n    tagVariablesRegexp = /^(a|b|i|s|col|em)$/i,\n    propertyKeywords = keySet(propertyKeywords_),\n    nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_),\n    valueKeywords = keySet(valueKeywords_),\n    colorKeywords = keySet(colorKeywords_),\n    documentTypes = keySet(documentTypes_),\n    documentTypesRegexp = wordRegexp(documentTypes_),\n    mediaFeatures = keySet(mediaFeatures_),\n    mediaTypes = keySet(mediaTypes_),\n    fontProperties = keySet(fontProperties_),\n    operatorsRegexp = /^\\s*([.]{2,3}|&&|\\|\\||\\*\\*|[?!=:]?=|[-+*\\/%<>]=?|\\?:|\\~)/,\n    wordOperatorKeywordsRegexp = wordRegexp(wordOperatorKeywords_),\n    blockKeywords = keySet(blockKeywords_),\n    vendorPrefixesRegexp = new RegExp(/^\\-(moz|ms|o|webkit)-/i),\n    commonAtoms = keySet(commonAtoms_),\n    firstWordMatch = \"\",\n    states = {},\n    ch,\n    style,\n    type,\n    override;\n\n/**\n * Tokenizers\n */\nfunction tokenBase(stream, state) {\n  firstWordMatch = stream.string.match(/(^[\\w-]+\\s*=\\s*$)|(^\\s*[\\w-]+\\s*=\\s*[\\w-])|(^\\s*(\\.|#|@|\\$|\\&|\\[|\\d|\\+|::?|\\{|\\>|~|\\/)?\\s*[\\w-]*([a-z0-9-]|\\*|\\/\\*)(\\(|,)?)/);\n  state.context.line.firstWord = firstWordMatch ? firstWordMatch[0].replace(/^\\s*/, \"\") : \"\";\n  state.context.line.indent = stream.indentation();\n  ch = stream.peek();\n\n  // Line comment\n  if (stream.match(\"//\")) {\n    stream.skipToEnd();\n    return [\"comment\", \"comment\"];\n  }\n  // Block comment\n  if (stream.match(\"/*\")) {\n    state.tokenize = tokenCComment;\n    return tokenCComment(stream, state);\n  }\n  // String\n  if (ch == \"\\\"\" || ch == \"'\") {\n    stream.next();\n    state.tokenize = tokenString(ch);\n    return state.tokenize(stream, state);\n  }\n  // Def\n  if (ch == \"@\") {\n    stream.next();\n    stream.eatWhile(/[\\w\\\\-]/);\n    return [\"def\", stream.current()];\n  }\n  // ID selector or Hex color\n  if (ch == \"#\") {\n    stream.next();\n    // Hex color\n    if (stream.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\\b(?!-)/i)) {\n      return [\"atom\", \"atom\"];\n    }\n    // ID selector\n    if (stream.match(/^[a-z][\\w-]*/i)) {\n      return [\"builtin\", \"hash\"];\n    }\n  }\n  // Vendor prefixes\n  if (stream.match(vendorPrefixesRegexp)) {\n    return [\"meta\", \"vendor-prefixes\"];\n  }\n  // Numbers\n  if (stream.match(/^-?[0-9]?\\.?[0-9]/)) {\n    stream.eatWhile(/[a-z%]/i);\n    return [\"number\", \"unit\"];\n  }\n  // !important|optional\n  if (ch == \"!\") {\n    stream.next();\n    return [stream.match(/^(important|optional)/i) ? \"keyword\": \"operator\", \"important\"];\n  }\n  // Class\n  if (ch == \".\" && stream.match(/^\\.[a-z][\\w-]*/i)) {\n    return [\"qualifier\", \"qualifier\"];\n  }\n  // url url-prefix domain regexp\n  if (stream.match(documentTypesRegexp)) {\n    if (stream.peek() == \"(\") state.tokenize = tokenParenthesized;\n    return [\"property\", \"word\"];\n  }\n  // Mixins / Functions\n  if (stream.match(/^[a-z][\\w-]*\\(/i)) {\n    stream.backUp(1);\n    return [\"keyword\", \"mixin\"];\n  }\n  // Block mixins\n  if (stream.match(/^(\\+|-)[a-z][\\w-]*\\(/i)) {\n    stream.backUp(1);\n    return [\"keyword\", \"block-mixin\"];\n  }\n  // Parent Reference BEM naming\n  if (stream.string.match(/^\\s*&/) && stream.match(/^[-_]+[a-z][\\w-]*/)) {\n    return [\"qualifier\", \"qualifier\"];\n  }\n  // / Root Reference & Parent Reference\n  if (stream.match(/^(\\/|&)(-|_|:|\\.|#|[a-z])/)) {\n    stream.backUp(1);\n    return [\"variableName.special\", \"reference\"];\n  }\n  if (stream.match(/^&{1}\\s*$/)) {\n    return [\"variableName.special\", \"reference\"];\n  }\n  // Word operator\n  if (stream.match(wordOperatorKeywordsRegexp)) {\n    return [\"operator\", \"operator\"];\n  }\n  // Word\n  if (stream.match(/^\\$?[-_]*[a-z0-9]+[\\w-]*/i)) {\n    // Variable\n    if (stream.match(/^(\\.|\\[)[\\w-\\'\\\"\\]]+/i, false)) {\n      if (!wordIsTag(stream.current())) {\n        stream.match('.');\n        return [\"variable\", \"variable-name\"];\n      }\n    }\n    return [\"variable\", \"word\"];\n  }\n  // Operators\n  if (stream.match(operatorsRegexp)) {\n    return [\"operator\", stream.current()];\n  }\n  // Delimiters\n  if (/[:;,{}\\[\\]\\(\\)]/.test(ch)) {\n    stream.next();\n    return [null, ch];\n  }\n  // Non-detected items\n  stream.next();\n  return [null, null];\n}\n\n/**\n * Token comment\n */\nfunction tokenCComment(stream, state) {\n  var maybeEnd = false, ch;\n  while ((ch = stream.next()) != null) {\n    if (maybeEnd && ch == \"/\") {\n      state.tokenize = null;\n      break;\n    }\n    maybeEnd = (ch == \"*\");\n  }\n  return [\"comment\", \"comment\"];\n}\n\n/**\n * Token string\n */\nfunction tokenString(quote) {\n  return function(stream, state) {\n    var escaped = false, ch;\n    while ((ch = stream.next()) != null) {\n      if (ch == quote && !escaped) {\n        if (quote == \")\") stream.backUp(1);\n        break;\n      }\n      escaped = !escaped && ch == \"\\\\\";\n    }\n    if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n    return [\"string\", \"string\"];\n  };\n}\n\n/**\n * Token parenthesized\n */\nfunction tokenParenthesized(stream, state) {\n  stream.next(); // Must be \"(\"\n  if (!stream.match(/\\s*[\\\"\\')]/, false))\n    state.tokenize = tokenString(\")\");\n  else\n    state.tokenize = null;\n  return [null, \"(\"];\n}\n\n/**\n * Context management\n */\nfunction Context(type, indent, prev, line) {\n  this.type = type;\n  this.indent = indent;\n  this.prev = prev;\n  this.line = line || {firstWord: \"\", indent: 0};\n}\n\nfunction pushContext(state, stream, type, indent) {\n  indent = indent >= 0 ? indent : stream.indentUnit;\n  state.context = new Context(type, stream.indentation() + indent, state.context);\n  return type;\n}\n\nfunction popContext(state, stream, currentIndent) {\n  var contextIndent = state.context.indent - stream.indentUnit;\n  currentIndent = currentIndent || false;\n  state.context = state.context.prev;\n  if (currentIndent) state.context.indent = contextIndent;\n  return state.context.type;\n}\n\nfunction pass(type, stream, state) {\n  return states[state.context.type](type, stream, state);\n}\n\nfunction popAndPass(type, stream, state, n) {\n  for (var i = n || 1; i > 0; i--)\n    state.context = state.context.prev;\n  return pass(type, stream, state);\n}\n\n\n/**\n * Parser\n */\nfunction wordIsTag(word) {\n  return word.toLowerCase() in tagKeywords;\n}\n\nfunction wordIsProperty(word) {\n  word = word.toLowerCase();\n  return word in propertyKeywords || word in fontProperties;\n}\n\nfunction wordIsBlock(word) {\n  return word.toLowerCase() in blockKeywords;\n}\n\nfunction wordIsVendorPrefix(word) {\n  return word.toLowerCase().match(vendorPrefixesRegexp);\n}\n\nfunction wordAsValue(word) {\n  var wordLC = word.toLowerCase();\n  var override = \"variable\";\n  if (wordIsTag(word)) override = \"tag\";\n  else if (wordIsBlock(word)) override = \"block-keyword\";\n  else if (wordIsProperty(word)) override = \"property\";\n  else if (wordLC in valueKeywords || wordLC in commonAtoms) override = \"atom\";\n  else if (wordLC == \"return\" || wordLC in colorKeywords) override = \"keyword\";\n\n  // Font family\n  else if (word.match(/^[A-Z]/)) override = \"string\";\n  return override;\n}\n\nfunction typeIsBlock(type, stream) {\n  return ((endOfLine(stream) && (type == \"{\" || type == \"]\" || type == \"hash\" || type == \"qualifier\")) || type == \"block-mixin\");\n}\n\nfunction typeIsInterpolation(type, stream) {\n  return type == \"{\" && stream.match(/^\\s*\\$?[\\w-]+/i, false);\n}\n\nfunction typeIsPseudo(type, stream) {\n  return type == \":\" && stream.match(/^[a-z-]+/, false);\n}\n\nfunction startOfLine(stream) {\n  return stream.sol() || stream.string.match(new RegExp(\"^\\\\s*\" + escapeRegExp(stream.current())));\n}\n\nfunction endOfLine(stream) {\n  return stream.eol() || stream.match(/^\\s*$/, false);\n}\n\nfunction firstWordOfLine(line) {\n  var re = /^\\s*[-_]*[a-z0-9]+[\\w-]*/i;\n  var result = typeof line == \"string\" ? line.match(re) : line.string.match(re);\n  return result ? result[0].replace(/^\\s*/, \"\") : \"\";\n}\n\n\n/**\n * Block\n */\nstates.block = function(type, stream, state) {\n  if ((type == \"comment\" && startOfLine(stream)) ||\n      (type == \",\" && endOfLine(stream)) ||\n      type == \"mixin\") {\n    return pushContext(state, stream, \"block\", 0);\n  }\n  if (typeIsInterpolation(type, stream)) {\n    return pushContext(state, stream, \"interpolation\");\n  }\n  if (endOfLine(stream) && type == \"]\") {\n    if (!/^\\s*(\\.|#|:|\\[|\\*|&)/.test(stream.string) && !wordIsTag(firstWordOfLine(stream))) {\n      return pushContext(state, stream, \"block\", 0);\n    }\n  }\n  if (typeIsBlock(type, stream)) {\n    return pushContext(state, stream, \"block\");\n  }\n  if (type == \"}\" && endOfLine(stream)) {\n    return pushContext(state, stream, \"block\", 0);\n  }\n  if (type == \"variable-name\") {\n    if (stream.string.match(/^\\s?\\$[\\w-\\.\\[\\]\\'\\\"]+$/) || wordIsBlock(firstWordOfLine(stream))) {\n      return pushContext(state, stream, \"variableName\");\n    }\n    else {\n      return pushContext(state, stream, \"variableName\", 0);\n    }\n  }\n  if (type == \"=\") {\n    if (!endOfLine(stream) && !wordIsBlock(firstWordOfLine(stream))) {\n      return pushContext(state, stream, \"block\", 0);\n    }\n    return pushContext(state, stream, \"block\");\n  }\n  if (type == \"*\") {\n    if (endOfLine(stream) || stream.match(/\\s*(,|\\.|#|\\[|:|{)/,false)) {\n      override = \"tag\";\n      return pushContext(state, stream, \"block\");\n    }\n  }\n  if (typeIsPseudo(type, stream)) {\n    return pushContext(state, stream, \"pseudo\");\n  }\n  if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) {\n    return pushContext(state, stream, endOfLine(stream) ? \"block\" : \"atBlock\");\n  }\n  if (/@(-(moz|ms|o|webkit)-)?keyframes$/.test(type)) {\n    return pushContext(state, stream, \"keyframes\");\n  }\n  if (/@extends?/.test(type)) {\n    return pushContext(state, stream, \"extend\", 0);\n  }\n  if (type && type.charAt(0) == \"@\") {\n\n    // Property Lookup\n    if (stream.indentation() > 0 && wordIsProperty(stream.current().slice(1))) {\n      override = \"variable\";\n      return \"block\";\n    }\n    if (/(@import|@require|@charset)/.test(type)) {\n      return pushContext(state, stream, \"block\", 0);\n    }\n    return pushContext(state, stream, \"block\");\n  }\n  if (type == \"reference\" && endOfLine(stream)) {\n    return pushContext(state, stream, \"block\");\n  }\n  if (type == \"(\") {\n    return pushContext(state, stream, \"parens\");\n  }\n\n  if (type == \"vendor-prefixes\") {\n    return pushContext(state, stream, \"vendorPrefixes\");\n  }\n  if (type == \"word\") {\n    var word = stream.current();\n    override = wordAsValue(word);\n\n    if (override == \"property\") {\n      if (startOfLine(stream)) {\n        return pushContext(state, stream, \"block\", 0);\n      } else {\n        override = \"atom\";\n        return \"block\";\n      }\n    }\n\n    if (override == \"tag\") {\n\n      // tag is a css value\n      if (/embed|menu|pre|progress|sub|table/.test(word)) {\n        if (wordIsProperty(firstWordOfLine(stream))) {\n          override = \"atom\";\n          return \"block\";\n        }\n      }\n\n      // tag is an attribute\n      if (stream.string.match(new RegExp(\"\\\\[\\\\s*\" + word + \"|\" + word +\"\\\\s*\\\\]\"))) {\n        override = \"atom\";\n        return \"block\";\n      }\n\n      // tag is a variable\n      if (tagVariablesRegexp.test(word)) {\n        if ((startOfLine(stream) && stream.string.match(/=/)) ||\n            (!startOfLine(stream) &&\n             !stream.string.match(/^(\\s*\\.|#|\\&|\\[|\\/|>|\\*)/) &&\n             !wordIsTag(firstWordOfLine(stream)))) {\n          override = \"variable\";\n          if (wordIsBlock(firstWordOfLine(stream)))  return \"block\";\n          return pushContext(state, stream, \"block\", 0);\n        }\n      }\n\n      if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n    }\n    if (override == \"block-keyword\") {\n      override = \"keyword\";\n\n      // Postfix conditionals\n      if (stream.current(/(if|unless)/) && !startOfLine(stream)) {\n        return \"block\";\n      }\n      return pushContext(state, stream, \"block\");\n    }\n    if (word == \"return\") return pushContext(state, stream, \"block\", 0);\n\n    // Placeholder selector\n    if (override == \"variable\" && stream.string.match(/^\\s?\\$[\\w-\\.\\[\\]\\'\\\"]+$/)) {\n      return pushContext(state, stream, \"block\");\n    }\n  }\n  return state.context.type;\n};\n\n\n/**\n * Parens\n */\nstates.parens = function(type, stream, state) {\n  if (type == \"(\") return pushContext(state, stream, \"parens\");\n  if (type == \")\") {\n    if (state.context.prev.type == \"parens\") {\n      return popContext(state, stream);\n    }\n    if ((stream.string.match(/^[a-z][\\w-]*\\(/i) && endOfLine(stream)) ||\n        wordIsBlock(firstWordOfLine(stream)) ||\n        /(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(firstWordOfLine(stream)) ||\n        (!stream.string.match(/^-?[a-z][\\w-\\.\\[\\]\\'\\\"]*\\s*=/) &&\n         wordIsTag(firstWordOfLine(stream)))) {\n      return pushContext(state, stream, \"block\");\n    }\n    if (stream.string.match(/^[\\$-]?[a-z][\\w-\\.\\[\\]\\'\\\"]*\\s*=/) ||\n        stream.string.match(/^\\s*(\\(|\\)|[0-9])/) ||\n        stream.string.match(/^\\s+[a-z][\\w-]*\\(/i) ||\n        stream.string.match(/^\\s+[\\$-]?[a-z]/i)) {\n      return pushContext(state, stream, \"block\", 0);\n    }\n    if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n    else return pushContext(state, stream, \"block\", 0);\n  }\n  if (type && type.charAt(0) == \"@\" && wordIsProperty(stream.current().slice(1))) {\n    override = \"variable\";\n  }\n  if (type == \"word\") {\n    var word = stream.current();\n    override = wordAsValue(word);\n    if (override == \"tag\" && tagVariablesRegexp.test(word)) {\n      override = \"variable\";\n    }\n    if (override == \"property\" || word == \"to\") override = \"atom\";\n  }\n  if (type == \"variable-name\") {\n    return pushContext(state, stream, \"variableName\");\n  }\n  if (typeIsPseudo(type, stream)) {\n    return pushContext(state, stream, \"pseudo\");\n  }\n  return state.context.type;\n};\n\n\n/**\n * Vendor prefixes\n */\nstates.vendorPrefixes = function(type, stream, state) {\n  if (type == \"word\") {\n    override = \"property\";\n    return pushContext(state, stream, \"block\", 0);\n  }\n  return popContext(state, stream);\n};\n\n\n/**\n * Pseudo\n */\nstates.pseudo = function(type, stream, state) {\n  if (!wordIsProperty(firstWordOfLine(stream.string))) {\n    stream.match(/^[a-z-]+/);\n    override = \"variableName.special\";\n    if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n    return popContext(state, stream);\n  }\n  return popAndPass(type, stream, state);\n};\n\n\n/**\n * atBlock\n */\nstates.atBlock = function(type, stream, state) {\n  if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n  if (typeIsBlock(type, stream)) {\n    return pushContext(state, stream, \"block\");\n  }\n  if (typeIsInterpolation(type, stream)) {\n    return pushContext(state, stream, \"interpolation\");\n  }\n  if (type == \"word\") {\n    var word = stream.current().toLowerCase();\n    if (/^(only|not|and|or)$/.test(word))\n      override = \"keyword\";\n    else if (documentTypes.hasOwnProperty(word))\n      override = \"tag\";\n    else if (mediaTypes.hasOwnProperty(word))\n      override = \"attribute\";\n    else if (mediaFeatures.hasOwnProperty(word))\n      override = \"property\";\n    else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n      override = \"string.special\";\n    else override = wordAsValue(stream.current());\n    if (override == \"tag\" && endOfLine(stream)) {\n      return pushContext(state, stream, \"block\");\n    }\n  }\n  if (type == \"operator\" && /^(not|and|or)$/.test(stream.current())) {\n    override = \"keyword\";\n  }\n  return state.context.type;\n};\n\nstates.atBlock_parens = function(type, stream, state) {\n  if (type == \"{\" || type == \"}\") return state.context.type;\n  if (type == \")\") {\n    if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n    else return pushContext(state, stream, \"atBlock\");\n  }\n  if (type == \"word\") {\n    var word = stream.current().toLowerCase();\n    override = wordAsValue(word);\n    if (/^(max|min)/.test(word)) override = \"property\";\n    if (override == \"tag\") {\n      tagVariablesRegexp.test(word) ? override = \"variable\" : override = \"atom\";\n    }\n    return state.context.type;\n  }\n  return states.atBlock(type, stream, state);\n};\n\n\n/**\n * Keyframes\n */\nstates.keyframes = function(type, stream, state) {\n  if (stream.indentation() == \"0\" && ((type == \"}\" && startOfLine(stream)) || type == \"]\" || type == \"hash\"\n                                      || type == \"qualifier\" || wordIsTag(stream.current()))) {\n    return popAndPass(type, stream, state);\n  }\n  if (type == \"{\") return pushContext(state, stream, \"keyframes\");\n  if (type == \"}\") {\n    if (startOfLine(stream)) return popContext(state, stream, true);\n    else return pushContext(state, stream, \"keyframes\");\n  }\n  if (type == \"unit\" && /^[0-9]+\\%$/.test(stream.current())) {\n    return pushContext(state, stream, \"keyframes\");\n  }\n  if (type == \"word\") {\n    override = wordAsValue(stream.current());\n    if (override == \"block-keyword\") {\n      override = \"keyword\";\n      return pushContext(state, stream, \"keyframes\");\n    }\n  }\n  if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) {\n    return pushContext(state, stream, endOfLine(stream) ? \"block\" : \"atBlock\");\n  }\n  if (type == \"mixin\") {\n    return pushContext(state, stream, \"block\", 0);\n  }\n  return state.context.type;\n};\n\n\n/**\n * Interpolation\n */\nstates.interpolation = function(type, stream, state) {\n  if (type == \"{\") popContext(state, stream) && pushContext(state, stream, \"block\");\n  if (type == \"}\") {\n    if (stream.string.match(/^\\s*(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/i) ||\n        (stream.string.match(/^\\s*[a-z]/i) && wordIsTag(firstWordOfLine(stream)))) {\n      return pushContext(state, stream, \"block\");\n    }\n    if (!stream.string.match(/^(\\{|\\s*\\&)/) ||\n        stream.match(/\\s*[\\w-]/,false)) {\n      return pushContext(state, stream, \"block\", 0);\n    }\n    return pushContext(state, stream, \"block\");\n  }\n  if (type == \"variable-name\") {\n    return pushContext(state, stream, \"variableName\", 0);\n  }\n  if (type == \"word\") {\n    override = wordAsValue(stream.current());\n    if (override == \"tag\") override = \"atom\";\n  }\n  return state.context.type;\n};\n\n\n/**\n * Extend/s\n */\nstates.extend = function(type, stream, state) {\n  if (type == \"[\" || type == \"=\") return \"extend\";\n  if (type == \"]\") return popContext(state, stream);\n  if (type == \"word\") {\n    override = wordAsValue(stream.current());\n    return \"extend\";\n  }\n  return popContext(state, stream);\n};\n\n\n/**\n * Variable name\n */\nstates.variableName = function(type, stream, state) {\n  if (type == \"string\" || type == \"[\" || type == \"]\" || stream.current().match(/^(\\.|\\$)/)) {\n    if (stream.current().match(/^\\.[\\w-]+/i)) override = \"variable\";\n    return \"variableName\";\n  }\n  return popAndPass(type, stream, state);\n};\n\nexport const stylus = {\n  name: \"stylus\",\n  startState: function() {\n    return {\n      tokenize: null,\n      state: \"block\",\n      context: new Context(\"block\", 0, null)\n    };\n  },\n  token: function(stream, state) {\n    if (!state.tokenize && stream.eatSpace()) return null;\n    style = (state.tokenize || tokenBase)(stream, state);\n    if (style && typeof style == \"object\") {\n      type = style[1];\n      style = style[0];\n    }\n    override = style;\n    state.state = states[state.state](type, stream, state);\n    return override;\n  },\n  indent: function(state, textAfter, iCx) {\n    var cx = state.context,\n        ch = textAfter && textAfter.charAt(0),\n        indent = cx.indent,\n        lineFirstWord = firstWordOfLine(textAfter),\n        lineIndent = cx.line.indent,\n        prevLineFirstWord = state.context.prev ? state.context.prev.line.firstWord : \"\",\n        prevLineIndent = state.context.prev ? state.context.prev.line.indent : lineIndent;\n\n    if (cx.prev &&\n        (ch == \"}\" && (cx.type == \"block\" || cx.type == \"atBlock\" || cx.type == \"keyframes\") ||\n         ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n         ch == \"{\" && (cx.type == \"at\"))) {\n      indent = cx.indent - iCx.unit;\n    } else if (!(/(\\})/.test(ch))) {\n      if (/@|\\$|\\d/.test(ch) ||\n          /^\\{/.test(textAfter) ||\n/^\\s*\\/(\\/|\\*)/.test(textAfter) ||\n          /^\\s*\\/\\*/.test(prevLineFirstWord) ||\n          /^\\s*[\\w-\\.\\[\\]\\'\\\"]+\\s*(\\?|:|\\+)?=/i.test(textAfter) ||\n          /^(\\+|-)?[a-z][\\w-]*\\(/i.test(textAfter) ||\n          /^return/.test(textAfter) ||\n          wordIsBlock(lineFirstWord)) {\n        indent = lineIndent;\n      } else if (/(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(ch) || wordIsTag(lineFirstWord)) {\n        if (/\\,\\s*$/.test(prevLineFirstWord)) {\n          indent = prevLineIndent;\n        } else if (/(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(prevLineFirstWord) || wordIsTag(prevLineFirstWord)) {\n          indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + iCx.unit;\n        } else {\n          indent = lineIndent;\n        }\n      } else if (!/,\\s*$/.test(textAfter) && (wordIsVendorPrefix(lineFirstWord) || wordIsProperty(lineFirstWord))) {\n        if (wordIsBlock(prevLineFirstWord)) {\n          indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + iCx.unit;\n        } else if (/^\\{/.test(prevLineFirstWord)) {\n          indent = lineIndent <= prevLineIndent ? lineIndent : prevLineIndent + iCx.unit;\n        } else if (wordIsVendorPrefix(prevLineFirstWord) || wordIsProperty(prevLineFirstWord)) {\n          indent = lineIndent >= prevLineIndent ? prevLineIndent : lineIndent;\n        } else if (/^(\\.|#|:|\\[|\\*|&|@|\\+|\\-|>|~|\\/)/.test(prevLineFirstWord) ||\n                   /=\\s*$/.test(prevLineFirstWord) ||\n                   wordIsTag(prevLineFirstWord) ||\n                   /^\\$[\\w-\\.\\[\\]\\'\\\"]/.test(prevLineFirstWord)) {\n          indent = prevLineIndent + iCx.unit;\n        } else {\n          indent = lineIndent;\n        }\n      }\n    }\n    return indent;\n  },\n  languageData: {\n    indentOnInput: /^\\s*\\}$/,\n    commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}},\n    autocomplete: hintWords\n  }\n};\n"],"names":["tagKeywords_","documentTypes_","mediaTypes_","mediaFeatures_","propertyKeywords_","nonStandardPropertyKeywords_","fontProperties_","colorKeywords_","valueKeywords_","wordOperatorKeywords_","blockKeywords_","commonAtoms_","hintWords","concat","wordRegexp","words","sort","a","b","RegExp","join","keySet","array","keys","i","length","ch","style","type","override","tagKeywords","tagVariablesRegexp","propertyKeywords","nonStandardPropertyKeywords","valueKeywords","colorKeywords","documentTypes","documentTypesRegexp","mediaFeatures","mediaTypes","fontProperties","operatorsRegexp","wordOperatorKeywordsRegexp","blockKeywords","vendorPrefixesRegexp","commonAtoms","firstWordMatch","states","tokenBase","stream","state","string","match","context","line","firstWord","replace","indent","indentation","peek","skipToEnd","tokenize","tokenCComment","next","tokenString","eatWhile","current","tokenParenthesized","backUp","wordIsTag","test","maybeEnd","quote","escaped","Context","prev","this","pushContext","indentUnit","popContext","currentIndent","contextIndent","popAndPass","n","pass","word","toLowerCase","wordIsProperty","wordIsBlock","wordIsVendorPrefix","wordAsValue","wordLC","typeIsBlock","endOfLine","typeIsInterpolation","typeIsPseudo","startOfLine","sol","eol","firstWordOfLine","re","result","block","charAt","slice","parens","vendorPrefixes","pseudo","atBlock","hasOwnProperty","atBlock_parens","keyframes","interpolation","extend","variableName","stylus","name","startState","token","eatSpace","textAfter","iCx","cx","lineFirstWord","lineIndent","prevLineFirstWord","prevLineIndent","unit","languageData","indentOnInput","commentTokens","open","close","autocomplete"],"mappings":"gFACA,IAAIA,EAAe,CAAC,IAAI,OAAO,UAAU,OAAO,UAAU,QAAQ,QAAS,IAAK,OAAO,MAAO,MAAM,UAAU,aAAa,OAAO,KAAK,SAAS,SAAS,UAAU,OAAQ,OAAO,MAAM,WAAW,OAAO,WAAW,KAAK,MAAM,UAAU,MAAM,MAAO,KAAK,KAAK,KAAK,QAAQ,WAAW,aAAa,SAAS,SAAS,OAAO,KAAM,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,SAAS,SAAS,KAAK,OAAO,IAAI,SAAU,MAAM,QAAQ,MAAM,MAAM,SAAS,QAAQ,SAAS,KAAK,OAAO,OAAO,MAAO,OAAO,UAAU,OAAO,WAAW,OAAO,QAAQ,MAAM,OAAO,WAAY,WAAW,SAAS,KAAK,WAAW,SAAS,SAAS,IAAI,QAAQ,MAAO,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,SAAS,UAAU,SAAU,QAAQ,SAAS,OAAO,SAAS,QAAQ,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAK,WAAW,QAAQ,KAAK,QAAQ,OAAO,KAAK,QAAS,IAAI,KAAK,MAAM,SAI/0BC,EAAiB,CAAC,SAAU,SAAU,aAAc,OACpDC,EAAc,CAAC,MAAM,QAAQ,UAAU,WAAW,QAAQ,aAAa,SAAS,MAAM,KAAK,YAC3FC,EAAiB,CAAC,QAAQ,YAAY,YAAY,SAAS,aAAa,aAAa,eAAe,mBAAmB,mBAAmB,gBAAgB,oBAAoB,oBAAoB,eAAe,mBAAmB,mBAAmB,sBAAsB,0BAA0B,0BAA0B,QAAQ,YAAY,YAAY,cAAc,kBAAkB,kBAAkB,aAAa,iBAAiB,iBAAiB,aAAa,iBAAiB,iBAAiB,OAAO,OAAO,gBAAgB,uBAC/gBC,EAAoB,CAAC,gBAAgB,cAAc,aAAa,mBAAmB,qBAAqB,eAAe,YAAY,kBAAkB,sBAAsB,qBAAqB,sBAAsB,4BAA4B,iBAAiB,uBAAuB,4BAA4B,aAAa,UAAU,sBAAsB,aAAa,wBAAwB,kBAAkB,mBAAmB,mBAAmB,oBAAoB,sBAAsB,oBAAoB,kBAAkB,iBAAiB,UAAU,QAAQ,iBAAiB,iBAAiB,iBAAiB,kBAAkB,SAAS,gBAAgB,sBAAsB,4BAA4B,6BAA6B,sBAAsB,sBAAsB,kBAAkB,eAAe,eAAe,sBAAsB,sBAAsB,qBAAqB,sBAAsB,qBAAqB,cAAc,oBAAoB,oBAAoB,oBAAoB,gBAAgB,eAAe,qBAAqB,qBAAqB,qBAAqB,iBAAiB,eAAe,aAAa,mBAAmB,yBAAyB,0BAA0B,mBAAmB,mBAAmB,eAAe,SAAS,uBAAuB,aAAa,aAAa,cAAc,eAAe,eAAe,eAAe,QAAQ,OAAO,QAAQ,gBAAgB,eAAe,cAAc,aAAa,cAAc,oBAAoB,oBAAoB,oBAAoB,cAAc,eAAe,UAAU,UAAU,oBAAoB,gBAAgB,OAAO,MAAM,YAAY,aAAa,SAAS,YAAY,UAAU,oBAAoB,4BAA4B,2BAA2B,6BAA6B,4BAA4B,oBAAoB,qBAAqB,YAAY,cAAc,MAAM,eAAe,OAAO,aAAa,iBAAiB,YAAY,YAAY,cAAc,YAAY,QAAQ,eAAe,YAAY,YAAY,OAAO,wBAAwB,cAAc,eAAe,yBAAyB,YAAY,mBAAmB,eAAe,aAAa,iBAAiB,eAAe,0BAA0B,oBAAoB,0BAA0B,yBAAyB,uBAAuB,wBAAwB,cAAc,OAAO,YAAY,oBAAoB,iBAAiB,qBAAqB,iBAAiB,cAAc,kBAAkB,oBAAoB,WAAW,eAAe,iBAAiB,gBAAgB,sBAAsB,wBAAwB,qBAAqB,sBAAsB,SAAS,UAAU,OAAO,oBAAoB,kBAAkB,mBAAmB,mBAAmB,kBAAkB,OAAO,iBAAiB,aAAa,cAAc,gBAAgB,qBAAqB,sBAAsB,yBAAyB,aAAa,mBAAmB,sBAAsB,kBAAkB,SAAS,gBAAgB,cAAc,eAAe,aAAa,gBAAgB,QAAQ,oBAAoB,eAAe,qBAAqB,gBAAgB,gBAAgB,aAAa,YAAY,aAAa,YAAY,UAAU,WAAW,YAAY,WAAW,YAAY,SAAS,aAAa,kBAAkB,UAAU,QAAQ,UAAU,UAAU,gBAAgB,iBAAiB,gBAAgB,gBAAgB,WAAW,iBAAiB,gBAAgB,aAAa,aAAa,UAAU,iBAAiB,eAAe,gBAAgB,cAAc,OAAO,mBAAmB,oBAAoB,oBAAoB,cAAc,QAAQ,cAAc,eAAe,cAAc,qBAAqB,QAAQ,cAAc,cAAc,WAAW,qBAAqB,mBAAmB,SAAS,qBAAqB,sBAAsB,sBAAsB,kBAAkB,mBAAmB,SAAS,OAAO,aAAa,cAAc,WAAW,QAAQ,WAAW,iBAAiB,aAAa,gBAAgB,gBAAgB,YAAY,wBAAwB,eAAe,eAAe,gBAAgB,OAAO,QAAQ,WAAW,eAAe,gBAAgB,oBAAoB,cAAc,SAAS,aAAa,WAAW,eAAe,SAAS,cAAc,aAAa,kBAAkB,aAAa,kBAAkB,kBAAkB,wBAAwB,uBAAuB,uBAAuB,wBAAwB,gBAAgB,sBAAsB,yBAAyB,sBAAsB,cAAc,cAAc,eAAe,eAAe,gBAAgB,cAAc,mBAAmB,sBAAsB,iBAAiB,0BAA0B,YAAY,MAAM,YAAY,mBAAmB,kBAAkB,aAAa,mBAAmB,sBAAsB,sBAAsB,6BAA6B,eAAe,iBAAiB,aAAa,gBAAgB,iBAAiB,eAAe,cAAc,cAAc,aAAa,eAAe,eAAe,SAAS,cAAc,SAAS,QAAQ,cAAc,aAAa,eAAe,YAAY,UAAU,YAAY,YAAY,OAAO,oBAAoB,SAAS,cAAc,gBAAgB,iBAAiB,aAAa,eAAe,iBAAiB,sBAAsB,8BAA8B,kBAAkB,OAAO,eAAe,YAAY,kBAAkB,SAAS,aAAa,aAAa,eAAe,kBAAkB,SAAS,mBAAmB,oBAAoB,iBAAiB,kBAAkB,oBAAoB,iBAAiB,eAAe,iBAAiB,iBAAiB,oBAAoB,+BAA+B,6BAA6B,cAAc,eAAe,iBAAiB,sBACtrLC,EAA+B,CAAC,wBAAwB,uBAAuB,8BAA8B,uBAAuB,4BAA4B,yBAAyB,2BAA2B,wBAAwB,eAAe,4BAA4B,yBAAyB,6BAA6B,iCAAiC,QAC9WC,EAAkB,CAAC,cAAc,MAAM,gBAAgB,eAAe,wBAAwB,eAAe,cAAc,cAC3HC,EAAiB,CAAC,YAAY,eAAe,OAAO,aAAa,QAAQ,QAAQ,SAAS,QAAQ,iBAAiB,OAAO,aAAa,QAAQ,YAAY,YAAY,aAAa,YAAY,QAAQ,iBAAiB,WAAW,UAAU,OAAO,WAAW,WAAW,gBAAgB,WAAW,YAAY,YAAY,cAAc,iBAAiB,aAAa,aAAa,UAAU,aAAa,eAAe,gBAAgB,gBAAgB,gBAAgB,aAAa,WAAW,cAAc,UAAU,aAAa,YAAY,cAAc,cAAc,UAAU,YAAY,aAAa,OAAO,YAAY,OAAO,OAAO,QAAQ,cAAc,WAAW,UAAU,YAAY,SAAS,QAAQ,QAAQ,WAAW,gBAAgB,YAAY,eAAe,YAAY,aAAa,YAAY,uBAAuB,YAAY,aAAa,YAAY,cAAc,gBAAgB,eAAe,iBAAiB,iBAAiB,cAAc,OAAO,YAAY,QAAQ,UAAU,SAAS,mBAAmB,aAAa,eAAe,eAAe,iBAAiB,kBAAkB,oBAAoB,kBAAkB,kBAAkB,eAAe,YAAY,YAAY,WAAW,cAAc,OAAO,UAAU,QAAQ,YAAY,SAAS,YAAY,SAAS,gBAAgB,YAAY,gBAAgB,gBAAgB,aAAa,YAAY,OAAO,OAAO,OAAO,aAAa,SAAS,gBAAgB,MAAM,YAAY,YAAY,cAAc,SAAS,aAAa,WAAW,WAAW,SAAS,SAAS,UAAU,YAAY,YAAY,OAAO,cAAc,YAAY,MAAM,OAAO,UAAU,SAAS,YAAY,SAAS,QAAQ,QAAQ,aAAa,SAAS,eAC5pDC,EAAiB,CAAC,QAAQ,WAAW,eAAe,WAAW,gBAAgB,OAAO,oBAAoB,QAAQ,QAAQ,MAAM,aAAa,aAAa,YAAY,SAAS,UAAU,kBAAkB,cAAc,eAAe,eAAe,WAAW,YAAY,OAAO,OAAO,QAAQ,eAAe,aAAa,eAAe,aAAa,YAAY,WAAW,QAAQ,gBAAgB,SAAS,UAAU,QAAQ,QAAQ,aAAa,OAAO,SAAS,SAAS,aAAa,OAAO,SAAS,QAAQ,YAAY,aAAa,UAAU,SAAS,aAAa,kBAAkB,eAAe,aAAa,OAAO,YAAY,aAAa,sBAAsB,UAAU,cAAc,QAAQ,OAAO,SAAS,WAAW,SAAS,cAAc,qBAAqB,oBAAoB,kBAAkB,QAAQ,OAAO,cAAc,aAAa,WAAW,SAAS,UAAU,YAAY,iBAAiB,UAAU,UAAU,WAAW,cAAc,eAAe,aAAa,OAAO,UAAU,WAAW,QAAQ,OAAO,QAAQ,YAAY,eAAe,UAAU,SAAS,SAAS,UAAU,uBAAuB,UAAU,iBAAiB,mBAAmB,iBAAiB,kBAAkB,mBAAmB,aAAa,OAAO,UAAU,oBAAoB,kBAAkB,WAAW,WAAW,eAAe,SAAS,SAAS,OAAO,WAAW,OAAO,UAAU,cAAc,WAAW,UAAU,UAAU,WAAW,QAAQ,MAAM,WAAW,mBAAmB,yBAAyB,uBAAuB,yBAAyB,yBAAyB,0BAA0B,0BAA0B,0BAA0B,wBAAwB,0BAA0B,2BAA2B,0BAA0B,0BAA0B,0BAA0B,wBAAwB,mBAAmB,YAAY,WAAW,UAAU,kBAAkB,iBAAiB,UAAU,OAAO,OAAO,QAAQ,OAAO,OAAO,YAAY,WAAW,OAAO,qBAAqB,WAAW,WAAW,SAAS,WAAW,WAAW,OAAO,SAAS,mBAAmB,SAAS,OAAO,SAAS,OAAO,OAAO,SAAS,YAAY,gBAAgB,WAAW,iBAAiB,aAAa,MAAM,OAAO,OAAO,SAAS,iBAAiB,kBAAkB,sBAAsB,WAAW,iBAAiB,WAAW,UAAU,UAAU,SAAS,cAAc,eAAe,cAAc,eAAe,QAAQ,SAAS,YAAY,SAAS,SAAS,kBAAkB,oBAAoB,UAAU,UAAU,WAAW,iBAAiB,WAAW,QAAQ,uBAAuB,sBAAsB,wBAAwB,YAAY,MAAM,QAAQ,SAAS,OAAO,QAAQ,UAAU,eAAe,SAAS,kBAAkB,QAAQ,YAAY,UAAU,WAAW,QAAQ,UAAU,OAAO,QAAQ,cAAc,iBAAiB,cAAc,oBAAoB,cAAc,kBAAkB,cAAc,YAAY,MAAM,YAAY,QAAQ,SAAS,WAAW,oBAAoB,eAAe,oBAAoB,sBAAsB,2BAA2B,SAAS,OAAO,WAAW,kBAAkB,WAAW,cAAc,SAAS,gBAAgB,MAAM,YAAY,YAAY,OAAO,WAAW,UAAU,WAAW,WAAW,YAAY,cAAc,iBAAiB,UAAU,gBAAgB,YAAY,OAAO,SAAS,cAAc,SAAS,YAAY,UAAU,UAAU,YAAY,cAAc,UAAU,QAAQ,aAAa,qBAAqB,gBAAgB,QAAQ,QAAQ,SAAS,UAAU,gBAAgB,UAAU,WAAW,UAAU,cAAc,UAAU,OAAO,SAAS,UAAU,cAAc,cAAc,eAAe,UAAU,UAAU,WAAW,MAAM,WAAW,WAAW,cAAc,WAAW,cAAc,kBAAkB,QAAQ,YAAY,aAAa,4BAA4B,YAAY,SAAS,WAAW,SAAS,4BAA4B,4BAA4B,2BAA2B,WAAW,WAAW,QAAQ,UAAU,MAAM,OAAO,QAAQ,QAAQ,SAAS,WAAW,UAAU,UAAU,UAAU,QAAQ,aAAa,MAAM,SAAS,UAAU,WAAW,aAAa,QAAQ,UAAU,SAAS,SAAS,SAAS,SAAS,YAAY,kBAAkB,YAAY,cAAc,4BAA4B,yBAAyB,6BAA6B,iCAAiC,iBAAiB,gBAAgB,WAAW,QAAQ,OAAO,SAAS,sBAAsB,wBAAwB,SAAS,OAAO,QAAQ,QAAQ,mBAAmB,QAAQ,oBAAoB,kBAAkB,yBAAyB,uBAAuB,OAAO,QAAQ,aAAa,gBAAgB,UAAU,QAAQ,SAAS,cAAc,YAAY,aAAa,cAAc,QAAQ,YAAY,SAAS,gBAAgB,WAAW,QAAQ,SAAS,aAAa,UAAU,SAAS,MAAM,uBAAuB,QAAQ,YAAY,WAAW,UAAU,QAAQ,gBAAgB,aAAa,eAAe,qBAAqB,qBAAqB,qBAAqB,YAAY,kBAAkB,QAAQ,SAAS,OAAO,cAAc,WAAW,WAAW,YAAY,OAAO,QAAQ,OAAO,mBAAmB,aAAa,kBAAkB,oBAAoB,eAAe,UAAU,QAAQ,cAAc,sBAAsB,cAAc,sBAAsB,KAAK,MAAM,sBAAsB,wBAAwB,YAAY,cAAc,aAAa,aAAa,aAAa,cAAc,kBAAkB,iBAAiB,YAAY,KAAK,cAAc,iBAAiB,cAAc,oBAAoB,cAAc,kBAAkB,cAAc,YAAY,OAAO,MAAM,MAAM,WAAW,gBAAgB,UAAU,cAAc,iBAAiB,gBAAgB,SAAS,WAAW,OAAO,OAAO,QAAQ,SAAS,cAAc,aAAa,QAAQ,UAAU,UAAU,MAAM,WAAW,WAAW,UAAU,gBAAgB,YAAY,MAAM,cAAc,OAAO,eAAe,iBAAiB,aAAa,WAAW,gBAAgB,eAAgB,SAEp8LC,EAAwB,CAAC,KAAK,MAAM,KAAK,MAAM,SAAS,OAAO,KAAK,OAAO,UAAU,aACrFC,EAAiB,CAAC,MAAM,KAAK,OAAO,SAAU,OAAQ,MACtDC,EAAe,CAAC,OAAO,OAAO,QAAQ,OAAO,QAAQ,OAAO,cAAc,WAAW,YAGrFC,EAAYZ,EAAaa,OAAOZ,EAAeC,EAAYC,EAC3BC,EAAkBC,EAClBE,EAAeC,EAAeF,EAC9BG,EAAsBC,EACtBC,EANnB,CAAC,aAAc,aAAc,SAAU,YAAa,QAAS,QAAS,YAAa,SAAU,SAQ9G,SAASG,EAAWC,GAElB,OADAA,EAAQA,EAAMC,KAAK,SAASC,EAAEC,GAAG,OAAOA,EAAID,CAAE,GACvC,IAAIE,OAAO,MAAQJ,EAAMK,KAAK,OAAS,QAChD,CAEA,SAASC,EAAOC,GAEd,IADA,IAAIC,EAAO,CAAA,EACFC,EAAI,EAAGA,EAAIF,EAAMG,SAAUD,EAAGD,EAAKD,EAAME,KAAM,EACxD,OAAOD,CACT,CAMA,IAkBIG,EACAC,EACAC,EACAC,EArBAC,EAAcT,EAAOrB,GACrB+B,EAAqB,sBACrBC,EAAmBX,EAAOjB,GAC1B6B,EAA8BZ,EAAOhB,GACrC6B,EAAgBb,EAAOb,GACvB2B,EAAgBd,EAAOd,GACvB6B,EAAgBf,EAAOpB,GACvBoC,EAAsBvB,EAAWb,GACjCqC,EAAgBjB,EAAOlB,GACvBoC,EAAalB,EAAOnB,GACpBsC,EAAiBnB,EAAOf,GACxBmC,EAAkB,2DAClBC,EAA6B5B,EAAWL,GACxCkC,EAAgBtB,EAAOX,GACvBkC,EAAuB,IAAIzB,OAAO,0BAClC0B,EAAcxB,EAAOV,GACrBmC,EAAiB,GACjBC,EAAS,CAAA,EASb,SAASC,EAAUC,EAAQC,GAOzB,GANAJ,EAAiBG,EAAOE,OAAOC,MAAM,+HACrCF,EAAMG,QAAQC,KAAKC,UAAYT,EAAiBA,EAAe,GAAGU,QAAQ,OAAQ,IAAM,GACxFN,EAAMG,QAAQC,KAAKG,OAASR,EAAOS,cACnChC,EAAKuB,EAAOU,OAGRV,EAAOG,MAAM,MAEf,OADAH,EAAOW,YACA,CAAC,UAAW,WAGrB,GAAIX,EAAOG,MAAM,MAEf,OADAF,EAAMW,SAAWC,EACVA,EAAcb,EAAQC,GAG/B,GAAU,KAANxB,GAAoB,KAANA,EAGhB,OAFAuB,EAAOc,OACPb,EAAMW,SAAWG,EAAYtC,GACtBwB,EAAMW,SAASZ,EAAQC,GAGhC,GAAU,KAANxB,EAGF,OAFAuB,EAAOc,OACPd,EAAOgB,SAAS,WACT,CAAC,MAAOhB,EAAOiB,WAGxB,GAAU,KAANxC,EAAW,CAGb,GAFAuB,EAAOc,OAEHd,EAAOG,MAAM,qDACf,MAAO,CAAC,OAAQ,QAGlB,GAAIH,EAAOG,MAAM,iBACf,MAAO,CAAC,UAAW,OAEvB,CAEA,OAAIH,EAAOG,MAAMR,GACR,CAAC,OAAQ,mBAGdK,EAAOG,MAAM,sBACfH,EAAOgB,SAAS,WACT,CAAC,SAAU,SAGV,KAANvC,GACFuB,EAAOc,OACA,CAACd,EAAOG,MAAM,0BAA4B,UAAW,WAAY,cAGhE,KAAN1B,GAAauB,EAAOG,MAAM,mBACrB,CAAC,YAAa,aAGnBH,EAAOG,MAAMf,IACM,KAAjBY,EAAOU,SAAeT,EAAMW,SAAWM,GACpC,CAAC,WAAY,SAGlBlB,EAAOG,MAAM,oBACfH,EAAOmB,OAAO,GACP,CAAC,UAAW,UAGjBnB,EAAOG,MAAM,0BACfH,EAAOmB,OAAO,GACP,CAAC,UAAW,gBAGjBnB,EAAOE,OAAOC,MAAM,UAAYH,EAAOG,MAAM,qBACxC,CAAC,YAAa,aAGnBH,EAAOG,MAAM,8BACfH,EAAOmB,OAAO,GACP,CAAC,uBAAwB,cAE9BnB,EAAOG,MAAM,aACR,CAAC,uBAAwB,aAG9BH,EAAOG,MAAMV,GACR,CAAC,WAAY,YAGlBO,EAAOG,MAAM,6BAEXH,EAAOG,MAAM,yBAAyB,KACnCiB,EAAUpB,EAAOiB,YACpBjB,EAAOG,MAAM,KACN,CAAC,WAAY,kBAGjB,CAAC,WAAY,QAGlBH,EAAOG,MAAMX,GACR,CAAC,WAAYQ,EAAOiB,WAGzB,kBAAkBI,KAAK5C,IACzBuB,EAAOc,OACA,CAAC,KAAMrC,KAGhBuB,EAAOc,OACA,CAAC,KAAM,MAChB,CAKA,SAASD,EAAcb,EAAQC,GAE7B,IADA,IAAsBxB,EAAlB6C,GAAW,EACgB,OAAvB7C,EAAKuB,EAAOc,SAAiB,CACnC,GAAIQ,GAAkB,KAAN7C,EAAW,CACzBwB,EAAMW,SAAW,KACjB,KACF,CACAU,EAAkB,KAAN7C,CACd,CACA,MAAO,CAAC,UAAW,UACrB,CAKA,SAASsC,EAAYQ,GACnB,OAAO,SAASvB,EAAQC,GAEtB,IADA,IAAqBxB,EAAjB+C,GAAU,EACiB,OAAvB/C,EAAKuB,EAAOc,SAAiB,CACnC,GAAIrC,GAAM8C,IAAUC,EAAS,CACd,KAATD,GAAcvB,EAAOmB,OAAO,GAChC,KACF,CACAK,GAAWA,GAAiB,MAAN/C,CACxB,CAEA,OADIA,GAAM8C,IAAUC,GAAoB,KAATD,KAActB,EAAMW,SAAW,MACvD,CAAC,SAAU,SACpB,CACF,CAKA,SAASM,EAAmBlB,EAAQC,GAMlC,OALAD,EAAOc,OACFd,EAAOG,MAAM,cAAc,GAG9BF,EAAMW,SAAW,KAFjBX,EAAMW,SAAWG,EAAY,KAGxB,CAAC,KAAM,IAChB,CAKA,SAASU,EAAQ9C,EAAM6B,EAAQkB,EAAMrB,GACnCsB,KAAKhD,KAAOA,EACZgD,KAAKnB,OAASA,EACdmB,KAAKD,KAAOA,EACZC,KAAKtB,KAAOA,GAAQ,CAACC,UAAW,GAAIE,OAAQ,EAC9C,CAEA,SAASoB,EAAY3B,EAAOD,EAAQrB,EAAM6B,GAGxC,OAFAA,EAASA,GAAU,EAAIA,EAASR,EAAO6B,WACvC5B,EAAMG,QAAU,IAAIqB,EAAQ9C,EAAMqB,EAAOS,cAAgBD,EAAQP,EAAMG,SAChEzB,CACT,CAEA,SAASmD,EAAW7B,EAAOD,EAAQ+B,GACjC,IAAIC,EAAgB/B,EAAMG,QAAQI,OAASR,EAAO6B,WAIlD,OAHAE,EAAgBA,IAAiB,EACjC9B,EAAMG,QAAUH,EAAMG,QAAQsB,KAC1BK,IAAe9B,EAAMG,QAAQI,OAASwB,GACnC/B,EAAMG,QAAQzB,IACvB,CAMA,SAASsD,EAAWtD,EAAMqB,EAAQC,EAAOiC,GACvC,IAAK,IAAI3D,EAAS,EAAGA,EAAI,EAAGA,IAC1B0B,EAAMG,QAAUH,EAAMG,QAAQsB,KAChC,OAPF,SAAc/C,EAAMqB,EAAQC,GAC1B,OAAOH,EAAOG,EAAMG,QAAQzB,MAAMA,EAAMqB,EAAQC,EAClD,CAKSkC,CAAKxD,EAAMqB,EAAQC,EAC5B,CAMA,SAASmB,EAAUgB,GACjB,OAAOA,EAAKC,gBAAiBxD,CAC/B,CAEA,SAASyD,EAAeF,GAEtB,OADAA,EAAOA,EAAKC,iBACGtD,GAAoBqD,KAAQ7C,CAC7C,CAEA,SAASgD,EAAYH,GACnB,OAAOA,EAAKC,gBAAiB3C,CAC/B,CAEA,SAAS8C,EAAmBJ,GAC1B,OAAOA,EAAKC,cAAclC,MAAMR,EAClC,CAEA,SAAS8C,EAAYL,GACnB,IAAIM,EAASN,EAAKC,cACdzD,EAAW,WASf,OARIwC,EAAUgB,GAAOxD,EAAW,MACvB2D,EAAYH,GAAOxD,EAAW,gBAC9B0D,EAAeF,GAAOxD,EAAW,WACjC8D,KAAUzD,GAAiByD,KAAU9C,EAAahB,EAAW,OACnD,UAAV8D,GAAsBA,KAAUxD,EAAeN,EAAW,UAG1DwD,EAAKjC,MAAM,YAAWvB,EAAW,UACnCA,CACT,CAEA,SAAS+D,EAAYhE,EAAMqB,GACzB,OAAS4C,GAAU5C,KAAoB,KAARrB,GAAuB,KAARA,GAAuB,QAARA,GAA0B,aAARA,IAAiC,eAARA,CAC1G,CAEA,SAASkE,EAAoBlE,EAAMqB,GACjC,MAAe,KAARrB,GAAeqB,EAAOG,MAAM,kBAAkB,EACvD,CAEA,SAAS2C,EAAanE,EAAMqB,GAC1B,MAAe,KAARrB,GAAeqB,EAAOG,MAAM,YAAY,EACjD,CAEA,SAAS4C,EAAY/C,GACnB,OAAOA,EAAOgD,OAAShD,EAAOE,OAAOC,MAAM,IAAIjC,OAAO,QAAuB8B,EAAOiB,UA9QxEV,QAAQ,2BAA4B,SA+QlD,CAEA,SAASqC,GAAU5C,GACjB,OAAOA,EAAOiD,OAASjD,EAAOG,MAAM,SAAS,EAC/C,CAEA,SAAS+C,GAAgB7C,GACvB,IAAI8C,EAAK,4BACLC,EAAwB,iBAAR/C,EAAmBA,EAAKF,MAAMgD,GAAM9C,EAAKH,OAAOC,MAAMgD,GAC1E,OAAOC,EAASA,EAAO,GAAG7C,QAAQ,OAAQ,IAAM,EAClD,CAMAT,EAAOuD,MAAQ,SAAS1E,EAAMqB,EAAQC,GACpC,GAAa,WAARtB,GAAqBoE,EAAY/C,IACzB,KAARrB,GAAeiE,GAAU5C,IAClB,SAARrB,EACF,OAAOiD,EAAY3B,EAAOD,EAAQ,QAAS,GAE7C,GAAI6C,EAAoBlE,EAAMqB,GAC5B,OAAO4B,EAAY3B,EAAOD,EAAQ,iBAEpC,GAAI4C,GAAU5C,IAAmB,KAARrB,IAClB,uBAAuB0C,KAAKrB,EAAOE,UAAYkB,EAAU8B,GAAgBlD,IAC5E,OAAO4B,EAAY3B,EAAOD,EAAQ,QAAS,GAG/C,GAAI2C,EAAYhE,EAAMqB,GACpB,OAAO4B,EAAY3B,EAAOD,EAAQ,SAEpC,GAAY,KAARrB,GAAeiE,GAAU5C,GAC3B,OAAO4B,EAAY3B,EAAOD,EAAQ,QAAS,GAE7C,GAAY,iBAARrB,EACF,OAAIqB,EAAOE,OAAOC,MAAM,4BAA8BoC,EAAYW,GAAgBlD,IACzE4B,EAAY3B,EAAOD,EAAQ,gBAG3B4B,EAAY3B,EAAOD,EAAQ,eAAgB,GAGtD,GAAY,KAARrB,EACF,OAAKiE,GAAU5C,IAAYuC,EAAYW,GAAgBlD,IAGhD4B,EAAY3B,EAAOD,EAAQ,SAFzB4B,EAAY3B,EAAOD,EAAQ,QAAS,GAI/C,GAAY,KAARrB,IACEiE,GAAU5C,IAAWA,EAAOG,MAAM,sBAAqB,IAEzD,OADAvB,EAAW,MACJgD,EAAY3B,EAAOD,EAAQ,SAGtC,GAAI8C,EAAanE,EAAMqB,GACrB,OAAO4B,EAAY3B,EAAOD,EAAQ,UAEpC,GAAI,+CAA+CqB,KAAK1C,GACtD,OAAOiD,EAAY3B,EAAOD,EAAQ4C,GAAU5C,GAAU,QAAU,WAElE,GAAI,oCAAoCqB,KAAK1C,GAC3C,OAAOiD,EAAY3B,EAAOD,EAAQ,aAEpC,GAAI,YAAYqB,KAAK1C,GACnB,OAAOiD,EAAY3B,EAAOD,EAAQ,SAAU,GAE9C,GAAIrB,GAA0B,KAAlBA,EAAK2E,OAAO,GAGtB,OAAItD,EAAOS,cAAgB,GAAK6B,EAAetC,EAAOiB,UAAUsC,MAAM,KACpE3E,EAAW,WACJ,SAEL,8BAA8ByC,KAAK1C,GAC9BiD,EAAY3B,EAAOD,EAAQ,QAAS,GAEtC4B,EAAY3B,EAAOD,EAAQ,SAEpC,GAAY,aAARrB,GAAuBiE,GAAU5C,GACnC,OAAO4B,EAAY3B,EAAOD,EAAQ,SAEpC,GAAY,KAARrB,EACF,OAAOiD,EAAY3B,EAAOD,EAAQ,UAGpC,GAAY,mBAARrB,EACF,OAAOiD,EAAY3B,EAAOD,EAAQ,kBAEpC,GAAY,QAARrB,EAAgB,CAClB,IAAIyD,EAAOpC,EAAOiB,UAGlB,GAAgB,aAFhBrC,EAAW6D,EAAYL,IAGrB,OAAIW,EAAY/C,GACP4B,EAAY3B,EAAOD,EAAQ,QAAS,IAE3CpB,EAAW,OACJ,SAIX,GAAgB,OAAZA,EAAmB,CAGrB,GAAI,oCAAoCyC,KAAKe,IACvCE,EAAeY,GAAgBlD,IAEjC,OADApB,EAAW,OACJ,QAKX,GAAIoB,EAAOE,OAAOC,MAAM,IAAIjC,OAAO,UAAYkE,EAAO,IAAMA,EAAM,YAEhE,OADAxD,EAAW,OACJ,QAIT,GAAIE,EAAmBuC,KAAKe,KACrBW,EAAY/C,IAAWA,EAAOE,OAAOC,MAAM,OAC1C4C,EAAY/C,KACZA,EAAOE,OAAOC,MAAM,8BACpBiB,EAAU8B,GAAgBlD,KAE9B,OADApB,EAAW,WACP2D,EAAYW,GAAgBlD,IAAkB,QAC3C4B,EAAY3B,EAAOD,EAAQ,QAAS,GAI/C,GAAI4C,GAAU5C,GAAS,OAAO4B,EAAY3B,EAAOD,EAAQ,QAC3D,CACA,GAAgB,iBAAZpB,EAIF,OAHAA,EAAW,UAGPoB,EAAOiB,QAAQ,iBAAmB8B,EAAY/C,GACzC,QAEF4B,EAAY3B,EAAOD,EAAQ,SAEpC,GAAY,UAARoC,EAAkB,OAAOR,EAAY3B,EAAOD,EAAQ,QAAS,GAGjE,GAAgB,YAAZpB,GAA0BoB,EAAOE,OAAOC,MAAM,2BAChD,OAAOyB,EAAY3B,EAAOD,EAAQ,QAEtC,CACA,OAAOC,EAAMG,QAAQzB,IACvB,EAMAmB,EAAO0D,OAAS,SAAS7E,EAAMqB,EAAQC,GACrC,GAAY,KAARtB,EAAa,OAAOiD,EAAY3B,EAAOD,EAAQ,UACnD,GAAY,KAARrB,EACF,MAA+B,UAA3BsB,EAAMG,QAAQsB,KAAK/C,KACdmD,EAAW7B,EAAOD,GAEtBA,EAAOE,OAAOC,MAAM,oBAAsByC,GAAU5C,IACrDuC,EAAYW,GAAgBlD,KAC5B,6BAA6BqB,KAAK6B,GAAgBlD,MAChDA,EAAOE,OAAOC,MAAM,iCACrBiB,EAAU8B,GAAgBlD,IACtB4B,EAAY3B,EAAOD,EAAQ,SAEhCA,EAAOE,OAAOC,MAAM,qCACpBH,EAAOE,OAAOC,MAAM,sBACpBH,EAAOE,OAAOC,MAAM,uBACpBH,EAAOE,OAAOC,MAAM,oBACfyB,EAAY3B,EAAOD,EAAQ,QAAS,GAEzC4C,GAAU5C,GAAgB4B,EAAY3B,EAAOD,EAAQ,SAC7C4B,EAAY3B,EAAOD,EAAQ,QAAS,GAKlD,GAHIrB,GAA0B,KAAlBA,EAAK2E,OAAO,IAAahB,EAAetC,EAAOiB,UAAUsC,MAAM,MACzE3E,EAAW,YAED,QAARD,EAAgB,CAClB,IAAIyD,EAAOpC,EAAOiB,UAEF,QADhBrC,EAAW6D,EAAYL,KACEtD,EAAmBuC,KAAKe,KAC/CxD,EAAW,YAEG,YAAZA,GAAkC,MAARwD,IAAcxD,EAAW,OACzD,CACA,MAAY,iBAARD,EACKiD,EAAY3B,EAAOD,EAAQ,gBAEhC8C,EAAanE,EAAMqB,GACd4B,EAAY3B,EAAOD,EAAQ,UAE7BC,EAAMG,QAAQzB,IACvB,EAMAmB,EAAO2D,eAAiB,SAAS9E,EAAMqB,EAAQC,GAC7C,MAAY,QAARtB,GACFC,EAAW,WACJgD,EAAY3B,EAAOD,EAAQ,QAAS,IAEtC8B,EAAW7B,EAAOD,EAC3B,EAMAF,EAAO4D,OAAS,SAAS/E,EAAMqB,EAAQC,GACrC,OAAKqC,EAAeY,GAAgBlD,EAAOE,SAMpC+B,EAAWtD,EAAMqB,EAAQC,IAL9BD,EAAOG,MAAM,YACbvB,EAAW,uBACPgE,GAAU5C,GAAgB4B,EAAY3B,EAAOD,EAAQ,SAClD8B,EAAW7B,EAAOD,GAG7B,EAMAF,EAAO6D,QAAU,SAAShF,EAAMqB,EAAQC,GACtC,GAAY,KAARtB,EAAa,OAAOiD,EAAY3B,EAAOD,EAAQ,kBACnD,GAAI2C,EAAYhE,EAAMqB,GACpB,OAAO4B,EAAY3B,EAAOD,EAAQ,SAEpC,GAAI6C,EAAoBlE,EAAMqB,GAC5B,OAAO4B,EAAY3B,EAAOD,EAAQ,iBAEpC,GAAY,QAARrB,EAAgB,CAClB,IAAIyD,EAAOpC,EAAOiB,UAAUoB,cAY5B,GAAgB,QAVdzD,EADE,sBAAsByC,KAAKe,GAClB,UACJjD,EAAcyE,eAAexB,GACzB,MACJ9C,EAAWsE,eAAexB,GACtB,YACJ/C,EAAcuE,eAAexB,GACzB,WACJpD,EAA4B4E,eAAexB,GACvC,iBACGK,EAAYzC,EAAOiB,aACV2B,GAAU5C,GACjC,OAAO4B,EAAY3B,EAAOD,EAAQ,QAEtC,CAIA,MAHY,YAARrB,GAAsB,iBAAiB0C,KAAKrB,EAAOiB,aACrDrC,EAAW,WAENqB,EAAMG,QAAQzB,IACvB,EAEAmB,EAAO+D,eAAiB,SAASlF,EAAMqB,EAAQC,GAC7C,GAAY,KAARtB,GAAuB,KAARA,EAAa,OAAOsB,EAAMG,QAAQzB,KACrD,GAAY,KAARA,EACF,OAAIiE,GAAU5C,GAAgB4B,EAAY3B,EAAOD,EAAQ,SAC7C4B,EAAY3B,EAAOD,EAAQ,WAEzC,GAAY,QAARrB,EAAgB,CAClB,IAAIyD,EAAOpC,EAAOiB,UAAUoB,cAM5B,OALAzD,EAAW6D,EAAYL,GACnB,aAAaf,KAAKe,KAAOxD,EAAW,YACxB,OAAZA,IAC8BA,EAAhCE,EAAmBuC,KAAKe,GAAmB,WAAwB,QAE9DnC,EAAMG,QAAQzB,IACvB,CACA,OAAOmB,EAAO6D,QAAQhF,EAAMqB,EAAQC,EACtC,EAMAH,EAAOgE,UAAY,SAASnF,EAAMqB,EAAQC,GACxC,MAA4B,KAAxBD,EAAOS,gBAAkC,KAAR9B,GAAeoE,EAAY/C,IAAoB,KAARrB,GAAuB,QAARA,GAC5C,aAARA,GAAuByC,EAAUpB,EAAOiB,YACtEgB,EAAWtD,EAAMqB,EAAQC,GAEtB,KAARtB,EAAoBiD,EAAY3B,EAAOD,EAAQ,aACvC,KAARrB,EACEoE,EAAY/C,GAAgB8B,EAAW7B,EAAOD,GAAQ,GAC9C4B,EAAY3B,EAAOD,EAAQ,aAE7B,QAARrB,GAAkB,aAAa0C,KAAKrB,EAAOiB,WACtCW,EAAY3B,EAAOD,EAAQ,aAExB,QAARrB,GAEc,kBADhBC,EAAW6D,EAAYzC,EAAOiB,aAE5BrC,EAAW,UACJgD,EAAY3B,EAAOD,EAAQ,cAGlC,+CAA+CqB,KAAK1C,GAC/CiD,EAAY3B,EAAOD,EAAQ4C,GAAU5C,GAAU,QAAU,WAEtD,SAARrB,EACKiD,EAAY3B,EAAOD,EAAQ,QAAS,GAEtCC,EAAMG,QAAQzB,IACvB,EAMAmB,EAAOiE,cAAgB,SAASpF,EAAMqB,EAAQC,GAE5C,MADY,KAARtB,GAAamD,EAAW7B,EAAOD,IAAW4B,EAAY3B,EAAOD,EAAQ,SAC7D,KAARrB,EACEqB,EAAOE,OAAOC,MAAM,oCACnBH,EAAOE,OAAOC,MAAM,eAAiBiB,EAAU8B,GAAgBlD,IAC3D4B,EAAY3B,EAAOD,EAAQ,UAE/BA,EAAOE,OAAOC,MAAM,gBACrBH,EAAOG,MAAM,YAAW,GACnByB,EAAY3B,EAAOD,EAAQ,QAAS,GAEtC4B,EAAY3B,EAAOD,EAAQ,SAExB,iBAARrB,EACKiD,EAAY3B,EAAOD,EAAQ,eAAgB,IAExC,QAARrB,GAEc,QADhBC,EAAW6D,EAAYzC,EAAOiB,cACPrC,EAAW,QAE7BqB,EAAMG,QAAQzB,KACvB,EAMAmB,EAAOkE,OAAS,SAASrF,EAAMqB,EAAQC,GACrC,MAAY,KAARtB,GAAuB,KAARA,EAAoB,SAC3B,KAARA,EAAoBmD,EAAW7B,EAAOD,GAC9B,QAARrB,GACFC,EAAW6D,EAAYzC,EAAOiB,WACvB,UAEFa,EAAW7B,EAAOD,EAC3B,EAMAF,EAAOmE,aAAe,SAAStF,EAAMqB,EAAQC,GAC3C,MAAY,UAARtB,GAA4B,KAARA,GAAuB,KAARA,GAAeqB,EAAOiB,UAAUd,MAAM,aACvEH,EAAOiB,UAAUd,MAAM,gBAAevB,EAAW,YAC9C,gBAEFqD,EAAWtD,EAAMqB,EAAQC,EAClC,EAEY,MAACiE,GAAS,CACpBC,KAAM,SACNC,WAAY,WACV,MAAO,CACLxD,SAAU,KACVX,MAAO,QACPG,QAAS,IAAIqB,EAAQ,QAAS,EAAG,MAErC,EACA4C,MAAO,SAASrE,EAAQC,GACtB,OAAKA,EAAMW,UAAYZ,EAAOsE,WAAmB,OACjD5F,GAASuB,EAAMW,UAAYb,GAAWC,EAAQC,KACjB,iBAATvB,IAClBC,EAAOD,EAAM,GACbA,EAAQA,EAAM,IAEhBE,EAAWF,EACXuB,EAAMA,MAAQH,EAAOG,EAAMA,OAAOtB,EAAMqB,EAAQC,GACzCrB,EACT,EACA4B,OAAQ,SAASP,EAAOsE,EAAWC,GACjC,IAAIC,EAAKxE,EAAMG,QACX3B,EAAK8F,GAAaA,EAAUjB,OAAO,GACnC9C,EAASiE,EAAGjE,OACZkE,EAAgBxB,GAAgBqB,GAChCI,EAAaF,EAAGpE,KAAKG,OACrBoE,EAAoB3E,EAAMG,QAAQsB,KAAOzB,EAAMG,QAAQsB,KAAKrB,KAAKC,UAAY,GAC7EuE,EAAiB5E,EAAMG,QAAQsB,KAAOzB,EAAMG,QAAQsB,KAAKrB,KAAKG,OAASmE,EA0C3E,OAxCIF,EAAG/C,OACI,KAANjD,IAAyB,SAAXgG,EAAG9F,MAA8B,WAAX8F,EAAG9F,MAAgC,aAAX8F,EAAG9F,OACzD,KAANF,IAAyB,UAAXgG,EAAG9F,MAA+B,kBAAX8F,EAAG9F,OAClC,KAANF,GAAyB,MAAXgG,EAAG9F,MACpB6B,EAASiE,EAAGjE,OAASgE,EAAIM,KACd,OAAOzD,KAAK5C,KACnB,UAAU4C,KAAK5C,IACf,MAAM4C,KAAKkD,IACrB,gBAAgBlD,KAAKkD,IACX,WAAWlD,KAAKuD,IAChB,sCAAsCvD,KAAKkD,IAC3C,yBAAyBlD,KAAKkD,IAC9B,UAAUlD,KAAKkD,IACfhC,EAAYmC,GACdlE,EAASmE,EACA,6BAA6BtD,KAAK5C,IAAO2C,EAAUsD,GAE1DlE,EADE,SAASa,KAAKuD,GACPC,EACA,6BAA6BxD,KAAKuD,IAAsBxD,EAAUwD,GAClED,GAAcE,EAAiBA,EAAiBA,EAAiBL,EAAIM,KAErEH,EAED,QAAQtD,KAAKkD,KAAe/B,EAAmBkC,KAAkBpC,EAAeoC,KAExFlE,EADE+B,EAAYqC,GACLD,GAAcE,EAAiBA,EAAiBA,EAAiBL,EAAIM,KACrE,MAAMzD,KAAKuD,GACXD,GAAcE,EAAiBF,EAAaE,EAAiBL,EAAIM,KACjEtC,EAAmBoC,IAAsBtC,EAAesC,GACxDD,GAAcE,EAAiBA,EAAiBF,EAChD,mCAAmCtD,KAAKuD,IACxC,QAAQvD,KAAKuD,IACbxD,EAAUwD,IACV,qBAAqBvD,KAAKuD,GAC1BC,EAAiBL,EAAIM,KAErBH,IAIRnE,CACT,EACAuE,aAAc,CACZC,cAAe,UACfC,cAAe,CAAC5E,KAAM,KAAMgD,MAAO,CAAC6B,KAAM,KAAMC,MAAO,OACvDC,aAAczH","x_google_ignoreList":[0]}