\n // Note: needs further investigation as this does not account for implicit\n // rows.\n else if (\n row(node) &&\n // @ts-expect-error: something up with types of parents.\n (0,unist_util_find_after__WEBPACK_IMPORTED_MODULE_1__.findAfter)(parent, node, row)\n ) {\n suffix = '\\n'\n }\n\n // 8. If node is a `` element, then append 2 (a required line break count)\n // at the beginning and end of items.\n else if (p(node)) {\n prefix = 2\n suffix = 2\n }\n\n // 9. If node’s used value of `display` is block-level or `table-caption`,\n // then append 1 (a required line break count) at the beginning and end of\n // items.\n else if (blockOrCaption(node)) {\n prefix = 1\n suffix = 1\n }\n\n // 1. Let items be the result of running the inner text collection steps with\n // each child node of node in tree order, and then concatenating the\n // results to a single list.\n while (++index < children.length) {\n items = items.concat(\n renderedTextCollection(children[index], node, {\n whitespace,\n breakBefore: index ? undefined : prefix,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : suffix\n })\n )\n }\n\n // 6. If node’s computed value of `display` is `table-cell`, and node’s CSS\n // box is not the last `table-cell` box of its enclosing `table-row` box,\n // then append a string containing a single U+0009 CHARACTER TABULATION\n // (tab) character to items.\n //\n // See: \n if (\n cell(node) &&\n // @ts-expect-error: something up with types of parents.\n (0,unist_util_find_after__WEBPACK_IMPORTED_MODULE_1__.findAfter)(parent, node, cell)\n ) {\n items.push('\\t')\n }\n\n // Add the pre- and suffix.\n if (prefix) items.unshift(prefix)\n if (suffix) items.push(suffix)\n\n return items\n}\n\n/**\n * 4. If node is a Text node, then for each CSS text box produced by node,\n * in content order, compute the text of the box after application of the\n * CSS `white-space` processing rules and `text-transform` rules, set\n * items to the list of the resulting strings, and return items.\n * The CSS `white-space` processing rules are slightly modified:\n * collapsible spaces at the end of lines are always collapsed, but they\n * are only removed if the line is the last line of the block, or it ends\n * with a br element.\n * Soft hyphens should be preserved.\n *\n * Note: See `collectText` and `collectPreText`.\n * Note: we don’t deal with `text-transform`, no element has that by\n * default.\n *\n * See: \n *\n * @param {Comment | Text} node\n * Text node.\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array}\n * Result.\n */\nfunction collectText(node, info) {\n const value = String(node.value)\n /** @type {Array} */\n const lines = []\n /** @type {Array} */\n const result = []\n let start = 0\n\n while (start <= value.length) {\n searchLineFeeds.lastIndex = start\n\n const match = searchLineFeeds.exec(value)\n const end = match && 'index' in match ? match.index : value.length\n\n lines.push(\n // Any sequence of collapsible spaces and tabs immediately preceding or\n // following a segment break is removed.\n trimAndCollapseSpacesAndTabs(\n // […] ignoring bidi formatting characters (characters with the\n // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if\n // they were not there.\n value\n .slice(start, end)\n .replace(/[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]/g, ''),\n start === 0 ? info.breakBefore : true,\n end === value.length ? info.breakAfter : true\n )\n )\n\n start = end + 1\n }\n\n // Collapsible segment breaks are transformed for rendering according to the\n // segment break transformation rules.\n // So here we jump to 4.1.2 of [CSSTEXT]:\n // Any collapsible segment break immediately following another collapsible\n // segment break is removed\n let index = -1\n /** @type {BreakNumber | undefined} */\n let join\n\n while (++index < lines.length) {\n // * If the character immediately before or immediately after the segment\n // break is the zero-width space character (U+200B), then the break is\n // removed, leaving behind the zero-width space.\n if (\n lines[index].charCodeAt(lines[index].length - 1) === 0x20_0b /* ZWSP */ ||\n (index < lines.length - 1 &&\n lines[index + 1].charCodeAt(0) === 0x20_0b) /* ZWSP */\n ) {\n result.push(lines[index])\n join = undefined\n }\n\n // * Otherwise, if the East Asian Width property [UAX11] of both the\n // character before and after the segment break is Fullwidth, Wide, or\n // Halfwidth (not Ambiguous), and neither side is Hangul, then the\n // segment break is removed.\n //\n // Note: ignored.\n // * Otherwise, if the writing system of the segment break is Chinese,\n // Japanese, or Yi, and the character before or after the segment break\n // is punctuation or a symbol (Unicode general category P* or S*) and\n // has an East Asian Width property of Ambiguous, and the character on\n // the other side of the segment break is Fullwidth, Wide, or Halfwidth,\n // and not Hangul, then the segment break is removed.\n //\n // Note: ignored.\n\n // * Otherwise, the segment break is converted to a space (U+0020).\n else if (lines[index]) {\n if (typeof join === 'number') result.push(join)\n result.push(lines[index])\n join = 0\n } else if (index === 0 || index === lines.length - 1) {\n // If this line is empty, and it’s the first or last, add a space.\n // Note that this function is only called in normal whitespace, so we\n // don’t worry about `pre`.\n result.push(0)\n }\n }\n\n return result\n}\n\n/**\n * Collect a text node as “pre” whitespace.\n *\n * @param {Text} node\n * Text node.\n * @returns {Array}\n * Result.\n */\nfunction collectPreText(node) {\n return [String(node.value)]\n}\n\n/**\n * 3. Every collapsible tab is converted to a collapsible space (U+0020).\n * 4. Any collapsible space immediately following another collapsible\n * space—even one outside the boundary of the inline containing that\n * space, provided both spaces are within the same inline formatting\n * context—is collapsed to have zero advance width. (It is invisible,\n * but retains its soft wrap opportunity, if any.)\n *\n * @param {string} value\n * Value to collapse.\n * @param {BreakBefore} breakBefore\n * Whether there was a break before.\n * @param {BreakAfter} breakAfter\n * Whether there was a break after.\n * @returns {string}\n * Result.\n */\nfunction trimAndCollapseSpacesAndTabs(value, breakBefore, breakAfter) {\n /** @type {Array} */\n const result = []\n let start = 0\n /** @type {number | undefined} */\n let end\n\n while (start < value.length) {\n searchTabOrSpaces.lastIndex = start\n const match = searchTabOrSpaces.exec(value)\n end = match ? match.index : value.length\n\n // If we’re not directly after a segment break, but there was white space,\n // add an empty value that will be turned into a space.\n if (!start && !end && match && !breakBefore) {\n result.push('')\n }\n\n if (start !== end) {\n result.push(value.slice(start, end))\n }\n\n start = match ? end + match[0].length : end\n }\n\n // If we reached the end, there was trailing white space, and there’s no\n // segment break after this node, add an empty value that will be turned\n // into a space.\n if (start !== end && !breakAfter) {\n result.push('')\n }\n\n return result.join(' ')\n}\n\n/**\n * Figure out the whitespace of a node.\n *\n * We don’t support void elements here (so `nobr wbr` -> `normal` is ignored).\n *\n * @param {Nodes} node\n * Node (typically `Element`).\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Whitespace}\n * Applied whitespace.\n */\nfunction inferWhitespace(node, info) {\n if (node.type === 'element') {\n const properties = node.properties || {}\n switch (node.tagName) {\n case 'listing':\n case 'plaintext':\n case 'xmp': {\n return 'pre'\n }\n\n case 'nobr': {\n return 'nowrap'\n }\n\n case 'pre': {\n return properties.wrap ? 'pre-wrap' : 'pre'\n }\n\n case 'td':\n case 'th': {\n return properties.noWrap ? 'nowrap' : info.whitespace\n }\n\n case 'textarea': {\n return 'pre-wrap'\n }\n\n default:\n }\n }\n\n return info.whitespace\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {properties: {hidden: true}}}\n */\nfunction hidden(node) {\n return Boolean((node.properties || {}).hidden)\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {tagName: 'td' | 'th'}}\n */\nfunction isCell(node) {\n return node.tagName === 'td' || node.tagName === 'th'\n}\n\n/**\n * @type {TestFunction}\n */\nfunction closedDialog(node) {\n return node.tagName === 'dialog' && !(node.properties || {}).open\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oYXN0LXV0aWwtdG8tdGV4dEA0LjAuMi9ub2RlX21vZHVsZXMvaGFzdC11dGlsLXRvLXRleHQvbGliL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0EsYUFBYSx3QkFBd0I7QUFDckMsYUFBYSx3QkFBd0I7QUFDckMsYUFBYSxzQkFBc0I7QUFDbkMsYUFBYSx3QkFBd0I7QUFDckMsYUFBYSxxQkFBcUI7QUFDbEMsYUFBYSw2Q0FBNkM7QUFDMUQ7O0FBRUE7QUFDQSxhQUFhLDBDQUEwQztBQUN2RDtBQUNBO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQSxhQUFhLHNDQUFzQztBQUNuRDtBQUNBO0FBQ0EsYUFBYSxtREFBbUQ7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFlBQVk7QUFDMUI7QUFDQSxjQUFjLGFBQWE7QUFDM0I7QUFDQSxjQUFjLFlBQVk7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLCtCQUErQjtBQUM3QztBQUNBOztBQUUrQztBQUNJOztBQUVuRDtBQUNBOztBQUVBLFdBQVcsb0VBQWM7QUFDekIsYUFBYSxvRUFBYztBQUMzQixVQUFVLG9FQUFjO0FBQ3hCLFlBQVksb0VBQWM7O0FBRTFCO0FBQ0E7QUFDQSxvQkFBb0Isb0VBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsb0VBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxzQ0FBc0M7QUFDakQ7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILGFBQWEsNkJBQTZCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGVBQWU7QUFDNUI7QUFDQSxhQUFhLG9CQUFvQjtBQUNqQzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsZ0JBQWdCO0FBQzNCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEI7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxnQkFBZ0I7QUFDM0I7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSw2QkFBNkI7QUFDMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLHlCQUF5QjtBQUN0QztBQUNBLGFBQWEsc0NBQXNDO0FBQ25EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxnRUFBUztBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGdFQUFTO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQjtBQUMzQjtBQUNBLFdBQVcsZ0JBQWdCO0FBQzNCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxlQUFlO0FBQzVCO0FBQ0EsYUFBYSw2QkFBNkI7QUFDMUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEseUJBQXlCO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBLFdBQVcsYUFBYTtBQUN4QjtBQUNBLFdBQVcsWUFBWTtBQUN2QjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhLGVBQWU7QUFDNUI7QUFDQTtBQUNBLGFBQWEsb0JBQW9CO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsZ0JBQWdCO0FBQzNCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1YsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUyxhQUFhO0FBQ25DO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7O0FBRUE7QUFDQSxVQUFVO0FBQ1YsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdEIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oYXN0LXV0aWwtdG8tdGV4dEA0LjAuMi9ub2RlX21vZHVsZXMvaGFzdC11dGlsLXRvLXRleHQvbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnaGFzdCcpLkNvbW1lbnR9IENvbW1lbnRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ2hhc3QnKS5FbGVtZW50fSBFbGVtZW50XG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdoYXN0JykuTm9kZXN9IE5vZGVzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdoYXN0JykuUGFyZW50c30gUGFyZW50c1xuICogQHR5cGVkZWYge2ltcG9ydCgnaGFzdCcpLlRleHR9IFRleHRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ2hhc3QtdXRpbC1pcy1lbGVtZW50JykuVGVzdEZ1bmN0aW9ufSBUZXN0RnVuY3Rpb25cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHsnbm9ybWFsJyB8ICdub3dyYXAnIHwgJ3ByZScgfCAncHJlLXdyYXAnfSBXaGl0ZXNwYWNlXG4gKiAgIFZhbGlkIGFuZCB1c2VmdWwgd2hpdGVzcGFjZSB2YWx1ZXMgKGZyb20gQ1NTKS5cbiAqXG4gKiBAdHlwZWRlZiB7MCB8IDEgfCAyfSBCcmVha051bWJlclxuICogICBTcGVjaWZpYyBicmVhazpcbiAqXG4gKiAgICogICBgMGAg4oCUIHNwYWNlXG4gKiAgICogICBgMWAg4oCUIGxpbmUgZW5kaW5nXG4gKiAgICogICBgMmAg4oCUIGJsYW5rIGxpbmVcbiAqXG4gKiBAdHlwZWRlZiB7J1xcbid9IEJyZWFrRm9yY2VcbiAqICAgRm9yY2VkIGJyZWFrLlxuICpcbiAqIEB0eXBlZGVmIHtib29sZWFufSBCcmVha1ZhbHVlXG4gKiAgIFdoZXRoZXIgdGhlcmUgd2FzIGEgYnJlYWsuXG4gKlxuICogQHR5cGVkZWYge0JyZWFrTnVtYmVyIHwgQnJlYWtWYWx1ZSB8IHVuZGVmaW5lZH0gQnJlYWtCZWZvcmVcbiAqICAgQW55IHZhbHVlIGZvciBhIGJyZWFrIGJlZm9yZS5cbiAqXG4gKiBAdHlwZWRlZiB7QnJlYWtGb3JjZSB8IEJyZWFrTnVtYmVyIHwgQnJlYWtWYWx1ZSB8IHVuZGVmaW5lZH0gQnJlYWtBZnRlclxuICogICBBbnkgdmFsdWUgZm9yIGEgYnJlYWsgYWZ0ZXIuXG4gKlxuICogQHR5cGVkZWYgQ29sbGVjdGlvbkluZm9cbiAqICAgSW5mbyBvbiBjdXJyZW50IGNvbGxlY3Rpb24uXG4gKiBAcHJvcGVydHkge0JyZWFrQWZ0ZXJ9IGJyZWFrQWZ0ZXJcbiAqICAgV2hldGhlciB0aGVyZSB3YXMgYSBicmVhayBhZnRlci5cbiAqIEBwcm9wZXJ0eSB7QnJlYWtCZWZvcmV9IGJyZWFrQmVmb3JlXG4gKiAgIFdoZXRoZXIgdGhlcmUgd2FzIGEgYnJlYWsgYmVmb3JlLlxuICogQHByb3BlcnR5IHtXaGl0ZXNwYWNlfSB3aGl0ZXNwYWNlXG4gKiAgIEN1cnJlbnQgd2hpdGVzcGFjZSBzZXR0aW5nLlxuICpcbiAqIEB0eXBlZGVmIE9wdGlvbnNcbiAqICAgQ29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7V2hpdGVzcGFjZSB8IG51bGwgfCB1bmRlZmluZWR9IFt3aGl0ZXNwYWNlPSdub3JtYWwnXVxuICogICBJbml0aWFsIENTUyB3aGl0ZXNwYWNlIHNldHRpbmcgdG8gdXNlIChkZWZhdWx0OiBgJ25vcm1hbCdgKS5cbiAqL1xuXG5pbXBvcnQge2ZpbmRBZnRlcn0gZnJvbSAndW5pc3QtdXRpbC1maW5kLWFmdGVyJ1xuaW1wb3J0IHtjb252ZXJ0RWxlbWVudH0gZnJvbSAnaGFzdC11dGlsLWlzLWVsZW1lbnQnXG5cbmNvbnN0IHNlYXJjaExpbmVGZWVkcyA9IC9cXG4vZ1xuY29uc3Qgc2VhcmNoVGFiT3JTcGFjZXMgPSAvW1xcdCBdKy9nXG5cbmNvbnN0IGJyID0gY29udmVydEVsZW1lbnQoJ2JyJylcbmNvbnN0IGNlbGwgPSBjb252ZXJ0RWxlbWVudChpc0NlbGwpXG5jb25zdCBwID0gY29udmVydEVsZW1lbnQoJ3AnKVxuY29uc3Qgcm93ID0gY29udmVydEVsZW1lbnQoJ3RyJylcblxuLy8gTm90ZSB0aGF0IHdlIGRvbuKAmXQgbmVlZCB0byBpbmNsdWRlIHZvaWQgZWxlbWVudHMgaGVyZSBhcyB0aGV5IGRvbuKAmXQgaGF2ZSB0ZXh0LlxuLy8gU2VlOiA8aHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9odG1sLXZvaWQtZWxlbWVudHM+XG5jb25zdCBub3RSZW5kZXJlZCA9IGNvbnZlcnRFbGVtZW50KFtcbiAgLy8gTGlzdCBmcm9tOiA8aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcmVuZGVyaW5nLmh0bWwjaGlkZGVuLWVsZW1lbnRzPlxuICAnZGF0YWxpc3QnLFxuICAnaGVhZCcsXG4gICdub2VtYmVkJyxcbiAgJ25vZnJhbWVzJyxcbiAgJ25vc2NyaXB0JywgLy8gQWN0IGFzIGlmIHdlIHN1cHBvcnQgc2NyaXB0aW5nLlxuICAncnAnLFxuICAnc2NyaXB0JyxcbiAgJ3N0eWxlJyxcbiAgJ3RlbXBsYXRlJyxcbiAgJ3RpdGxlJyxcbiAgLy8gSGlkZGVuIGF0dHJpYnV0ZS5cbiAgaGlkZGVuLFxuICAvLyBGcm9tOiA8aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcmVuZGVyaW5nLmh0bWwjZmxvdy1jb250ZW50LTM+XG4gIGNsb3NlZERpYWxvZ1xuXSlcblxuLy8gU2VlOiA8aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcmVuZGVyaW5nLmh0bWwjdGhlLWNzcy11c2VyLWFnZW50LXN0eWxlLXNoZWV0LWFuZC1wcmVzZW50YXRpb25hbC1oaW50cz5cbmNvbnN0IGJsb2NrT3JDYXB0aW9uID0gY29udmVydEVsZW1lbnQoW1xuICAnYWRkcmVzcycsIC8vIEZsb3cgY29udGVudFxuICAnYXJ0aWNsZScsIC8vIFNlY3Rpb25zIGFuZCBoZWFkaW5nc1xuICAnYXNpZGUnLCAvLyBTZWN0aW9ucyBhbmQgaGVhZGluZ3NcbiAgJ2Jsb2NrcXVvdGUnLCAvLyBGbG93IGNvbnRlbnRcbiAgJ2JvZHknLCAvLyBQYWdlXG4gICdjYXB0aW9uJywgLy8gYHRhYmxlLWNhcHRpb25gXG4gICdjZW50ZXInLCAvLyBGbG93IGNvbnRlbnQgKGxlZ2FjeSlcbiAgJ2RkJywgLy8gTGlzdHNcbiAgJ2RpYWxvZycsIC8vIEZsb3cgY29udGVudFxuICAnZGlyJywgLy8gTGlzdHMgKGxlZ2FjeSlcbiAgJ2RsJywgLy8gTGlzdHNcbiAgJ2R0JywgLy8gTGlzdHNcbiAgJ2RpdicsIC8vIEZsb3cgY29udGVudFxuICAnZmlndXJlJywgLy8gRmxvdyBjb250ZW50XG4gICdmaWdjYXB0aW9uJywgLy8gRmxvdyBjb250ZW50XG4gICdmb290ZXInLCAvLyBGbG93IGNvbnRlbnRcbiAgJ2Zvcm0sJywgLy8gRmxvdyBjb250ZW50XG4gICdoMScsIC8vIFNlY3Rpb25zIGFuZCBoZWFkaW5nc1xuICAnaDInLCAvLyBTZWN0aW9ucyBhbmQgaGVhZGluZ3NcbiAgJ2gzJywgLy8gU2VjdGlvbnMgYW5kIGhlYWRpbmdzXG4gICdoNCcsIC8vIFNlY3Rpb25zIGFuZCBoZWFkaW5nc1xuICAnaDUnLCAvLyBTZWN0aW9ucyBhbmQgaGVhZGluZ3NcbiAgJ2g2JywgLy8gU2VjdGlvbnMgYW5kIGhlYWRpbmdzXG4gICdoZWFkZXInLCAvLyBGbG93IGNvbnRlbnRcbiAgJ2hncm91cCcsIC8vIFNlY3Rpb25zIGFuZCBoZWFkaW5nc1xuICAnaHInLCAvLyBGbG93IGNvbnRlbnRcbiAgJ2h0bWwnLCAvLyBQYWdlXG4gICdsZWdlbmQnLCAvLyBGbG93IGNvbnRlbnRcbiAgJ2xpJywgLy8gTGlzdHMgKGFzIGBkaXNwbGF5OiBsaXN0LWl0ZW1gKVxuICAnbGlzdGluZycsIC8vIEZsb3cgY29udGVudCAobGVnYWN5KVxuICAnbWFpbicsIC8vIEZsb3cgY29udGVudFxuICAnbWVudScsIC8vIExpc3RzXG4gICduYXYnLCAvLyBTZWN0aW9ucyBhbmQgaGVhZGluZ3NcbiAgJ29sJywgLy8gTGlzdHNcbiAgJ3AnLCAvLyBGbG93IGNvbnRlbnRcbiAgJ3BsYWludGV4dCcsIC8vIEZsb3cgY29udGVudCAobGVnYWN5KVxuICAncHJlJywgLy8gRmxvdyBjb250ZW50XG4gICdzZWN0aW9uJywgLy8gU2VjdGlvbnMgYW5kIGhlYWRpbmdzXG4gICd1bCcsIC8vIExpc3RzXG4gICd4bXAnIC8vIEZsb3cgY29udGVudCAobGVnYWN5KVxuXSlcblxuLyoqXG4gKiBHZXQgdGhlIHBsYWluLXRleHQgdmFsdWUgb2YgYSBub2RlLlxuICpcbiAqICMjIyMjIyBBbGdvcml0aG1cbiAqXG4gKiAqICAgaWYgYHRyZWVgIGlzIGEgY29tbWVudCwgcmV0dXJucyBpdHMgYHZhbHVlYFxuICogKiAgIGlmIGB0cmVlYCBpcyBhIHRleHQsIGFwcGxpZXMgbm9ybWFsIHdoaXRlc3BhY2UgY29sbGFwc2luZyB0byBpdHNcbiAqICAgICBgdmFsdWVgLCBhcyBkZWZpbmVkIGJ5IHRoZSBDU1MgVGV4dCBzcGVjXG4gKiAqICAgaWYgYHRyZWVgIGlzIGEgcm9vdCBvciBlbGVtZW50LCBhcHBsaWVzIGFuIGFsZ29yaXRobSBzaW1pbGFyIHRvIHRoZVxuICogICAgIGBpbm5lclRleHRgIGdldHRlciBhcyBkZWZpbmVkIGJ5IEhUTUxcbiAqXG4gKiAjIyMjIyMgTm90ZXNcbiAqXG4gKiA+IPCfkYkgKipOb3RlKio6IHRoZSBhbGdvcml0aG0gYWN0cyBhcyBpZiBgdHJlZWAgaXMgYmVpbmcgcmVuZGVyZWQsIGFuZCBhcyBpZlxuICogPiB3ZeKAmXJlIGEgQ1NTLXN1cHBvcnRpbmcgdXNlciBhZ2VudCwgd2l0aCBzY3JpcHRpbmcgZW5hYmxlZC5cbiAqXG4gKiAqICAgaWYgYHRyZWVgIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBub3QgZGlzcGxheWVkIChzdWNoIGFzIGEgYGhlYWRgKSwgd2XigJlsbFxuICogICAgIHN0aWxsIHVzZSB0aGUgYGlubmVyVGV4dGAgYWxnb3JpdGhtIGluc3RlYWQgb2Ygc3dpdGNoaW5nIHRvIGB0ZXh0Q29udGVudGBcbiAqICogICBpZiBkZXNjZW5kYW50cyBvZiBgdHJlZWAgYXJlIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBkaXNwbGF5ZWQsIHRoZXkgYXJlXG4gKiAgICAgaWdub3JlZFxuICogKiAgIENTUyBpcyBub3QgY29uc2lkZXJlZCwgZXhjZXB0IGZvciB0aGUgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlIHNoZWV0XG4gKiAqICAgYSBsaW5lIGZlZWQgaXMgY29sbGFwc2VkIGluc3RlYWQgb2YgaWdub3JlZCBpbiBjYXNlcyB3aGVyZSBGdWxsd2lkdGgsIFdpZGUsXG4gKiAgICAgb3IgSGFsZndpZHRoIEVhc3QgQXNpYW4gV2lkdGggY2hhcmFjdGVycyBhcmUgdXNlZCwgdGhlIHNhbWUgZ29lcyBmb3IgYSBjYXNlXG4gKiAgICAgd2l0aCBDaGluZXNlLCBKYXBhbmVzZSwgb3IgWWkgd3JpdGluZyBzeXN0ZW1zXG4gKiAqICAgcmVwbGFjZWQgZWxlbWVudHMgKHN1Y2ggYXMgYGF1ZGlvYCkgYXJlIHRyZWF0ZWQgbGlrZSBub24tcmVwbGFjZWQgZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0ge05vZGVzfSB0cmVlXG4gKiAgIFRyZWUgdG8gdHVybiBpbnRvIHRleHQuXG4gKiBAcGFyYW0ge1JlYWRvbmx5PE9wdGlvbnM+IHwgbnVsbCB8IHVuZGVmaW5lZH0gW29wdGlvbnNdXG4gKiAgIENvbmZpZ3VyYXRpb24gKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKiAgIFNlcmlhbGl6ZWQgYHRyZWVgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9UZXh0KHRyZWUsIG9wdGlvbnMpIHtcbiAgY29uc3Qgb3B0aW9uc18gPSBvcHRpb25zIHx8IHt9XG4gIGNvbnN0IGNoaWxkcmVuID0gJ2NoaWxkcmVuJyBpbiB0cmVlID8gdHJlZS5jaGlsZHJlbiA6IFtdXG4gIGNvbnN0IGJsb2NrID0gYmxvY2tPckNhcHRpb24odHJlZSlcbiAgY29uc3Qgd2hpdGVzcGFjZSA9IGluZmVyV2hpdGVzcGFjZSh0cmVlLCB7XG4gICAgd2hpdGVzcGFjZTogb3B0aW9uc18ud2hpdGVzcGFjZSB8fCAnbm9ybWFsJyxcbiAgICBicmVha0JlZm9yZTogZmFsc2UsXG4gICAgYnJlYWtBZnRlcjogZmFsc2VcbiAgfSlcblxuICAvKiogQHR5cGUge0FycmF5PEJyZWFrTnVtYmVyIHwgc3RyaW5nPn0gKi9cbiAgY29uc3QgcmVzdWx0cyA9IFtdXG5cbiAgLy8gVHJlYXQgYHRleHRgIGFuZCBgY29tbWVudGAgYXMgaGF2aW5nIG5vcm1hbCB3aGl0ZS1zcGFjZS5cbiAgLy8gVGhpcyBkZXZpYXRlcyBmcm9tIHRoZSBzcGVjIGFzIGluIHRoZSBET00gdGhlIG5vZGXigJlzIGAuZGF0YWAgaGFzIHRvIGJlXG4gIC8vIHJldHVybmVkLlxuICAvLyBJZiB5b3Ugd2FudCB0aGF0IGJlaGF2aW9yIHVzZSBgaGFzdC11dGlsLXRvLXN0cmluZ2AuXG4gIC8vIEFsbCBvdGhlciBub2RlcyBhcmUgbGF0ZXIgaGFuZGxlZCBhcyBpZiB0aGV5IGFyZSBgZWxlbWVudGBzIChzbyB0aGVcbiAgLy8gYWxnb3JpdGhtIGFsc28gd29ya3Mgb24gYSBgcm9vdGApLlxuICAvLyBOb2RlcyB3aXRob3V0IGNoaWxkcmVuIGFyZSB0cmVhdGVkIGFzIGEgdm9pZCBlbGVtZW50LCBzbyBgZG9jdHlwZWAgaXMgdGh1c1xuICAvLyBpZ25vcmVkLlxuICBpZiAodHJlZS50eXBlID09PSAndGV4dCcgfHwgdHJlZS50eXBlID09PSAnY29tbWVudCcpIHtcbiAgICByZXN1bHRzLnB1c2goXG4gICAgICAuLi5jb2xsZWN0VGV4dCh0cmVlLCB7XG4gICAgICAgIHdoaXRlc3BhY2UsXG4gICAgICAgIGJyZWFrQmVmb3JlOiB0cnVlLFxuICAgICAgICBicmVha0FmdGVyOiB0cnVlXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8vIDEuICBJZiB0aGlzIGVsZW1lbnQgaXMgbm90IGJlaW5nIHJlbmRlcmVkLCBvciBpZiB0aGUgdXNlciBhZ2VudCBpcyBhXG4gIC8vICAgICBub24tQ1NTIHVzZXIgYWdlbnQsIHRoZW4gcmV0dXJuIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSB0ZXh0Q29udGVudCBJRExcbiAgLy8gICAgIGF0dHJpYnV0ZSBvbiB0aGlzIGVsZW1lbnQuXG4gIC8vXG4gIC8vICAgICBOb3RlOiB3ZeKAmXJlIG5vdCBzdXBwb3J0aW5nIHN0eWxlc2hlZXRzIHNvIHdl4oCZcmUgYWN0aW5nIGFzIGlmIHRoZSBub2RlXG4gIC8vICAgICBpcyByZW5kZXJlZC5cbiAgLy9cbiAgLy8gICAgIElmIHlvdSB3YW50IHRoYXQgYmVoYXZpb3IgdXNlIGBoYXN0LXV0aWwtdG8tc3RyaW5nYC5cbiAgLy8gICAgIEltcG9ydGFudDogd2XigJlsbCBoYXZlIHRvIGFjY291bnQgZm9yIHRoaXMgbGF0ZXIgdGhvdWdoLlxuXG4gIC8vIDIuICBMZXQgcmVzdWx0cyBiZSBhIG5ldyBlbXB0eSBsaXN0LlxuICBsZXQgaW5kZXggPSAtMVxuXG4gIC8vIDMuICBGb3IgZWFjaCBjaGlsZCBub2RlIG5vZGUgb2YgdGhpcyBlbGVtZW50OlxuICB3aGlsZSAoKytpbmRleCA8IGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIC8vIDMuMS4gTGV0IGN1cnJlbnQgYmUgdGhlIGxpc3QgcmVzdWx0aW5nIGluIHJ1bm5pbmcgdGhlIGlubmVyIHRleHRcbiAgICAvLyAgICAgIGNvbGxlY3Rpb24gc3RlcHMgd2l0aCBub2RlLlxuICAgIC8vICAgICAgRWFjaCBpdGVtIGluIHJlc3VsdHMgd2lsbCBlaXRoZXIgYmUgYSBKYXZhU2NyaXB0IHN0cmluZyBvciBhXG4gICAgLy8gICAgICBwb3NpdGl2ZSBpbnRlZ2VyIChhIHJlcXVpcmVkIGxpbmUgYnJlYWsgY291bnQpLlxuICAgIC8vIDMuMi4gRm9yIGVhY2ggaXRlbSBpdGVtIGluIGN1cnJlbnQsIGFwcGVuZCBpdGVtIHRvIHJlc3VsdHMuXG4gICAgcmVzdWx0cy5wdXNoKFxuICAgICAgLi4ucmVuZGVyZWRUZXh0Q29sbGVjdGlvbihcbiAgICAgICAgY2hpbGRyZW5baW5kZXhdLFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBgdHJlZWAgaXMgYSBwYXJlbnQgaWYgd2XigJlyZSBoZXJlLlxuICAgICAgICB0cmVlLFxuICAgICAgICB7XG4gICAgICAgICAgd2hpdGVzcGFjZSxcbiAgICAgICAgICBicmVha0JlZm9yZTogaW5kZXggPyB1bmRlZmluZWQgOiBibG9jayxcbiAgICAgICAgICBicmVha0FmdGVyOlxuICAgICAgICAgICAgaW5kZXggPCBjaGlsZHJlbi5sZW5ndGggLSAxID8gYnIoY2hpbGRyZW5baW5kZXggKyAxXSkgOiBibG9ja1xuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgLy8gNC4gIFJlbW92ZSBhbnkgaXRlbXMgZnJvbSByZXN1bHRzIHRoYXQgYXJlIHRoZSBlbXB0eSBzdHJpbmcuXG4gIC8vIDUuICBSZW1vdmUgYW55IHJ1bnMgb2YgY29uc2VjdXRpdmUgcmVxdWlyZWQgbGluZSBicmVhayBjb3VudCBpdGVtcyBhdCB0aGVcbiAgLy8gICAgIHN0YXJ0IG9yIGVuZCBvZiByZXN1bHRzLlxuICAvLyA2LiAgUmVwbGFjZSBlYWNoIHJlbWFpbmluZyBydW4gb2YgY29uc2VjdXRpdmUgcmVxdWlyZWQgbGluZSBicmVhayBjb3VudFxuICAvLyAgICAgaXRlbXMgd2l0aCBhIHN0cmluZyBjb25zaXN0aW5nIG9mIGFzIG1hbnkgVSswMDBBIExJTkUgRkVFRCAoTEYpXG4gIC8vICAgICBjaGFyYWN0ZXJzIGFzIHRoZSBtYXhpbXVtIG9mIHRoZSB2YWx1ZXMgaW4gdGhlIHJlcXVpcmVkIGxpbmUgYnJlYWtcbiAgLy8gICAgIGNvdW50IGl0ZW1zLlxuICAvKiogQHR5cGUge0FycmF5PHN0cmluZz59ICovXG4gIGNvbnN0IHJlc3VsdCA9IFtdXG4gIC8qKiBAdHlwZSB7bnVtYmVyIHwgdW5kZWZpbmVkfSAqL1xuICBsZXQgY291bnRcblxuICBpbmRleCA9IC0xXG5cbiAgd2hpbGUgKCsraW5kZXggPCByZXN1bHRzLmxlbmd0aCkge1xuICAgIGNvbnN0IHZhbHVlID0gcmVzdWx0c1tpbmRleF1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICBpZiAoY291bnQgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSA+IGNvdW50KSBjb3VudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKGNvdW50ICE9PSB1bmRlZmluZWQgJiYgY291bnQgPiAtMSkge1xuICAgICAgICByZXN1bHQucHVzaCgnXFxuJy5yZXBlYXQoY291bnQpIHx8ICcgJylcbiAgICAgIH1cblxuICAgICAgY291bnQgPSAtMVxuICAgICAgcmVzdWx0LnB1c2godmFsdWUpXG4gICAgfVxuICB9XG5cbiAgLy8gNy4gIFJldHVybiB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgc3RyaW5nIGl0ZW1zIGluIHJlc3VsdHMuXG4gIHJldHVybiByZXN1bHQuam9pbignJylcbn1cblxuLyoqXG4gKiA8aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZG9tLmh0bWwjcmVuZGVyZWQtdGV4dC1jb2xsZWN0aW9uLXN0ZXBzPlxuICpcbiAqIEBwYXJhbSB7Tm9kZXN9IG5vZGVcbiAqIEBwYXJhbSB7UGFyZW50c30gcGFyZW50XG4gKiBAcGFyYW0ge0NvbGxlY3Rpb25JbmZvfSBpbmZvXG4gKiBAcmV0dXJucyB7QXJyYXk8QnJlYWtOdW1iZXIgfCBzdHJpbmc+fVxuICovXG5mdW5jdGlvbiByZW5kZXJlZFRleHRDb2xsZWN0aW9uKG5vZGUsIHBhcmVudCwgaW5mbykge1xuICBpZiAobm9kZS50eXBlID09PSAnZWxlbWVudCcpIHtcbiAgICByZXR1cm4gY29sbGVjdEVsZW1lbnQobm9kZSwgcGFyZW50LCBpbmZvKVxuICB9XG5cbiAgaWYgKG5vZGUudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgcmV0dXJuIGluZm8ud2hpdGVzcGFjZSA9PT0gJ25vcm1hbCdcbiAgICAgID8gY29sbGVjdFRleHQobm9kZSwgaW5mbylcbiAgICAgIDogY29sbGVjdFByZVRleHQobm9kZSlcbiAgfVxuXG4gIHJldHVybiBbXVxufVxuXG4vKipcbiAqIENvbGxlY3QgYW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGVcbiAqICAgRWxlbWVudCBub2RlLlxuICogQHBhcmFtIHtQYXJlbnRzfSBwYXJlbnRcbiAqIEBwYXJhbSB7Q29sbGVjdGlvbkluZm99IGluZm9cbiAqICAgSW5mbyBvbiBjdXJyZW50IGNvbGxlY3Rpb24uXG4gKiBAcmV0dXJucyB7QXJyYXk8QnJlYWtOdW1iZXIgfCBzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBjb2xsZWN0RWxlbWVudChub2RlLCBwYXJlbnQsIGluZm8pIHtcbiAgLy8gRmlyc3Qgd2UgaW5mZXIgdGhlIGB3aGl0ZS1zcGFjZWAgcHJvcGVydHkuXG4gIGNvbnN0IHdoaXRlc3BhY2UgPSBpbmZlcldoaXRlc3BhY2Uobm9kZSwgaW5mbylcbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuIHx8IFtdXG4gIGxldCBpbmRleCA9IC0xXG4gIC8qKiBAdHlwZSB7QXJyYXk8QnJlYWtOdW1iZXIgfCBzdHJpbmc+fSAqL1xuICBsZXQgaXRlbXMgPSBbXVxuXG4gIC8vIFdl4oCZcmUgaWdub3JpbmcgcG9pbnQgMywgYW5kIGV4aXRpbmcgd2l0aG91dCBhbnkgY29udGVudCBoZXJlLCBiZWNhdXNlIHdlXG4gIC8vIGRldmlhdGVkIGZyb20gdGhlIHNwZWMgaW4gYHRvVGV4dGAgYXQgc3RlcCAzLlxuICBpZiAobm90UmVuZGVyZWQobm9kZSkpIHtcbiAgICByZXR1cm4gaXRlbXNcbiAgfVxuXG4gIC8qKiBAdHlwZSB7QnJlYWtOdW1iZXIgfCB1bmRlZmluZWR9ICovXG4gIGxldCBwcmVmaXhcbiAgLyoqIEB0eXBlIHtCcmVha0ZvcmNlIHwgQnJlYWtOdW1iZXIgfCB1bmRlZmluZWR9ICovXG4gIGxldCBzdWZmaXhcbiAgLy8gTm90ZTogd2UgZmlyc3QgZGV0ZWN0IGlmIHRoZXJlIGlzIGdvaW5nIHRvIGJlIGEgYnJlYWsgYmVmb3JlIG9yIGFmdGVyIHRoZVxuICAvLyBjb250ZW50cywgYXMgdGhhdCBjaGFuZ2VzIHRoZSB3aGl0ZS1zcGFjZSBoYW5kbGluZy5cblxuICAvLyAyLiAgSWYgbm9kZeKAmXMgY29tcHV0ZWQgdmFsdWUgb2YgYHZpc2liaWxpdHlgIGlzIG5vdCBgdmlzaWJsZWAsIHRoZW4gcmV0dXJuXG4gIC8vICAgICBpdGVtcy5cbiAgLy9cbiAgLy8gICAgIE5vdGU6IElnbm9yZWQsIGFzIGV2ZXJ5dGhpbmcgaXMgdmlzaWJsZSBieSBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzLlxuXG4gIC8vIDMuICBJZiBub2RlIGlzIG5vdCBiZWluZyByZW5kZXJlZCwgdGhlbiByZXR1cm4gaXRlbXMuIFsuLi5dXG4gIC8vXG4gIC8vICAgICBOb3RlOiBXZSBhbHJlYWR5IGRpZCB0aGlzIGFib3ZlLlxuXG4gIC8vIFNlZSBgY29sbGVjdFRleHRgIGZvciBzdGVwIDQuXG5cbiAgLy8gNS4gIElmIG5vZGUgaXMgYSBgPGJyPmAgZWxlbWVudCwgdGhlbiBhcHBlbmQgYSBzdHJpbmcgY29udGFpbmluZyBhIHNpbmdsZVxuICAvLyAgICAgVSswMDBBIExJTkUgRkVFRCAoTEYpIGNoYXJhY3RlciB0byBpdGVtcy5cbiAgaWYgKGJyKG5vZGUpKSB7XG4gICAgc3VmZml4ID0gJ1xcbidcbiAgfVxuXG4gIC8vIDcuICBJZiBub2Rl4oCZcyBjb21wdXRlZCB2YWx1ZSBvZiBgZGlzcGxheWAgaXMgYHRhYmxlLXJvd2AsIGFuZCBub2Rl4oCZcyBDU1NcbiAgLy8gICAgIGJveCBpcyBub3QgdGhlIGxhc3QgYHRhYmxlLXJvd2AgYm94IG9mIHRoZSBuZWFyZXN0IGFuY2VzdG9yIGB0YWJsZWBcbiAgLy8gICAgIGJveCwgdGhlbiBhcHBlbmQgYSBzdHJpbmcgY29udGFpbmluZyBhIHNpbmdsZSBVKzAwMEEgTElORSBGRUVEIChMRilcbiAgLy8gICAgIGNoYXJhY3RlciB0byBpdGVtcy5cbiAgLy9cbiAgLy8gICAgIFNlZTogPGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3JlbmRlcmluZy5odG1sI3RhYmxlcy0yPlxuICAvLyAgICAgTm90ZTogbmVlZHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uIGFzIHRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgaW1wbGljaXRcbiAgLy8gICAgIHJvd3MuXG4gIGVsc2UgaWYgKFxuICAgIHJvdyhub2RlKSAmJlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IHNvbWV0aGluZyB1cCB3aXRoIHR5cGVzIG9mIHBhcmVudHMuXG4gICAgZmluZEFmdGVyKHBhcmVudCwgbm9kZSwgcm93KVxuICApIHtcbiAgICBzdWZmaXggPSAnXFxuJ1xuICB9XG5cbiAgLy8gOC4gIElmIG5vZGUgaXMgYSBgPHA+YCBlbGVtZW50LCB0aGVuIGFwcGVuZCAyIChhIHJlcXVpcmVkIGxpbmUgYnJlYWsgY291bnQpXG4gIC8vICAgICBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgaXRlbXMuXG4gIGVsc2UgaWYgKHAobm9kZSkpIHtcbiAgICBwcmVmaXggPSAyXG4gICAgc3VmZml4ID0gMlxuICB9XG5cbiAgLy8gOS4gIElmIG5vZGXigJlzIHVzZWQgdmFsdWUgb2YgYGRpc3BsYXlgIGlzIGJsb2NrLWxldmVsIG9yIGB0YWJsZS1jYXB0aW9uYCxcbiAgLy8gICAgIHRoZW4gYXBwZW5kIDEgKGEgcmVxdWlyZWQgbGluZSBicmVhayBjb3VudCkgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mXG4gIC8vICAgICBpdGVtcy5cbiAgZWxzZSBpZiAoYmxvY2tPckNhcHRpb24obm9kZSkpIHtcbiAgICBwcmVmaXggPSAxXG4gICAgc3VmZml4ID0gMVxuICB9XG5cbiAgLy8gMS4gIExldCBpdGVtcyBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgdGhlIGlubmVyIHRleHQgY29sbGVjdGlvbiBzdGVwcyB3aXRoXG4gIC8vICAgICBlYWNoIGNoaWxkIG5vZGUgb2Ygbm9kZSBpbiB0cmVlIG9yZGVyLCBhbmQgdGhlbiBjb25jYXRlbmF0aW5nIHRoZVxuICAvLyAgICAgcmVzdWx0cyB0byBhIHNpbmdsZSBsaXN0LlxuICB3aGlsZSAoKytpbmRleCA8IGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIGl0ZW1zID0gaXRlbXMuY29uY2F0KFxuICAgICAgcmVuZGVyZWRUZXh0Q29sbGVjdGlvbihjaGlsZHJlbltpbmRleF0sIG5vZGUsIHtcbiAgICAgICAgd2hpdGVzcGFjZSxcbiAgICAgICAgYnJlYWtCZWZvcmU6IGluZGV4ID8gdW5kZWZpbmVkIDogcHJlZml4LFxuICAgICAgICBicmVha0FmdGVyOlxuICAgICAgICAgIGluZGV4IDwgY2hpbGRyZW4ubGVuZ3RoIC0gMSA/IGJyKGNoaWxkcmVuW2luZGV4ICsgMV0pIDogc3VmZml4XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8vIDYuICBJZiBub2Rl4oCZcyBjb21wdXRlZCB2YWx1ZSBvZiBgZGlzcGxheWAgaXMgYHRhYmxlLWNlbGxgLCBhbmQgbm9kZeKAmXMgQ1NTXG4gIC8vICAgICBib3ggaXMgbm90IHRoZSBsYXN0IGB0YWJsZS1jZWxsYCBib3ggb2YgaXRzIGVuY2xvc2luZyBgdGFibGUtcm93YCBib3gsXG4gIC8vICAgICB0aGVuIGFwcGVuZCBhIHN0cmluZyBjb250YWluaW5nIGEgc2luZ2xlIFUrMDAwOSBDSEFSQUNURVIgVEFCVUxBVElPTlxuICAvLyAgICAgKHRhYikgY2hhcmFjdGVyIHRvIGl0ZW1zLlxuICAvL1xuICAvLyAgICAgU2VlOiA8aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcmVuZGVyaW5nLmh0bWwjdGFibGVzLTI+XG4gIGlmIChcbiAgICBjZWxsKG5vZGUpICYmXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogc29tZXRoaW5nIHVwIHdpdGggdHlwZXMgb2YgcGFyZW50cy5cbiAgICBmaW5kQWZ0ZXIocGFyZW50LCBub2RlLCBjZWxsKVxuICApIHtcbiAgICBpdGVtcy5wdXNoKCdcXHQnKVxuICB9XG5cbiAgLy8gQWRkIHRoZSBwcmUtIGFuZCBzdWZmaXguXG4gIGlmIChwcmVmaXgpIGl0ZW1zLnVuc2hpZnQocHJlZml4KVxuICBpZiAoc3VmZml4KSBpdGVtcy5wdXNoKHN1ZmZpeClcblxuICByZXR1cm4gaXRlbXNcbn1cblxuLyoqXG4gKiA0LiAgSWYgbm9kZSBpcyBhIFRleHQgbm9kZSwgdGhlbiBmb3IgZWFjaCBDU1MgdGV4dCBib3ggcHJvZHVjZWQgYnkgbm9kZSxcbiAqICAgICBpbiBjb250ZW50IG9yZGVyLCBjb21wdXRlIHRoZSB0ZXh0IG9mIHRoZSBib3ggYWZ0ZXIgYXBwbGljYXRpb24gb2YgdGhlXG4gKiAgICAgQ1NTIGB3aGl0ZS1zcGFjZWAgcHJvY2Vzc2luZyBydWxlcyBhbmQgYHRleHQtdHJhbnNmb3JtYCBydWxlcywgc2V0XG4gKiAgICAgaXRlbXMgdG8gdGhlIGxpc3Qgb2YgdGhlIHJlc3VsdGluZyBzdHJpbmdzLCBhbmQgcmV0dXJuIGl0ZW1zLlxuICogICAgIFRoZSBDU1MgYHdoaXRlLXNwYWNlYCBwcm9jZXNzaW5nIHJ1bGVzIGFyZSBzbGlnaHRseSBtb2RpZmllZDpcbiAqICAgICBjb2xsYXBzaWJsZSBzcGFjZXMgYXQgdGhlIGVuZCBvZiBsaW5lcyBhcmUgYWx3YXlzIGNvbGxhcHNlZCwgYnV0IHRoZXlcbiAqICAgICBhcmUgb25seSByZW1vdmVkIGlmIHRoZSBsaW5lIGlzIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGJsb2NrLCBvciBpdCBlbmRzXG4gKiAgICAgd2l0aCBhIGJyIGVsZW1lbnQuXG4gKiAgICAgU29mdCBoeXBoZW5zIHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKlxuICogICAgIE5vdGU6IFNlZSBgY29sbGVjdFRleHRgIGFuZCBgY29sbGVjdFByZVRleHRgLlxuICogICAgIE5vdGU6IHdlIGRvbuKAmXQgZGVhbCB3aXRoIGB0ZXh0LXRyYW5zZm9ybWAsIG5vIGVsZW1lbnQgaGFzIHRoYXQgYnlcbiAqICAgICBkZWZhdWx0LlxuICpcbiAqIFNlZTogPGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC8jd2hpdGUtc3BhY2UtcGhhc2UtMT5cbiAqXG4gKiBAcGFyYW0ge0NvbW1lbnQgfCBUZXh0fSBub2RlXG4gKiAgIFRleHQgbm9kZS5cbiAqIEBwYXJhbSB7Q29sbGVjdGlvbkluZm99IGluZm9cbiAqICAgSW5mbyBvbiBjdXJyZW50IGNvbGxlY3Rpb24uXG4gKiBAcmV0dXJucyB7QXJyYXk8QnJlYWtOdW1iZXIgfCBzdHJpbmc+fVxuICogICBSZXN1bHQuXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RUZXh0KG5vZGUsIGluZm8pIHtcbiAgY29uc3QgdmFsdWUgPSBTdHJpbmcobm9kZS52YWx1ZSlcbiAgLyoqIEB0eXBlIHtBcnJheTxzdHJpbmc+fSAqL1xuICBjb25zdCBsaW5lcyA9IFtdXG4gIC8qKiBAdHlwZSB7QXJyYXk8QnJlYWtOdW1iZXIgfCBzdHJpbmc+fSAqL1xuICBjb25zdCByZXN1bHQgPSBbXVxuICBsZXQgc3RhcnQgPSAwXG5cbiAgd2hpbGUgKHN0YXJ0IDw9IHZhbHVlLmxlbmd0aCkge1xuICAgIHNlYXJjaExpbmVGZWVkcy5sYXN0SW5kZXggPSBzdGFydFxuXG4gICAgY29uc3QgbWF0Y2ggPSBzZWFyY2hMaW5lRmVlZHMuZXhlYyh2YWx1ZSlcbiAgICBjb25zdCBlbmQgPSBtYXRjaCAmJiAnaW5kZXgnIGluIG1hdGNoID8gbWF0Y2guaW5kZXggOiB2YWx1ZS5sZW5ndGhcblxuICAgIGxpbmVzLnB1c2goXG4gICAgICAvLyBBbnkgc2VxdWVuY2Ugb2YgY29sbGFwc2libGUgc3BhY2VzIGFuZCB0YWJzIGltbWVkaWF0ZWx5IHByZWNlZGluZyBvclxuICAgICAgLy8gZm9sbG93aW5nIGEgc2VnbWVudCBicmVhayBpcyByZW1vdmVkLlxuICAgICAgdHJpbUFuZENvbGxhcHNlU3BhY2VzQW5kVGFicyhcbiAgICAgICAgLy8gW+KApl0gaWdub3JpbmcgYmlkaSBmb3JtYXR0aW5nIGNoYXJhY3RlcnMgKGNoYXJhY3RlcnMgd2l0aCB0aGVcbiAgICAgICAgLy8gQmlkaV9Db250cm9sIHByb3BlcnR5IFtVQVg5XTogQUxNLCBMVFIsIFJUTCwgTFJFLVJMTywgTFJJLVBESSkgYXMgaWZcbiAgICAgICAgLy8gdGhleSB3ZXJlIG5vdCB0aGVyZS5cbiAgICAgICAgdmFsdWVcbiAgICAgICAgICAuc2xpY2Uoc3RhcnQsIGVuZClcbiAgICAgICAgICAucmVwbGFjZSgvW1xcdTA2MUNcXHUyMDBFXFx1MjAwRlxcdTIwMkEtXFx1MjAyRVxcdTIwNjYtXFx1MjA2OV0vZywgJycpLFxuICAgICAgICBzdGFydCA9PT0gMCA/IGluZm8uYnJlYWtCZWZvcmUgOiB0cnVlLFxuICAgICAgICBlbmQgPT09IHZhbHVlLmxlbmd0aCA/IGluZm8uYnJlYWtBZnRlciA6IHRydWVcbiAgICAgIClcbiAgICApXG5cbiAgICBzdGFydCA9IGVuZCArIDFcbiAgfVxuXG4gIC8vIENvbGxhcHNpYmxlIHNlZ21lbnQgYnJlYWtzIGFyZSB0cmFuc2Zvcm1lZCBmb3IgcmVuZGVyaW5nIGFjY29yZGluZyB0byB0aGVcbiAgLy8gc2VnbWVudCBicmVhayB0cmFuc2Zvcm1hdGlvbiBydWxlcy5cbiAgLy8gU28gaGVyZSB3ZSBqdW1wIHRvIDQuMS4yIG9mIFtDU1NURVhUXTpcbiAgLy8gQW55IGNvbGxhcHNpYmxlIHNlZ21lbnQgYnJlYWsgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGFub3RoZXIgY29sbGFwc2libGVcbiAgLy8gc2VnbWVudCBicmVhayBpcyByZW1vdmVkXG4gIGxldCBpbmRleCA9IC0xXG4gIC8qKiBAdHlwZSB7QnJlYWtOdW1iZXIgfCB1bmRlZmluZWR9ICovXG4gIGxldCBqb2luXG5cbiAgd2hpbGUgKCsraW5kZXggPCBsaW5lcy5sZW5ndGgpIHtcbiAgICAvLyAqICAgSWYgdGhlIGNoYXJhY3RlciBpbW1lZGlhdGVseSBiZWZvcmUgb3IgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHNlZ21lbnRcbiAgICAvLyAgICAgYnJlYWsgaXMgdGhlIHplcm8td2lkdGggc3BhY2UgY2hhcmFjdGVyIChVKzIwMEIpLCB0aGVuIHRoZSBicmVhayBpc1xuICAgIC8vICAgICByZW1vdmVkLCBsZWF2aW5nIGJlaGluZCB0aGUgemVyby13aWR0aCBzcGFjZS5cbiAgICBpZiAoXG4gICAgICBsaW5lc1tpbmRleF0uY2hhckNvZGVBdChsaW5lc1tpbmRleF0ubGVuZ3RoIC0gMSkgPT09IDB4MjBfMGIgLyogWldTUCAqLyB8fFxuICAgICAgKGluZGV4IDwgbGluZXMubGVuZ3RoIC0gMSAmJlxuICAgICAgICBsaW5lc1tpbmRleCArIDFdLmNoYXJDb2RlQXQoMCkgPT09IDB4MjBfMGIpIC8qIFpXU1AgKi9cbiAgICApIHtcbiAgICAgIHJlc3VsdC5wdXNoKGxpbmVzW2luZGV4XSlcbiAgICAgIGpvaW4gPSB1bmRlZmluZWRcbiAgICB9XG5cbiAgICAvLyAqICAgT3RoZXJ3aXNlLCBpZiB0aGUgRWFzdCBBc2lhbiBXaWR0aCBwcm9wZXJ0eSBbVUFYMTFdIG9mIGJvdGggdGhlXG4gICAgLy8gICAgIGNoYXJhY3RlciBiZWZvcmUgYW5kIGFmdGVyIHRoZSBzZWdtZW50IGJyZWFrIGlzIEZ1bGx3aWR0aCwgV2lkZSwgb3JcbiAgICAvLyAgICAgSGFsZndpZHRoIChub3QgQW1iaWd1b3VzKSwgYW5kIG5laXRoZXIgc2lkZSBpcyBIYW5ndWwsIHRoZW4gdGhlXG4gICAgLy8gICAgIHNlZ21lbnQgYnJlYWsgaXMgcmVtb3ZlZC5cbiAgICAvL1xuICAgIC8vICAgICBOb3RlOiBpZ25vcmVkLlxuICAgIC8vICogICBPdGhlcndpc2UsIGlmIHRoZSB3cml0aW5nIHN5c3RlbSBvZiB0aGUgc2VnbWVudCBicmVhayBpcyBDaGluZXNlLFxuICAgIC8vICAgICBKYXBhbmVzZSwgb3IgWWksIGFuZCB0aGUgY2hhcmFjdGVyIGJlZm9yZSBvciBhZnRlciB0aGUgc2VnbWVudCBicmVha1xuICAgIC8vICAgICBpcyBwdW5jdHVhdGlvbiBvciBhIHN5bWJvbCAoVW5pY29kZSBnZW5lcmFsIGNhdGVnb3J5IFAqIG9yIFMqKSBhbmRcbiAgICAvLyAgICAgaGFzIGFuIEVhc3QgQXNpYW4gV2lkdGggcHJvcGVydHkgb2YgQW1iaWd1b3VzLCBhbmQgdGhlIGNoYXJhY3RlciBvblxuICAgIC8vICAgICB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgc2VnbWVudCBicmVhayBpcyBGdWxsd2lkdGgsIFdpZGUsIG9yIEhhbGZ3aWR0aCxcbiAgICAvLyAgICAgYW5kIG5vdCBIYW5ndWwsIHRoZW4gdGhlIHNlZ21lbnQgYnJlYWsgaXMgcmVtb3ZlZC5cbiAgICAvL1xuICAgIC8vICAgICBOb3RlOiBpZ25vcmVkLlxuXG4gICAgLy8gKiAgIE90aGVyd2lzZSwgdGhlIHNlZ21lbnQgYnJlYWsgaXMgY29udmVydGVkIHRvIGEgc3BhY2UgKFUrMDAyMCkuXG4gICAgZWxzZSBpZiAobGluZXNbaW5kZXhdKSB7XG4gICAgICBpZiAodHlwZW9mIGpvaW4gPT09ICdudW1iZXInKSByZXN1bHQucHVzaChqb2luKVxuICAgICAgcmVzdWx0LnB1c2gobGluZXNbaW5kZXhdKVxuICAgICAgam9pbiA9IDBcbiAgICB9IGVsc2UgaWYgKGluZGV4ID09PSAwIHx8IGluZGV4ID09PSBsaW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICAvLyBJZiB0aGlzIGxpbmUgaXMgZW1wdHksIGFuZCBpdOKAmXMgdGhlIGZpcnN0IG9yIGxhc3QsIGFkZCBhIHNwYWNlLlxuICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaW4gbm9ybWFsIHdoaXRlc3BhY2UsIHNvIHdlXG4gICAgICAvLyBkb27igJl0IHdvcnJ5IGFib3V0IGBwcmVgLlxuICAgICAgcmVzdWx0LnB1c2goMClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbi8qKlxuICogQ29sbGVjdCBhIHRleHQgbm9kZSBhcyDigJxwcmXigJ0gd2hpdGVzcGFjZS5cbiAqXG4gKiBAcGFyYW0ge1RleHR9IG5vZGVcbiAqICAgVGV4dCBub2RlLlxuICogQHJldHVybnMge0FycmF5PEJyZWFrTnVtYmVyIHwgc3RyaW5nPn1cbiAqICAgUmVzdWx0LlxuICovXG5mdW5jdGlvbiBjb2xsZWN0UHJlVGV4dChub2RlKSB7XG4gIHJldHVybiBbU3RyaW5nKG5vZGUudmFsdWUpXVxufVxuXG4vKipcbiAqIDMuICBFdmVyeSBjb2xsYXBzaWJsZSB0YWIgaXMgY29udmVydGVkIHRvIGEgY29sbGFwc2libGUgc3BhY2UgKFUrMDAyMCkuXG4gKiA0LiAgQW55IGNvbGxhcHNpYmxlIHNwYWNlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhbm90aGVyIGNvbGxhcHNpYmxlXG4gKiAgICAgc3BhY2XigJRldmVuIG9uZSBvdXRzaWRlIHRoZSBib3VuZGFyeSBvZiB0aGUgaW5saW5lIGNvbnRhaW5pbmcgdGhhdFxuICogICAgIHNwYWNlLCBwcm92aWRlZCBib3RoIHNwYWNlcyBhcmUgd2l0aGluIHRoZSBzYW1lIGlubGluZSBmb3JtYXR0aW5nXG4gKiAgICAgY29udGV4dOKAlGlzIGNvbGxhcHNlZCB0byBoYXZlIHplcm8gYWR2YW5jZSB3aWR0aC4gKEl0IGlzIGludmlzaWJsZSxcbiAqICAgICBidXQgcmV0YWlucyBpdHMgc29mdCB3cmFwIG9wcG9ydHVuaXR5LCBpZiBhbnkuKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogICBWYWx1ZSB0byBjb2xsYXBzZS5cbiAqIEBwYXJhbSB7QnJlYWtCZWZvcmV9IGJyZWFrQmVmb3JlXG4gKiAgIFdoZXRoZXIgdGhlcmUgd2FzIGEgYnJlYWsgYmVmb3JlLlxuICogQHBhcmFtIHtCcmVha0FmdGVyfSBicmVha0FmdGVyXG4gKiAgIFdoZXRoZXIgdGhlcmUgd2FzIGEgYnJlYWsgYWZ0ZXIuXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICogICBSZXN1bHQuXG4gKi9cbmZ1bmN0aW9uIHRyaW1BbmRDb2xsYXBzZVNwYWNlc0FuZFRhYnModmFsdWUsIGJyZWFrQmVmb3JlLCBicmVha0FmdGVyKSB7XG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29uc3QgcmVzdWx0ID0gW11cbiAgbGV0IHN0YXJ0ID0gMFxuICAvKiogQHR5cGUge251bWJlciB8IHVuZGVmaW5lZH0gKi9cbiAgbGV0IGVuZFxuXG4gIHdoaWxlIChzdGFydCA8IHZhbHVlLmxlbmd0aCkge1xuICAgIHNlYXJjaFRhYk9yU3BhY2VzLmxhc3RJbmRleCA9IHN0YXJ0XG4gICAgY29uc3QgbWF0Y2ggPSBzZWFyY2hUYWJPclNwYWNlcy5leGVjKHZhbHVlKVxuICAgIGVuZCA9IG1hdGNoID8gbWF0Y2guaW5kZXggOiB2YWx1ZS5sZW5ndGhcblxuICAgIC8vIElmIHdl4oCZcmUgbm90IGRpcmVjdGx5IGFmdGVyIGEgc2VnbWVudCBicmVhaywgYnV0IHRoZXJlIHdhcyB3aGl0ZSBzcGFjZSxcbiAgICAvLyBhZGQgYW4gZW1wdHkgdmFsdWUgdGhhdCB3aWxsIGJlIHR1cm5lZCBpbnRvIGEgc3BhY2UuXG4gICAgaWYgKCFzdGFydCAmJiAhZW5kICYmIG1hdGNoICYmICFicmVha0JlZm9yZSkge1xuICAgICAgcmVzdWx0LnB1c2goJycpXG4gICAgfVxuXG4gICAgaWYgKHN0YXJ0ICE9PSBlbmQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHZhbHVlLnNsaWNlKHN0YXJ0LCBlbmQpKVxuICAgIH1cblxuICAgIHN0YXJ0ID0gbWF0Y2ggPyBlbmQgKyBtYXRjaFswXS5sZW5ndGggOiBlbmRcbiAgfVxuXG4gIC8vIElmIHdlIHJlYWNoZWQgdGhlIGVuZCwgdGhlcmUgd2FzIHRyYWlsaW5nIHdoaXRlIHNwYWNlLCBhbmQgdGhlcmXigJlzIG5vXG4gIC8vIHNlZ21lbnQgYnJlYWsgYWZ0ZXIgdGhpcyBub2RlLCBhZGQgYW4gZW1wdHkgdmFsdWUgdGhhdCB3aWxsIGJlIHR1cm5lZFxuICAvLyBpbnRvIGEgc3BhY2UuXG4gIGlmIChzdGFydCAhPT0gZW5kICYmICFicmVha0FmdGVyKSB7XG4gICAgcmVzdWx0LnB1c2goJycpXG4gIH1cblxuICByZXR1cm4gcmVzdWx0LmpvaW4oJyAnKVxufVxuXG4vKipcbiAqIEZpZ3VyZSBvdXQgdGhlIHdoaXRlc3BhY2Ugb2YgYSBub2RlLlxuICpcbiAqIFdlIGRvbuKAmXQgc3VwcG9ydCB2b2lkIGVsZW1lbnRzIGhlcmUgKHNvIGBub2JyIHdicmAgLT4gYG5vcm1hbGAgaXMgaWdub3JlZCkuXG4gKlxuICogQHBhcmFtIHtOb2Rlc30gbm9kZVxuICogICBOb2RlICh0eXBpY2FsbHkgYEVsZW1lbnRgKS5cbiAqIEBwYXJhbSB7Q29sbGVjdGlvbkluZm99IGluZm9cbiAqICAgSW5mbyBvbiBjdXJyZW50IGNvbGxlY3Rpb24uXG4gKiBAcmV0dXJucyB7V2hpdGVzcGFjZX1cbiAqICAgQXBwbGllZCB3aGl0ZXNwYWNlLlxuICovXG5mdW5jdGlvbiBpbmZlcldoaXRlc3BhY2Uobm9kZSwgaW5mbykge1xuICBpZiAobm9kZS50eXBlID09PSAnZWxlbWVudCcpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gbm9kZS5wcm9wZXJ0aWVzIHx8IHt9XG4gICAgc3dpdGNoIChub2RlLnRhZ05hbWUpIHtcbiAgICAgIGNhc2UgJ2xpc3RpbmcnOlxuICAgICAgY2FzZSAncGxhaW50ZXh0JzpcbiAgICAgIGNhc2UgJ3htcCc6IHtcbiAgICAgICAgcmV0dXJuICdwcmUnXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ25vYnInOiB7XG4gICAgICAgIHJldHVybiAnbm93cmFwJ1xuICAgICAgfVxuXG4gICAgICBjYXNlICdwcmUnOiB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzLndyYXAgPyAncHJlLXdyYXAnIDogJ3ByZSdcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGQnOlxuICAgICAgY2FzZSAndGgnOiB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzLm5vV3JhcCA/ICdub3dyYXAnIDogaW5mby53aGl0ZXNwYWNlXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RleHRhcmVhJzoge1xuICAgICAgICByZXR1cm4gJ3ByZS13cmFwJ1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmZvLndoaXRlc3BhY2Vcbn1cblxuLyoqXG4gKiBAdHlwZSB7VGVzdEZ1bmN0aW9ufVxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcmV0dXJucyB7bm9kZSBpcyB7cHJvcGVydGllczoge2hpZGRlbjogdHJ1ZX19fVxuICovXG5mdW5jdGlvbiBoaWRkZW4obm9kZSkge1xuICByZXR1cm4gQm9vbGVhbigobm9kZS5wcm9wZXJ0aWVzIHx8IHt9KS5oaWRkZW4pXG59XG5cbi8qKlxuICogQHR5cGUge1Rlc3RGdW5jdGlvbn1cbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHJldHVybnMge25vZGUgaXMge3RhZ05hbWU6ICd0ZCcgfCAndGgnfX1cbiAqL1xuZnVuY3Rpb24gaXNDZWxsKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudGFnTmFtZSA9PT0gJ3RkJyB8fCBub2RlLnRhZ05hbWUgPT09ICd0aCdcbn1cblxuLyoqXG4gKiBAdHlwZSB7VGVzdEZ1bmN0aW9ufVxuICovXG5mdW5jdGlvbiBjbG9zZWREaWFsb2cobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lID09PSAnZGlhbG9nJyAmJiAhKG5vZGUucHJvcGVydGllcyB8fCB7fSkub3BlblxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/hast-util-to-text@4.0.2/node_modules/hast-util-to-text/lib/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js ***!
\******************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ whitespace: () => (/* binding */ whitespace)\n/* harmony export */ });\n/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nfunction whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oYXN0LXV0aWwtd2hpdGVzcGFjZUAzLjAuMC9ub2RlX21vZHVsZXMvaGFzdC11dGlsLXdoaXRlc3BhY2UvbGliL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBLGFBQWEsc0JBQXNCO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQjtBQUMzQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hhc3QtdXRpbC13aGl0ZXNwYWNlQDMuMC4wL25vZGVfbW9kdWxlcy9oYXN0LXV0aWwtd2hpdGVzcGFjZS9saWIvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdoYXN0JykuTm9kZXN9IE5vZGVzXG4gKi9cblxuLy8gSFRNTCB3aGl0ZXNwYWNlIGV4cHJlc3Npb24uXG4vLyBTZWUgPGh0dHBzOi8vaW5mcmEuc3BlYy53aGF0d2cub3JnLyNhc2NpaS13aGl0ZXNwYWNlPi5cbmNvbnN0IHJlID0gL1sgXFx0XFxuXFxmXFxyXS9nXG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhbHVlIGlzICppbnRlci1lbGVtZW50IHdoaXRlc3BhY2UqLlxuICpcbiAqIEBwYXJhbSB7Tm9kZXMgfCBzdHJpbmd9IHRoaW5nXG4gKiAgIFRoaW5nIHRvIGNoZWNrIChgTm9kZWAgb3IgYHN0cmluZ2ApLlxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKiAgIFdoZXRoZXIgdGhlIGB2YWx1ZWAgaXMgaW50ZXItZWxlbWVudCB3aGl0ZXNwYWNlIChgYm9vbGVhbmApOiBjb25zaXN0aW5nIG9mXG4gKiAgIHplcm8gb3IgbW9yZSBvZiBzcGFjZSwgdGFiIChgXFx0YCksIGxpbmUgZmVlZCAoYFxcbmApLCBjYXJyaWFnZSByZXR1cm5cbiAqICAgKGBcXHJgKSwgb3IgZm9ybSBmZWVkIChgXFxmYCk7IGlmIGEgbm9kZSBpcyBwYXNzZWQgaXQgbXVzdCBiZSBhIGBUZXh0YCBub2RlLFxuICogICB3aG9zZSBgdmFsdWVgIGZpZWxkIGlzIGNoZWNrZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGl0ZXNwYWNlKHRoaW5nKSB7XG4gIHJldHVybiB0eXBlb2YgdGhpbmcgPT09ICdvYmplY3QnXG4gICAgPyB0aGluZy50eXBlID09PSAndGV4dCdcbiAgICAgID8gZW1wdHkodGhpbmcudmFsdWUpXG4gICAgICA6IGZhbHNlXG4gICAgOiBlbXB0eSh0aGluZylcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBlbXB0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgJycpID09PSAnJ1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/core.js":
/*!**************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/core.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HighlightJS: () => (/* reexport default export from named module */ _lib_core_js__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/core.js */ \"(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.js\");\n// https://nodejs.org/api/packages.html#packages_writing_dual_packages_while_avoiding_or_minimizing_hazards\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_lib_core_js__WEBPACK_IMPORTED_MODULE_0__);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2NvcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDeUM7QUFDbEI7QUFDdkIsaUVBQWUseUNBQVcsRUFBQyIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9jb3JlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvcGFja2FnZXMuaHRtbCNwYWNrYWdlc193cml0aW5nX2R1YWxfcGFja2FnZXNfd2hpbGVfYXZvaWRpbmdfb3JfbWluaW1pemluZ19oYXphcmRzXG5pbXBvcnQgSGlnaGxpZ2h0SlMgZnJvbSAnLi4vbGliL2NvcmUuanMnO1xuZXhwb3J0IHsgSGlnaGxpZ2h0SlMgfTtcbmV4cG9ydCBkZWZhdWx0IEhpZ2hsaWdodEpTO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/core.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/arduino.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/arduino.js ***!
\***************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ arduino)\n/* harmony export */ });\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: { 'function.dispatch': 'built_in' },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\nCategory: system\n*/\n\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n type: [\n \"boolean\",\n \"byte\",\n \"word\",\n \"String\"\n ],\n built_in: [\n \"KeyboardController\",\n \"MouseController\",\n \"SoftwareSerial\",\n \"EthernetServer\",\n \"EthernetClient\",\n \"LiquidCrystal\",\n \"RobotControl\",\n \"GSMVoiceCall\",\n \"EthernetUDP\",\n \"EsploraTFT\",\n \"HttpClient\",\n \"RobotMotor\",\n \"WiFiClient\",\n \"GSMScanner\",\n \"FileSystem\",\n \"Scheduler\",\n \"GSMServer\",\n \"YunClient\",\n \"YunServer\",\n \"IPAddress\",\n \"GSMClient\",\n \"GSMModem\",\n \"Keyboard\",\n \"Ethernet\",\n \"Console\",\n \"GSMBand\",\n \"Esplora\",\n \"Stepper\",\n \"Process\",\n \"WiFiUDP\",\n \"GSM_SMS\",\n \"Mailbox\",\n \"USBHost\",\n \"Firmata\",\n \"PImage\",\n \"Client\",\n \"Server\",\n \"GSMPIN\",\n \"FileIO\",\n \"Bridge\",\n \"Serial\",\n \"EEPROM\",\n \"Stream\",\n \"Mouse\",\n \"Audio\",\n \"Servo\",\n \"File\",\n \"Task\",\n \"GPRS\",\n \"WiFi\",\n \"Wire\",\n \"TFT\",\n \"GSM\",\n \"SPI\",\n \"SD\"\n ],\n _hints: [\n \"setup\",\n \"loop\",\n \"runShellCommandAsynchronously\",\n \"analogWriteResolution\",\n \"retrieveCallingNumber\",\n \"printFirmwareVersion\",\n \"analogReadResolution\",\n \"sendDigitalPortPair\",\n \"noListenOnLocalhost\",\n \"readJoystickButton\",\n \"setFirmwareVersion\",\n \"readJoystickSwitch\",\n \"scrollDisplayRight\",\n \"getVoiceCallStatus\",\n \"scrollDisplayLeft\",\n \"writeMicroseconds\",\n \"delayMicroseconds\",\n \"beginTransmission\",\n \"getSignalStrength\",\n \"runAsynchronously\",\n \"getAsynchronously\",\n \"listenOnLocalhost\",\n \"getCurrentCarrier\",\n \"readAccelerometer\",\n \"messageAvailable\",\n \"sendDigitalPorts\",\n \"lineFollowConfig\",\n \"countryNameWrite\",\n \"runShellCommand\",\n \"readStringUntil\",\n \"rewindDirectory\",\n \"readTemperature\",\n \"setClockDivider\",\n \"readLightSensor\",\n \"endTransmission\",\n \"analogReference\",\n \"detachInterrupt\",\n \"countryNameRead\",\n \"attachInterrupt\",\n \"encryptionType\",\n \"readBytesUntil\",\n \"robotNameWrite\",\n \"readMicrophone\",\n \"robotNameRead\",\n \"cityNameWrite\",\n \"userNameWrite\",\n \"readJoystickY\",\n \"readJoystickX\",\n \"mouseReleased\",\n \"openNextFile\",\n \"scanNetworks\",\n \"noInterrupts\",\n \"digitalWrite\",\n \"beginSpeaker\",\n \"mousePressed\",\n \"isActionDone\",\n \"mouseDragged\",\n \"displayLogos\",\n \"noAutoscroll\",\n \"addParameter\",\n \"remoteNumber\",\n \"getModifiers\",\n \"keyboardRead\",\n \"userNameRead\",\n \"waitContinue\",\n \"processInput\",\n \"parseCommand\",\n \"printVersion\",\n \"readNetworks\",\n \"writeMessage\",\n \"blinkVersion\",\n \"cityNameRead\",\n \"readMessage\",\n \"setDataMode\",\n \"parsePacket\",\n \"isListening\",\n \"setBitOrder\",\n \"beginPacket\",\n \"isDirectory\",\n \"motorsWrite\",\n \"drawCompass\",\n \"digitalRead\",\n \"clearScreen\",\n \"serialEvent\",\n \"rightToLeft\",\n \"setTextSize\",\n \"leftToRight\",\n \"requestFrom\",\n \"keyReleased\",\n \"compassRead\",\n \"analogWrite\",\n \"interrupts\",\n \"WiFiServer\",\n \"disconnect\",\n \"playMelody\",\n \"parseFloat\",\n \"autoscroll\",\n \"getPINUsed\",\n \"setPINUsed\",\n \"setTimeout\",\n \"sendAnalog\",\n \"readSlider\",\n \"analogRead\",\n \"beginWrite\",\n \"createChar\",\n \"motorsStop\",\n \"keyPressed\",\n \"tempoWrite\",\n \"readButton\",\n \"subnetMask\",\n \"debugPrint\",\n \"macAddress\",\n \"writeGreen\",\n \"randomSeed\",\n \"attachGPRS\",\n \"readString\",\n \"sendString\",\n \"remotePort\",\n \"releaseAll\",\n \"mouseMoved\",\n \"background\",\n \"getXChange\",\n \"getYChange\",\n \"answerCall\",\n \"getResult\",\n \"voiceCall\",\n \"endPacket\",\n \"constrain\",\n \"getSocket\",\n \"writeJSON\",\n \"getButton\",\n \"available\",\n \"connected\",\n \"findUntil\",\n \"readBytes\",\n \"exitValue\",\n \"readGreen\",\n \"writeBlue\",\n \"startLoop\",\n \"IPAddress\",\n \"isPressed\",\n \"sendSysex\",\n \"pauseMode\",\n \"gatewayIP\",\n \"setCursor\",\n \"getOemKey\",\n \"tuneWrite\",\n \"noDisplay\",\n \"loadImage\",\n \"switchPIN\",\n \"onRequest\",\n \"onReceive\",\n \"changePIN\",\n \"playFile\",\n \"noBuffer\",\n \"parseInt\",\n \"overflow\",\n \"checkPIN\",\n \"knobRead\",\n \"beginTFT\",\n \"bitClear\",\n \"updateIR\",\n \"bitWrite\",\n \"position\",\n \"writeRGB\",\n \"highByte\",\n \"writeRed\",\n \"setSpeed\",\n \"readBlue\",\n \"noStroke\",\n \"remoteIP\",\n \"transfer\",\n \"shutdown\",\n \"hangCall\",\n \"beginSMS\",\n \"endWrite\",\n \"attached\",\n \"maintain\",\n \"noCursor\",\n \"checkReg\",\n \"checkPUK\",\n \"shiftOut\",\n \"isValid\",\n \"shiftIn\",\n \"pulseIn\",\n \"connect\",\n \"println\",\n \"localIP\",\n \"pinMode\",\n \"getIMEI\",\n \"display\",\n \"noBlink\",\n \"process\",\n \"getBand\",\n \"running\",\n \"beginSD\",\n \"drawBMP\",\n \"lowByte\",\n \"setBand\",\n \"release\",\n \"bitRead\",\n \"prepare\",\n \"pointTo\",\n \"readRed\",\n \"setMode\",\n \"noFill\",\n \"remove\",\n \"listen\",\n \"stroke\",\n \"detach\",\n \"attach\",\n \"noTone\",\n \"exists\",\n \"buffer\",\n \"height\",\n \"bitSet\",\n \"circle\",\n \"config\",\n \"cursor\",\n \"random\",\n \"IRread\",\n \"setDNS\",\n \"endSMS\",\n \"getKey\",\n \"micros\",\n \"millis\",\n \"begin\",\n \"print\",\n \"write\",\n \"ready\",\n \"flush\",\n \"width\",\n \"isPIN\",\n \"blink\",\n \"clear\",\n \"press\",\n \"mkdir\",\n \"rmdir\",\n \"close\",\n \"point\",\n \"yield\",\n \"image\",\n \"BSSID\",\n \"click\",\n \"delay\",\n \"read\",\n \"text\",\n \"move\",\n \"peek\",\n \"beep\",\n \"rect\",\n \"line\",\n \"open\",\n \"seek\",\n \"fill\",\n \"size\",\n \"turn\",\n \"stop\",\n \"home\",\n \"find\",\n \"step\",\n \"tone\",\n \"sqrt\",\n \"RSSI\",\n \"SSID\",\n \"end\",\n \"bit\",\n \"tan\",\n \"cos\",\n \"sin\",\n \"pow\",\n \"map\",\n \"abs\",\n \"max\",\n \"min\",\n \"get\",\n \"run\",\n \"put\"\n ],\n literal: [\n \"DIGITAL_MESSAGE\",\n \"FIRMATA_STRING\",\n \"ANALOG_MESSAGE\",\n \"REPORT_DIGITAL\",\n \"REPORT_ANALOG\",\n \"INPUT_PULLUP\",\n \"SET_PIN_MODE\",\n \"INTERNAL2V56\",\n \"SYSTEM_RESET\",\n \"LED_BUILTIN\",\n \"INTERNAL1V1\",\n \"SYSEX_START\",\n \"INTERNAL\",\n \"EXTERNAL\",\n \"DEFAULT\",\n \"OUTPUT\",\n \"INPUT\",\n \"HIGH\",\n \"LOW\"\n ]\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.type = [\n ...kws.type,\n ...ARDUINO_KW.type\n ];\n kws.literal = [\n ...kws.literal,\n ...ARDUINO_KW.literal\n ];\n kws.built_in = [\n ...kws.built_in,\n ...ARDUINO_KW.built_in\n ];\n kws._hints = ARDUINO_KW._hints;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = [ 'ino' ];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9hcmR1aW5vLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCxjQUFjLGdCQUFnQixHQUFHO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLCtDQUErQyxFQUFFLGNBQWMsSUFBSSxPQUFPLEVBQUU7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHdDQUF3QyxLQUFLO0FBQzdDLDBCQUEwQixLQUFLO0FBQy9CLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsOEJBQThCLHFCQUFxQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZixPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUNBQWlDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSwyQ0FBMkM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSx5QkFBeUIsb0JBQW9COztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFOEIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2FyZHVpbm8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBDKytcbkNhdGVnb3J5OiBjb21tb24sIHN5c3RlbVxuV2Vic2l0ZTogaHR0cHM6Ly9pc29jcHAub3JnXG4qL1xuXG4vKiogQHR5cGUgTGFuZ3VhZ2VGbiAqL1xuZnVuY3Rpb24gY1BsdXNQbHVzKGhsanMpIHtcbiAgY29uc3QgcmVnZXggPSBobGpzLnJlZ2V4O1xuICAvLyBhZGRlZCBmb3IgaGlzdG9yaWMgcmVhc29ucyBiZWNhdXNlIGBobGpzLkNfTElORV9DT01NRU5UX01PREVgIGRvZXNcbiAgLy8gbm90IGluY2x1ZGUgc3VjaCBzdXBwb3J0IG5vciBjYW4gd2UgYmUgc3VyZSBhbGwgdGhlIGdyYW1tYXJzIGRlcGVuZGluZ1xuICAvLyBvbiBpdCB3b3VsZCBkZXNpcmUgdGhpcyBiZWhhdmlvclxuICBjb25zdCBDX0xJTkVfQ09NTUVOVF9NT0RFID0gaGxqcy5DT01NRU5UKCcvLycsICckJywgeyBjb250YWluczogWyB7IGJlZ2luOiAvXFxcXFxcbi8gfSBdIH0pO1xuICBjb25zdCBERUNMVFlQRV9BVVRPX1JFID0gJ2RlY2x0eXBlXFxcXChhdXRvXFxcXCknO1xuICBjb25zdCBOQU1FU1BBQ0VfUkUgPSAnW2EtekEtWl9dXFxcXHcqOjonO1xuICBjb25zdCBURU1QTEFURV9BUkdVTUVOVF9SRSA9ICc8W148Pl0rPic7XG4gIGNvbnN0IEZVTkNUSU9OX1RZUEVfUkUgPSAnKD8hc3RydWN0KSgnXG4gICAgKyBERUNMVFlQRV9BVVRPX1JFICsgJ3wnXG4gICAgKyByZWdleC5vcHRpb25hbChOQU1FU1BBQ0VfUkUpXG4gICAgKyAnW2EtekEtWl9dXFxcXHcqJyArIHJlZ2V4Lm9wdGlvbmFsKFRFTVBMQVRFX0FSR1VNRU5UX1JFKVxuICArICcpJztcblxuICBjb25zdCBDUFBfUFJJTUlUSVZFX1RZUEVTID0ge1xuICAgIGNsYXNzTmFtZTogJ3R5cGUnLFxuICAgIGJlZ2luOiAnXFxcXGJbYS16XFxcXGRfXSpfdFxcXFxiJ1xuICB9O1xuXG4gIC8vIGh0dHBzOi8vZW4uY3BwcmVmZXJlbmNlLmNvbS93L2NwcC9sYW5ndWFnZS9lc2NhcGVcbiAgLy8gXFxcXCBcXHggXFx4RkYgXFx1MjgzNyBcXHUwMDMyMzc0NyBcXDM3NFxuICBjb25zdCBDSEFSQUNURVJfRVNDQVBFUyA9ICdcXFxcXFxcXCh4WzAtOUEtRmEtZl17Mn18dVswLTlBLUZhLWZdezQsOH18WzAtN117M318XFxcXFMpJztcbiAgY29uc3QgU1RSSU5HUyA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnKHU4P3xVfEwpP1wiJyxcbiAgICAgICAgZW5kOiAnXCInLFxuICAgICAgICBpbGxlZ2FsOiAnXFxcXG4nLFxuICAgICAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICcodTg/fFV8TCk/XFwnKCcgKyBDSEFSQUNURVJfRVNDQVBFUyArICd8LiknLFxuICAgICAgICBlbmQ6ICdcXCcnLFxuICAgICAgICBpbGxlZ2FsOiAnLidcbiAgICAgIH0sXG4gICAgICBobGpzLkVORF9TQU1FX0FTX0JFR0lOKHtcbiAgICAgICAgYmVnaW46IC8oPzp1OD98VXxMKT9SXCIoW14oKVxcXFwgXXswLDE2fSlcXCgvLFxuICAgICAgICBlbmQ6IC9cXCkoW14oKVxcXFwgXXswLDE2fSlcIi9cbiAgICAgIH0pXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IE5VTUJFUlMgPSB7XG4gICAgY2xhc3NOYW1lOiAnbnVtYmVyJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgLy8gRmxvYXRpbmctcG9pbnQgbGl0ZXJhbC5cbiAgICAgIHsgYmVnaW46XG4gICAgICAgIFwiWystXT8oPzpcIiAvLyBMZWFkaW5nIHNpZ24uXG4gICAgICAgICAgLy8gRGVjaW1hbC5cbiAgICAgICAgICArIFwiKD86XCJcbiAgICAgICAgICAgICtcIlswLTldKD86Jz9bMC05XSkqXFxcXC4oPzpbMC05XSg/Oic/WzAtOV0pKik/XCJcbiAgICAgICAgICAgICsgXCJ8XFxcXC5bMC05XSg/Oic/WzAtOV0pKlwiXG4gICAgICAgICAgKyBcIikoPzpbRWVdWystXT9bMC05XSg/Oic/WzAtOV0pKik/XCJcbiAgICAgICAgICArIFwifFswLTldKD86Jz9bMC05XSkqW0VlXVsrLV0/WzAtOV0oPzonP1swLTldKSpcIlxuICAgICAgICAgIC8vIEhleGFkZWNpbWFsLlxuICAgICAgICAgICsgXCJ8MFtYeF0oPzpcIlxuICAgICAgICAgICAgK1wiWzAtOUEtRmEtZl0oPzonP1swLTlBLUZhLWZdKSooPzpcXFxcLig/OlswLTlBLUZhLWZdKD86Jz9bMC05QS1GYS1mXSkqKT8pP1wiXG4gICAgICAgICAgICArIFwifFxcXFwuWzAtOUEtRmEtZl0oPzonP1swLTlBLUZhLWZdKSpcIlxuICAgICAgICAgICsgXCIpW1BwXVsrLV0/WzAtOV0oPzonP1swLTldKSpcIlxuICAgICAgICArIFwiKSg/OlwiIC8vIExpdGVyYWwgc3VmZml4ZXMuXG4gICAgICAgICAgKyBcIltGZl0oPzoxNnwzMnw2NHwxMjgpP1wiXG4gICAgICAgICAgKyBcInwoQkZ8YmYpMTZcIlxuICAgICAgICAgICsgXCJ8W0xsXVwiXG4gICAgICAgICAgKyBcInxcIiAvLyBMaXRlcmFsIHN1ZmZpeCBpcyBvcHRpb25hbC5cbiAgICAgICAgKyBcIilcIlxuICAgICAgfSxcbiAgICAgIC8vIEludGVnZXIgbGl0ZXJhbC5cbiAgICAgIHsgYmVnaW46XG4gICAgICAgIFwiWystXT9cXFxcYig/OlwiIC8vIExlYWRpbmcgc2lnbi5cbiAgICAgICAgICArIFwiMFtCYl1bMDFdKD86Jz9bMDFdKSpcIiAvLyBCaW5hcnkuXG4gICAgICAgICAgKyBcInwwW1h4XVswLTlBLUZhLWZdKD86Jz9bMC05QS1GYS1mXSkqXCIgLy8gSGV4YWRlY2ltYWwuXG4gICAgICAgICAgKyBcInwwKD86Jz9bMC03XSkqXCIgLy8gT2N0YWwgb3IganVzdCBhIGxvbmUgemVyby5cbiAgICAgICAgICArIFwifFsxLTldKD86Jz9bMC05XSkqXCIgLy8gRGVjaW1hbC5cbiAgICAgICAgKyBcIikoPzpcIiAvLyBMaXRlcmFsIHN1ZmZpeGVzLlxuICAgICAgICAgICsgXCJbVXVdKD86TEw/fGxsPylcIlxuICAgICAgICAgICsgXCJ8W1V1XVtael0/XCJcbiAgICAgICAgICArIFwifCg/OkxMP3xsbD8pW1V1XT9cIlxuICAgICAgICAgICsgXCJ8W1p6XVtVdV1cIlxuICAgICAgICAgICsgXCJ8XCIgLy8gTGl0ZXJhbCBzdWZmaXggaXMgb3B0aW9uYWwuXG4gICAgICAgICsgXCIpXCJcbiAgICAgICAgLy8gTm90ZTogdGhlcmUgYXJlIHVzZXItZGVmaW5lZCBsaXRlcmFsIHN1ZmZpeGVzIHRvbywgYnV0IHBlcmhhcHMgaGF2aW5nIHRoZSBjdXN0b20gc3VmZml4IG5vdCBwYXJ0IG9mIHRoZVxuICAgICAgICAvLyBsaXRlcmFsIGhpZ2hsaWdodCBhY3R1YWxseSBtYWtlcyBpdCBzdGFuZCBvdXQgbW9yZS5cbiAgICAgIH1cbiAgICBdLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIGNvbnN0IFBSRVBST0NFU1NPUiA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICBiZWdpbjogLyNcXHMqW2Etel0rXFxiLyxcbiAgICBlbmQ6IC8kLyxcbiAgICBrZXl3b3JkczogeyBrZXl3b3JkOlxuICAgICAgICAnaWYgZWxzZSBlbGlmIGVuZGlmIGRlZmluZSB1bmRlZiB3YXJuaW5nIGVycm9yIGxpbmUgJ1xuICAgICAgICArICdwcmFnbWEgX1ByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZScgfSxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcXFxcXG4vLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICBobGpzLmluaGVyaXQoU1RSSU5HUywgeyBjbGFzc05hbWU6ICdzdHJpbmcnIH0pLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICBiZWdpbjogLzwuKj8+L1xuICAgICAgfSxcbiAgICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IFRJVExFX01PREUgPSB7XG4gICAgY2xhc3NOYW1lOiAndGl0bGUnLFxuICAgIGJlZ2luOiByZWdleC5vcHRpb25hbChOQU1FU1BBQ0VfUkUpICsgaGxqcy5JREVOVF9SRSxcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBGVU5DVElPTl9USVRMRSA9IHJlZ2V4Lm9wdGlvbmFsKE5BTUVTUEFDRV9SRSkgKyBobGpzLklERU5UX1JFICsgJ1xcXFxzKlxcXFwoJztcblxuICAvLyBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20vdy9jcHAva2V5d29yZFxuICBjb25zdCBSRVNFUlZFRF9LRVlXT1JEUyA9IFtcbiAgICAnYWxpZ25hcycsXG4gICAgJ2FsaWdub2YnLFxuICAgICdhbmQnLFxuICAgICdhbmRfZXEnLFxuICAgICdhc20nLFxuICAgICdhdG9taWNfY2FuY2VsJyxcbiAgICAnYXRvbWljX2NvbW1pdCcsXG4gICAgJ2F0b21pY19ub2V4Y2VwdCcsXG4gICAgJ2F1dG8nLFxuICAgICdiaXRhbmQnLFxuICAgICdiaXRvcicsXG4gICAgJ2JyZWFrJyxcbiAgICAnY2FzZScsXG4gICAgJ2NhdGNoJyxcbiAgICAnY2xhc3MnLFxuICAgICdjb19hd2FpdCcsXG4gICAgJ2NvX3JldHVybicsXG4gICAgJ2NvX3lpZWxkJyxcbiAgICAnY29tcGwnLFxuICAgICdjb25jZXB0JyxcbiAgICAnY29uc3RfY2FzdHwxMCcsXG4gICAgJ2NvbnN0ZXZhbCcsXG4gICAgJ2NvbnN0ZXhwcicsXG4gICAgJ2NvbnN0aW5pdCcsXG4gICAgJ2NvbnRpbnVlJyxcbiAgICAnZGVjbHR5cGUnLFxuICAgICdkZWZhdWx0JyxcbiAgICAnZGVsZXRlJyxcbiAgICAnZG8nLFxuICAgICdkeW5hbWljX2Nhc3R8MTAnLFxuICAgICdlbHNlJyxcbiAgICAnZW51bScsXG4gICAgJ2V4cGxpY2l0JyxcbiAgICAnZXhwb3J0JyxcbiAgICAnZXh0ZXJuJyxcbiAgICAnZmFsc2UnLFxuICAgICdmaW5hbCcsXG4gICAgJ2ZvcicsXG4gICAgJ2ZyaWVuZCcsXG4gICAgJ2dvdG8nLFxuICAgICdpZicsXG4gICAgJ2ltcG9ydCcsXG4gICAgJ2lubGluZScsXG4gICAgJ21vZHVsZScsXG4gICAgJ211dGFibGUnLFxuICAgICduYW1lc3BhY2UnLFxuICAgICduZXcnLFxuICAgICdub2V4Y2VwdCcsXG4gICAgJ25vdCcsXG4gICAgJ25vdF9lcScsXG4gICAgJ251bGxwdHInLFxuICAgICdvcGVyYXRvcicsXG4gICAgJ29yJyxcbiAgICAnb3JfZXEnLFxuICAgICdvdmVycmlkZScsXG4gICAgJ3ByaXZhdGUnLFxuICAgICdwcm90ZWN0ZWQnLFxuICAgICdwdWJsaWMnLFxuICAgICdyZWZsZXhwcicsXG4gICAgJ3JlZ2lzdGVyJyxcbiAgICAncmVpbnRlcnByZXRfY2FzdHwxMCcsXG4gICAgJ3JlcXVpcmVzJyxcbiAgICAncmV0dXJuJyxcbiAgICAnc2l6ZW9mJyxcbiAgICAnc3RhdGljX2Fzc2VydCcsXG4gICAgJ3N0YXRpY19jYXN0fDEwJyxcbiAgICAnc3RydWN0JyxcbiAgICAnc3dpdGNoJyxcbiAgICAnc3luY2hyb25pemVkJyxcbiAgICAndGVtcGxhdGUnLFxuICAgICd0aGlzJyxcbiAgICAndGhyZWFkX2xvY2FsJyxcbiAgICAndGhyb3cnLFxuICAgICd0cmFuc2FjdGlvbl9zYWZlJyxcbiAgICAndHJhbnNhY3Rpb25fc2FmZV9keW5hbWljJyxcbiAgICAndHJ1ZScsXG4gICAgJ3RyeScsXG4gICAgJ3R5cGVkZWYnLFxuICAgICd0eXBlaWQnLFxuICAgICd0eXBlbmFtZScsXG4gICAgJ3VuaW9uJyxcbiAgICAndXNpbmcnLFxuICAgICd2aXJ0dWFsJyxcbiAgICAndm9sYXRpbGUnLFxuICAgICd3aGlsZScsXG4gICAgJ3hvcicsXG4gICAgJ3hvcl9lcSdcbiAgXTtcblxuICAvLyBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20vdy9jcHAva2V5d29yZFxuICBjb25zdCBSRVNFUlZFRF9UWVBFUyA9IFtcbiAgICAnYm9vbCcsXG4gICAgJ2NoYXInLFxuICAgICdjaGFyMTZfdCcsXG4gICAgJ2NoYXIzMl90JyxcbiAgICAnY2hhcjhfdCcsXG4gICAgJ2RvdWJsZScsXG4gICAgJ2Zsb2F0JyxcbiAgICAnaW50JyxcbiAgICAnbG9uZycsXG4gICAgJ3Nob3J0JyxcbiAgICAndm9pZCcsXG4gICAgJ3djaGFyX3QnLFxuICAgICd1bnNpZ25lZCcsXG4gICAgJ3NpZ25lZCcsXG4gICAgJ2NvbnN0JyxcbiAgICAnc3RhdGljJ1xuICBdO1xuXG4gIGNvbnN0IFRZUEVfSElOVFMgPSBbXG4gICAgJ2FueScsXG4gICAgJ2F1dG9fcHRyJyxcbiAgICAnYmFycmllcicsXG4gICAgJ2JpbmFyeV9zZW1hcGhvcmUnLFxuICAgICdiaXRzZXQnLFxuICAgICdjb21wbGV4JyxcbiAgICAnY29uZGl0aW9uX3ZhcmlhYmxlJyxcbiAgICAnY29uZGl0aW9uX3ZhcmlhYmxlX2FueScsXG4gICAgJ2NvdW50aW5nX3NlbWFwaG9yZScsXG4gICAgJ2RlcXVlJyxcbiAgICAnZmFsc2VfdHlwZScsXG4gICAgJ2ZsYXRfbWFwJyxcbiAgICAnZmxhdF9zZXQnLFxuICAgICdmdXR1cmUnLFxuICAgICdpbWFnaW5hcnknLFxuICAgICdpbml0aWFsaXplcl9saXN0JyxcbiAgICAnaXN0cmluZ3N0cmVhbScsXG4gICAgJ2p0aHJlYWQnLFxuICAgICdsYXRjaCcsXG4gICAgJ2xvY2tfZ3VhcmQnLFxuICAgICdtdWx0aW1hcCcsXG4gICAgJ211bHRpc2V0JyxcbiAgICAnbXV0ZXgnLFxuICAgICdvcHRpb25hbCcsXG4gICAgJ29zdHJpbmdzdHJlYW0nLFxuICAgICdwYWNrYWdlZF90YXNrJyxcbiAgICAncGFpcicsXG4gICAgJ3Byb21pc2UnLFxuICAgICdwcmlvcml0eV9xdWV1ZScsXG4gICAgJ3F1ZXVlJyxcbiAgICAncmVjdXJzaXZlX211dGV4JyxcbiAgICAncmVjdXJzaXZlX3RpbWVkX211dGV4JyxcbiAgICAnc2NvcGVkX2xvY2snLFxuICAgICdzZXQnLFxuICAgICdzaGFyZWRfZnV0dXJlJyxcbiAgICAnc2hhcmVkX2xvY2snLFxuICAgICdzaGFyZWRfbXV0ZXgnLFxuICAgICdzaGFyZWRfdGltZWRfbXV0ZXgnLFxuICAgICdzaGFyZWRfcHRyJyxcbiAgICAnc3RhY2snLFxuICAgICdzdHJpbmdfdmlldycsXG4gICAgJ3N0cmluZ3N0cmVhbScsXG4gICAgJ3RpbWVkX211dGV4JyxcbiAgICAndGhyZWFkJyxcbiAgICAndHJ1ZV90eXBlJyxcbiAgICAndHVwbGUnLFxuICAgICd1bmlxdWVfbG9jaycsXG4gICAgJ3VuaXF1ZV9wdHInLFxuICAgICd1bm9yZGVyZWRfbWFwJyxcbiAgICAndW5vcmRlcmVkX211bHRpbWFwJyxcbiAgICAndW5vcmRlcmVkX211bHRpc2V0JyxcbiAgICAndW5vcmRlcmVkX3NldCcsXG4gICAgJ3ZhcmlhbnQnLFxuICAgICd2ZWN0b3InLFxuICAgICd3ZWFrX3B0cicsXG4gICAgJ3dzdHJpbmcnLFxuICAgICd3c3RyaW5nX3ZpZXcnXG4gIF07XG5cbiAgY29uc3QgRlVOQ1RJT05fSElOVFMgPSBbXG4gICAgJ2Fib3J0JyxcbiAgICAnYWJzJyxcbiAgICAnYWNvcycsXG4gICAgJ2FwcGx5JyxcbiAgICAnYXNfY29uc3QnLFxuICAgICdhc2luJyxcbiAgICAnYXRhbicsXG4gICAgJ2F0YW4yJyxcbiAgICAnY2FsbG9jJyxcbiAgICAnY2VpbCcsXG4gICAgJ2NlcnInLFxuICAgICdjaW4nLFxuICAgICdjbG9nJyxcbiAgICAnY29zJyxcbiAgICAnY29zaCcsXG4gICAgJ2NvdXQnLFxuICAgICdkZWNsdmFsJyxcbiAgICAnZW5kbCcsXG4gICAgJ2V4Y2hhbmdlJyxcbiAgICAnZXhpdCcsXG4gICAgJ2V4cCcsXG4gICAgJ2ZhYnMnLFxuICAgICdmbG9vcicsXG4gICAgJ2Ztb2QnLFxuICAgICdmb3J3YXJkJyxcbiAgICAnZnByaW50ZicsXG4gICAgJ2ZwdXRzJyxcbiAgICAnZnJlZScsXG4gICAgJ2ZyZXhwJyxcbiAgICAnZnNjYW5mJyxcbiAgICAnZnV0dXJlJyxcbiAgICAnaW52b2tlJyxcbiAgICAnaXNhbG51bScsXG4gICAgJ2lzYWxwaGEnLFxuICAgICdpc2NudHJsJyxcbiAgICAnaXNkaWdpdCcsXG4gICAgJ2lzZ3JhcGgnLFxuICAgICdpc2xvd2VyJyxcbiAgICAnaXNwcmludCcsXG4gICAgJ2lzcHVuY3QnLFxuICAgICdpc3NwYWNlJyxcbiAgICAnaXN1cHBlcicsXG4gICAgJ2lzeGRpZ2l0JyxcbiAgICAnbGFicycsXG4gICAgJ2xhdW5kZXInLFxuICAgICdsZGV4cCcsXG4gICAgJ2xvZycsXG4gICAgJ2xvZzEwJyxcbiAgICAnbWFrZV9wYWlyJyxcbiAgICAnbWFrZV9zaGFyZWQnLFxuICAgICdtYWtlX3NoYXJlZF9mb3Jfb3ZlcndyaXRlJyxcbiAgICAnbWFrZV90dXBsZScsXG4gICAgJ21ha2VfdW5pcXVlJyxcbiAgICAnbWFsbG9jJyxcbiAgICAnbWVtY2hyJyxcbiAgICAnbWVtY21wJyxcbiAgICAnbWVtY3B5JyxcbiAgICAnbWVtc2V0JyxcbiAgICAnbW9kZicsXG4gICAgJ21vdmUnLFxuICAgICdwb3cnLFxuICAgICdwcmludGYnLFxuICAgICdwdXRjaGFyJyxcbiAgICAncHV0cycsXG4gICAgJ3JlYWxsb2MnLFxuICAgICdzY2FuZicsXG4gICAgJ3NpbicsXG4gICAgJ3NpbmgnLFxuICAgICdzbnByaW50ZicsXG4gICAgJ3NwcmludGYnLFxuICAgICdzcXJ0JyxcbiAgICAnc3NjYW5mJyxcbiAgICAnc3RkJyxcbiAgICAnc3RkZXJyJyxcbiAgICAnc3RkaW4nLFxuICAgICdzdGRvdXQnLFxuICAgICdzdHJjYXQnLFxuICAgICdzdHJjaHInLFxuICAgICdzdHJjbXAnLFxuICAgICdzdHJjcHknLFxuICAgICdzdHJjc3BuJyxcbiAgICAnc3RybGVuJyxcbiAgICAnc3RybmNhdCcsXG4gICAgJ3N0cm5jbXAnLFxuICAgICdzdHJuY3B5JyxcbiAgICAnc3RycGJyaycsXG4gICAgJ3N0cnJjaHInLFxuICAgICdzdHJzcG4nLFxuICAgICdzdHJzdHInLFxuICAgICdzd2FwJyxcbiAgICAndGFuJyxcbiAgICAndGFuaCcsXG4gICAgJ3Rlcm1pbmF0ZScsXG4gICAgJ3RvX3VuZGVybHlpbmcnLFxuICAgICd0b2xvd2VyJyxcbiAgICAndG91cHBlcicsXG4gICAgJ3ZmcHJpbnRmJyxcbiAgICAndmlzaXQnLFxuICAgICd2cHJpbnRmJyxcbiAgICAndnNwcmludGYnXG4gIF07XG5cbiAgY29uc3QgTElURVJBTFMgPSBbXG4gICAgJ05VTEwnLFxuICAgICdmYWxzZScsXG4gICAgJ251bGxvcHQnLFxuICAgICdudWxscHRyJyxcbiAgICAndHJ1ZSdcbiAgXTtcblxuICAvLyBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20vdy9jcHAva2V5d29yZFxuICBjb25zdCBCVUlMVF9JTiA9IFsgJ19QcmFnbWEnIF07XG5cbiAgY29uc3QgQ1BQX0tFWVdPUkRTID0ge1xuICAgIHR5cGU6IFJFU0VSVkVEX1RZUEVTLFxuICAgIGtleXdvcmQ6IFJFU0VSVkVEX0tFWVdPUkRTLFxuICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTixcbiAgICBfdHlwZV9oaW50czogVFlQRV9ISU5UU1xuICB9O1xuXG4gIGNvbnN0IEZVTkNUSU9OX0RJU1BBVENIID0ge1xuICAgIGNsYXNzTmFtZTogJ2Z1bmN0aW9uLmRpc3BhdGNoJyxcbiAgICByZWxldmFuY2U6IDAsXG4gICAga2V5d29yZHM6IHtcbiAgICAgIC8vIE9ubHkgZm9yIHJlbGV2YW5jZSwgbm90IGhpZ2hsaWdodGluZy5cbiAgICAgIF9oaW50OiBGVU5DVElPTl9ISU5UUyB9LFxuICAgIGJlZ2luOiByZWdleC5jb25jYXQoXG4gICAgICAvXFxiLyxcbiAgICAgIC8oPyFkZWNsdHlwZSkvLFxuICAgICAgLyg/IWlmKS8sXG4gICAgICAvKD8hZm9yKS8sXG4gICAgICAvKD8hc3dpdGNoKS8sXG4gICAgICAvKD8hd2hpbGUpLyxcbiAgICAgIGhsanMuSURFTlRfUkUsXG4gICAgICByZWdleC5sb29rYWhlYWQoLyg8W148Pl0rPnwpXFxzKlxcKC8pKVxuICB9O1xuXG4gIGNvbnN0IEVYUFJFU1NJT05fQ09OVEFJTlMgPSBbXG4gICAgRlVOQ1RJT05fRElTUEFUQ0gsXG4gICAgUFJFUFJPQ0VTU09SLFxuICAgIENQUF9QUklNSVRJVkVfVFlQRVMsXG4gICAgQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgIE5VTUJFUlMsXG4gICAgU1RSSU5HU1xuICBdO1xuXG4gIGNvbnN0IEVYUFJFU1NJT05fQ09OVEVYVCA9IHtcbiAgICAvLyBUaGlzIG1vZGUgY292ZXJzIGV4cHJlc3Npb24gY29udGV4dCB3aGVyZSB3ZSBjYW4ndCBleHBlY3QgYSBmdW5jdGlvblxuICAgIC8vIGRlZmluaXRpb24gYW5kIHNob3VsZG4ndCBoaWdobGlnaHQgYW55dGhpbmcgdGhhdCBsb29rcyBsaWtlIG9uZTpcbiAgICAvLyBgcmV0dXJuIHNvbWUoKWAsIGBlbHNlIGlmKClgLCBgKHgqc3VtKDEsIDIpKWBcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogLz0vLFxuICAgICAgICBlbmQ6IC87L1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbktleXdvcmRzOiAnbmV3IHRocm93IHJldHVybiBlbHNlJyxcbiAgICAgICAgZW5kOiAvOy9cbiAgICAgIH1cbiAgICBdLFxuICAgIGtleXdvcmRzOiBDUFBfS0VZV09SRFMsXG4gICAgY29udGFpbnM6IEVYUFJFU1NJT05fQ09OVEFJTlMuY29uY2F0KFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgICAgICBjb250YWluczogRVhQUkVTU0lPTl9DT05UQUlOUy5jb25jYXQoWyAnc2VsZicgXSksXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfVxuICAgIF0pLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIGNvbnN0IEZVTkNUSU9OX0RFQ0xBUkFUSU9OID0ge1xuICAgIGNsYXNzTmFtZTogJ2Z1bmN0aW9uJyxcbiAgICBiZWdpbjogJygnICsgRlVOQ1RJT05fVFlQRV9SRSArICdbXFxcXComXFxcXHNdKykrJyArIEZVTkNUSU9OX1RJVExFLFxuICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgIGVuZDogL1t7Oz1dLyxcbiAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgIGtleXdvcmRzOiBDUFBfS0VZV09SRFMsXG4gICAgaWxsZWdhbDogL1teXFx3XFxzXFwqJjo8Pi5dLyxcbiAgICBjb250YWluczogW1xuICAgICAgeyAvLyB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY29uZnVzZWQgYXMgdGhlIGZ1bmN0aW9uIHRpdGxlXG4gICAgICAgIGJlZ2luOiBERUNMVFlQRV9BVVRPX1JFLFxuICAgICAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiBGVU5DVElPTl9USVRMRSxcbiAgICAgICAgcmV0dXJuQmVnaW46IHRydWUsXG4gICAgICAgIGNvbnRhaW5zOiBbIFRJVExFX01PREUgXSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgLy8gbmVlZGVkIGJlY2F1c2Ugd2UgZG8gbm90IGhhdmUgbG9vay1iZWhpbmQgb24gdGhlIGJlbG93IHJ1bGVcbiAgICAgIC8vIHRvIHByZXZlbnQgaXQgZnJvbSBncmFiYmluZyB0aGUgZmluYWwgOiBpbiBhIDo6IHBhaXJcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC86Oi8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIC8vIGluaXRpYWxpemVyc1xuICAgICAge1xuICAgICAgICBiZWdpbjogLzovLFxuICAgICAgICBlbmRzV2l0aFBhcmVudDogdHJ1ZSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBTVFJJTkdTLFxuICAgICAgICAgIE5VTUJFUlNcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIC8vIGFsbG93IGZvciBtdWx0aXBsZSBkZWNsYXJhdGlvbnMsIGUuZy46XG4gICAgICAvLyBleHRlcm4gdm9pZCBmKGludCksIGcoY2hhcik7XG4gICAgICB7XG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgbWF0Y2g6IC8sL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgIFNUUklOR1MsXG4gICAgICAgICAgTlVNQkVSUyxcbiAgICAgICAgICBDUFBfUFJJTUlUSVZFX1RZUEVTLFxuICAgICAgICAgIC8vIENvdW50IG1hdGNoaW5nIHBhcmVudGhlc2VzLlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgICAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAgJ3NlbGYnLFxuICAgICAgICAgICAgICBDX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgICAgICBTVFJJTkdTLFxuICAgICAgICAgICAgICBOVU1CRVJTLFxuICAgICAgICAgICAgICBDUFBfUFJJTUlUSVZFX1RZUEVTXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgQ1BQX1BSSU1JVElWRV9UWVBFUyxcbiAgICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgUFJFUFJPQ0VTU09SXG4gICAgXVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0MrKycsXG4gICAgYWxpYXNlczogW1xuICAgICAgJ2NjJyxcbiAgICAgICdjKysnLFxuICAgICAgJ2grKycsXG4gICAgICAnaHBwJyxcbiAgICAgICdoaCcsXG4gICAgICAnaHh4JyxcbiAgICAgICdjeHgnXG4gICAgXSxcbiAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgIGlsbGVnYWw6ICc8LycsXG4gICAgY2xhc3NOYW1lQWxpYXNlczogeyAnZnVuY3Rpb24uZGlzcGF0Y2gnOiAnYnVpbHRfaW4nIH0sXG4gICAgY29udGFpbnM6IFtdLmNvbmNhdChcbiAgICAgIEVYUFJFU1NJT05fQ09OVEVYVCxcbiAgICAgIEZVTkNUSU9OX0RFQ0xBUkFUSU9OLFxuICAgICAgRlVOQ1RJT05fRElTUEFUQ0gsXG4gICAgICBFWFBSRVNTSU9OX0NPTlRBSU5TLFxuICAgICAgW1xuICAgICAgICBQUkVQUk9DRVNTT1IsXG4gICAgICAgIHsgLy8gY29udGFpbmVyczogaWUsIGB2ZWN0b3IgPGludD4gcm9vbXMgKDkpO2BcbiAgICAgICAgICBiZWdpbjogJ1xcXFxiKGRlcXVlfGxpc3R8cXVldWV8cHJpb3JpdHlfcXVldWV8cGFpcnxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXl8dHVwbGV8b3B0aW9uYWx8dmFyaWFudHxmdW5jdGlvbnxmbGF0X21hcHxmbGF0X3NldClcXFxccyo8KD8hPCknLFxuICAgICAgICAgIGVuZDogJz4nLFxuICAgICAgICAgIGtleXdvcmRzOiBDUFBfS0VZV09SRFMsXG4gICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAgIENQUF9QUklNSVRJVkVfVFlQRVNcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogaGxqcy5JREVOVF9SRSArICc6OicsXG4gICAgICAgICAga2V5d29yZHM6IENQUF9LRVlXT1JEU1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAgIC8vIGV4dHJhIGNvbXBsZXhpdHkgdG8gZGVhbCB3aXRoIGBlbnVtIGNsYXNzYCBhbmQgYGVudW0gc3RydWN0YFxuICAgICAgICAgICAgL1xcYig/OmVudW0oPzpcXHMrKD86Y2xhc3N8c3RydWN0KSk/fGNsYXNzfHN0cnVjdHx1bmlvbikvLFxuICAgICAgICAgICAgL1xccysvLFxuICAgICAgICAgICAgL1xcdysvXG4gICAgICAgICAgXSxcbiAgICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAgIDE6ICdrZXl3b3JkJyxcbiAgICAgICAgICAgIDM6ICd0aXRsZS5jbGFzcydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0pXG4gIH07XG59XG5cbi8qXG5MYW5ndWFnZTogQXJkdWlub1xuQXV0aG9yOiBTdGVmYW5pYSBNZWxsYWkgPHMubWVsbGFpQGFyZHVpbm8uY2M+XG5EZXNjcmlwdGlvbjogVGhlIEFyZHVpbm/CriBMYW5ndWFnZSBpcyBhIHN1cGVyc2V0IG9mIEMrKy4gVGhpcyBydWxlcyBhcmUgZGVzaWduZWQgdG8gaGlnaGxpZ2h0IHRoZSBBcmR1aW5vwq4gc291cmNlIGNvZGUuIEZvciBpbmZvIGFib3V0IGxhbmd1YWdlIHNlZSBodHRwOi8vd3d3LmFyZHVpbm8uY2MuXG5XZWJzaXRlOiBodHRwczovL3d3dy5hcmR1aW5vLmNjXG5DYXRlZ29yeTogc3lzdGVtXG4qL1xuXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiBhcmR1aW5vKGhsanMpIHtcbiAgY29uc3QgQVJEVUlOT19LVyA9IHtcbiAgICB0eXBlOiBbXG4gICAgICBcImJvb2xlYW5cIixcbiAgICAgIFwiYnl0ZVwiLFxuICAgICAgXCJ3b3JkXCIsXG4gICAgICBcIlN0cmluZ1wiXG4gICAgXSxcbiAgICBidWlsdF9pbjogW1xuICAgICAgXCJLZXlib2FyZENvbnRyb2xsZXJcIixcbiAgICAgIFwiTW91c2VDb250cm9sbGVyXCIsXG4gICAgICBcIlNvZnR3YXJlU2VyaWFsXCIsXG4gICAgICBcIkV0aGVybmV0U2VydmVyXCIsXG4gICAgICBcIkV0aGVybmV0Q2xpZW50XCIsXG4gICAgICBcIkxpcXVpZENyeXN0YWxcIixcbiAgICAgIFwiUm9ib3RDb250cm9sXCIsXG4gICAgICBcIkdTTVZvaWNlQ2FsbFwiLFxuICAgICAgXCJFdGhlcm5ldFVEUFwiLFxuICAgICAgXCJFc3Bsb3JhVEZUXCIsXG4gICAgICBcIkh0dHBDbGllbnRcIixcbiAgICAgIFwiUm9ib3RNb3RvclwiLFxuICAgICAgXCJXaUZpQ2xpZW50XCIsXG4gICAgICBcIkdTTVNjYW5uZXJcIixcbiAgICAgIFwiRmlsZVN5c3RlbVwiLFxuICAgICAgXCJTY2hlZHVsZXJcIixcbiAgICAgIFwiR1NNU2VydmVyXCIsXG4gICAgICBcIll1bkNsaWVudFwiLFxuICAgICAgXCJZdW5TZXJ2ZXJcIixcbiAgICAgIFwiSVBBZGRyZXNzXCIsXG4gICAgICBcIkdTTUNsaWVudFwiLFxuICAgICAgXCJHU01Nb2RlbVwiLFxuICAgICAgXCJLZXlib2FyZFwiLFxuICAgICAgXCJFdGhlcm5ldFwiLFxuICAgICAgXCJDb25zb2xlXCIsXG4gICAgICBcIkdTTUJhbmRcIixcbiAgICAgIFwiRXNwbG9yYVwiLFxuICAgICAgXCJTdGVwcGVyXCIsXG4gICAgICBcIlByb2Nlc3NcIixcbiAgICAgIFwiV2lGaVVEUFwiLFxuICAgICAgXCJHU01fU01TXCIsXG4gICAgICBcIk1haWxib3hcIixcbiAgICAgIFwiVVNCSG9zdFwiLFxuICAgICAgXCJGaXJtYXRhXCIsXG4gICAgICBcIlBJbWFnZVwiLFxuICAgICAgXCJDbGllbnRcIixcbiAgICAgIFwiU2VydmVyXCIsXG4gICAgICBcIkdTTVBJTlwiLFxuICAgICAgXCJGaWxlSU9cIixcbiAgICAgIFwiQnJpZGdlXCIsXG4gICAgICBcIlNlcmlhbFwiLFxuICAgICAgXCJFRVBST01cIixcbiAgICAgIFwiU3RyZWFtXCIsXG4gICAgICBcIk1vdXNlXCIsXG4gICAgICBcIkF1ZGlvXCIsXG4gICAgICBcIlNlcnZvXCIsXG4gICAgICBcIkZpbGVcIixcbiAgICAgIFwiVGFza1wiLFxuICAgICAgXCJHUFJTXCIsXG4gICAgICBcIldpRmlcIixcbiAgICAgIFwiV2lyZVwiLFxuICAgICAgXCJURlRcIixcbiAgICAgIFwiR1NNXCIsXG4gICAgICBcIlNQSVwiLFxuICAgICAgXCJTRFwiXG4gICAgXSxcbiAgICBfaGludHM6IFtcbiAgICAgIFwic2V0dXBcIixcbiAgICAgIFwibG9vcFwiLFxuICAgICAgXCJydW5TaGVsbENvbW1hbmRBc3luY2hyb25vdXNseVwiLFxuICAgICAgXCJhbmFsb2dXcml0ZVJlc29sdXRpb25cIixcbiAgICAgIFwicmV0cmlldmVDYWxsaW5nTnVtYmVyXCIsXG4gICAgICBcInByaW50RmlybXdhcmVWZXJzaW9uXCIsXG4gICAgICBcImFuYWxvZ1JlYWRSZXNvbHV0aW9uXCIsXG4gICAgICBcInNlbmREaWdpdGFsUG9ydFBhaXJcIixcbiAgICAgIFwibm9MaXN0ZW5PbkxvY2FsaG9zdFwiLFxuICAgICAgXCJyZWFkSm95c3RpY2tCdXR0b25cIixcbiAgICAgIFwic2V0RmlybXdhcmVWZXJzaW9uXCIsXG4gICAgICBcInJlYWRKb3lzdGlja1N3aXRjaFwiLFxuICAgICAgXCJzY3JvbGxEaXNwbGF5UmlnaHRcIixcbiAgICAgIFwiZ2V0Vm9pY2VDYWxsU3RhdHVzXCIsXG4gICAgICBcInNjcm9sbERpc3BsYXlMZWZ0XCIsXG4gICAgICBcIndyaXRlTWljcm9zZWNvbmRzXCIsXG4gICAgICBcImRlbGF5TWljcm9zZWNvbmRzXCIsXG4gICAgICBcImJlZ2luVHJhbnNtaXNzaW9uXCIsXG4gICAgICBcImdldFNpZ25hbFN0cmVuZ3RoXCIsXG4gICAgICBcInJ1bkFzeW5jaHJvbm91c2x5XCIsXG4gICAgICBcImdldEFzeW5jaHJvbm91c2x5XCIsXG4gICAgICBcImxpc3Rlbk9uTG9jYWxob3N0XCIsXG4gICAgICBcImdldEN1cnJlbnRDYXJyaWVyXCIsXG4gICAgICBcInJlYWRBY2NlbGVyb21ldGVyXCIsXG4gICAgICBcIm1lc3NhZ2VBdmFpbGFibGVcIixcbiAgICAgIFwic2VuZERpZ2l0YWxQb3J0c1wiLFxuICAgICAgXCJsaW5lRm9sbG93Q29uZmlnXCIsXG4gICAgICBcImNvdW50cnlOYW1lV3JpdGVcIixcbiAgICAgIFwicnVuU2hlbGxDb21tYW5kXCIsXG4gICAgICBcInJlYWRTdHJpbmdVbnRpbFwiLFxuICAgICAgXCJyZXdpbmREaXJlY3RvcnlcIixcbiAgICAgIFwicmVhZFRlbXBlcmF0dXJlXCIsXG4gICAgICBcInNldENsb2NrRGl2aWRlclwiLFxuICAgICAgXCJyZWFkTGlnaHRTZW5zb3JcIixcbiAgICAgIFwiZW5kVHJhbnNtaXNzaW9uXCIsXG4gICAgICBcImFuYWxvZ1JlZmVyZW5jZVwiLFxuICAgICAgXCJkZXRhY2hJbnRlcnJ1cHRcIixcbiAgICAgIFwiY291bnRyeU5hbWVSZWFkXCIsXG4gICAgICBcImF0dGFjaEludGVycnVwdFwiLFxuICAgICAgXCJlbmNyeXB0aW9uVHlwZVwiLFxuICAgICAgXCJyZWFkQnl0ZXNVbnRpbFwiLFxuICAgICAgXCJyb2JvdE5hbWVXcml0ZVwiLFxuICAgICAgXCJyZWFkTWljcm9waG9uZVwiLFxuICAgICAgXCJyb2JvdE5hbWVSZWFkXCIsXG4gICAgICBcImNpdHlOYW1lV3JpdGVcIixcbiAgICAgIFwidXNlck5hbWVXcml0ZVwiLFxuICAgICAgXCJyZWFkSm95c3RpY2tZXCIsXG4gICAgICBcInJlYWRKb3lzdGlja1hcIixcbiAgICAgIFwibW91c2VSZWxlYXNlZFwiLFxuICAgICAgXCJvcGVuTmV4dEZpbGVcIixcbiAgICAgIFwic2Nhbk5ldHdvcmtzXCIsXG4gICAgICBcIm5vSW50ZXJydXB0c1wiLFxuICAgICAgXCJkaWdpdGFsV3JpdGVcIixcbiAgICAgIFwiYmVnaW5TcGVha2VyXCIsXG4gICAgICBcIm1vdXNlUHJlc3NlZFwiLFxuICAgICAgXCJpc0FjdGlvbkRvbmVcIixcbiAgICAgIFwibW91c2VEcmFnZ2VkXCIsXG4gICAgICBcImRpc3BsYXlMb2dvc1wiLFxuICAgICAgXCJub0F1dG9zY3JvbGxcIixcbiAgICAgIFwiYWRkUGFyYW1ldGVyXCIsXG4gICAgICBcInJlbW90ZU51bWJlclwiLFxuICAgICAgXCJnZXRNb2RpZmllcnNcIixcbiAgICAgIFwia2V5Ym9hcmRSZWFkXCIsXG4gICAgICBcInVzZXJOYW1lUmVhZFwiLFxuICAgICAgXCJ3YWl0Q29udGludWVcIixcbiAgICAgIFwicHJvY2Vzc0lucHV0XCIsXG4gICAgICBcInBhcnNlQ29tbWFuZFwiLFxuICAgICAgXCJwcmludFZlcnNpb25cIixcbiAgICAgIFwicmVhZE5ldHdvcmtzXCIsXG4gICAgICBcIndyaXRlTWVzc2FnZVwiLFxuICAgICAgXCJibGlua1ZlcnNpb25cIixcbiAgICAgIFwiY2l0eU5hbWVSZWFkXCIsXG4gICAgICBcInJlYWRNZXNzYWdlXCIsXG4gICAgICBcInNldERhdGFNb2RlXCIsXG4gICAgICBcInBhcnNlUGFja2V0XCIsXG4gICAgICBcImlzTGlzdGVuaW5nXCIsXG4gICAgICBcInNldEJpdE9yZGVyXCIsXG4gICAgICBcImJlZ2luUGFja2V0XCIsXG4gICAgICBcImlzRGlyZWN0b3J5XCIsXG4gICAgICBcIm1vdG9yc1dyaXRlXCIsXG4gICAgICBcImRyYXdDb21wYXNzXCIsXG4gICAgICBcImRpZ2l0YWxSZWFkXCIsXG4gICAgICBcImNsZWFyU2NyZWVuXCIsXG4gICAgICBcInNlcmlhbEV2ZW50XCIsXG4gICAgICBcInJpZ2h0VG9MZWZ0XCIsXG4gICAgICBcInNldFRleHRTaXplXCIsXG4gICAgICBcImxlZnRUb1JpZ2h0XCIsXG4gICAgICBcInJlcXVlc3RGcm9tXCIsXG4gICAgICBcImtleVJlbGVhc2VkXCIsXG4gICAgICBcImNvbXBhc3NSZWFkXCIsXG4gICAgICBcImFuYWxvZ1dyaXRlXCIsXG4gICAgICBcImludGVycnVwdHNcIixcbiAgICAgIFwiV2lGaVNlcnZlclwiLFxuICAgICAgXCJkaXNjb25uZWN0XCIsXG4gICAgICBcInBsYXlNZWxvZHlcIixcbiAgICAgIFwicGFyc2VGbG9hdFwiLFxuICAgICAgXCJhdXRvc2Nyb2xsXCIsXG4gICAgICBcImdldFBJTlVzZWRcIixcbiAgICAgIFwic2V0UElOVXNlZFwiLFxuICAgICAgXCJzZXRUaW1lb3V0XCIsXG4gICAgICBcInNlbmRBbmFsb2dcIixcbiAgICAgIFwicmVhZFNsaWRlclwiLFxuICAgICAgXCJhbmFsb2dSZWFkXCIsXG4gICAgICBcImJlZ2luV3JpdGVcIixcbiAgICAgIFwiY3JlYXRlQ2hhclwiLFxuICAgICAgXCJtb3RvcnNTdG9wXCIsXG4gICAgICBcImtleVByZXNzZWRcIixcbiAgICAgIFwidGVtcG9Xcml0ZVwiLFxuICAgICAgXCJyZWFkQnV0dG9uXCIsXG4gICAgICBcInN1Ym5ldE1hc2tcIixcbiAgICAgIFwiZGVidWdQcmludFwiLFxuICAgICAgXCJtYWNBZGRyZXNzXCIsXG4gICAgICBcIndyaXRlR3JlZW5cIixcbiAgICAgIFwicmFuZG9tU2VlZFwiLFxuICAgICAgXCJhdHRhY2hHUFJTXCIsXG4gICAgICBcInJlYWRTdHJpbmdcIixcbiAgICAgIFwic2VuZFN0cmluZ1wiLFxuICAgICAgXCJyZW1vdGVQb3J0XCIsXG4gICAgICBcInJlbGVhc2VBbGxcIixcbiAgICAgIFwibW91c2VNb3ZlZFwiLFxuICAgICAgXCJiYWNrZ3JvdW5kXCIsXG4gICAgICBcImdldFhDaGFuZ2VcIixcbiAgICAgIFwiZ2V0WUNoYW5nZVwiLFxuICAgICAgXCJhbnN3ZXJDYWxsXCIsXG4gICAgICBcImdldFJlc3VsdFwiLFxuICAgICAgXCJ2b2ljZUNhbGxcIixcbiAgICAgIFwiZW5kUGFja2V0XCIsXG4gICAgICBcImNvbnN0cmFpblwiLFxuICAgICAgXCJnZXRTb2NrZXRcIixcbiAgICAgIFwid3JpdGVKU09OXCIsXG4gICAgICBcImdldEJ1dHRvblwiLFxuICAgICAgXCJhdmFpbGFibGVcIixcbiAgICAgIFwiY29ubmVjdGVkXCIsXG4gICAgICBcImZpbmRVbnRpbFwiLFxuICAgICAgXCJyZWFkQnl0ZXNcIixcbiAgICAgIFwiZXhpdFZhbHVlXCIsXG4gICAgICBcInJlYWRHcmVlblwiLFxuICAgICAgXCJ3cml0ZUJsdWVcIixcbiAgICAgIFwic3RhcnRMb29wXCIsXG4gICAgICBcIklQQWRkcmVzc1wiLFxuICAgICAgXCJpc1ByZXNzZWRcIixcbiAgICAgIFwic2VuZFN5c2V4XCIsXG4gICAgICBcInBhdXNlTW9kZVwiLFxuICAgICAgXCJnYXRld2F5SVBcIixcbiAgICAgIFwic2V0Q3Vyc29yXCIsXG4gICAgICBcImdldE9lbUtleVwiLFxuICAgICAgXCJ0dW5lV3JpdGVcIixcbiAgICAgIFwibm9EaXNwbGF5XCIsXG4gICAgICBcImxvYWRJbWFnZVwiLFxuICAgICAgXCJzd2l0Y2hQSU5cIixcbiAgICAgIFwib25SZXF1ZXN0XCIsXG4gICAgICBcIm9uUmVjZWl2ZVwiLFxuICAgICAgXCJjaGFuZ2VQSU5cIixcbiAgICAgIFwicGxheUZpbGVcIixcbiAgICAgIFwibm9CdWZmZXJcIixcbiAgICAgIFwicGFyc2VJbnRcIixcbiAgICAgIFwib3ZlcmZsb3dcIixcbiAgICAgIFwiY2hlY2tQSU5cIixcbiAgICAgIFwia25vYlJlYWRcIixcbiAgICAgIFwiYmVnaW5URlRcIixcbiAgICAgIFwiYml0Q2xlYXJcIixcbiAgICAgIFwidXBkYXRlSVJcIixcbiAgICAgIFwiYml0V3JpdGVcIixcbiAgICAgIFwicG9zaXRpb25cIixcbiAgICAgIFwid3JpdGVSR0JcIixcbiAgICAgIFwiaGlnaEJ5dGVcIixcbiAgICAgIFwid3JpdGVSZWRcIixcbiAgICAgIFwic2V0U3BlZWRcIixcbiAgICAgIFwicmVhZEJsdWVcIixcbiAgICAgIFwibm9TdHJva2VcIixcbiAgICAgIFwicmVtb3RlSVBcIixcbiAgICAgIFwidHJhbnNmZXJcIixcbiAgICAgIFwic2h1dGRvd25cIixcbiAgICAgIFwiaGFuZ0NhbGxcIixcbiAgICAgIFwiYmVnaW5TTVNcIixcbiAgICAgIFwiZW5kV3JpdGVcIixcbiAgICAgIFwiYXR0YWNoZWRcIixcbiAgICAgIFwibWFpbnRhaW5cIixcbiAgICAgIFwibm9DdXJzb3JcIixcbiAgICAgIFwiY2hlY2tSZWdcIixcbiAgICAgIFwiY2hlY2tQVUtcIixcbiAgICAgIFwic2hpZnRPdXRcIixcbiAgICAgIFwiaXNWYWxpZFwiLFxuICAgICAgXCJzaGlmdEluXCIsXG4gICAgICBcInB1bHNlSW5cIixcbiAgICAgIFwiY29ubmVjdFwiLFxuICAgICAgXCJwcmludGxuXCIsXG4gICAgICBcImxvY2FsSVBcIixcbiAgICAgIFwicGluTW9kZVwiLFxuICAgICAgXCJnZXRJTUVJXCIsXG4gICAgICBcImRpc3BsYXlcIixcbiAgICAgIFwibm9CbGlua1wiLFxuICAgICAgXCJwcm9jZXNzXCIsXG4gICAgICBcImdldEJhbmRcIixcbiAgICAgIFwicnVubmluZ1wiLFxuICAgICAgXCJiZWdpblNEXCIsXG4gICAgICBcImRyYXdCTVBcIixcbiAgICAgIFwibG93Qnl0ZVwiLFxuICAgICAgXCJzZXRCYW5kXCIsXG4gICAgICBcInJlbGVhc2VcIixcbiAgICAgIFwiYml0UmVhZFwiLFxuICAgICAgXCJwcmVwYXJlXCIsXG4gICAgICBcInBvaW50VG9cIixcbiAgICAgIFwicmVhZFJlZFwiLFxuICAgICAgXCJzZXRNb2RlXCIsXG4gICAgICBcIm5vRmlsbFwiLFxuICAgICAgXCJyZW1vdmVcIixcbiAgICAgIFwibGlzdGVuXCIsXG4gICAgICBcInN0cm9rZVwiLFxuICAgICAgXCJkZXRhY2hcIixcbiAgICAgIFwiYXR0YWNoXCIsXG4gICAgICBcIm5vVG9uZVwiLFxuICAgICAgXCJleGlzdHNcIixcbiAgICAgIFwiYnVmZmVyXCIsXG4gICAgICBcImhlaWdodFwiLFxuICAgICAgXCJiaXRTZXRcIixcbiAgICAgIFwiY2lyY2xlXCIsXG4gICAgICBcImNvbmZpZ1wiLFxuICAgICAgXCJjdXJzb3JcIixcbiAgICAgIFwicmFuZG9tXCIsXG4gICAgICBcIklScmVhZFwiLFxuICAgICAgXCJzZXRETlNcIixcbiAgICAgIFwiZW5kU01TXCIsXG4gICAgICBcImdldEtleVwiLFxuICAgICAgXCJtaWNyb3NcIixcbiAgICAgIFwibWlsbGlzXCIsXG4gICAgICBcImJlZ2luXCIsXG4gICAgICBcInByaW50XCIsXG4gICAgICBcIndyaXRlXCIsXG4gICAgICBcInJlYWR5XCIsXG4gICAgICBcImZsdXNoXCIsXG4gICAgICBcIndpZHRoXCIsXG4gICAgICBcImlzUElOXCIsXG4gICAgICBcImJsaW5rXCIsXG4gICAgICBcImNsZWFyXCIsXG4gICAgICBcInByZXNzXCIsXG4gICAgICBcIm1rZGlyXCIsXG4gICAgICBcInJtZGlyXCIsXG4gICAgICBcImNsb3NlXCIsXG4gICAgICBcInBvaW50XCIsXG4gICAgICBcInlpZWxkXCIsXG4gICAgICBcImltYWdlXCIsXG4gICAgICBcIkJTU0lEXCIsXG4gICAgICBcImNsaWNrXCIsXG4gICAgICBcImRlbGF5XCIsXG4gICAgICBcInJlYWRcIixcbiAgICAgIFwidGV4dFwiLFxuICAgICAgXCJtb3ZlXCIsXG4gICAgICBcInBlZWtcIixcbiAgICAgIFwiYmVlcFwiLFxuICAgICAgXCJyZWN0XCIsXG4gICAgICBcImxpbmVcIixcbiAgICAgIFwib3BlblwiLFxuICAgICAgXCJzZWVrXCIsXG4gICAgICBcImZpbGxcIixcbiAgICAgIFwic2l6ZVwiLFxuICAgICAgXCJ0dXJuXCIsXG4gICAgICBcInN0b3BcIixcbiAgICAgIFwiaG9tZVwiLFxuICAgICAgXCJmaW5kXCIsXG4gICAgICBcInN0ZXBcIixcbiAgICAgIFwidG9uZVwiLFxuICAgICAgXCJzcXJ0XCIsXG4gICAgICBcIlJTU0lcIixcbiAgICAgIFwiU1NJRFwiLFxuICAgICAgXCJlbmRcIixcbiAgICAgIFwiYml0XCIsXG4gICAgICBcInRhblwiLFxuICAgICAgXCJjb3NcIixcbiAgICAgIFwic2luXCIsXG4gICAgICBcInBvd1wiLFxuICAgICAgXCJtYXBcIixcbiAgICAgIFwiYWJzXCIsXG4gICAgICBcIm1heFwiLFxuICAgICAgXCJtaW5cIixcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBcInJ1blwiLFxuICAgICAgXCJwdXRcIlxuICAgIF0sXG4gICAgbGl0ZXJhbDogW1xuICAgICAgXCJESUdJVEFMX01FU1NBR0VcIixcbiAgICAgIFwiRklSTUFUQV9TVFJJTkdcIixcbiAgICAgIFwiQU5BTE9HX01FU1NBR0VcIixcbiAgICAgIFwiUkVQT1JUX0RJR0lUQUxcIixcbiAgICAgIFwiUkVQT1JUX0FOQUxPR1wiLFxuICAgICAgXCJJTlBVVF9QVUxMVVBcIixcbiAgICAgIFwiU0VUX1BJTl9NT0RFXCIsXG4gICAgICBcIklOVEVSTkFMMlY1NlwiLFxuICAgICAgXCJTWVNURU1fUkVTRVRcIixcbiAgICAgIFwiTEVEX0JVSUxUSU5cIixcbiAgICAgIFwiSU5URVJOQUwxVjFcIixcbiAgICAgIFwiU1lTRVhfU1RBUlRcIixcbiAgICAgIFwiSU5URVJOQUxcIixcbiAgICAgIFwiRVhURVJOQUxcIixcbiAgICAgIFwiREVGQVVMVFwiLFxuICAgICAgXCJPVVRQVVRcIixcbiAgICAgIFwiSU5QVVRcIixcbiAgICAgIFwiSElHSFwiLFxuICAgICAgXCJMT1dcIlxuICAgIF1cbiAgfTtcblxuICBjb25zdCBBUkRVSU5PID0gY1BsdXNQbHVzKGhsanMpO1xuXG4gIGNvbnN0IGt3cyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZyxhbnk+fSAqLyAoQVJEVUlOTy5rZXl3b3Jkcyk7XG5cbiAga3dzLnR5cGUgPSBbXG4gICAgLi4ua3dzLnR5cGUsXG4gICAgLi4uQVJEVUlOT19LVy50eXBlXG4gIF07XG4gIGt3cy5saXRlcmFsID0gW1xuICAgIC4uLmt3cy5saXRlcmFsLFxuICAgIC4uLkFSRFVJTk9fS1cubGl0ZXJhbFxuICBdO1xuICBrd3MuYnVpbHRfaW4gPSBbXG4gICAgLi4ua3dzLmJ1aWx0X2luLFxuICAgIC4uLkFSRFVJTk9fS1cuYnVpbHRfaW5cbiAgXTtcbiAga3dzLl9oaW50cyA9IEFSRFVJTk9fS1cuX2hpbnRzO1xuXG4gIEFSRFVJTk8ubmFtZSA9ICdBcmR1aW5vJztcbiAgQVJEVUlOTy5hbGlhc2VzID0gWyAnaW5vJyBdO1xuICBBUkRVSU5PLnN1cGVyc2V0T2YgPSBcImNwcFwiO1xuXG4gIHJldHVybiBBUkRVSU5PO1xufVxuXG5leHBvcnQgeyBhcmR1aW5vIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/arduino.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/bash.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/bash.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ bash)\n/* harmony export */ });\n/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9iYXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHlCQUF5QjtBQUN6QztBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0EsZ0RBQWdELHFCQUFxQjtBQUNyRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2Jhc2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBCYXNoXG5BdXRob3I6IHZhaCA8dmFodGVuYmVyZ0BnbWFpbC5jb20+XG5Db250cmlidXRyb3JzOiBCZW5qYW1pbiBQYW5uZWxsIDxjb250YWN0QHNpZXJyYXNvZnR3b3Jrcy5jb20+XG5XZWJzaXRlOiBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Jhc2gvXG5DYXRlZ29yeTogY29tbW9uLCBzY3JpcHRpbmdcbiovXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiBiYXNoKGhsanMpIHtcbiAgY29uc3QgcmVnZXggPSBobGpzLnJlZ2V4O1xuICBjb25zdCBWQVIgPSB7fTtcbiAgY29uc3QgQlJBQ0VEX1ZBUiA9IHtcbiAgICBiZWdpbjogL1xcJFxcey8sXG4gICAgZW5kOiAvXFx9LyxcbiAgICBjb250YWluczogW1xuICAgICAgXCJzZWxmXCIsXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvOi0vLFxuICAgICAgICBjb250YWluczogWyBWQVIgXVxuICAgICAgfSAvLyBkZWZhdWx0IHZhbHVlc1xuICAgIF1cbiAgfTtcbiAgT2JqZWN0LmFzc2lnbihWQVIsIHtcbiAgICBjbGFzc05hbWU6ICd2YXJpYWJsZScsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHsgYmVnaW46IHJlZ2V4LmNvbmNhdCgvXFwkW1xcd1xcZCNAXVtcXHdcXGRfXSovLFxuICAgICAgICAvLyBuZWdhdGl2ZSBsb29rLWFoZWFkIHRyaWVzIHRvIGF2b2lkIG1hdGNoaW5nIHBhdHRlcm5zIHRoYXQgYXJlIG5vdFxuICAgICAgICAvLyBQZXJsIGF0IGFsbCBsaWtlICRpZGVudCQsIEBpZGVudEAsIGV0Yy5cbiAgICAgICAgYCg/IVtcXFxcd1xcXFxkXSkoPyFbJF0pYCkgfSxcbiAgICAgIEJSQUNFRF9WQVJcbiAgICBdXG4gIH0pO1xuXG4gIGNvbnN0IFNVQlNUID0ge1xuICAgIGNsYXNzTmFtZTogJ3N1YnN0JyxcbiAgICBiZWdpbjogL1xcJFxcKC8sXG4gICAgZW5kOiAvXFwpLyxcbiAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICB9O1xuICBjb25zdCBDT01NRU5UID0gaGxqcy5pbmhlcml0KFxuICAgIGhsanMuQ09NTUVOVCgpLFxuICAgIHtcbiAgICAgIG1hdGNoOiBbXG4gICAgICAgIC8oXnxcXHMpLyxcbiAgICAgICAgLyMuKiQvXG4gICAgICBdLFxuICAgICAgc2NvcGU6IHtcbiAgICAgICAgMjogJ2NvbW1lbnQnXG4gICAgICB9XG4gICAgfVxuICApO1xuICBjb25zdCBIRVJFX0RPQyA9IHtcbiAgICBiZWdpbjogLzw8LT9cXHMqKD89XFx3KykvLFxuICAgIHN0YXJ0czogeyBjb250YWluczogW1xuICAgICAgaGxqcy5FTkRfU0FNRV9BU19CRUdJTih7XG4gICAgICAgIGJlZ2luOiAvKFxcdyspLyxcbiAgICAgICAgZW5kOiAvKFxcdyspLyxcbiAgICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJ1xuICAgICAgfSlcbiAgICBdIH1cbiAgfTtcbiAgY29uc3QgUVVPVEVfU1RSSU5HID0ge1xuICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgYmVnaW46IC9cIi8sXG4gICAgZW5kOiAvXCIvLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICBWQVIsXG4gICAgICBTVUJTVFxuICAgIF1cbiAgfTtcbiAgU1VCU1QuY29udGFpbnMucHVzaChRVU9URV9TVFJJTkcpO1xuICBjb25zdCBFU0NBUEVEX1FVT1RFID0ge1xuICAgIG1hdGNoOiAvXFxcXFwiL1xuICB9O1xuICBjb25zdCBBUE9TX1NUUklORyA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIGJlZ2luOiAvJy8sXG4gICAgZW5kOiAvJy9cbiAgfTtcbiAgY29uc3QgRVNDQVBFRF9BUE9TID0ge1xuICAgIG1hdGNoOiAvXFxcXCcvXG4gIH07XG4gIGNvbnN0IEFSSVRITUVUSUMgPSB7XG4gICAgYmVnaW46IC9cXCQ/XFwoXFwoLyxcbiAgICBlbmQ6IC9cXClcXCkvLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFxkKyNbMC05YS1mXSsvLFxuICAgICAgICBjbGFzc05hbWU6IFwibnVtYmVyXCJcbiAgICAgIH0sXG4gICAgICBobGpzLk5VTUJFUl9NT0RFLFxuICAgICAgVkFSXG4gICAgXVxuICB9O1xuICBjb25zdCBTSF9MSUtFX1NIRUxMUyA9IFtcbiAgICBcImZpc2hcIixcbiAgICBcImJhc2hcIixcbiAgICBcInpzaFwiLFxuICAgIFwic2hcIixcbiAgICBcImNzaFwiLFxuICAgIFwia3NoXCIsXG4gICAgXCJ0Y3NoXCIsXG4gICAgXCJkYXNoXCIsXG4gICAgXCJzY3NoXCIsXG4gIF07XG4gIGNvbnN0IEtOT1dOX1NIRUJBTkcgPSBobGpzLlNIRUJBTkcoe1xuICAgIGJpbmFyeTogYCgke1NIX0xJS0VfU0hFTExTLmpvaW4oXCJ8XCIpfSlgLFxuICAgIHJlbGV2YW5jZTogMTBcbiAgfSk7XG4gIGNvbnN0IEZVTkNUSU9OID0ge1xuICAgIGNsYXNzTmFtZTogJ2Z1bmN0aW9uJyxcbiAgICBiZWdpbjogL1xcd1tcXHdcXGRfXSpcXHMqXFwoXFxzKlxcKVxccypcXHsvLFxuICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgIGNvbnRhaW5zOiBbIGhsanMuaW5oZXJpdChobGpzLlRJVExFX01PREUsIHsgYmVnaW46IC9cXHdbXFx3XFxkX10qLyB9KSBdLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIGNvbnN0IEtFWVdPUkRTID0gW1xuICAgIFwiaWZcIixcbiAgICBcInRoZW5cIixcbiAgICBcImVsc2VcIixcbiAgICBcImVsaWZcIixcbiAgICBcImZpXCIsXG4gICAgXCJ0aW1lXCIsXG4gICAgXCJmb3JcIixcbiAgICBcIndoaWxlXCIsXG4gICAgXCJ1bnRpbFwiLFxuICAgIFwiaW5cIixcbiAgICBcImRvXCIsXG4gICAgXCJkb25lXCIsXG4gICAgXCJjYXNlXCIsXG4gICAgXCJlc2FjXCIsXG4gICAgXCJjb3Byb2NcIixcbiAgICBcImZ1bmN0aW9uXCIsXG4gICAgXCJzZWxlY3RcIlxuICBdO1xuXG4gIGNvbnN0IExJVEVSQUxTID0gW1xuICAgIFwidHJ1ZVwiLFxuICAgIFwiZmFsc2VcIlxuICBdO1xuXG4gIC8vIHRvIGNvbnN1bWUgcGF0aHMgdG8gcHJldmVudCBrZXl3b3JkIG1hdGNoZXMgaW5zaWRlIHRoZW1cbiAgY29uc3QgUEFUSF9NT0RFID0geyBtYXRjaDogLyhcXC9bYS16Ll8tXSspKy8gfTtcblxuICAvLyBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYmFzaC9tYW51YWwvaHRtbF9ub2RlL1NoZWxsLUJ1aWx0aW4tQ29tbWFuZHMuaHRtbFxuICBjb25zdCBTSEVMTF9CVUlMVF9JTlMgPSBbXG4gICAgXCJicmVha1wiLFxuICAgIFwiY2RcIixcbiAgICBcImNvbnRpbnVlXCIsXG4gICAgXCJldmFsXCIsXG4gICAgXCJleGVjXCIsXG4gICAgXCJleGl0XCIsXG4gICAgXCJleHBvcnRcIixcbiAgICBcImdldG9wdHNcIixcbiAgICBcImhhc2hcIixcbiAgICBcInB3ZFwiLFxuICAgIFwicmVhZG9ubHlcIixcbiAgICBcInJldHVyblwiLFxuICAgIFwic2hpZnRcIixcbiAgICBcInRlc3RcIixcbiAgICBcInRpbWVzXCIsXG4gICAgXCJ0cmFwXCIsXG4gICAgXCJ1bWFza1wiLFxuICAgIFwidW5zZXRcIlxuICBdO1xuXG4gIGNvbnN0IEJBU0hfQlVJTFRfSU5TID0gW1xuICAgIFwiYWxpYXNcIixcbiAgICBcImJpbmRcIixcbiAgICBcImJ1aWx0aW5cIixcbiAgICBcImNhbGxlclwiLFxuICAgIFwiY29tbWFuZFwiLFxuICAgIFwiZGVjbGFyZVwiLFxuICAgIFwiZWNob1wiLFxuICAgIFwiZW5hYmxlXCIsXG4gICAgXCJoZWxwXCIsXG4gICAgXCJsZXRcIixcbiAgICBcImxvY2FsXCIsXG4gICAgXCJsb2dvdXRcIixcbiAgICBcIm1hcGZpbGVcIixcbiAgICBcInByaW50ZlwiLFxuICAgIFwicmVhZFwiLFxuICAgIFwicmVhZGFycmF5XCIsXG4gICAgXCJzb3VyY2VcIixcbiAgICBcInN1ZG9cIixcbiAgICBcInR5cGVcIixcbiAgICBcInR5cGVzZXRcIixcbiAgICBcInVsaW1pdFwiLFxuICAgIFwidW5hbGlhc1wiXG4gIF07XG5cbiAgY29uc3QgWlNIX0JVSUxUX0lOUyA9IFtcbiAgICBcImF1dG9sb2FkXCIsXG4gICAgXCJiZ1wiLFxuICAgIFwiYmluZGtleVwiLFxuICAgIFwiYnllXCIsXG4gICAgXCJjYXBcIixcbiAgICBcImNoZGlyXCIsXG4gICAgXCJjbG9uZVwiLFxuICAgIFwiY29tcGFyZ3VtZW50c1wiLFxuICAgIFwiY29tcGNhbGxcIixcbiAgICBcImNvbXBjdGxcIixcbiAgICBcImNvbXBkZXNjcmliZVwiLFxuICAgIFwiY29tcGZpbGVzXCIsXG4gICAgXCJjb21wZ3JvdXBzXCIsXG4gICAgXCJjb21wcXVvdGVcIixcbiAgICBcImNvbXB0YWdzXCIsXG4gICAgXCJjb21wdHJ5XCIsXG4gICAgXCJjb21wdmFsdWVzXCIsXG4gICAgXCJkaXJzXCIsXG4gICAgXCJkaXNhYmxlXCIsXG4gICAgXCJkaXNvd25cIixcbiAgICBcImVjaG90Y1wiLFxuICAgIFwiZWNob3RpXCIsXG4gICAgXCJlbXVsYXRlXCIsXG4gICAgXCJmY1wiLFxuICAgIFwiZmdcIixcbiAgICBcImZsb2F0XCIsXG4gICAgXCJmdW5jdGlvbnNcIixcbiAgICBcImdldGNhcFwiLFxuICAgIFwiZ2V0bG5cIixcbiAgICBcImhpc3RvcnlcIixcbiAgICBcImludGVnZXJcIixcbiAgICBcImpvYnNcIixcbiAgICBcImtpbGxcIixcbiAgICBcImxpbWl0XCIsXG4gICAgXCJsb2dcIixcbiAgICBcIm5vZ2xvYlwiLFxuICAgIFwicG9wZFwiLFxuICAgIFwicHJpbnRcIixcbiAgICBcInB1c2hkXCIsXG4gICAgXCJwdXNobG5cIixcbiAgICBcInJlaGFzaFwiLFxuICAgIFwic2NoZWRcIixcbiAgICBcInNldGNhcFwiLFxuICAgIFwic2V0b3B0XCIsXG4gICAgXCJzdGF0XCIsXG4gICAgXCJzdXNwZW5kXCIsXG4gICAgXCJ0dHljdGxcIixcbiAgICBcInVuZnVuY3Rpb25cIixcbiAgICBcInVuaGFzaFwiLFxuICAgIFwidW5saW1pdFwiLFxuICAgIFwidW5zZXRvcHRcIixcbiAgICBcInZhcmVkXCIsXG4gICAgXCJ3YWl0XCIsXG4gICAgXCJ3aGVuY2VcIixcbiAgICBcIndoZXJlXCIsXG4gICAgXCJ3aGljaFwiLFxuICAgIFwiemNvbXBpbGVcIixcbiAgICBcInpmb3JtYXRcIixcbiAgICBcInpmdHBcIixcbiAgICBcInpsZVwiLFxuICAgIFwiem1vZGxvYWRcIixcbiAgICBcInpwYXJzZW9wdHNcIixcbiAgICBcInpwcm9mXCIsXG4gICAgXCJ6cHR5XCIsXG4gICAgXCJ6cmVnZXhwYXJzZVwiLFxuICAgIFwienNvY2tldFwiLFxuICAgIFwienN0eWxlXCIsXG4gICAgXCJ6dGNwXCJcbiAgXTtcblxuICBjb25zdCBHTlVfQ09SRV9VVElMUyA9IFtcbiAgICBcImNoY29uXCIsXG4gICAgXCJjaGdycFwiLFxuICAgIFwiY2hvd25cIixcbiAgICBcImNobW9kXCIsXG4gICAgXCJjcFwiLFxuICAgIFwiZGRcIixcbiAgICBcImRmXCIsXG4gICAgXCJkaXJcIixcbiAgICBcImRpcmNvbG9yc1wiLFxuICAgIFwibG5cIixcbiAgICBcImxzXCIsXG4gICAgXCJta2RpclwiLFxuICAgIFwibWtmaWZvXCIsXG4gICAgXCJta25vZFwiLFxuICAgIFwibWt0ZW1wXCIsXG4gICAgXCJtdlwiLFxuICAgIFwicmVhbHBhdGhcIixcbiAgICBcInJtXCIsXG4gICAgXCJybWRpclwiLFxuICAgIFwic2hyZWRcIixcbiAgICBcInN5bmNcIixcbiAgICBcInRvdWNoXCIsXG4gICAgXCJ0cnVuY2F0ZVwiLFxuICAgIFwidmRpclwiLFxuICAgIFwiYjJzdW1cIixcbiAgICBcImJhc2UzMlwiLFxuICAgIFwiYmFzZTY0XCIsXG4gICAgXCJjYXRcIixcbiAgICBcImNrc3VtXCIsXG4gICAgXCJjb21tXCIsXG4gICAgXCJjc3BsaXRcIixcbiAgICBcImN1dFwiLFxuICAgIFwiZXhwYW5kXCIsXG4gICAgXCJmbXRcIixcbiAgICBcImZvbGRcIixcbiAgICBcImhlYWRcIixcbiAgICBcImpvaW5cIixcbiAgICBcIm1kNXN1bVwiLFxuICAgIFwibmxcIixcbiAgICBcIm51bWZtdFwiLFxuICAgIFwib2RcIixcbiAgICBcInBhc3RlXCIsXG4gICAgXCJwdHhcIixcbiAgICBcInByXCIsXG4gICAgXCJzaGExc3VtXCIsXG4gICAgXCJzaGEyMjRzdW1cIixcbiAgICBcInNoYTI1NnN1bVwiLFxuICAgIFwic2hhMzg0c3VtXCIsXG4gICAgXCJzaGE1MTJzdW1cIixcbiAgICBcInNodWZcIixcbiAgICBcInNvcnRcIixcbiAgICBcInNwbGl0XCIsXG4gICAgXCJzdW1cIixcbiAgICBcInRhY1wiLFxuICAgIFwidGFpbFwiLFxuICAgIFwidHJcIixcbiAgICBcInRzb3J0XCIsXG4gICAgXCJ1bmV4cGFuZFwiLFxuICAgIFwidW5pcVwiLFxuICAgIFwid2NcIixcbiAgICBcImFyY2hcIixcbiAgICBcImJhc2VuYW1lXCIsXG4gICAgXCJjaHJvb3RcIixcbiAgICBcImRhdGVcIixcbiAgICBcImRpcm5hbWVcIixcbiAgICBcImR1XCIsXG4gICAgXCJlY2hvXCIsXG4gICAgXCJlbnZcIixcbiAgICBcImV4cHJcIixcbiAgICBcImZhY3RvclwiLFxuICAgIC8vIFwiZmFsc2VcIiwgLy8ga2V5d29yZCBsaXRlcmFsIGFscmVhZHlcbiAgICBcImdyb3Vwc1wiLFxuICAgIFwiaG9zdGlkXCIsXG4gICAgXCJpZFwiLFxuICAgIFwibGlua1wiLFxuICAgIFwibG9nbmFtZVwiLFxuICAgIFwibmljZVwiLFxuICAgIFwibm9odXBcIixcbiAgICBcIm5wcm9jXCIsXG4gICAgXCJwYXRoY2hrXCIsXG4gICAgXCJwaW5reVwiLFxuICAgIFwicHJpbnRlbnZcIixcbiAgICBcInByaW50ZlwiLFxuICAgIFwicHdkXCIsXG4gICAgXCJyZWFkbGlua1wiLFxuICAgIFwicnVuY29uXCIsXG4gICAgXCJzZXFcIixcbiAgICBcInNsZWVwXCIsXG4gICAgXCJzdGF0XCIsXG4gICAgXCJzdGRidWZcIixcbiAgICBcInN0dHlcIixcbiAgICBcInRlZVwiLFxuICAgIFwidGVzdFwiLFxuICAgIFwidGltZW91dFwiLFxuICAgIC8vIFwidHJ1ZVwiLCAvLyBrZXl3b3JkIGxpdGVyYWwgYWxyZWFkeVxuICAgIFwidHR5XCIsXG4gICAgXCJ1bmFtZVwiLFxuICAgIFwidW5saW5rXCIsXG4gICAgXCJ1cHRpbWVcIixcbiAgICBcInVzZXJzXCIsXG4gICAgXCJ3aG9cIixcbiAgICBcIndob2FtaVwiLFxuICAgIFwieWVzXCJcbiAgXTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdCYXNoJyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAnc2gnLFxuICAgICAgJ3pzaCdcbiAgICBdLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICAkcGF0dGVybjogL1xcYlthLXpdW2EtejAtOS5fLV0rXFxiLyxcbiAgICAgIGtleXdvcmQ6IEtFWVdPUkRTLFxuICAgICAgbGl0ZXJhbDogTElURVJBTFMsXG4gICAgICBidWlsdF9pbjogW1xuICAgICAgICAuLi5TSEVMTF9CVUlMVF9JTlMsXG4gICAgICAgIC4uLkJBU0hfQlVJTFRfSU5TLFxuICAgICAgICAvLyBTaGVsbCBtb2RpZmllcnNcbiAgICAgICAgXCJzZXRcIixcbiAgICAgICAgXCJzaG9wdFwiLFxuICAgICAgICAuLi5aU0hfQlVJTFRfSU5TLFxuICAgICAgICAuLi5HTlVfQ09SRV9VVElMU1xuICAgICAgXVxuICAgIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIEtOT1dOX1NIRUJBTkcsIC8vIHRvIGNhdGNoIGtub3duIHNoZWxscyBhbmQgYm9vc3QgcmVsZXZhbmN5XG4gICAgICBobGpzLlNIRUJBTkcoKSwgLy8gdG8gY2F0Y2ggdW5rbm93biBzaGVsbHMgYnV0IHN0aWxsIGhpZ2hsaWdodCB0aGUgc2hlYmFuZ1xuICAgICAgRlVOQ1RJT04sXG4gICAgICBBUklUSE1FVElDLFxuICAgICAgQ09NTUVOVCxcbiAgICAgIEhFUkVfRE9DLFxuICAgICAgUEFUSF9NT0RFLFxuICAgICAgUVVPVEVfU1RSSU5HLFxuICAgICAgRVNDQVBFRF9RVU9URSxcbiAgICAgIEFQT1NfU1RSSU5HLFxuICAgICAgRVNDQVBFRF9BUE9TLFxuICAgICAgVkFSXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBiYXNoIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/bash.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/c.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/c.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ c)\n/* harmony export */ });\n/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9jLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCxjQUFjLGdCQUFnQixHQUFHO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNkJBQTZCO0FBQ3JDLFFBQVEsdUJBQXVCLElBQUk7QUFDbkM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLCtDQUErQyxFQUFFLGNBQWMsSUFBSSxPQUFPLEVBQUU7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHdDQUF3QyxLQUFLO0FBQzdDLDBCQUEwQixLQUFLO0FBQy9CLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsdUJBQXVCO0FBQy9CLFFBQVEsMEZBQTBGO0FBQ2xHLFFBQVEsMkhBQTJIO0FBQ25JLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0Esa0VBQWtFO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLDhCQUE4QixxQkFBcUI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2YsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsNkJBQTZCO0FBQzVFO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsY0FBYyxxQ0FBcUM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFd0IiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBDXG5DYXRlZ29yeTogY29tbW9uLCBzeXN0ZW1cbldlYnNpdGU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NfKHByb2dyYW1taW5nX2xhbmd1YWdlKVxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGMoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIC8vIGFkZGVkIGZvciBoaXN0b3JpYyByZWFzb25zIGJlY2F1c2UgYGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERWAgZG9lc1xuICAvLyBub3QgaW5jbHVkZSBzdWNoIHN1cHBvcnQgbm9yIGNhbiB3ZSBiZSBzdXJlIGFsbCB0aGUgZ3JhbW1hcnMgZGVwZW5kaW5nXG4gIC8vIG9uIGl0IHdvdWxkIGRlc2lyZSB0aGlzIGJlaGF2aW9yXG4gIGNvbnN0IENfTElORV9DT01NRU5UX01PREUgPSBobGpzLkNPTU1FTlQoJy8vJywgJyQnLCB7IGNvbnRhaW5zOiBbIHsgYmVnaW46IC9cXFxcXFxuLyB9IF0gfSk7XG4gIGNvbnN0IERFQ0xUWVBFX0FVVE9fUkUgPSAnZGVjbHR5cGVcXFxcKGF1dG9cXFxcKSc7XG4gIGNvbnN0IE5BTUVTUEFDRV9SRSA9ICdbYS16QS1aX11cXFxcdyo6Oic7XG4gIGNvbnN0IFRFTVBMQVRFX0FSR1VNRU5UX1JFID0gJzxbXjw+XSs+JztcbiAgY29uc3QgRlVOQ1RJT05fVFlQRV9SRSA9ICcoJ1xuICAgICsgREVDTFRZUEVfQVVUT19SRSArICd8J1xuICAgICsgcmVnZXgub3B0aW9uYWwoTkFNRVNQQUNFX1JFKVxuICAgICsgJ1thLXpBLVpfXVxcXFx3KicgKyByZWdleC5vcHRpb25hbChURU1QTEFURV9BUkdVTUVOVF9SRSlcbiAgKyAnKSc7XG5cblxuICBjb25zdCBUWVBFUyA9IHtcbiAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgeyBiZWdpbjogJ1xcXFxiW2EtelxcXFxkX10qX3RcXFxcYicgfSxcbiAgICAgIHsgbWF0Y2g6IC9cXGJhdG9taWNfW2Etel17Myw2fVxcYi8gfVxuICAgIF1cblxuICB9O1xuXG4gIC8vIGh0dHBzOi8vZW4uY3BwcmVmZXJlbmNlLmNvbS93L2NwcC9sYW5ndWFnZS9lc2NhcGVcbiAgLy8gXFxcXCBcXHggXFx4RkYgXFx1MjgzNyBcXHUwMDMyMzc0NyBcXDM3NFxuICBjb25zdCBDSEFSQUNURVJfRVNDQVBFUyA9ICdcXFxcXFxcXCh4WzAtOUEtRmEtZl17Mn18dVswLTlBLUZhLWZdezQsOH18WzAtN117M318XFxcXFMpJztcbiAgY29uc3QgU1RSSU5HUyA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnKHU4P3xVfEwpP1wiJyxcbiAgICAgICAgZW5kOiAnXCInLFxuICAgICAgICBpbGxlZ2FsOiAnXFxcXG4nLFxuICAgICAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICcodTg/fFV8TCk/XFwnKCcgKyBDSEFSQUNURVJfRVNDQVBFUyArIFwifC4pXCIsXG4gICAgICAgIGVuZDogJ1xcJycsXG4gICAgICAgIGlsbGVnYWw6ICcuJ1xuICAgICAgfSxcbiAgICAgIGhsanMuRU5EX1NBTUVfQVNfQkVHSU4oe1xuICAgICAgICBiZWdpbjogLyg/OnU4P3xVfEwpP1JcIihbXigpXFxcXCBdezAsMTZ9KVxcKC8sXG4gICAgICAgIGVuZDogL1xcKShbXigpXFxcXCBdezAsMTZ9KVwiL1xuICAgICAgfSlcbiAgICBdXG4gIH07XG5cbiAgY29uc3QgTlVNQkVSUyA9IHtcbiAgICBjbGFzc05hbWU6ICdudW1iZXInLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7IG1hdGNoOiAvXFxiKDBiWzAxJ10rKS8gfSwgIFxuICAgICAgeyBtYXRjaDogLygtPylcXGIoW1xcZCddKyhcXC5bXFxkJ10qKT98XFwuW1xcZCddKykoKGxsfExMfGx8TCkodXxVKT98KHV8VSkobGx8TEx8bHxMKT98ZnxGfGJ8QikvIH0sICBcbiAgICAgIHsgbWF0Y2g6IC8oLT8pXFxiKDBbeFhdW2EtZkEtRjAtOV0rKD86J1thLWZBLUYwLTldKykqKD86XFwuW2EtZkEtRjAtOV0qKD86J1thLWZBLUYwLTldKikqKT8oPzpbcFBdWy0rXT9bMC05XSspPyhsfEwpPyh1fFUpPykvIH0sICBcbiAgICAgIHsgbWF0Y2g6IC8oLT8pXFxiXFxkKyg/OidcXGQrKSooPzpcXC5cXGQqKD86J1xcZCopKik/KD86W2VFXVstK10/XFxkKyk/LyB9ICBcbiAgXSxcbiAgICByZWxldmFuY2U6IDBcbiAgfTsgIFxuICBcbiAgY29uc3QgUFJFUFJPQ0VTU09SID0ge1xuICAgIGNsYXNzTmFtZTogJ21ldGEnLFxuICAgIGJlZ2luOiAvI1xccypbYS16XStcXGIvLFxuICAgIGVuZDogLyQvLFxuICAgIGtleXdvcmRzOiB7IGtleXdvcmQ6XG4gICAgICAgICdpZiBlbHNlIGVsaWYgZW5kaWYgZGVmaW5lIHVuZGVmIHdhcm5pbmcgZXJyb3IgbGluZSAnXG4gICAgICAgICsgJ3ByYWdtYSBfUHJhZ21hIGlmZGVmIGlmbmRlZiBlbGlmZGVmIGVsaWZuZGVmIGluY2x1ZGUnIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXFxcXFxuLyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgaGxqcy5pbmhlcml0KFNUUklOR1MsIHsgY2xhc3NOYW1lOiAnc3RyaW5nJyB9KSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICAgICAgYmVnaW46IC88Lio/Pi9cbiAgICAgIH0sXG4gICAgICBDX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgIF1cbiAgfTtcblxuICBjb25zdCBUSVRMRV9NT0RFID0ge1xuICAgIGNsYXNzTmFtZTogJ3RpdGxlJyxcbiAgICBiZWdpbjogcmVnZXgub3B0aW9uYWwoTkFNRVNQQUNFX1JFKSArIGhsanMuSURFTlRfUkUsXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgRlVOQ1RJT05fVElUTEUgPSByZWdleC5vcHRpb25hbChOQU1FU1BBQ0VfUkUpICsgaGxqcy5JREVOVF9SRSArICdcXFxccypcXFxcKCc7XG5cbiAgY29uc3QgQ19LRVlXT1JEUyA9IFtcbiAgICBcImFzbVwiLFxuICAgIFwiYXV0b1wiLFxuICAgIFwiYnJlYWtcIixcbiAgICBcImNhc2VcIixcbiAgICBcImNvbnRpbnVlXCIsXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJkb1wiLFxuICAgIFwiZWxzZVwiLFxuICAgIFwiZW51bVwiLFxuICAgIFwiZXh0ZXJuXCIsXG4gICAgXCJmb3JcIixcbiAgICBcImZvcnRyYW5cIixcbiAgICBcImdvdG9cIixcbiAgICBcImlmXCIsXG4gICAgXCJpbmxpbmVcIixcbiAgICBcInJlZ2lzdGVyXCIsXG4gICAgXCJyZXN0cmljdFwiLFxuICAgIFwicmV0dXJuXCIsXG4gICAgXCJzaXplb2ZcIixcbiAgICBcInR5cGVvZlwiLFxuICAgIFwidHlwZW9mX3VucXVhbFwiLFxuICAgIFwic3RydWN0XCIsXG4gICAgXCJzd2l0Y2hcIixcbiAgICBcInR5cGVkZWZcIixcbiAgICBcInVuaW9uXCIsXG4gICAgXCJ2b2xhdGlsZVwiLFxuICAgIFwid2hpbGVcIixcbiAgICBcIl9BbGlnbmFzXCIsXG4gICAgXCJfQWxpZ25vZlwiLFxuICAgIFwiX0F0b21pY1wiLFxuICAgIFwiX0dlbmVyaWNcIixcbiAgICBcIl9Ob3JldHVyblwiLFxuICAgIFwiX1N0YXRpY19hc3NlcnRcIixcbiAgICBcIl9UaHJlYWRfbG9jYWxcIixcbiAgICAvLyBhbGlhc2VzXG4gICAgXCJhbGlnbmFzXCIsXG4gICAgXCJhbGlnbm9mXCIsXG4gICAgXCJub3JldHVyblwiLFxuICAgIFwic3RhdGljX2Fzc2VydFwiLFxuICAgIFwidGhyZWFkX2xvY2FsXCIsXG4gICAgLy8gbm90IGEgQyBrZXl3b3JkIGJ1dCBpcywgZm9yIGFsbCBpbnRlbnRzIGFuZCBwdXJwb3NlcywgdHJlYXRlZCBleGFjdGx5IGxpa2Ugb25lLlxuICAgIFwiX1ByYWdtYVwiXG4gIF07XG5cbiAgY29uc3QgQ19UWVBFUyA9IFtcbiAgICBcImZsb2F0XCIsXG4gICAgXCJkb3VibGVcIixcbiAgICBcInNpZ25lZFwiLFxuICAgIFwidW5zaWduZWRcIixcbiAgICBcImludFwiLFxuICAgIFwic2hvcnRcIixcbiAgICBcImxvbmdcIixcbiAgICBcImNoYXJcIixcbiAgICBcInZvaWRcIixcbiAgICBcIl9Cb29sXCIsXG4gICAgXCJfQml0SW50XCIsXG4gICAgXCJfQ29tcGxleFwiLFxuICAgIFwiX0ltYWdpbmFyeVwiLFxuICAgIFwiX0RlY2ltYWwzMlwiLFxuICAgIFwiX0RlY2ltYWw2NFwiLFxuICAgIFwiX0RlY2ltYWw5NlwiLFxuICAgIFwiX0RlY2ltYWwxMjhcIixcbiAgICBcIl9EZWNpbWFsNjR4XCIsXG4gICAgXCJfRGVjaW1hbDEyOHhcIixcbiAgICBcIl9GbG9hdDE2XCIsXG4gICAgXCJfRmxvYXQzMlwiLFxuICAgIFwiX0Zsb2F0NjRcIixcbiAgICBcIl9GbG9hdDEyOFwiLFxuICAgIFwiX0Zsb2F0MzJ4XCIsXG4gICAgXCJfRmxvYXQ2NHhcIixcbiAgICBcIl9GbG9hdDEyOHhcIixcbiAgICAvLyBtb2RpZmllcnNcbiAgICBcImNvbnN0XCIsXG4gICAgXCJzdGF0aWNcIixcbiAgICBcImNvbnN0ZXhwclwiLFxuICAgIC8vIGFsaWFzZXNcbiAgICBcImNvbXBsZXhcIixcbiAgICBcImJvb2xcIixcbiAgICBcImltYWdpbmFyeVwiXG4gIF07XG5cbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAga2V5d29yZDogQ19LRVlXT1JEUyxcbiAgICB0eXBlOiBDX1RZUEVTLFxuICAgIGxpdGVyYWw6ICd0cnVlIGZhbHNlIE5VTEwnLFxuICAgIC8vIFRPRE86IGFwcGx5IGhpbnRpbmcgd29yayBzaW1pbGFyIHRvIHdoYXQgd2FzIGRvbmUgaW4gY3BwLmpzXG4gICAgYnVpbHRfaW46ICdzdGQgc3RyaW5nIHdzdHJpbmcgY2luIGNvdXQgY2VyciBjbG9nIHN0ZGluIHN0ZG91dCBzdGRlcnIgc3RyaW5nc3RyZWFtIGlzdHJpbmdzdHJlYW0gb3N0cmluZ3N0cmVhbSAnXG4gICAgICArICdhdXRvX3B0ciBkZXF1ZSBsaXN0IHF1ZXVlIHN0YWNrIHZlY3RvciBtYXAgc2V0IHBhaXIgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgJ1xuICAgICAgKyAndW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIHByaW9yaXR5X3F1ZXVlIG1ha2VfcGFpciBhcnJheSBzaGFyZWRfcHRyIGFib3J0IHRlcm1pbmF0ZSBhYnMgYWNvcyAnXG4gICAgICArICdhc2luIGF0YW4yIGF0YW4gY2FsbG9jIGNlaWwgY29zaCBjb3MgZXhpdCBleHAgZmFicyBmbG9vciBmbW9kIGZwcmludGYgZnB1dHMgZnJlZSBmcmV4cCAnXG4gICAgICArICdmc2NhbmYgZnV0dXJlIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgJ1xuICAgICAgKyAnaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyAnXG4gICAgICArICdwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgJ1xuICAgICAgKyAnc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuICdcbiAgICAgICsgJ3ZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHInLFxuICB9O1xuXG4gIGNvbnN0IEVYUFJFU1NJT05fQ09OVEFJTlMgPSBbXG4gICAgUFJFUFJPQ0VTU09SLFxuICAgIFRZUEVTLFxuICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICBOVU1CRVJTLFxuICAgIFNUUklOR1NcbiAgXTtcblxuICBjb25zdCBFWFBSRVNTSU9OX0NPTlRFWFQgPSB7XG4gICAgLy8gVGhpcyBtb2RlIGNvdmVycyBleHByZXNzaW9uIGNvbnRleHQgd2hlcmUgd2UgY2FuJ3QgZXhwZWN0IGEgZnVuY3Rpb25cbiAgICAvLyBkZWZpbml0aW9uIGFuZCBzaG91bGRuJ3QgaGlnaGxpZ2h0IGFueXRoaW5nIHRoYXQgbG9va3MgbGlrZSBvbmU6XG4gICAgLy8gYHJldHVybiBzb21lKClgLCBgZWxzZSBpZigpYCwgYCh4KnN1bSgxLCAyKSlgXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC89LyxcbiAgICAgICAgZW5kOiAvOy9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ25ldyB0aHJvdyByZXR1cm4gZWxzZScsXG4gICAgICAgIGVuZDogLzsvXG4gICAgICB9XG4gICAgXSxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgY29udGFpbnM6IEVYUFJFU1NJT05fQ09OVEFJTlMuY29uY2F0KFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgIGNvbnRhaW5zOiBFWFBSRVNTSU9OX0NPTlRBSU5TLmNvbmNhdChbICdzZWxmJyBdKSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9XG4gICAgXSksXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgRlVOQ1RJT05fREVDTEFSQVRJT04gPSB7XG4gICAgYmVnaW46ICcoJyArIEZVTkNUSU9OX1RZUEVfUkUgKyAnW1xcXFwqJlxcXFxzXSspKycgKyBGVU5DVElPTl9USVRMRSxcbiAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICBlbmQ6IC9bezs9XS8sXG4gICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgaWxsZWdhbDogL1teXFx3XFxzXFwqJjo8Pi5dLyxcbiAgICBjb250YWluczogW1xuICAgICAgeyAvLyB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY29uZnVzZWQgYXMgdGhlIGZ1bmN0aW9uIHRpdGxlXG4gICAgICAgIGJlZ2luOiBERUNMVFlQRV9BVVRPX1JFLFxuICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IEZVTkNUSU9OX1RJVExFLFxuICAgICAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICAgICAgY29udGFpbnM6IFsgaGxqcy5pbmhlcml0KFRJVExFX01PREUsIHsgY2xhc3NOYW1lOiBcInRpdGxlLmZ1bmN0aW9uXCIgfSkgXSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgLy8gYWxsb3cgZm9yIG11bHRpcGxlIGRlY2xhcmF0aW9ucywgZS5nLjpcbiAgICAgIC8vIGV4dGVybiB2b2lkIGYoaW50KSwgZyhjaGFyKTtcbiAgICAgIHtcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBtYXRjaDogLywvXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICBiZWdpbjogL1xcKC8sXG4gICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICBTVFJJTkdTLFxuICAgICAgICAgIE5VTUJFUlMsXG4gICAgICAgICAgVFlQRVMsXG4gICAgICAgICAgLy8gQ291bnQgbWF0Y2hpbmcgcGFyZW50aGVzZXMuXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAgICAgQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICAgICAgU1RSSU5HUyxcbiAgICAgICAgICAgICAgTlVNQkVSUyxcbiAgICAgICAgICAgICAgVFlQRVNcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBUWVBFUyxcbiAgICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgUFJFUFJPQ0VTU09SXG4gICAgXVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJDXCIsXG4gICAgYWxpYXNlczogWyAnaCcgXSxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgLy8gVW50aWwgZGlmZmVyZW50aWF0aW9ucyBhcmUgYWRkZWQgYmV0d2VlbiBgY2AgYW5kIGBjcHBgLCBgY2Agd2lsbFxuICAgIC8vIG5vdCBiZSBhdXRvLWRldGVjdGVkIHRvIGF2b2lkIGF1dG8tZGV0ZWN0IGNvbmZsaWN0cyBiZXR3ZWVuIEMgYW5kIEMrK1xuICAgIGRpc2FibGVBdXRvZGV0ZWN0OiB0cnVlLFxuICAgIGlsbGVnYWw6ICc8LycsXG4gICAgY29udGFpbnM6IFtdLmNvbmNhdChcbiAgICAgIEVYUFJFU1NJT05fQ09OVEVYVCxcbiAgICAgIEZVTkNUSU9OX0RFQ0xBUkFUSU9OLFxuICAgICAgRVhQUkVTU0lPTl9DT05UQUlOUyxcbiAgICAgIFtcbiAgICAgICAgUFJFUFJPQ0VTU09SLFxuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46IGhsanMuSURFTlRfUkUgKyAnOjonLFxuICAgICAgICAgIGtleXdvcmRzOiBLRVlXT1JEU1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NOYW1lOiAnY2xhc3MnLFxuICAgICAgICAgIGJlZ2luS2V5d29yZHM6ICdlbnVtIGNsYXNzIHN0cnVjdCB1bmlvbicsXG4gICAgICAgICAgZW5kOiAvW3s7Ojw+PV0vLFxuICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICB7IGJlZ2luS2V5d29yZHM6IFwiZmluYWwgY2xhc3Mgc3RydWN0XCIgfSxcbiAgICAgICAgICAgIGhsanMuVElUTEVfTU9ERVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXSksXG4gICAgZXhwb3J0czoge1xuICAgICAgcHJlcHJvY2Vzc29yOiBQUkVQUk9DRVNTT1IsXG4gICAgICBzdHJpbmdzOiBTVFJJTkdTLFxuICAgICAga2V5d29yZHM6IEtFWVdPUkRTXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgeyBjIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/c.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/cpp.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/cpp.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ cpp)\n/* harmony export */ });\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: { 'function.dispatch': 'built_in' },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9jcHAuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELGNBQWMsZ0JBQWdCLEdBQUc7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0NBQStDLEVBQUUsY0FBYyxJQUFJLE9BQU8sRUFBRTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0NBQXdDLEtBQUs7QUFDN0MsMEJBQTBCLEtBQUs7QUFDL0IsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCw4QkFBOEIscUJBQXFCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQ0FBaUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDJDQUEyQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUwQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvY3BwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogQysrXG5DYXRlZ29yeTogY29tbW9uLCBzeXN0ZW1cbldlYnNpdGU6IGh0dHBzOi8vaXNvY3BwLm9yZ1xuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGNwcChobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgLy8gYWRkZWQgZm9yIGhpc3RvcmljIHJlYXNvbnMgYmVjYXVzZSBgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFYCBkb2VzXG4gIC8vIG5vdCBpbmNsdWRlIHN1Y2ggc3VwcG9ydCBub3IgY2FuIHdlIGJlIHN1cmUgYWxsIHRoZSBncmFtbWFycyBkZXBlbmRpbmdcbiAgLy8gb24gaXQgd291bGQgZGVzaXJlIHRoaXMgYmVoYXZpb3JcbiAgY29uc3QgQ19MSU5FX0NPTU1FTlRfTU9ERSA9IGhsanMuQ09NTUVOVCgnLy8nLCAnJCcsIHsgY29udGFpbnM6IFsgeyBiZWdpbjogL1xcXFxcXG4vIH0gXSB9KTtcbiAgY29uc3QgREVDTFRZUEVfQVVUT19SRSA9ICdkZWNsdHlwZVxcXFwoYXV0b1xcXFwpJztcbiAgY29uc3QgTkFNRVNQQUNFX1JFID0gJ1thLXpBLVpfXVxcXFx3Kjo6JztcbiAgY29uc3QgVEVNUExBVEVfQVJHVU1FTlRfUkUgPSAnPFtePD5dKz4nO1xuICBjb25zdCBGVU5DVElPTl9UWVBFX1JFID0gJyg/IXN0cnVjdCkoJ1xuICAgICsgREVDTFRZUEVfQVVUT19SRSArICd8J1xuICAgICsgcmVnZXgub3B0aW9uYWwoTkFNRVNQQUNFX1JFKVxuICAgICsgJ1thLXpBLVpfXVxcXFx3KicgKyByZWdleC5vcHRpb25hbChURU1QTEFURV9BUkdVTUVOVF9SRSlcbiAgKyAnKSc7XG5cbiAgY29uc3QgQ1BQX1BSSU1JVElWRV9UWVBFUyA9IHtcbiAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICBiZWdpbjogJ1xcXFxiW2EtelxcXFxkX10qX3RcXFxcYidcbiAgfTtcblxuICAvLyBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20vdy9jcHAvbGFuZ3VhZ2UvZXNjYXBlXG4gIC8vIFxcXFwgXFx4IFxceEZGIFxcdTI4MzcgXFx1MDAzMjM3NDcgXFwzNzRcbiAgY29uc3QgQ0hBUkFDVEVSX0VTQ0FQRVMgPSAnXFxcXFxcXFwoeFswLTlBLUZhLWZdezJ9fHVbMC05QS1GYS1mXXs0LDh9fFswLTddezN9fFxcXFxTKSc7XG4gIGNvbnN0IFNUUklOR1MgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogJyh1OD98VXxMKT9cIicsXG4gICAgICAgIGVuZDogJ1wiJyxcbiAgICAgICAgaWxsZWdhbDogJ1xcXFxuJyxcbiAgICAgICAgY29udGFpbnM6IFsgaGxqcy5CQUNLU0xBU0hfRVNDQVBFIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnKHU4P3xVfEwpP1xcJygnICsgQ0hBUkFDVEVSX0VTQ0FQRVMgKyAnfC4pJyxcbiAgICAgICAgZW5kOiAnXFwnJyxcbiAgICAgICAgaWxsZWdhbDogJy4nXG4gICAgICB9LFxuICAgICAgaGxqcy5FTkRfU0FNRV9BU19CRUdJTih7XG4gICAgICAgIGJlZ2luOiAvKD86dTg/fFV8TCk/UlwiKFteKClcXFxcIF17MCwxNn0pXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpKFteKClcXFxcIF17MCwxNn0pXCIvXG4gICAgICB9KVxuICAgIF1cbiAgfTtcblxuICBjb25zdCBOVU1CRVJTID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIC8vIEZsb2F0aW5nLXBvaW50IGxpdGVyYWwuXG4gICAgICB7IGJlZ2luOlxuICAgICAgICBcIlsrLV0/KD86XCIgLy8gTGVhZGluZyBzaWduLlxuICAgICAgICAgIC8vIERlY2ltYWwuXG4gICAgICAgICAgKyBcIig/OlwiXG4gICAgICAgICAgICArXCJbMC05XSg/Oic/WzAtOV0pKlxcXFwuKD86WzAtOV0oPzonP1swLTldKSopP1wiXG4gICAgICAgICAgICArIFwifFxcXFwuWzAtOV0oPzonP1swLTldKSpcIlxuICAgICAgICAgICsgXCIpKD86W0VlXVsrLV0/WzAtOV0oPzonP1swLTldKSopP1wiXG4gICAgICAgICAgKyBcInxbMC05XSg/Oic/WzAtOV0pKltFZV1bKy1dP1swLTldKD86Jz9bMC05XSkqXCJcbiAgICAgICAgICAvLyBIZXhhZGVjaW1hbC5cbiAgICAgICAgICArIFwifDBbWHhdKD86XCJcbiAgICAgICAgICAgICtcIlswLTlBLUZhLWZdKD86Jz9bMC05QS1GYS1mXSkqKD86XFxcXC4oPzpbMC05QS1GYS1mXSg/Oic/WzAtOUEtRmEtZl0pKik/KT9cIlxuICAgICAgICAgICAgKyBcInxcXFxcLlswLTlBLUZhLWZdKD86Jz9bMC05QS1GYS1mXSkqXCJcbiAgICAgICAgICArIFwiKVtQcF1bKy1dP1swLTldKD86Jz9bMC05XSkqXCJcbiAgICAgICAgKyBcIikoPzpcIiAvLyBMaXRlcmFsIHN1ZmZpeGVzLlxuICAgICAgICAgICsgXCJbRmZdKD86MTZ8MzJ8NjR8MTI4KT9cIlxuICAgICAgICAgICsgXCJ8KEJGfGJmKTE2XCJcbiAgICAgICAgICArIFwifFtMbF1cIlxuICAgICAgICAgICsgXCJ8XCIgLy8gTGl0ZXJhbCBzdWZmaXggaXMgb3B0aW9uYWwuXG4gICAgICAgICsgXCIpXCJcbiAgICAgIH0sXG4gICAgICAvLyBJbnRlZ2VyIGxpdGVyYWwuXG4gICAgICB7IGJlZ2luOlxuICAgICAgICBcIlsrLV0/XFxcXGIoPzpcIiAvLyBMZWFkaW5nIHNpZ24uXG4gICAgICAgICAgKyBcIjBbQmJdWzAxXSg/Oic/WzAxXSkqXCIgLy8gQmluYXJ5LlxuICAgICAgICAgICsgXCJ8MFtYeF1bMC05QS1GYS1mXSg/Oic/WzAtOUEtRmEtZl0pKlwiIC8vIEhleGFkZWNpbWFsLlxuICAgICAgICAgICsgXCJ8MCg/Oic/WzAtN10pKlwiIC8vIE9jdGFsIG9yIGp1c3QgYSBsb25lIHplcm8uXG4gICAgICAgICAgKyBcInxbMS05XSg/Oic/WzAtOV0pKlwiIC8vIERlY2ltYWwuXG4gICAgICAgICsgXCIpKD86XCIgLy8gTGl0ZXJhbCBzdWZmaXhlcy5cbiAgICAgICAgICArIFwiW1V1XSg/OkxMP3xsbD8pXCJcbiAgICAgICAgICArIFwifFtVdV1bWnpdP1wiXG4gICAgICAgICAgKyBcInwoPzpMTD98bGw/KVtVdV0/XCJcbiAgICAgICAgICArIFwifFtael1bVXVdXCJcbiAgICAgICAgICArIFwifFwiIC8vIExpdGVyYWwgc3VmZml4IGlzIG9wdGlvbmFsLlxuICAgICAgICArIFwiKVwiXG4gICAgICAgIC8vIE5vdGU6IHRoZXJlIGFyZSB1c2VyLWRlZmluZWQgbGl0ZXJhbCBzdWZmaXhlcyB0b28sIGJ1dCBwZXJoYXBzIGhhdmluZyB0aGUgY3VzdG9tIHN1ZmZpeCBub3QgcGFydCBvZiB0aGVcbiAgICAgICAgLy8gbGl0ZXJhbCBoaWdobGlnaHQgYWN0dWFsbHkgbWFrZXMgaXQgc3RhbmQgb3V0IG1vcmUuXG4gICAgICB9XG4gICAgXSxcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBQUkVQUk9DRVNTT1IgPSB7XG4gICAgY2xhc3NOYW1lOiAnbWV0YScsXG4gICAgYmVnaW46IC8jXFxzKlthLXpdK1xcYi8sXG4gICAgZW5kOiAvJC8sXG4gICAga2V5d29yZHM6IHsga2V5d29yZDpcbiAgICAgICAgJ2lmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lICdcbiAgICAgICAgKyAncHJhZ21hIF9QcmFnbWEgaWZkZWYgaWZuZGVmIGluY2x1ZGUnIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXFxcXFxuLyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgaGxqcy5pbmhlcml0KFNUUklOR1MsIHsgY2xhc3NOYW1lOiAnc3RyaW5nJyB9KSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICAgICAgYmVnaW46IC88Lio/Pi9cbiAgICAgIH0sXG4gICAgICBDX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgIF1cbiAgfTtcblxuICBjb25zdCBUSVRMRV9NT0RFID0ge1xuICAgIGNsYXNzTmFtZTogJ3RpdGxlJyxcbiAgICBiZWdpbjogcmVnZXgub3B0aW9uYWwoTkFNRVNQQUNFX1JFKSArIGhsanMuSURFTlRfUkUsXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgRlVOQ1RJT05fVElUTEUgPSByZWdleC5vcHRpb25hbChOQU1FU1BBQ0VfUkUpICsgaGxqcy5JREVOVF9SRSArICdcXFxccypcXFxcKCc7XG5cbiAgLy8gaHR0cHM6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2tleXdvcmRcbiAgY29uc3QgUkVTRVJWRURfS0VZV09SRFMgPSBbXG4gICAgJ2FsaWduYXMnLFxuICAgICdhbGlnbm9mJyxcbiAgICAnYW5kJyxcbiAgICAnYW5kX2VxJyxcbiAgICAnYXNtJyxcbiAgICAnYXRvbWljX2NhbmNlbCcsXG4gICAgJ2F0b21pY19jb21taXQnLFxuICAgICdhdG9taWNfbm9leGNlcHQnLFxuICAgICdhdXRvJyxcbiAgICAnYml0YW5kJyxcbiAgICAnYml0b3InLFxuICAgICdicmVhaycsXG4gICAgJ2Nhc2UnLFxuICAgICdjYXRjaCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnY29fYXdhaXQnLFxuICAgICdjb19yZXR1cm4nLFxuICAgICdjb195aWVsZCcsXG4gICAgJ2NvbXBsJyxcbiAgICAnY29uY2VwdCcsXG4gICAgJ2NvbnN0X2Nhc3R8MTAnLFxuICAgICdjb25zdGV2YWwnLFxuICAgICdjb25zdGV4cHInLFxuICAgICdjb25zdGluaXQnLFxuICAgICdjb250aW51ZScsXG4gICAgJ2RlY2x0eXBlJyxcbiAgICAnZGVmYXVsdCcsXG4gICAgJ2RlbGV0ZScsXG4gICAgJ2RvJyxcbiAgICAnZHluYW1pY19jYXN0fDEwJyxcbiAgICAnZWxzZScsXG4gICAgJ2VudW0nLFxuICAgICdleHBsaWNpdCcsXG4gICAgJ2V4cG9ydCcsXG4gICAgJ2V4dGVybicsXG4gICAgJ2ZhbHNlJyxcbiAgICAnZmluYWwnLFxuICAgICdmb3InLFxuICAgICdmcmllbmQnLFxuICAgICdnb3RvJyxcbiAgICAnaWYnLFxuICAgICdpbXBvcnQnLFxuICAgICdpbmxpbmUnLFxuICAgICdtb2R1bGUnLFxuICAgICdtdXRhYmxlJyxcbiAgICAnbmFtZXNwYWNlJyxcbiAgICAnbmV3JyxcbiAgICAnbm9leGNlcHQnLFxuICAgICdub3QnLFxuICAgICdub3RfZXEnLFxuICAgICdudWxscHRyJyxcbiAgICAnb3BlcmF0b3InLFxuICAgICdvcicsXG4gICAgJ29yX2VxJyxcbiAgICAnb3ZlcnJpZGUnLFxuICAgICdwcml2YXRlJyxcbiAgICAncHJvdGVjdGVkJyxcbiAgICAncHVibGljJyxcbiAgICAncmVmbGV4cHInLFxuICAgICdyZWdpc3RlcicsXG4gICAgJ3JlaW50ZXJwcmV0X2Nhc3R8MTAnLFxuICAgICdyZXF1aXJlcycsXG4gICAgJ3JldHVybicsXG4gICAgJ3NpemVvZicsXG4gICAgJ3N0YXRpY19hc3NlcnQnLFxuICAgICdzdGF0aWNfY2FzdHwxMCcsXG4gICAgJ3N0cnVjdCcsXG4gICAgJ3N3aXRjaCcsXG4gICAgJ3N5bmNocm9uaXplZCcsXG4gICAgJ3RlbXBsYXRlJyxcbiAgICAndGhpcycsXG4gICAgJ3RocmVhZF9sb2NhbCcsXG4gICAgJ3Rocm93JyxcbiAgICAndHJhbnNhY3Rpb25fc2FmZScsXG4gICAgJ3RyYW5zYWN0aW9uX3NhZmVfZHluYW1pYycsXG4gICAgJ3RydWUnLFxuICAgICd0cnknLFxuICAgICd0eXBlZGVmJyxcbiAgICAndHlwZWlkJyxcbiAgICAndHlwZW5hbWUnLFxuICAgICd1bmlvbicsXG4gICAgJ3VzaW5nJyxcbiAgICAndmlydHVhbCcsXG4gICAgJ3ZvbGF0aWxlJyxcbiAgICAnd2hpbGUnLFxuICAgICd4b3InLFxuICAgICd4b3JfZXEnXG4gIF07XG5cbiAgLy8gaHR0cHM6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2tleXdvcmRcbiAgY29uc3QgUkVTRVJWRURfVFlQRVMgPSBbXG4gICAgJ2Jvb2wnLFxuICAgICdjaGFyJyxcbiAgICAnY2hhcjE2X3QnLFxuICAgICdjaGFyMzJfdCcsXG4gICAgJ2NoYXI4X3QnLFxuICAgICdkb3VibGUnLFxuICAgICdmbG9hdCcsXG4gICAgJ2ludCcsXG4gICAgJ2xvbmcnLFxuICAgICdzaG9ydCcsXG4gICAgJ3ZvaWQnLFxuICAgICd3Y2hhcl90JyxcbiAgICAndW5zaWduZWQnLFxuICAgICdzaWduZWQnLFxuICAgICdjb25zdCcsXG4gICAgJ3N0YXRpYydcbiAgXTtcblxuICBjb25zdCBUWVBFX0hJTlRTID0gW1xuICAgICdhbnknLFxuICAgICdhdXRvX3B0cicsXG4gICAgJ2JhcnJpZXInLFxuICAgICdiaW5hcnlfc2VtYXBob3JlJyxcbiAgICAnYml0c2V0JyxcbiAgICAnY29tcGxleCcsXG4gICAgJ2NvbmRpdGlvbl92YXJpYWJsZScsXG4gICAgJ2NvbmRpdGlvbl92YXJpYWJsZV9hbnknLFxuICAgICdjb3VudGluZ19zZW1hcGhvcmUnLFxuICAgICdkZXF1ZScsXG4gICAgJ2ZhbHNlX3R5cGUnLFxuICAgICdmbGF0X21hcCcsXG4gICAgJ2ZsYXRfc2V0JyxcbiAgICAnZnV0dXJlJyxcbiAgICAnaW1hZ2luYXJ5JyxcbiAgICAnaW5pdGlhbGl6ZXJfbGlzdCcsXG4gICAgJ2lzdHJpbmdzdHJlYW0nLFxuICAgICdqdGhyZWFkJyxcbiAgICAnbGF0Y2gnLFxuICAgICdsb2NrX2d1YXJkJyxcbiAgICAnbXVsdGltYXAnLFxuICAgICdtdWx0aXNldCcsXG4gICAgJ211dGV4JyxcbiAgICAnb3B0aW9uYWwnLFxuICAgICdvc3RyaW5nc3RyZWFtJyxcbiAgICAncGFja2FnZWRfdGFzaycsXG4gICAgJ3BhaXInLFxuICAgICdwcm9taXNlJyxcbiAgICAncHJpb3JpdHlfcXVldWUnLFxuICAgICdxdWV1ZScsXG4gICAgJ3JlY3Vyc2l2ZV9tdXRleCcsXG4gICAgJ3JlY3Vyc2l2ZV90aW1lZF9tdXRleCcsXG4gICAgJ3Njb3BlZF9sb2NrJyxcbiAgICAnc2V0JyxcbiAgICAnc2hhcmVkX2Z1dHVyZScsXG4gICAgJ3NoYXJlZF9sb2NrJyxcbiAgICAnc2hhcmVkX211dGV4JyxcbiAgICAnc2hhcmVkX3RpbWVkX211dGV4JyxcbiAgICAnc2hhcmVkX3B0cicsXG4gICAgJ3N0YWNrJyxcbiAgICAnc3RyaW5nX3ZpZXcnLFxuICAgICdzdHJpbmdzdHJlYW0nLFxuICAgICd0aW1lZF9tdXRleCcsXG4gICAgJ3RocmVhZCcsXG4gICAgJ3RydWVfdHlwZScsXG4gICAgJ3R1cGxlJyxcbiAgICAndW5pcXVlX2xvY2snLFxuICAgICd1bmlxdWVfcHRyJyxcbiAgICAndW5vcmRlcmVkX21hcCcsXG4gICAgJ3Vub3JkZXJlZF9tdWx0aW1hcCcsXG4gICAgJ3Vub3JkZXJlZF9tdWx0aXNldCcsXG4gICAgJ3Vub3JkZXJlZF9zZXQnLFxuICAgICd2YXJpYW50JyxcbiAgICAndmVjdG9yJyxcbiAgICAnd2Vha19wdHInLFxuICAgICd3c3RyaW5nJyxcbiAgICAnd3N0cmluZ192aWV3J1xuICBdO1xuXG4gIGNvbnN0IEZVTkNUSU9OX0hJTlRTID0gW1xuICAgICdhYm9ydCcsXG4gICAgJ2FicycsXG4gICAgJ2Fjb3MnLFxuICAgICdhcHBseScsXG4gICAgJ2FzX2NvbnN0JyxcbiAgICAnYXNpbicsXG4gICAgJ2F0YW4nLFxuICAgICdhdGFuMicsXG4gICAgJ2NhbGxvYycsXG4gICAgJ2NlaWwnLFxuICAgICdjZXJyJyxcbiAgICAnY2luJyxcbiAgICAnY2xvZycsXG4gICAgJ2NvcycsXG4gICAgJ2Nvc2gnLFxuICAgICdjb3V0JyxcbiAgICAnZGVjbHZhbCcsXG4gICAgJ2VuZGwnLFxuICAgICdleGNoYW5nZScsXG4gICAgJ2V4aXQnLFxuICAgICdleHAnLFxuICAgICdmYWJzJyxcbiAgICAnZmxvb3InLFxuICAgICdmbW9kJyxcbiAgICAnZm9yd2FyZCcsXG4gICAgJ2ZwcmludGYnLFxuICAgICdmcHV0cycsXG4gICAgJ2ZyZWUnLFxuICAgICdmcmV4cCcsXG4gICAgJ2ZzY2FuZicsXG4gICAgJ2Z1dHVyZScsXG4gICAgJ2ludm9rZScsXG4gICAgJ2lzYWxudW0nLFxuICAgICdpc2FscGhhJyxcbiAgICAnaXNjbnRybCcsXG4gICAgJ2lzZGlnaXQnLFxuICAgICdpc2dyYXBoJyxcbiAgICAnaXNsb3dlcicsXG4gICAgJ2lzcHJpbnQnLFxuICAgICdpc3B1bmN0JyxcbiAgICAnaXNzcGFjZScsXG4gICAgJ2lzdXBwZXInLFxuICAgICdpc3hkaWdpdCcsXG4gICAgJ2xhYnMnLFxuICAgICdsYXVuZGVyJyxcbiAgICAnbGRleHAnLFxuICAgICdsb2cnLFxuICAgICdsb2cxMCcsXG4gICAgJ21ha2VfcGFpcicsXG4gICAgJ21ha2Vfc2hhcmVkJyxcbiAgICAnbWFrZV9zaGFyZWRfZm9yX292ZXJ3cml0ZScsXG4gICAgJ21ha2VfdHVwbGUnLFxuICAgICdtYWtlX3VuaXF1ZScsXG4gICAgJ21hbGxvYycsXG4gICAgJ21lbWNocicsXG4gICAgJ21lbWNtcCcsXG4gICAgJ21lbWNweScsXG4gICAgJ21lbXNldCcsXG4gICAgJ21vZGYnLFxuICAgICdtb3ZlJyxcbiAgICAncG93JyxcbiAgICAncHJpbnRmJyxcbiAgICAncHV0Y2hhcicsXG4gICAgJ3B1dHMnLFxuICAgICdyZWFsbG9jJyxcbiAgICAnc2NhbmYnLFxuICAgICdzaW4nLFxuICAgICdzaW5oJyxcbiAgICAnc25wcmludGYnLFxuICAgICdzcHJpbnRmJyxcbiAgICAnc3FydCcsXG4gICAgJ3NzY2FuZicsXG4gICAgJ3N0ZCcsXG4gICAgJ3N0ZGVycicsXG4gICAgJ3N0ZGluJyxcbiAgICAnc3Rkb3V0JyxcbiAgICAnc3RyY2F0JyxcbiAgICAnc3RyY2hyJyxcbiAgICAnc3RyY21wJyxcbiAgICAnc3RyY3B5JyxcbiAgICAnc3RyY3NwbicsXG4gICAgJ3N0cmxlbicsXG4gICAgJ3N0cm5jYXQnLFxuICAgICdzdHJuY21wJyxcbiAgICAnc3RybmNweScsXG4gICAgJ3N0cnBicmsnLFxuICAgICdzdHJyY2hyJyxcbiAgICAnc3Ryc3BuJyxcbiAgICAnc3Ryc3RyJyxcbiAgICAnc3dhcCcsXG4gICAgJ3RhbicsXG4gICAgJ3RhbmgnLFxuICAgICd0ZXJtaW5hdGUnLFxuICAgICd0b191bmRlcmx5aW5nJyxcbiAgICAndG9sb3dlcicsXG4gICAgJ3RvdXBwZXInLFxuICAgICd2ZnByaW50ZicsXG4gICAgJ3Zpc2l0JyxcbiAgICAndnByaW50ZicsXG4gICAgJ3ZzcHJpbnRmJ1xuICBdO1xuXG4gIGNvbnN0IExJVEVSQUxTID0gW1xuICAgICdOVUxMJyxcbiAgICAnZmFsc2UnLFxuICAgICdudWxsb3B0JyxcbiAgICAnbnVsbHB0cicsXG4gICAgJ3RydWUnXG4gIF07XG5cbiAgLy8gaHR0cHM6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2tleXdvcmRcbiAgY29uc3QgQlVJTFRfSU4gPSBbICdfUHJhZ21hJyBdO1xuXG4gIGNvbnN0IENQUF9LRVlXT1JEUyA9IHtcbiAgICB0eXBlOiBSRVNFUlZFRF9UWVBFUyxcbiAgICBrZXl3b3JkOiBSRVNFUlZFRF9LRVlXT1JEUyxcbiAgICBsaXRlcmFsOiBMSVRFUkFMUyxcbiAgICBidWlsdF9pbjogQlVJTFRfSU4sXG4gICAgX3R5cGVfaGludHM6IFRZUEVfSElOVFNcbiAgfTtcblxuICBjb25zdCBGVU5DVElPTl9ESVNQQVRDSCA9IHtcbiAgICBjbGFzc05hbWU6ICdmdW5jdGlvbi5kaXNwYXRjaCcsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICAvLyBPbmx5IGZvciByZWxldmFuY2UsIG5vdCBoaWdobGlnaHRpbmcuXG4gICAgICBfaGludDogRlVOQ1RJT05fSElOVFMgfSxcbiAgICBiZWdpbjogcmVnZXguY29uY2F0KFxuICAgICAgL1xcYi8sXG4gICAgICAvKD8hZGVjbHR5cGUpLyxcbiAgICAgIC8oPyFpZikvLFxuICAgICAgLyg/IWZvcikvLFxuICAgICAgLyg/IXN3aXRjaCkvLFxuICAgICAgLyg/IXdoaWxlKS8sXG4gICAgICBobGpzLklERU5UX1JFLFxuICAgICAgcmVnZXgubG9va2FoZWFkKC8oPFtePD5dKz58KVxccypcXCgvKSlcbiAgfTtcblxuICBjb25zdCBFWFBSRVNTSU9OX0NPTlRBSU5TID0gW1xuICAgIEZVTkNUSU9OX0RJU1BBVENILFxuICAgIFBSRVBST0NFU1NPUixcbiAgICBDUFBfUFJJTUlUSVZFX1RZUEVTLFxuICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICBOVU1CRVJTLFxuICAgIFNUUklOR1NcbiAgXTtcblxuICBjb25zdCBFWFBSRVNTSU9OX0NPTlRFWFQgPSB7XG4gICAgLy8gVGhpcyBtb2RlIGNvdmVycyBleHByZXNzaW9uIGNvbnRleHQgd2hlcmUgd2UgY2FuJ3QgZXhwZWN0IGEgZnVuY3Rpb25cbiAgICAvLyBkZWZpbml0aW9uIGFuZCBzaG91bGRuJ3QgaGlnaGxpZ2h0IGFueXRoaW5nIHRoYXQgbG9va3MgbGlrZSBvbmU6XG4gICAgLy8gYHJldHVybiBzb21lKClgLCBgZWxzZSBpZigpYCwgYCh4KnN1bSgxLCAyKSlgXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC89LyxcbiAgICAgICAgZW5kOiAvOy9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ25ldyB0aHJvdyByZXR1cm4gZWxzZScsXG4gICAgICAgIGVuZDogLzsvXG4gICAgICB9XG4gICAgXSxcbiAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgIGNvbnRhaW5zOiBFWFBSRVNTSU9OX0NPTlRBSU5TLmNvbmNhdChbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAga2V5d29yZHM6IENQUF9LRVlXT1JEUyxcbiAgICAgICAgY29udGFpbnM6IEVYUFJFU1NJT05fQ09OVEFJTlMuY29uY2F0KFsgJ3NlbGYnIF0pLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH1cbiAgICBdKSxcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBGVU5DVElPTl9ERUNMQVJBVElPTiA9IHtcbiAgICBjbGFzc05hbWU6ICdmdW5jdGlvbicsXG4gICAgYmVnaW46ICcoJyArIEZVTkNUSU9OX1RZUEVfUkUgKyAnW1xcXFwqJlxcXFxzXSspKycgKyBGVU5DVElPTl9USVRMRSxcbiAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICBlbmQ6IC9bezs9XS8sXG4gICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgIGlsbGVnYWw6IC9bXlxcd1xcc1xcKiY6PD4uXS8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHsgLy8gdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGNvbmZ1c2VkIGFzIHRoZSBmdW5jdGlvbiB0aXRsZVxuICAgICAgICBiZWdpbjogREVDTFRZUEVfQVVUT19SRSxcbiAgICAgICAga2V5d29yZHM6IENQUF9LRVlXT1JEUyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogRlVOQ1RJT05fVElUTEUsXG4gICAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgICBjb250YWluczogWyBUSVRMRV9NT0RFIF0sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIC8vIG5lZWRlZCBiZWNhdXNlIHdlIGRvIG5vdCBoYXZlIGxvb2stYmVoaW5kIG9uIHRoZSBiZWxvdyBydWxlXG4gICAgICAvLyB0byBwcmV2ZW50IGl0IGZyb20gZ3JhYmJpbmcgdGhlIGZpbmFsIDogaW4gYSA6OiBwYWlyXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvOjovLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICAvLyBpbml0aWFsaXplcnNcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC86LyxcbiAgICAgICAgZW5kc1dpdGhQYXJlbnQ6IHRydWUsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgU1RSSU5HUyxcbiAgICAgICAgICBOVU1CRVJTXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAvLyBhbGxvdyBmb3IgbXVsdGlwbGUgZGVjbGFyYXRpb25zLCBlLmcuOlxuICAgICAgLy8gZXh0ZXJuIHZvaWQgZihpbnQpLCBnKGNoYXIpO1xuICAgICAge1xuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIG1hdGNoOiAvLC9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3BhcmFtcycsXG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAga2V5d29yZHM6IENQUF9LRVlXT1JEUyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIENfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICBTVFJJTkdTLFxuICAgICAgICAgIE5VTUJFUlMsXG4gICAgICAgICAgQ1BQX1BSSU1JVElWRV9UWVBFUyxcbiAgICAgICAgICAvLyBDb3VudCBtYXRjaGluZyBwYXJlbnRoZXNlcy5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogL1xcKC8sXG4gICAgICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICAgICAga2V5d29yZHM6IENQUF9LRVlXT1JEUyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAgICAgQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICAgICAgU1RSSU5HUyxcbiAgICAgICAgICAgICAgTlVNQkVSUyxcbiAgICAgICAgICAgICAgQ1BQX1BSSU1JVElWRV9UWVBFU1xuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIENQUF9QUklNSVRJVkVfVFlQRVMsXG4gICAgICBDX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgIFBSRVBST0NFU1NPUlxuICAgIF1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdDKysnLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICdjYycsXG4gICAgICAnYysrJyxcbiAgICAgICdoKysnLFxuICAgICAgJ2hwcCcsXG4gICAgICAnaGgnLFxuICAgICAgJ2h4eCcsXG4gICAgICAnY3h4J1xuICAgIF0sXG4gICAga2V5d29yZHM6IENQUF9LRVlXT1JEUyxcbiAgICBpbGxlZ2FsOiAnPC8nLFxuICAgIGNsYXNzTmFtZUFsaWFzZXM6IHsgJ2Z1bmN0aW9uLmRpc3BhdGNoJzogJ2J1aWx0X2luJyB9LFxuICAgIGNvbnRhaW5zOiBbXS5jb25jYXQoXG4gICAgICBFWFBSRVNTSU9OX0NPTlRFWFQsXG4gICAgICBGVU5DVElPTl9ERUNMQVJBVElPTixcbiAgICAgIEZVTkNUSU9OX0RJU1BBVENILFxuICAgICAgRVhQUkVTU0lPTl9DT05UQUlOUyxcbiAgICAgIFtcbiAgICAgICAgUFJFUFJPQ0VTU09SLFxuICAgICAgICB7IC8vIGNvbnRhaW5lcnM6IGllLCBgdmVjdG9yIDxpbnQ+IHJvb21zICg5KTtgXG4gICAgICAgICAgYmVnaW46ICdcXFxcYihkZXF1ZXxsaXN0fHF1ZXVlfHByaW9yaXR5X3F1ZXVlfHBhaXJ8c3RhY2t8dmVjdG9yfG1hcHxzZXR8Yml0c2V0fG11bHRpc2V0fG11bHRpbWFwfHVub3JkZXJlZF9tYXB8dW5vcmRlcmVkX3NldHx1bm9yZGVyZWRfbXVsdGlzZXR8dW5vcmRlcmVkX211bHRpbWFwfGFycmF5fHR1cGxlfG9wdGlvbmFsfHZhcmlhbnR8ZnVuY3Rpb258ZmxhdF9tYXB8ZmxhdF9zZXQpXFxcXHMqPCg/ITwpJyxcbiAgICAgICAgICBlbmQ6ICc+JyxcbiAgICAgICAgICBrZXl3b3JkczogQ1BQX0tFWVdPUkRTLFxuICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAnc2VsZicsXG4gICAgICAgICAgICBDUFBfUFJJTUlUSVZFX1RZUEVTXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46IGhsanMuSURFTlRfUkUgKyAnOjonLFxuICAgICAgICAgIGtleXdvcmRzOiBDUFBfS0VZV09SRFNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1hdGNoOiBbXG4gICAgICAgICAgICAvLyBleHRyYSBjb21wbGV4aXR5IHRvIGRlYWwgd2l0aCBgZW51bSBjbGFzc2AgYW5kIGBlbnVtIHN0cnVjdGBcbiAgICAgICAgICAgIC9cXGIoPzplbnVtKD86XFxzKyg/OmNsYXNzfHN0cnVjdCkpP3xjbGFzc3xzdHJ1Y3R8dW5pb24pLyxcbiAgICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICAgIC9cXHcrL1xuICAgICAgICAgIF0sXG4gICAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgICAxOiAna2V5d29yZCcsXG4gICAgICAgICAgICAzOiAndGl0bGUuY2xhc3MnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdKVxuICB9O1xufVxuXG5leHBvcnQgeyBjcHAgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/cpp.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/csharp.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/csharp.js ***!
\**************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ csharp)\n/* harmony export */ });\n/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'args',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'dynamic',\n 'equals',\n 'file',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'record',\n 'remove',\n 'required',\n 'scoped',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: '?',\n end: '>'\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9jc2hhcnAuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsNkJBQTZCO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBLFFBQVEseUJBQXlCO0FBQ2pDLFFBQVEsNkVBQTZFO0FBQ3JGLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsY0FBYztBQUNoQztBQUNBLGdFQUFnRSxlQUFlO0FBQy9FO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsWUFBWTtBQUNaO0FBQ0E7QUFDQSw0Q0FBNEMsZUFBZTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLFVBQVUsRUFBRSxHQUFHO0FBQ3ZCLFFBQVEsVUFBVSxFQUFFLEdBQUc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxVQUFVLEVBQUUsR0FBRztBQUN2QixRQUFRLFVBQVUsRUFBRSxHQUFHO0FBQ3ZCLFFBQVEsYUFBYTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLFVBQVUsRUFBRSxHQUFHO0FBQ3ZCLFFBQVEsVUFBVSxFQUFFLEdBQUc7QUFDdkIsUUFBUSxhQUFhO0FBQ3JCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsZUFBZTtBQUM3RDtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEseUJBQXlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixrQkFBa0IsbUJBQW1CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsWUFBWSw4QkFBOEI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUU2QiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvY3NoYXJwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogQyNcbkF1dGhvcjogSmFzb24gRGlhbW9uZCA8amFzb25AZGlhbW9uZC5uYW1lPlxuQ29udHJpYnV0b3I6IE5pY29sYXMgTExPQkVSQSA8bmxsb2JlcmFAZ21haWwuY29tPiwgUGlldGVyIFZhbnRvcnJlIDxwaWV0ZXJ2YW50b3JyZUBnbWFpbC5jb20+LCBEYXZpZCBQaW5lIDxkYXZpZC5waW5lQG1pY3Jvc29mdC5jb20+XG5XZWJzaXRlOiBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9kb3RuZXQvY3NoYXJwL1xuQ2F0ZWdvcnk6IGNvbW1vblxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGNzaGFycChobGpzKSB7XG4gIGNvbnN0IEJVSUxUX0lOX0tFWVdPUkRTID0gW1xuICAgICdib29sJyxcbiAgICAnYnl0ZScsXG4gICAgJ2NoYXInLFxuICAgICdkZWNpbWFsJyxcbiAgICAnZGVsZWdhdGUnLFxuICAgICdkb3VibGUnLFxuICAgICdkeW5hbWljJyxcbiAgICAnZW51bScsXG4gICAgJ2Zsb2F0JyxcbiAgICAnaW50JyxcbiAgICAnbG9uZycsXG4gICAgJ25pbnQnLFxuICAgICdudWludCcsXG4gICAgJ29iamVjdCcsXG4gICAgJ3NieXRlJyxcbiAgICAnc2hvcnQnLFxuICAgICdzdHJpbmcnLFxuICAgICd1bG9uZycsXG4gICAgJ3VpbnQnLFxuICAgICd1c2hvcnQnXG4gIF07XG4gIGNvbnN0IEZVTkNUSU9OX01PRElGSUVSUyA9IFtcbiAgICAncHVibGljJyxcbiAgICAncHJpdmF0ZScsXG4gICAgJ3Byb3RlY3RlZCcsXG4gICAgJ3N0YXRpYycsXG4gICAgJ2ludGVybmFsJyxcbiAgICAncHJvdGVjdGVkJyxcbiAgICAnYWJzdHJhY3QnLFxuICAgICdhc3luYycsXG4gICAgJ2V4dGVybicsXG4gICAgJ292ZXJyaWRlJyxcbiAgICAndW5zYWZlJyxcbiAgICAndmlydHVhbCcsXG4gICAgJ25ldycsXG4gICAgJ3NlYWxlZCcsXG4gICAgJ3BhcnRpYWwnXG4gIF07XG4gIGNvbnN0IExJVEVSQUxfS0VZV09SRFMgPSBbXG4gICAgJ2RlZmF1bHQnLFxuICAgICdmYWxzZScsXG4gICAgJ251bGwnLFxuICAgICd0cnVlJ1xuICBdO1xuICBjb25zdCBOT1JNQUxfS0VZV09SRFMgPSBbXG4gICAgJ2Fic3RyYWN0JyxcbiAgICAnYXMnLFxuICAgICdiYXNlJyxcbiAgICAnYnJlYWsnLFxuICAgICdjYXNlJyxcbiAgICAnY2F0Y2gnLFxuICAgICdjbGFzcycsXG4gICAgJ2NvbnN0JyxcbiAgICAnY29udGludWUnLFxuICAgICdkbycsXG4gICAgJ2Vsc2UnLFxuICAgICdldmVudCcsXG4gICAgJ2V4cGxpY2l0JyxcbiAgICAnZXh0ZXJuJyxcbiAgICAnZmluYWxseScsXG4gICAgJ2ZpeGVkJyxcbiAgICAnZm9yJyxcbiAgICAnZm9yZWFjaCcsXG4gICAgJ2dvdG8nLFxuICAgICdpZicsXG4gICAgJ2ltcGxpY2l0JyxcbiAgICAnaW4nLFxuICAgICdpbnRlcmZhY2UnLFxuICAgICdpbnRlcm5hbCcsXG4gICAgJ2lzJyxcbiAgICAnbG9jaycsXG4gICAgJ25hbWVzcGFjZScsXG4gICAgJ25ldycsXG4gICAgJ29wZXJhdG9yJyxcbiAgICAnb3V0JyxcbiAgICAnb3ZlcnJpZGUnLFxuICAgICdwYXJhbXMnLFxuICAgICdwcml2YXRlJyxcbiAgICAncHJvdGVjdGVkJyxcbiAgICAncHVibGljJyxcbiAgICAncmVhZG9ubHknLFxuICAgICdyZWNvcmQnLFxuICAgICdyZWYnLFxuICAgICdyZXR1cm4nLFxuICAgICdzY29wZWQnLFxuICAgICdzZWFsZWQnLFxuICAgICdzaXplb2YnLFxuICAgICdzdGFja2FsbG9jJyxcbiAgICAnc3RhdGljJyxcbiAgICAnc3RydWN0JyxcbiAgICAnc3dpdGNoJyxcbiAgICAndGhpcycsXG4gICAgJ3Rocm93JyxcbiAgICAndHJ5JyxcbiAgICAndHlwZW9mJyxcbiAgICAndW5jaGVja2VkJyxcbiAgICAndW5zYWZlJyxcbiAgICAndXNpbmcnLFxuICAgICd2aXJ0dWFsJyxcbiAgICAndm9pZCcsXG4gICAgJ3ZvbGF0aWxlJyxcbiAgICAnd2hpbGUnXG4gIF07XG4gIGNvbnN0IENPTlRFWFRVQUxfS0VZV09SRFMgPSBbXG4gICAgJ2FkZCcsXG4gICAgJ2FsaWFzJyxcbiAgICAnYW5kJyxcbiAgICAnYXNjZW5kaW5nJyxcbiAgICAnYXJncycsXG4gICAgJ2FzeW5jJyxcbiAgICAnYXdhaXQnLFxuICAgICdieScsXG4gICAgJ2Rlc2NlbmRpbmcnLFxuICAgICdkeW5hbWljJyxcbiAgICAnZXF1YWxzJyxcbiAgICAnZmlsZScsXG4gICAgJ2Zyb20nLFxuICAgICdnZXQnLFxuICAgICdnbG9iYWwnLFxuICAgICdncm91cCcsXG4gICAgJ2luaXQnLFxuICAgICdpbnRvJyxcbiAgICAnam9pbicsXG4gICAgJ2xldCcsXG4gICAgJ25hbWVvZicsXG4gICAgJ25vdCcsXG4gICAgJ25vdG51bGwnLFxuICAgICdvbicsXG4gICAgJ29yJyxcbiAgICAnb3JkZXJieScsXG4gICAgJ3BhcnRpYWwnLFxuICAgICdyZWNvcmQnLFxuICAgICdyZW1vdmUnLFxuICAgICdyZXF1aXJlZCcsXG4gICAgJ3Njb3BlZCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3NldCcsXG4gICAgJ3VubWFuYWdlZCcsXG4gICAgJ3ZhbHVlfDAnLFxuICAgICd2YXInLFxuICAgICd3aGVuJyxcbiAgICAnd2hlcmUnLFxuICAgICd3aXRoJyxcbiAgICAneWllbGQnXG4gIF07XG5cbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAga2V5d29yZDogTk9STUFMX0tFWVdPUkRTLmNvbmNhdChDT05URVhUVUFMX0tFWVdPUkRTKSxcbiAgICBidWlsdF9pbjogQlVJTFRfSU5fS0VZV09SRFMsXG4gICAgbGl0ZXJhbDogTElURVJBTF9LRVlXT1JEU1xuICB9O1xuICBjb25zdCBUSVRMRV9NT0RFID0gaGxqcy5pbmhlcml0KGhsanMuVElUTEVfTU9ERSwgeyBiZWdpbjogJ1thLXpBLVpdKFxcXFwuP1xcXFx3KSonIH0pO1xuICBjb25zdCBOVU1CRVJTID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHsgYmVnaW46ICdcXFxcYigwYlswMVxcJ10rKScgfSxcbiAgICAgIHsgYmVnaW46ICcoLT8pXFxcXGIoW1xcXFxkXFwnXSsoXFxcXC5bXFxcXGRcXCddKik/fFxcXFwuW1xcXFxkXFwnXSspKHV8VXxsfEx8dWx8VUx8ZnxGfGJ8QiknIH0sXG4gICAgICB7IGJlZ2luOiAnKC0/KShcXFxcYjBbeFhdW2EtZkEtRjAtOVxcJ10rfChcXFxcYltcXFxcZFxcJ10rKFxcXFwuW1xcXFxkXFwnXSopP3xcXFxcLltcXFxcZFxcJ10rKShbZUVdWy0rXT9bXFxcXGRcXCddKyk/KScgfVxuICAgIF0sXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG4gIGNvbnN0IFJBV19TVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICBiZWdpbjogL1wiXCJcIihcIiopKD8hXCIpKC58XFxuKSo/XCJcIlwiXFwxLyxcbiAgICByZWxldmFuY2U6IDFcbiAgfTtcbiAgY29uc3QgVkVSQkFUSU1fU1RSSU5HID0ge1xuICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgYmVnaW46ICdAXCInLFxuICAgIGVuZDogJ1wiJyxcbiAgICBjb250YWluczogWyB7IGJlZ2luOiAnXCJcIicgfSBdXG4gIH07XG4gIGNvbnN0IFZFUkJBVElNX1NUUklOR19OT19MRiA9IGhsanMuaW5oZXJpdChWRVJCQVRJTV9TVFJJTkcsIHsgaWxsZWdhbDogL1xcbi8gfSk7XG4gIGNvbnN0IFNVQlNUID0ge1xuICAgIGNsYXNzTmFtZTogJ3N1YnN0JyxcbiAgICBiZWdpbjogL1xcey8sXG4gICAgZW5kOiAvXFx9LyxcbiAgICBrZXl3b3JkczogS0VZV09SRFNcbiAgfTtcbiAgY29uc3QgU1VCU1RfTk9fTEYgPSBobGpzLmluaGVyaXQoU1VCU1QsIHsgaWxsZWdhbDogL1xcbi8gfSk7XG4gIGNvbnN0IElOVEVSUE9MQVRFRF9TVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICBiZWdpbjogL1xcJFwiLyxcbiAgICBlbmQ6ICdcIicsXG4gICAgaWxsZWdhbDogL1xcbi8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHsgYmVnaW46IC9cXHtcXHsvIH0sXG4gICAgICB7IGJlZ2luOiAvXFx9XFx9LyB9LFxuICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgU1VCU1RfTk9fTEZcbiAgICBdXG4gIH07XG4gIGNvbnN0IElOVEVSUE9MQVRFRF9WRVJCQVRJTV9TVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICBiZWdpbjogL1xcJEBcIi8sXG4gICAgZW5kOiAnXCInLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7IGJlZ2luOiAvXFx7XFx7LyB9LFxuICAgICAgeyBiZWdpbjogL1xcfVxcfS8gfSxcbiAgICAgIHsgYmVnaW46ICdcIlwiJyB9LFxuICAgICAgU1VCU1RcbiAgICBdXG4gIH07XG4gIGNvbnN0IElOVEVSUE9MQVRFRF9WRVJCQVRJTV9TVFJJTkdfTk9fTEYgPSBobGpzLmluaGVyaXQoSU5URVJQT0xBVEVEX1ZFUkJBVElNX1NUUklORywge1xuICAgIGlsbGVnYWw6IC9cXG4vLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7IGJlZ2luOiAvXFx7XFx7LyB9LFxuICAgICAgeyBiZWdpbjogL1xcfVxcfS8gfSxcbiAgICAgIHsgYmVnaW46ICdcIlwiJyB9LFxuICAgICAgU1VCU1RfTk9fTEZcbiAgICBdXG4gIH0pO1xuICBTVUJTVC5jb250YWlucyA9IFtcbiAgICBJTlRFUlBPTEFURURfVkVSQkFUSU1fU1RSSU5HLFxuICAgIElOVEVSUE9MQVRFRF9TVFJJTkcsXG4gICAgVkVSQkFUSU1fU1RSSU5HLFxuICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgIE5VTUJFUlMsXG4gICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICBdO1xuICBTVUJTVF9OT19MRi5jb250YWlucyA9IFtcbiAgICBJTlRFUlBPTEFURURfVkVSQkFUSU1fU1RSSU5HX05PX0xGLFxuICAgIElOVEVSUE9MQVRFRF9TVFJJTkcsXG4gICAgVkVSQkFUSU1fU1RSSU5HX05PX0xGLFxuICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgIE5VTUJFUlMsXG4gICAgaGxqcy5pbmhlcml0KGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsIHsgaWxsZWdhbDogL1xcbi8gfSlcbiAgXTtcbiAgY29uc3QgU1RSSU5HID0geyB2YXJpYW50czogW1xuICAgIFJBV19TVFJJTkcsXG4gICAgSU5URVJQT0xBVEVEX1ZFUkJBVElNX1NUUklORyxcbiAgICBJTlRFUlBPTEFURURfU1RSSU5HLFxuICAgIFZFUkJBVElNX1NUUklORyxcbiAgICBobGpzLkFQT1NfU1RSSU5HX01PREUsXG4gICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERVxuICBdIH07XG5cbiAgY29uc3QgR0VORVJJQ19NT0RJRklFUiA9IHtcbiAgICBiZWdpbjogXCI8XCIsXG4gICAgZW5kOiBcIj5cIixcbiAgICBjb250YWluczogW1xuICAgICAgeyBiZWdpbktleXdvcmRzOiBcImluIG91dFwiIH0sXG4gICAgICBUSVRMRV9NT0RFXG4gICAgXVxuICB9O1xuICBjb25zdCBUWVBFX0lERU5UX1JFID0gaGxqcy5JREVOVF9SRSArICcoPCcgKyBobGpzLklERU5UX1JFICsgJyhcXFxccyosXFxcXHMqJyArIGhsanMuSURFTlRfUkUgKyAnKSo+KT8oXFxcXFtcXFxcXSk/JztcbiAgY29uc3QgQVRfSURFTlRJRklFUiA9IHtcbiAgICAvLyBwcmV2ZW50cyBleHByZXNzaW9ucyBsaWtlIGBAY2xhc3NgIGZyb20gaW5jb3JyZWN0IGZsYWdnaW5nXG4gICAgLy8gYGNsYXNzYCBhcyBhIGtleXdvcmRcbiAgICBiZWdpbjogXCJAXCIgKyBobGpzLklERU5UX1JFLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0MjJyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAnY3MnLFxuICAgICAgJ2MjJ1xuICAgIF0sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGlsbGVnYWw6IC86Oi8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQ09NTUVOVChcbiAgICAgICAgJy8vLycsXG4gICAgICAgICckJyxcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogJ2RvY3RhZycsXG4gICAgICAgICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYmVnaW46ICcvLy8nLFxuICAgICAgICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGJlZ2luOiAnPCEtLXwtLT4nIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYmVnaW46ICc8Lz8nLFxuICAgICAgICAgICAgICAgICAgZW5kOiAnPidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICAgICAgYmVnaW46ICcjJyxcbiAgICAgICAgZW5kOiAnJCcsXG4gICAgICAgIGtleXdvcmRzOiB7IGtleXdvcmQ6ICdpZiBlbHNlIGVsaWYgZW5kaWYgZGVmaW5lIHVuZGVmIHdhcm5pbmcgZXJyb3IgbGluZSByZWdpb24gZW5kcmVnaW9uIHByYWdtYSBjaGVja3N1bScgfVxuICAgICAgfSxcbiAgICAgIFNUUklORyxcbiAgICAgIE5VTUJFUlMsXG4gICAgICB7XG4gICAgICAgIGJlZ2luS2V5d29yZHM6ICdjbGFzcyBpbnRlcmZhY2UnLFxuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIGVuZDogL1t7Oz1dLyxcbiAgICAgICAgaWxsZWdhbDogL1teXFxzOixdLyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7IGJlZ2luS2V5d29yZHM6IFwid2hlcmUgY2xhc3NcIiB9LFxuICAgICAgICAgIFRJVExFX01PREUsXG4gICAgICAgICAgR0VORVJJQ19NT0RJRklFUixcbiAgICAgICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbktleXdvcmRzOiAnbmFtZXNwYWNlJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBlbmQ6IC9bezs9XS8sXG4gICAgICAgIGlsbGVnYWw6IC9bXlxcczpdLyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBUSVRMRV9NT0RFLFxuICAgICAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luS2V5d29yZHM6ICdyZWNvcmQnLFxuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIGVuZDogL1t7Oz1dLyxcbiAgICAgICAgaWxsZWdhbDogL1teXFxzOl0vLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIFRJVExFX01PREUsXG4gICAgICAgICAgR0VORVJJQ19NT0RJRklFUixcbiAgICAgICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBbQXR0cmlidXRlcyhcIlwiKV1cbiAgICAgICAgY2xhc3NOYW1lOiAnbWV0YScsXG4gICAgICAgIGJlZ2luOiAnXlxcXFxzKlxcXFxbKD89W1xcXFx3XSknLFxuICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgIGVuZDogJ1xcXFxdJyxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgYmVnaW46IC9cIi8sXG4gICAgICAgICAgICBlbmQ6IC9cIi9cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIEV4cHJlc3Npb24ga2V5d29yZHMgcHJldmVudCAna2V5d29yZCBOYW1lKC4uLiknIGZyb20gYmVpbmdcbiAgICAgICAgLy8gcmVjb2duaXplZCBhcyBhIGZ1bmN0aW9uIGRlZmluaXRpb25cbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ25ldyByZXR1cm4gdGhyb3cgYXdhaXQgZWxzZScsXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnZnVuY3Rpb24nLFxuICAgICAgICBiZWdpbjogJygnICsgVFlQRV9JREVOVF9SRSArICdcXFxccyspKycgKyBobGpzLklERU5UX1JFICsgJ1xcXFxzKig8W149XSs+XFxcXHMqKT9cXFxcKCcsXG4gICAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgICBlbmQ6IC9cXHMqW3s7PV0vLFxuICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgLy8gcHJldmVudHMgdGhlc2UgZnJvbSBiZWluZyBoaWdobGlnaHRlZCBgdGl0bGVgXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW5LZXl3b3JkczogRlVOQ1RJT05fTU9ESUZJRVJTLmpvaW4oXCIgXCIpLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogaGxqcy5JREVOVF9SRSArICdcXFxccyooPFtePV0rPlxcXFxzKik/XFxcXCgnLFxuICAgICAgICAgICAgcmV0dXJuQmVnaW46IHRydWUsXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICBobGpzLlRJVExFX01PREUsXG4gICAgICAgICAgICAgIEdFTkVSSUNfTU9ESUZJRVJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgbWF0Y2g6IC9cXChcXCkvIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICAgICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICAgICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAgU1RSSU5HLFxuICAgICAgICAgICAgICBOVU1CRVJTLFxuICAgICAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgQVRfSURFTlRJRklFUlxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsgY3NoYXJwIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/csharp.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/css.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/css.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ css)\n/* harmony export */ });\nconst MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9jc3MuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLElBQUksZ0JBQWdCLEVBQUUsRUFBRSxJQUFJO0FBQ3pELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDZCQUE2QjtBQUM3QztBQUNBLDJDQUEyQztBQUMzQztBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksOENBQThDO0FBQzFELFlBQVk7QUFDWjtBQUNBLE9BQU87QUFDUDtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDBCQUEwQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTBCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9jc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTU9ERVMgPSAoaGxqcykgPT4ge1xuICByZXR1cm4ge1xuICAgIElNUE9SVEFOVDoge1xuICAgICAgc2NvcGU6ICdtZXRhJyxcbiAgICAgIGJlZ2luOiAnIWltcG9ydGFudCdcbiAgICB9LFxuICAgIEJMT0NLX0NPTU1FTlQ6IGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsXG4gICAgSEVYQ09MT1I6IHtcbiAgICAgIHNjb3BlOiAnbnVtYmVyJyxcbiAgICAgIGJlZ2luOiAvIygoWzAtOWEtZkEtRl17Myw0fSl8KChbMC05YS1mQS1GXXsyfSl7Myw0fSkpXFxiL1xuICAgIH0sXG4gICAgRlVOQ1RJT05fRElTUEFUQ0g6IHtcbiAgICAgIGNsYXNzTmFtZTogXCJidWlsdF9pblwiLFxuICAgICAgYmVnaW46IC9bXFx3LV0rKD89XFwoKS9cbiAgICB9LFxuICAgIEFUVFJJQlVURV9TRUxFQ1RPUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ3NlbGVjdG9yLWF0dHInLFxuICAgICAgYmVnaW46IC9cXFsvLFxuICAgICAgZW5kOiAvXFxdLyxcbiAgICAgIGlsbGVnYWw6ICckJyxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERVxuICAgICAgXVxuICAgIH0sXG4gICAgQ1NTX05VTUJFUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ251bWJlcicsXG4gICAgICBiZWdpbjogaGxqcy5OVU1CRVJfUkUgKyAnKCcgK1xuICAgICAgICAnJXxlbXxleHxjaHxyZW0nICtcbiAgICAgICAgJ3x2d3x2aHx2bWlufHZtYXgnICtcbiAgICAgICAgJ3xjbXxtbXxpbnxwdHxwY3xweCcgK1xuICAgICAgICAnfGRlZ3xncmFkfHJhZHx0dXJuJyArXG4gICAgICAgICd8c3xtcycgK1xuICAgICAgICAnfEh6fGtIeicgK1xuICAgICAgICAnfGRwaXxkcGNtfGRwcHgnICtcbiAgICAgICAgJyk/JyxcbiAgICAgIHJlbGV2YW5jZTogMFxuICAgIH0sXG4gICAgQ1NTX1ZBUklBQkxFOiB7XG4gICAgICBjbGFzc05hbWU6IFwiYXR0clwiLFxuICAgICAgYmVnaW46IC8tLVtBLVphLXpfXVtBLVphLXowLTlfLV0qL1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IEhUTUxfVEFHUyA9IFtcbiAgJ2EnLFxuICAnYWJicicsXG4gICdhZGRyZXNzJyxcbiAgJ2FydGljbGUnLFxuICAnYXNpZGUnLFxuICAnYXVkaW8nLFxuICAnYicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2JvZHknLFxuICAnYnV0dG9uJyxcbiAgJ2NhbnZhcycsXG4gICdjYXB0aW9uJyxcbiAgJ2NpdGUnLFxuICAnY29kZScsXG4gICdkZCcsXG4gICdkZWwnLFxuICAnZGV0YWlscycsXG4gICdkZm4nLFxuICAnZGl2JyxcbiAgJ2RsJyxcbiAgJ2R0JyxcbiAgJ2VtJyxcbiAgJ2ZpZWxkc2V0JyxcbiAgJ2ZpZ2NhcHRpb24nLFxuICAnZmlndXJlJyxcbiAgJ2Zvb3RlcicsXG4gICdmb3JtJyxcbiAgJ2gxJyxcbiAgJ2gyJyxcbiAgJ2gzJyxcbiAgJ2g0JyxcbiAgJ2g1JyxcbiAgJ2g2JyxcbiAgJ2hlYWRlcicsXG4gICdoZ3JvdXAnLFxuICAnaHRtbCcsXG4gICdpJyxcbiAgJ2lmcmFtZScsXG4gICdpbWcnLFxuICAnaW5wdXQnLFxuICAnaW5zJyxcbiAgJ2tiZCcsXG4gICdsYWJlbCcsXG4gICdsZWdlbmQnLFxuICAnbGknLFxuICAnbWFpbicsXG4gICdtYXJrJyxcbiAgJ21lbnUnLFxuICAnbmF2JyxcbiAgJ29iamVjdCcsXG4gICdvbCcsXG4gICdvcHRncm91cCcsXG4gICdvcHRpb24nLFxuICAncCcsXG4gICdwaWN0dXJlJyxcbiAgJ3EnLFxuICAncXVvdGUnLFxuICAnc2FtcCcsXG4gICdzZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzb3VyY2UnLFxuICAnc3BhbicsXG4gICdzdHJvbmcnLFxuICAnc3VtbWFyeScsXG4gICdzdXAnLFxuICAndGFibGUnLFxuICAndGJvZHknLFxuICAndGQnLFxuICAndGV4dGFyZWEnLFxuICAndGZvb3QnLFxuICAndGgnLFxuICAndGhlYWQnLFxuICAndGltZScsXG4gICd0cicsXG4gICd1bCcsXG4gICd2YXInLFxuICAndmlkZW8nXG5dO1xuXG5jb25zdCBTVkdfVEFHUyA9IFtcbiAgJ2RlZnMnLFxuICAnZycsXG4gICdtYXJrZXInLFxuICAnbWFzaycsXG4gICdwYXR0ZXJuJyxcbiAgJ3N2ZycsXG4gICdzd2l0Y2gnLFxuICAnc3ltYm9sJyxcbiAgJ2ZlQmxlbmQnLFxuICAnZmVDb2xvck1hdHJpeCcsXG4gICdmZUNvbXBvbmVudFRyYW5zZmVyJyxcbiAgJ2ZlQ29tcG9zaXRlJyxcbiAgJ2ZlQ29udm9sdmVNYXRyaXgnLFxuICAnZmVEaWZmdXNlTGlnaHRpbmcnLFxuICAnZmVEaXNwbGFjZW1lbnRNYXAnLFxuICAnZmVGbG9vZCcsXG4gICdmZUdhdXNzaWFuQmx1cicsXG4gICdmZUltYWdlJyxcbiAgJ2ZlTWVyZ2UnLFxuICAnZmVNb3JwaG9sb2d5JyxcbiAgJ2ZlT2Zmc2V0JyxcbiAgJ2ZlU3BlY3VsYXJMaWdodGluZycsXG4gICdmZVRpbGUnLFxuICAnZmVUdXJidWxlbmNlJyxcbiAgJ2xpbmVhckdyYWRpZW50JyxcbiAgJ3JhZGlhbEdyYWRpZW50JyxcbiAgJ3N0b3AnLFxuICAnY2lyY2xlJyxcbiAgJ2VsbGlwc2UnLFxuICAnaW1hZ2UnLFxuICAnbGluZScsXG4gICdwYXRoJyxcbiAgJ3BvbHlnb24nLFxuICAncG9seWxpbmUnLFxuICAncmVjdCcsXG4gICd0ZXh0JyxcbiAgJ3VzZScsXG4gICd0ZXh0UGF0aCcsXG4gICd0c3BhbicsXG4gICdmb3JlaWduT2JqZWN0JyxcbiAgJ2NsaXBQYXRoJ1xuXTtcblxuY29uc3QgVEFHUyA9IFtcbiAgLi4uSFRNTF9UQUdTLFxuICAuLi5TVkdfVEFHUyxcbl07XG5cbi8vIFNvcnRpbmcsIHRoZW4gcmV2ZXJzaW5nIG1ha2VzIHN1cmUgbG9uZ2VyIGF0dHJpYnV0ZXMvZWxlbWVudHMgbGlrZVxuLy8gYGZvbnQtd2VpZ2h0YCBhcmUgbWF0Y2hlZCBmdWxseSBpbnN0ZWFkIG9mIGdldHRpbmcgZmFsc2UgcG9zaXRpdmVzIG9uIHNheSBgZm9udGBcblxuY29uc3QgTUVESUFfRkVBVFVSRVMgPSBbXG4gICdhbnktaG92ZXInLFxuICAnYW55LXBvaW50ZXInLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2NvbG9yJyxcbiAgJ2NvbG9yLWdhbXV0JyxcbiAgJ2NvbG9yLWluZGV4JyxcbiAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAnZGV2aWNlLWhlaWdodCcsXG4gICdkZXZpY2Utd2lkdGgnLFxuICAnZGlzcGxheS1tb2RlJyxcbiAgJ2ZvcmNlZC1jb2xvcnMnLFxuICAnZ3JpZCcsXG4gICdoZWlnaHQnLFxuICAnaG92ZXInLFxuICAnaW52ZXJ0ZWQtY29sb3JzJyxcbiAgJ21vbm9jaHJvbWUnLFxuICAnb3JpZW50YXRpb24nLFxuICAnb3ZlcmZsb3ctYmxvY2snLFxuICAnb3ZlcmZsb3ctaW5saW5lJyxcbiAgJ3BvaW50ZXInLFxuICAncHJlZmVycy1jb2xvci1zY2hlbWUnLFxuICAncHJlZmVycy1jb250cmFzdCcsXG4gICdwcmVmZXJzLXJlZHVjZWQtbW90aW9uJyxcbiAgJ3ByZWZlcnMtcmVkdWNlZC10cmFuc3BhcmVuY3knLFxuICAncmVzb2x1dGlvbicsXG4gICdzY2FuJyxcbiAgJ3NjcmlwdGluZycsXG4gICd1cGRhdGUnLFxuICAnd2lkdGgnLFxuICAvLyBUT0RPOiBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uP1xuICAnbWluLXdpZHRoJyxcbiAgJ21heC13aWR0aCcsXG4gICdtaW4taGVpZ2h0JyxcbiAgJ21heC1oZWlnaHQnXG5dLnNvcnQoKS5yZXZlcnNlKCk7XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Qc2V1ZG8tY2xhc3Nlc1xuY29uc3QgUFNFVURPX0NMQVNTRVMgPSBbXG4gICdhY3RpdmUnLFxuICAnYW55LWxpbmsnLFxuICAnYmxhbmsnLFxuICAnY2hlY2tlZCcsXG4gICdjdXJyZW50JyxcbiAgJ2RlZmF1bHQnLFxuICAnZGVmaW5lZCcsXG4gICdkaXInLCAvLyBkaXIoKVxuICAnZGlzYWJsZWQnLFxuICAnZHJvcCcsXG4gICdlbXB0eScsXG4gICdlbmFibGVkJyxcbiAgJ2ZpcnN0JyxcbiAgJ2ZpcnN0LWNoaWxkJyxcbiAgJ2ZpcnN0LW9mLXR5cGUnLFxuICAnZnVsbHNjcmVlbicsXG4gICdmdXR1cmUnLFxuICAnZm9jdXMnLFxuICAnZm9jdXMtdmlzaWJsZScsXG4gICdmb2N1cy13aXRoaW4nLFxuICAnaGFzJywgLy8gaGFzKClcbiAgJ2hvc3QnLCAvLyBob3N0IG9yIGhvc3QoKVxuICAnaG9zdC1jb250ZXh0JywgLy8gaG9zdC1jb250ZXh0KClcbiAgJ2hvdmVyJyxcbiAgJ2luZGV0ZXJtaW5hdGUnLFxuICAnaW4tcmFuZ2UnLFxuICAnaW52YWxpZCcsXG4gICdpcycsIC8vIGlzKClcbiAgJ2xhbmcnLCAvLyBsYW5nKClcbiAgJ2xhc3QtY2hpbGQnLFxuICAnbGFzdC1vZi10eXBlJyxcbiAgJ2xlZnQnLFxuICAnbGluaycsXG4gICdsb2NhbC1saW5rJyxcbiAgJ25vdCcsIC8vIG5vdCgpXG4gICdudGgtY2hpbGQnLCAvLyBudGgtY2hpbGQoKVxuICAnbnRoLWNvbCcsIC8vIG50aC1jb2woKVxuICAnbnRoLWxhc3QtY2hpbGQnLCAvLyBudGgtbGFzdC1jaGlsZCgpXG4gICdudGgtbGFzdC1jb2wnLCAvLyBudGgtbGFzdC1jb2woKVxuICAnbnRoLWxhc3Qtb2YtdHlwZScsIC8vbnRoLWxhc3Qtb2YtdHlwZSgpXG4gICdudGgtb2YtdHlwZScsIC8vbnRoLW9mLXR5cGUoKVxuICAnb25seS1jaGlsZCcsXG4gICdvbmx5LW9mLXR5cGUnLFxuICAnb3B0aW9uYWwnLFxuICAnb3V0LW9mLXJhbmdlJyxcbiAgJ3Bhc3QnLFxuICAncGxhY2Vob2xkZXItc2hvd24nLFxuICAncmVhZC1vbmx5JyxcbiAgJ3JlYWQtd3JpdGUnLFxuICAncmVxdWlyZWQnLFxuICAncmlnaHQnLFxuICAncm9vdCcsXG4gICdzY29wZScsXG4gICd0YXJnZXQnLFxuICAndGFyZ2V0LXdpdGhpbicsXG4gICd1c2VyLWludmFsaWQnLFxuICAndmFsaWQnLFxuICAndmlzaXRlZCcsXG4gICd3aGVyZScgLy8gd2hlcmUoKVxuXS5zb3J0KCkucmV2ZXJzZSgpO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvUHNldWRvLWVsZW1lbnRzXG5jb25zdCBQU0VVRE9fRUxFTUVOVFMgPSBbXG4gICdhZnRlcicsXG4gICdiYWNrZHJvcCcsXG4gICdiZWZvcmUnLFxuICAnY3VlJyxcbiAgJ2N1ZS1yZWdpb24nLFxuICAnZmlyc3QtbGV0dGVyJyxcbiAgJ2ZpcnN0LWxpbmUnLFxuICAnZ3JhbW1hci1lcnJvcicsXG4gICdtYXJrZXInLFxuICAncGFydCcsXG4gICdwbGFjZWhvbGRlcicsXG4gICdzZWxlY3Rpb24nLFxuICAnc2xvdHRlZCcsXG4gICdzcGVsbGluZy1lcnJvcidcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuY29uc3QgQVRUUklCVVRFUyA9IFtcbiAgJ2FjY2VudC1jb2xvcicsXG4gICdhbGlnbi1jb250ZW50JyxcbiAgJ2FsaWduLWl0ZW1zJyxcbiAgJ2FsaWduLXNlbGYnLFxuICAnYWxpZ25tZW50LWJhc2VsaW5lJyxcbiAgJ2FsbCcsXG4gICdhbmNob3ItbmFtZScsXG4gICdhbmltYXRpb24nLFxuICAnYW5pbWF0aW9uLWNvbXBvc2l0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kZWxheScsXG4gICdhbmltYXRpb24tZGlyZWN0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbicsXG4gICdhbmltYXRpb24tZmlsbC1tb2RlJyxcbiAgJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLFxuICAnYW5pbWF0aW9uLW5hbWUnLFxuICAnYW5pbWF0aW9uLXBsYXktc3RhdGUnLFxuICAnYW5pbWF0aW9uLXJhbmdlJyxcbiAgJ2FuaW1hdGlvbi1yYW5nZS1lbmQnLFxuICAnYW5pbWF0aW9uLXJhbmdlLXN0YXJ0JyxcbiAgJ2FuaW1hdGlvbi10aW1lbGluZScsXG4gICdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJyxcbiAgJ2FwcGVhcmFuY2UnLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2JhY2tkcm9wLWZpbHRlcicsXG4gICdiYWNrZmFjZS12aXNpYmlsaXR5JyxcbiAgJ2JhY2tncm91bmQnLFxuICAnYmFja2dyb3VuZC1hdHRhY2htZW50JyxcbiAgJ2JhY2tncm91bmQtYmxlbmQtbW9kZScsXG4gICdiYWNrZ3JvdW5kLWNsaXAnLFxuICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICdiYWNrZ3JvdW5kLWltYWdlJyxcbiAgJ2JhY2tncm91bmQtb3JpZ2luJyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24nLFxuICAnYmFja2dyb3VuZC1wb3NpdGlvbi14JyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24teScsXG4gICdiYWNrZ3JvdW5kLXJlcGVhdCcsXG4gICdiYWNrZ3JvdW5kLXNpemUnLFxuICAnYmFzZWxpbmUtc2hpZnQnLFxuICAnYmxvY2stc2l6ZScsXG4gICdib3JkZXInLFxuICAnYm9yZGVyLWJsb2NrJyxcbiAgJ2JvcmRlci1ibG9jay1jb2xvcicsXG4gICdib3JkZXItYmxvY2stZW5kJyxcbiAgJ2JvcmRlci1ibG9jay1lbmQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLWVuZC1zdHlsZScsXG4gICdib3JkZXItYmxvY2stZW5kLXdpZHRoJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydCcsXG4gICdib3JkZXItYmxvY2stc3RhcnQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLXN0YXJ0LXN0eWxlJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydC13aWR0aCcsXG4gICdib3JkZXItYmxvY2stc3R5bGUnLFxuICAnYm9yZGVyLWJsb2NrLXdpZHRoJyxcbiAgJ2JvcmRlci1ib3R0b20nLFxuICAnYm9yZGVyLWJvdHRvbS1jb2xvcicsXG4gICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tc3R5bGUnLFxuICAnYm9yZGVyLWJvdHRvbS13aWR0aCcsXG4gICdib3JkZXItY29sbGFwc2UnLFxuICAnYm9yZGVyLWNvbG9yJyxcbiAgJ2JvcmRlci1lbmQtZW5kLXJhZGl1cycsXG4gICdib3JkZXItZW5kLXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItaW1hZ2UnLFxuICAnYm9yZGVyLWltYWdlLW91dHNldCcsXG4gICdib3JkZXItaW1hZ2UtcmVwZWF0JyxcbiAgJ2JvcmRlci1pbWFnZS1zbGljZScsXG4gICdib3JkZXItaW1hZ2Utc291cmNlJyxcbiAgJ2JvcmRlci1pbWFnZS13aWR0aCcsXG4gICdib3JkZXItaW5saW5lJyxcbiAgJ2JvcmRlci1pbmxpbmUtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtd2lkdGgnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydCcsXG4gICdib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yJyxcbiAgJ2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCcsXG4gICdib3JkZXItaW5saW5lLXN0eWxlJyxcbiAgJ2JvcmRlci1pbmxpbmUtd2lkdGgnLFxuICAnYm9yZGVyLWxlZnQnLFxuICAnYm9yZGVyLWxlZnQtY29sb3InLFxuICAnYm9yZGVyLWxlZnQtc3R5bGUnLFxuICAnYm9yZGVyLWxlZnQtd2lkdGgnLFxuICAnYm9yZGVyLXJhZGl1cycsXG4gICdib3JkZXItcmlnaHQnLFxuICAnYm9yZGVyLXJpZ2h0LWNvbG9yJyxcbiAgJ2JvcmRlci1yaWdodC1zdHlsZScsXG4gICdib3JkZXItcmlnaHQtd2lkdGgnLFxuICAnYm9yZGVyLXNwYWNpbmcnLFxuICAnYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMnLFxuICAnYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItc3R5bGUnLFxuICAnYm9yZGVyLXRvcCcsXG4gICdib3JkZXItdG9wLWNvbG9yJyxcbiAgJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1zdHlsZScsXG4gICdib3JkZXItdG9wLXdpZHRoJyxcbiAgJ2JvcmRlci13aWR0aCcsXG4gICdib3R0b20nLFxuICAnYm94LWFsaWduJyxcbiAgJ2JveC1kZWNvcmF0aW9uLWJyZWFrJyxcbiAgJ2JveC1kaXJlY3Rpb24nLFxuICAnYm94LWZsZXgnLFxuICAnYm94LWZsZXgtZ3JvdXAnLFxuICAnYm94LWxpbmVzJyxcbiAgJ2JveC1vcmRpbmFsLWdyb3VwJyxcbiAgJ2JveC1vcmllbnQnLFxuICAnYm94LXBhY2snLFxuICAnYm94LXNoYWRvdycsXG4gICdib3gtc2l6aW5nJyxcbiAgJ2JyZWFrLWFmdGVyJyxcbiAgJ2JyZWFrLWJlZm9yZScsXG4gICdicmVhay1pbnNpZGUnLFxuICAnY2FwdGlvbi1zaWRlJyxcbiAgJ2NhcmV0LWNvbG9yJyxcbiAgJ2NsZWFyJyxcbiAgJ2NsaXAnLFxuICAnY2xpcC1wYXRoJyxcbiAgJ2NsaXAtcnVsZScsXG4gICdjb2xvcicsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJyxcbiAgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycycsXG4gICdjb2xvci1wcm9maWxlJyxcbiAgJ2NvbG9yLXJlbmRlcmluZycsXG4gICdjb2xvci1zY2hlbWUnLFxuICAnY29sdW1uLWNvdW50JyxcbiAgJ2NvbHVtbi1maWxsJyxcbiAgJ2NvbHVtbi1nYXAnLFxuICAnY29sdW1uLXJ1bGUnLFxuICAnY29sdW1uLXJ1bGUtY29sb3InLFxuICAnY29sdW1uLXJ1bGUtc3R5bGUnLFxuICAnY29sdW1uLXJ1bGUtd2lkdGgnLFxuICAnY29sdW1uLXNwYW4nLFxuICAnY29sdW1uLXdpZHRoJyxcbiAgJ2NvbHVtbnMnLFxuICAnY29udGFpbicsXG4gICdjb250YWluLWludHJpbnNpYy1ibG9jay1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLWhlaWdodCcsXG4gICdjb250YWluLWludHJpbnNpYy1pbmxpbmUtc2l6ZScsXG4gICdjb250YWluLWludHJpbnNpYy1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLXdpZHRoJyxcbiAgJ2NvbnRhaW5lcicsXG4gICdjb250YWluZXItbmFtZScsXG4gICdjb250YWluZXItdHlwZScsXG4gICdjb250ZW50JyxcbiAgJ2NvbnRlbnQtdmlzaWJpbGl0eScsXG4gICdjb3VudGVyLWluY3JlbWVudCcsXG4gICdjb3VudGVyLXJlc2V0JyxcbiAgJ2NvdW50ZXItc2V0JyxcbiAgJ2N1ZScsXG4gICdjdWUtYWZ0ZXInLFxuICAnY3VlLWJlZm9yZScsXG4gICdjdXJzb3InLFxuICAnY3gnLFxuICAnY3knLFxuICAnZGlyZWN0aW9uJyxcbiAgJ2Rpc3BsYXknLFxuICAnZG9taW5hbnQtYmFzZWxpbmUnLFxuICAnZW1wdHktY2VsbHMnLFxuICAnZW5hYmxlLWJhY2tncm91bmQnLFxuICAnZmllbGQtc2l6aW5nJyxcbiAgJ2ZpbGwnLFxuICAnZmlsbC1vcGFjaXR5JyxcbiAgJ2ZpbGwtcnVsZScsXG4gICdmaWx0ZXInLFxuICAnZmxleCcsXG4gICdmbGV4LWJhc2lzJyxcbiAgJ2ZsZXgtZGlyZWN0aW9uJyxcbiAgJ2ZsZXgtZmxvdycsXG4gICdmbGV4LWdyb3cnLFxuICAnZmxleC1zaHJpbmsnLFxuICAnZmxleC13cmFwJyxcbiAgJ2Zsb2F0JyxcbiAgJ2Zsb29kLWNvbG9yJyxcbiAgJ2Zsb29kLW9wYWNpdHknLFxuICAnZmxvdycsXG4gICdmb250JyxcbiAgJ2ZvbnQtZGlzcGxheScsXG4gICdmb250LWZhbWlseScsXG4gICdmb250LWZlYXR1cmUtc2V0dGluZ3MnLFxuICAnZm9udC1rZXJuaW5nJyxcbiAgJ2ZvbnQtbGFuZ3VhZ2Utb3ZlcnJpZGUnLFxuICAnZm9udC1vcHRpY2FsLXNpemluZycsXG4gICdmb250LXBhbGV0dGUnLFxuICAnZm9udC1zaXplJyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnLFxuICAnZm9udC1zbW9vdGgnLFxuICAnZm9udC1zbW9vdGhpbmcnLFxuICAnZm9udC1zdHJldGNoJyxcbiAgJ2ZvbnQtc3R5bGUnLFxuICAnZm9udC1zeW50aGVzaXMnLFxuICAnZm9udC1zeW50aGVzaXMtcG9zaXRpb24nLFxuICAnZm9udC1zeW50aGVzaXMtc21hbGwtY2FwcycsXG4gICdmb250LXN5bnRoZXNpcy1zdHlsZScsXG4gICdmb250LXN5bnRoZXNpcy13ZWlnaHQnLFxuICAnZm9udC12YXJpYW50JyxcbiAgJ2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1jYXBzJyxcbiAgJ2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuJyxcbiAgJ2ZvbnQtdmFyaWFudC1lbW9qaScsXG4gICdmb250LXZhcmlhbnQtbGlnYXR1cmVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1udW1lcmljJyxcbiAgJ2ZvbnQtdmFyaWFudC1wb3NpdGlvbicsXG4gICdmb250LXZhcmlhdGlvbi1zZXR0aW5ncycsXG4gICdmb250LXdlaWdodCcsXG4gICdmb3JjZWQtY29sb3ItYWRqdXN0JyxcbiAgJ2dhcCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsJyxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyxcbiAgJ2dyaWQnLFxuICAnZ3JpZC1hcmVhJyxcbiAgJ2dyaWQtYXV0by1jb2x1bW5zJyxcbiAgJ2dyaWQtYXV0by1mbG93JyxcbiAgJ2dyaWQtYXV0by1yb3dzJyxcbiAgJ2dyaWQtY29sdW1uJyxcbiAgJ2dyaWQtY29sdW1uLWVuZCcsXG4gICdncmlkLWNvbHVtbi1zdGFydCcsXG4gICdncmlkLWdhcCcsXG4gICdncmlkLXJvdycsXG4gICdncmlkLXJvdy1lbmQnLFxuICAnZ3JpZC1yb3ctc3RhcnQnLFxuICAnZ3JpZC10ZW1wbGF0ZScsXG4gICdncmlkLXRlbXBsYXRlLWFyZWFzJyxcbiAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsXG4gICdncmlkLXRlbXBsYXRlLXJvd3MnLFxuICAnaGFuZ2luZy1wdW5jdHVhdGlvbicsXG4gICdoZWlnaHQnLFxuICAnaHlwaGVuYXRlLWNoYXJhY3RlcicsXG4gICdoeXBoZW5hdGUtbGltaXQtY2hhcnMnLFxuICAnaHlwaGVucycsXG4gICdpY29uJyxcbiAgJ2ltYWdlLW9yaWVudGF0aW9uJyxcbiAgJ2ltYWdlLXJlbmRlcmluZycsXG4gICdpbWFnZS1yZXNvbHV0aW9uJyxcbiAgJ2ltZS1tb2RlJyxcbiAgJ2luaXRpYWwtbGV0dGVyJyxcbiAgJ2luaXRpYWwtbGV0dGVyLWFsaWduJyxcbiAgJ2lubGluZS1zaXplJyxcbiAgJ2luc2V0JyxcbiAgJ2luc2V0LWFyZWEnLFxuICAnaW5zZXQtYmxvY2snLFxuICAnaW5zZXQtYmxvY2stZW5kJyxcbiAgJ2luc2V0LWJsb2NrLXN0YXJ0JyxcbiAgJ2luc2V0LWlubGluZScsXG4gICdpbnNldC1pbmxpbmUtZW5kJyxcbiAgJ2luc2V0LWlubGluZS1zdGFydCcsXG4gICdpc29sYXRpb24nLFxuICAnanVzdGlmeS1jb250ZW50JyxcbiAgJ2p1c3RpZnktaXRlbXMnLFxuICAnanVzdGlmeS1zZWxmJyxcbiAgJ2tlcm5pbmcnLFxuICAnbGVmdCcsXG4gICdsZXR0ZXItc3BhY2luZycsXG4gICdsaWdodGluZy1jb2xvcicsXG4gICdsaW5lLWJyZWFrJyxcbiAgJ2xpbmUtaGVpZ2h0JyxcbiAgJ2xpbmUtaGVpZ2h0LXN0ZXAnLFxuICAnbGlzdC1zdHlsZScsXG4gICdsaXN0LXN0eWxlLWltYWdlJyxcbiAgJ2xpc3Qtc3R5bGUtcG9zaXRpb24nLFxuICAnbGlzdC1zdHlsZS10eXBlJyxcbiAgJ21hcmdpbicsXG4gICdtYXJnaW4tYmxvY2snLFxuICAnbWFyZ2luLWJsb2NrLWVuZCcsXG4gICdtYXJnaW4tYmxvY2stc3RhcnQnLFxuICAnbWFyZ2luLWJvdHRvbScsXG4gICdtYXJnaW4taW5saW5lJyxcbiAgJ21hcmdpbi1pbmxpbmUtZW5kJyxcbiAgJ21hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnbWFyZ2luLWxlZnQnLFxuICAnbWFyZ2luLXJpZ2h0JyxcbiAgJ21hcmdpbi10b3AnLFxuICAnbWFyZ2luLXRyaW0nLFxuICAnbWFya2VyJyxcbiAgJ21hcmtlci1lbmQnLFxuICAnbWFya2VyLW1pZCcsXG4gICdtYXJrZXItc3RhcnQnLFxuICAnbWFya3MnLFxuICAnbWFzaycsXG4gICdtYXNrLWJvcmRlcicsXG4gICdtYXNrLWJvcmRlci1tb2RlJyxcbiAgJ21hc2stYm9yZGVyLW91dHNldCcsXG4gICdtYXNrLWJvcmRlci1yZXBlYXQnLFxuICAnbWFzay1ib3JkZXItc2xpY2UnLFxuICAnbWFzay1ib3JkZXItc291cmNlJyxcbiAgJ21hc2stYm9yZGVyLXdpZHRoJyxcbiAgJ21hc2stY2xpcCcsXG4gICdtYXNrLWNvbXBvc2l0ZScsXG4gICdtYXNrLWltYWdlJyxcbiAgJ21hc2stbW9kZScsXG4gICdtYXNrLW9yaWdpbicsXG4gICdtYXNrLXBvc2l0aW9uJyxcbiAgJ21hc2stcmVwZWF0JyxcbiAgJ21hc2stc2l6ZScsXG4gICdtYXNrLXR5cGUnLFxuICAnbWFzb25yeS1hdXRvLWZsb3cnLFxuICAnbWF0aC1kZXB0aCcsXG4gICdtYXRoLXNoaWZ0JyxcbiAgJ21hdGgtc3R5bGUnLFxuICAnbWF4LWJsb2NrLXNpemUnLFxuICAnbWF4LWhlaWdodCcsXG4gICdtYXgtaW5saW5lLXNpemUnLFxuICAnbWF4LXdpZHRoJyxcbiAgJ21pbi1ibG9jay1zaXplJyxcbiAgJ21pbi1oZWlnaHQnLFxuICAnbWluLWlubGluZS1zaXplJyxcbiAgJ21pbi13aWR0aCcsXG4gICdtaXgtYmxlbmQtbW9kZScsXG4gICduYXYtZG93bicsXG4gICduYXYtaW5kZXgnLFxuICAnbmF2LWxlZnQnLFxuICAnbmF2LXJpZ2h0JyxcbiAgJ25hdi11cCcsXG4gICdub25lJyxcbiAgJ25vcm1hbCcsXG4gICdvYmplY3QtZml0JyxcbiAgJ29iamVjdC1wb3NpdGlvbicsXG4gICdvZmZzZXQnLFxuICAnb2Zmc2V0LWFuY2hvcicsXG4gICdvZmZzZXQtZGlzdGFuY2UnLFxuICAnb2Zmc2V0LXBhdGgnLFxuICAnb2Zmc2V0LXBvc2l0aW9uJyxcbiAgJ29mZnNldC1yb3RhdGUnLFxuICAnb3BhY2l0eScsXG4gICdvcmRlcicsXG4gICdvcnBoYW5zJyxcbiAgJ291dGxpbmUnLFxuICAnb3V0bGluZS1jb2xvcicsXG4gICdvdXRsaW5lLW9mZnNldCcsXG4gICdvdXRsaW5lLXN0eWxlJyxcbiAgJ291dGxpbmUtd2lkdGgnLFxuICAnb3ZlcmZsb3cnLFxuICAnb3ZlcmZsb3ctYW5jaG9yJyxcbiAgJ292ZXJmbG93LWJsb2NrJyxcbiAgJ292ZXJmbG93LWNsaXAtbWFyZ2luJyxcbiAgJ292ZXJmbG93LWlubGluZScsXG4gICdvdmVyZmxvdy13cmFwJyxcbiAgJ292ZXJmbG93LXgnLFxuICAnb3ZlcmZsb3cteScsXG4gICdvdmVybGF5JyxcbiAgJ292ZXJzY3JvbGwtYmVoYXZpb3InLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci1ibG9jaycsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLWlubGluZScsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLXgnLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci15JyxcbiAgJ3BhZGRpbmcnLFxuICAncGFkZGluZy1ibG9jaycsXG4gICdwYWRkaW5nLWJsb2NrLWVuZCcsXG4gICdwYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3BhZGRpbmctYm90dG9tJyxcbiAgJ3BhZGRpbmctaW5saW5lJyxcbiAgJ3BhZGRpbmctaW5saW5lLWVuZCcsXG4gICdwYWRkaW5nLWlubGluZS1zdGFydCcsXG4gICdwYWRkaW5nLWxlZnQnLFxuICAncGFkZGluZy1yaWdodCcsXG4gICdwYWRkaW5nLXRvcCcsXG4gICdwYWdlJyxcbiAgJ3BhZ2UtYnJlYWstYWZ0ZXInLFxuICAncGFnZS1icmVhay1iZWZvcmUnLFxuICAncGFnZS1icmVhay1pbnNpZGUnLFxuICAncGFpbnQtb3JkZXInLFxuICAncGF1c2UnLFxuICAncGF1c2UtYWZ0ZXInLFxuICAncGF1c2UtYmVmb3JlJyxcbiAgJ3BlcnNwZWN0aXZlJyxcbiAgJ3BlcnNwZWN0aXZlLW9yaWdpbicsXG4gICdwbGFjZS1jb250ZW50JyxcbiAgJ3BsYWNlLWl0ZW1zJyxcbiAgJ3BsYWNlLXNlbGYnLFxuICAncG9pbnRlci1ldmVudHMnLFxuICAncG9zaXRpb24nLFxuICAncG9zaXRpb24tYW5jaG9yJyxcbiAgJ3Bvc2l0aW9uLXZpc2liaWxpdHknLFxuICAncHJpbnQtY29sb3ItYWRqdXN0JyxcbiAgJ3F1b3RlcycsXG4gICdyJyxcbiAgJ3Jlc2l6ZScsXG4gICdyZXN0JyxcbiAgJ3Jlc3QtYWZ0ZXInLFxuICAncmVzdC1iZWZvcmUnLFxuICAncmlnaHQnLFxuICAncm90YXRlJyxcbiAgJ3Jvdy1nYXAnLFxuICAncnVieS1hbGlnbicsXG4gICdydWJ5LXBvc2l0aW9uJyxcbiAgJ3NjYWxlJyxcbiAgJ3Njcm9sbC1iZWhhdmlvcicsXG4gICdzY3JvbGwtbWFyZ2luJyxcbiAgJ3Njcm9sbC1tYXJnaW4tYmxvY2snLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1zdGFydCcsXG4gICdzY3JvbGwtbWFyZ2luLWJvdHRvbScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLW1hcmdpbi1sZWZ0JyxcbiAgJ3Njcm9sbC1tYXJnaW4tcmlnaHQnLFxuICAnc2Nyb2xsLW1hcmdpbi10b3AnLFxuICAnc2Nyb2xsLXBhZGRpbmcnLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2snLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2stZW5kJyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJvdHRvbScsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUnLFxuICAnc2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCcsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLXBhZGRpbmctbGVmdCcsXG4gICdzY3JvbGwtcGFkZGluZy1yaWdodCcsXG4gICdzY3JvbGwtcGFkZGluZy10b3AnLFxuICAnc2Nyb2xsLXNuYXAtYWxpZ24nLFxuICAnc2Nyb2xsLXNuYXAtc3RvcCcsXG4gICdzY3JvbGwtc25hcC10eXBlJyxcbiAgJ3Njcm9sbC10aW1lbGluZScsXG4gICdzY3JvbGwtdGltZWxpbmUtYXhpcycsXG4gICdzY3JvbGwtdGltZWxpbmUtbmFtZScsXG4gICdzY3JvbGxiYXItY29sb3InLFxuICAnc2Nyb2xsYmFyLWd1dHRlcicsXG4gICdzY3JvbGxiYXItd2lkdGgnLFxuICAnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJyxcbiAgJ3NoYXBlLW1hcmdpbicsXG4gICdzaGFwZS1vdXRzaWRlJyxcbiAgJ3NoYXBlLXJlbmRlcmluZycsXG4gICdzcGVhaycsXG4gICdzcGVhay1hcycsXG4gICdzcmMnLCAvLyBAZm9udC1mYWNlXG4gICdzdG9wLWNvbG9yJyxcbiAgJ3N0b3Atb3BhY2l0eScsXG4gICdzdHJva2UnLFxuICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICdzdHJva2UtZGFzaG9mZnNldCcsXG4gICdzdHJva2UtbGluZWNhcCcsXG4gICdzdHJva2UtbGluZWpvaW4nLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW9wYWNpdHknLFxuICAnc3Ryb2tlLXdpZHRoJyxcbiAgJ3RhYi1zaXplJyxcbiAgJ3RhYmxlLWxheW91dCcsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RleHQtYWxpZ24tYWxsJyxcbiAgJ3RleHQtYWxpZ24tbGFzdCcsXG4gICd0ZXh0LWFuY2hvcicsXG4gICd0ZXh0LWNvbWJpbmUtdXByaWdodCcsXG4gICd0ZXh0LWRlY29yYXRpb24nLFxuICAndGV4dC1kZWNvcmF0aW9uLWNvbG9yJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1saW5lJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwLWluaycsXG4gICd0ZXh0LWRlY29yYXRpb24tc3R5bGUnLFxuICAndGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcycsXG4gICd0ZXh0LWVtcGhhc2lzJyxcbiAgJ3RleHQtZW1waGFzaXMtY29sb3InLFxuICAndGV4dC1lbXBoYXNpcy1wb3NpdGlvbicsXG4gICd0ZXh0LWVtcGhhc2lzLXN0eWxlJyxcbiAgJ3RleHQtaW5kZW50JyxcbiAgJ3RleHQtanVzdGlmeScsXG4gICd0ZXh0LW9yaWVudGF0aW9uJyxcbiAgJ3RleHQtb3ZlcmZsb3cnLFxuICAndGV4dC1yZW5kZXJpbmcnLFxuICAndGV4dC1zaGFkb3cnLFxuICAndGV4dC1zaXplLWFkanVzdCcsXG4gICd0ZXh0LXRyYW5zZm9ybScsXG4gICd0ZXh0LXVuZGVybGluZS1vZmZzZXQnLFxuICAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nLFxuICAndGV4dC13cmFwJyxcbiAgJ3RleHQtd3JhcC1tb2RlJyxcbiAgJ3RleHQtd3JhcC1zdHlsZScsXG4gICd0aW1lbGluZS1zY29wZScsXG4gICd0b3AnLFxuICAndG91Y2gtYWN0aW9uJyxcbiAgJ3RyYW5zZm9ybScsXG4gICd0cmFuc2Zvcm0tYm94JyxcbiAgJ3RyYW5zZm9ybS1vcmlnaW4nLFxuICAndHJhbnNmb3JtLXN0eWxlJyxcbiAgJ3RyYW5zaXRpb24nLFxuICAndHJhbnNpdGlvbi1iZWhhdmlvcicsXG4gICd0cmFuc2l0aW9uLWRlbGF5JyxcbiAgJ3RyYW5zaXRpb24tZHVyYXRpb24nLFxuICAndHJhbnNpdGlvbi1wcm9wZXJ0eScsXG4gICd0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbicsXG4gICd0cmFuc2xhdGUnLFxuICAndW5pY29kZS1iaWRpJyxcbiAgJ3VzZXItbW9kaWZ5JyxcbiAgJ3VzZXItc2VsZWN0JyxcbiAgJ3ZlY3Rvci1lZmZlY3QnLFxuICAndmVydGljYWwtYWxpZ24nLFxuICAndmlldy10aW1lbGluZScsXG4gICd2aWV3LXRpbWVsaW5lLWF4aXMnLFxuICAndmlldy10aW1lbGluZS1pbnNldCcsXG4gICd2aWV3LXRpbWVsaW5lLW5hbWUnLFxuICAndmlldy10cmFuc2l0aW9uLW5hbWUnLFxuICAndmlzaWJpbGl0eScsXG4gICd2b2ljZS1iYWxhbmNlJyxcbiAgJ3ZvaWNlLWR1cmF0aW9uJyxcbiAgJ3ZvaWNlLWZhbWlseScsXG4gICd2b2ljZS1waXRjaCcsXG4gICd2b2ljZS1yYW5nZScsXG4gICd2b2ljZS1yYXRlJyxcbiAgJ3ZvaWNlLXN0cmVzcycsXG4gICd2b2ljZS12b2x1bWUnLFxuICAnd2hpdGUtc3BhY2UnLFxuICAnd2hpdGUtc3BhY2UtY29sbGFwc2UnLFxuICAnd2lkb3dzJyxcbiAgJ3dpZHRoJyxcbiAgJ3dpbGwtY2hhbmdlJyxcbiAgJ3dvcmQtYnJlYWsnLFxuICAnd29yZC1zcGFjaW5nJyxcbiAgJ3dvcmQtd3JhcCcsXG4gICd3cml0aW5nLW1vZGUnLFxuICAneCcsXG4gICd5JyxcbiAgJ3otaW5kZXgnLFxuICAnem9vbSdcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuLypcbkxhbmd1YWdlOiBDU1NcbkNhdGVnb3J5OiBjb21tb24sIGNzcywgd2ViXG5XZWJzaXRlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1NcbiovXG5cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGNzcyhobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgbW9kZXMgPSBNT0RFUyhobGpzKTtcbiAgY29uc3QgVkVORE9SX1BSRUZJWCA9IHsgYmVnaW46IC8tKHdlYmtpdHxtb3p8bXN8byktKD89W2Etel0pLyB9O1xuICBjb25zdCBBVF9NT0RJRklFUlMgPSBcImFuZCBvciBub3Qgb25seVwiO1xuICBjb25zdCBBVF9QUk9QRVJUWV9SRSA9IC9ALT9cXHdbXFx3XSooLVxcdyspKi87IC8vIEAtd2Via2l0LWtleWZyYW1lc1xuICBjb25zdCBJREVOVF9SRSA9ICdbYS16QS1aLV1bYS16QS1aMC05Xy1dKic7XG4gIGNvbnN0IFNUUklOR1MgPSBbXG4gICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREVcbiAgXTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdDU1MnLFxuICAgIGNhc2VfaW5zZW5zaXRpdmU6IHRydWUsXG4gICAgaWxsZWdhbDogL1s9fCdcXCRdLyxcbiAgICBrZXl3b3JkczogeyBrZXlmcmFtZVBvc2l0aW9uOiBcImZyb20gdG9cIiB9LFxuICAgIGNsYXNzTmFtZUFsaWFzZXM6IHtcbiAgICAgIC8vIGZvciB2aXN1YWwgY29udGludWl0eSB3aXRoIGB0YWcge31gIGFuZCBiZWNhdXNlIHdlXG4gICAgICAvLyBkb24ndCBoYXZlIGEgZ3JlYXQgY2xhc3MgZm9yIHRoaXM/XG4gICAgICBrZXlmcmFtZVBvc2l0aW9uOiBcInNlbGVjdG9yLXRhZ1wiIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIG1vZGVzLkJMT0NLX0NPTU1FTlQsXG4gICAgICBWRU5ET1JfUFJFRklYLFxuICAgICAgLy8gdG8gcmVjb2duaXplIGtleWZyYW1lIDQwJSBldGMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIG91clxuICAgICAgLy8gYXR0cmlidXRlIHZhbHVlIG1vZGVcbiAgICAgIG1vZGVzLkNTU19OVU1CRVJfTU9ERSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc2VsZWN0b3ItaWQnLFxuICAgICAgICBiZWdpbjogLyNbQS1aYS16MC05Xy1dKy8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc2VsZWN0b3ItY2xhc3MnLFxuICAgICAgICBiZWdpbjogJ1xcXFwuJyArIElERU5UX1JFLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICBtb2Rlcy5BVFRSSUJVVEVfU0VMRUNUT1JfTU9ERSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc2VsZWN0b3ItcHNldWRvJyxcbiAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICB7IGJlZ2luOiAnOignICsgUFNFVURPX0NMQVNTRVMuam9pbignfCcpICsgJyknIH0sXG4gICAgICAgICAgeyBiZWdpbjogJzooOik/KCcgKyBQU0VVRE9fRUxFTUVOVFMuam9pbignfCcpICsgJyknIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIC8vIHdlIG1heSBhY3R1YWxseSBuZWVkIHRoaXMgKDEyLzIwMjApXG4gICAgICAvLyB7IC8vIHBzZXVkby1zZWxlY3RvciBwYXJhbXNcbiAgICAgIC8vICAgYmVnaW46IC9cXCgvLFxuICAgICAgLy8gICBlbmQ6IC9cXCkvLFxuICAgICAgLy8gICBjb250YWluczogWyBobGpzLkNTU19OVU1CRVJfTU9ERSBdXG4gICAgICAvLyB9LFxuICAgICAgbW9kZXMuQ1NTX1ZBUklBQkxFLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdhdHRyaWJ1dGUnLFxuICAgICAgICBiZWdpbjogJ1xcXFxiKCcgKyBBVFRSSUJVVEVTLmpvaW4oJ3wnKSArICcpXFxcXGInXG4gICAgICB9LFxuICAgICAgLy8gYXR0cmlidXRlIHZhbHVlc1xuICAgICAge1xuICAgICAgICBiZWdpbjogLzovLFxuICAgICAgICBlbmQ6IC9bO317XS8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgbW9kZXMuQkxPQ0tfQ09NTUVOVCxcbiAgICAgICAgICBtb2Rlcy5IRVhDT0xPUixcbiAgICAgICAgICBtb2Rlcy5JTVBPUlRBTlQsXG4gICAgICAgICAgbW9kZXMuQ1NTX05VTUJFUl9NT0RFLFxuICAgICAgICAgIC4uLlNUUklOR1MsXG4gICAgICAgICAgLy8gbmVlZGVkIHRvIGhpZ2hsaWdodCB0aGVzZSBhcyBzdHJpbmdzIGFuZCB0byBhdm9pZCBpc3N1ZXMgd2l0aFxuICAgICAgICAgIC8vIGlsbGVnYWwgY2hhcmFjdGVycyB0aGF0IG1pZ2h0IGJlIGluc2lkZSB1cmxzIHRoYXQgd291bGQgdGlnZ2VyIHRoZVxuICAgICAgICAgIC8vIGxhbmd1YWdlcyBpbGxlZ2FsIHN0YWNrXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46IC8odXJsfGRhdGEtdXJpKVxcKC8sXG4gICAgICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwLCAvLyBmcm9tIGtleXdvcmRzXG4gICAgICAgICAgICBrZXl3b3JkczogeyBidWlsdF9pbjogXCJ1cmwgZGF0YS11cmlcIiB9LFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAgLi4uU1RSSU5HUyxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAvLyBhbnkgY2hhcmFjdGVyIG90aGVyIHRoYW4gYClgIGFzIGluIGB1cmwoKWAgd2lsbCBiZSB0aGUgc3RhcnRcbiAgICAgICAgICAgICAgICAvLyBvZiBhIHN0cmluZywgd2hpY2ggZW5kcyB3aXRoIGApYCAoZnJvbSB0aGUgcGFyZW50IG1vZGUpXG4gICAgICAgICAgICAgICAgYmVnaW46IC9bXildLyxcbiAgICAgICAgICAgICAgICBlbmRzV2l0aFBhcmVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBleGNsdWRlRW5kOiB0cnVlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG1vZGVzLkZVTkNUSU9OX0RJU1BBVENIXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiByZWdleC5sb29rYWhlYWQoL0AvKSxcbiAgICAgICAgZW5kOiAnW3s7XScsXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgaWxsZWdhbDogLzovLCAvLyBicmVhayBvbiBMZXNzIHZhcmlhYmxlcyBAdmFyOiAuLi5cbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICAgIGJlZ2luOiBBVF9QUk9QRVJUWV9SRVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46IC9cXHMvLFxuICAgICAgICAgICAgZW5kc1dpdGhQYXJlbnQ6IHRydWUsXG4gICAgICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICAgICAga2V5d29yZHM6IHtcbiAgICAgICAgICAgICAgJHBhdHRlcm46IC9bYS16LV0rLyxcbiAgICAgICAgICAgICAga2V5d29yZDogQVRfTU9ESUZJRVJTLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGU6IE1FRElBX0ZFQVRVUkVTLmpvaW4oXCIgXCIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJlZ2luOiAvW2Etei1dKyg/PTopLyxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwiYXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgLi4uU1RSSU5HUyxcbiAgICAgICAgICAgICAgbW9kZXMuQ1NTX05VTUJFUl9NT0RFXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzZWxlY3Rvci10YWcnLFxuICAgICAgICBiZWdpbjogJ1xcXFxiKCcgKyBUQUdTLmpvaW4oJ3wnKSArICcpXFxcXGInXG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBjc3MgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/css.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/diff.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/diff.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ diff)\n/* harmony export */ });\n/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n const regex = hljs.regex;\n return {\n name: 'Diff',\n aliases: [ 'patch' ],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n match: regex.either(\n /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/,\n /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/,\n /^--- +\\d+,\\d+ +----$/\n )\n },\n {\n className: 'comment',\n variants: [\n {\n begin: regex.either(\n /Index: /,\n /^index/,\n /={3,}/,\n /^-{3}/,\n /^\\*{3} /,\n /^\\+{3}/,\n /^diff --git/\n ),\n end: /$/\n },\n { match: /^\\*{15}$/ }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9kaWZmLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsR0FBRztBQUNwQixrQkFBa0IsRUFBRTtBQUNwQixtQkFBbUIsR0FBRztBQUN0QixtQkFBbUIsRUFBRTtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsWUFBWSxZQUFZLEdBQUc7QUFDM0I7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2RpZmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBEaWZmXG5EZXNjcmlwdGlvbjogVW5pZmllZCBhbmQgY29udGV4dCBkaWZmXG5BdXRob3I6IFZhc2lseSBQb2xvdm55b3YgPHZhc3RAd2hpdGVhbnRzLm5ldD5cbldlYnNpdGU6IGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZGlmZnV0aWxzL1xuQ2F0ZWdvcnk6IGNvbW1vblxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGRpZmYoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0RpZmYnLFxuICAgIGFsaWFzZXM6IFsgJ3BhdGNoJyBdLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ21ldGEnLFxuICAgICAgICByZWxldmFuY2U6IDEwLFxuICAgICAgICBtYXRjaDogcmVnZXguZWl0aGVyKFxuICAgICAgICAgIC9eQEAgKy1cXGQrLFxcZCsgK1xcK1xcZCssXFxkKyArQEAvLFxuICAgICAgICAgIC9eXFwqXFwqXFwqICtcXGQrLFxcZCsgK1xcKlxcKlxcKlxcKiQvLFxuICAgICAgICAgIC9eLS0tICtcXGQrLFxcZCsgKy0tLS0kL1xuICAgICAgICApXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdjb21tZW50JyxcbiAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogcmVnZXguZWl0aGVyKFxuICAgICAgICAgICAgICAvSW5kZXg6IC8sXG4gICAgICAgICAgICAgIC9eaW5kZXgvLFxuICAgICAgICAgICAgICAvPXszLH0vLFxuICAgICAgICAgICAgICAvXi17M30vLFxuICAgICAgICAgICAgICAvXlxcKnszfSAvLFxuICAgICAgICAgICAgICAvXlxcK3szfS8sXG4gICAgICAgICAgICAgIC9eZGlmZiAtLWdpdC9cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBlbmQ6IC8kL1xuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBtYXRjaDogL15cXCp7MTV9JC8gfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdhZGRpdGlvbicsXG4gICAgICAgIGJlZ2luOiAvXlxcKy8sXG4gICAgICAgIGVuZDogLyQvXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdkZWxldGlvbicsXG4gICAgICAgIGJlZ2luOiAvXi0vLFxuICAgICAgICBlbmQ6IC8kL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnYWRkaXRpb24nLFxuICAgICAgICBiZWdpbjogL14hLyxcbiAgICAgICAgZW5kOiAvJC9cbiAgICAgIH1cbiAgICBdXG4gIH07XG59XG5cbmV4cG9ydCB7IGRpZmYgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/diff.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/go.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/go.js ***!
\**********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ go)\n/* harmony export */ });\n/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg \nContributors: Evgeny Stepanischev \nDescription: Google go language (golang). For info about language\nWebsite: http://golang.org/\nCategory: common, system\n*/\n\nfunction go(hljs) {\n const LITERALS = [\n \"true\",\n \"false\",\n \"iota\",\n \"nil\"\n ];\n const BUILT_INS = [\n \"append\",\n \"cap\",\n \"close\",\n \"complex\",\n \"copy\",\n \"imag\",\n \"len\",\n \"make\",\n \"new\",\n \"panic\",\n \"print\",\n \"println\",\n \"real\",\n \"recover\",\n \"delete\"\n ];\n const TYPES = [\n \"bool\",\n \"byte\",\n \"complex64\",\n \"complex128\",\n \"error\",\n \"float32\",\n \"float64\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"string\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"int\",\n \"uint\",\n \"uintptr\",\n \"rune\"\n ];\n const KWS = [\n \"break\",\n \"case\",\n \"chan\",\n \"const\",\n \"continue\",\n \"default\",\n \"defer\",\n \"else\",\n \"fallthrough\",\n \"for\",\n \"func\",\n \"go\",\n \"goto\",\n \"if\",\n \"import\",\n \"interface\",\n \"map\",\n \"package\",\n \"range\",\n \"return\",\n \"select\",\n \"struct\",\n \"switch\",\n \"type\",\n \"var\",\n ];\n const KEYWORDS = {\n keyword: KWS,\n type: TYPES,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n return {\n name: 'Go',\n aliases: [ 'golang' ],\n keywords: KEYWORDS,\n illegal: '',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'string',\n variants: [\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n {\n begin: '`',\n end: '`'\n }\n ]\n },\n {\n className: 'number',\n variants: [\n {\n match: /-?\\b0[xX]\\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\\d(_?\\d)*i?/, // hex without a present digit before . (making a digit afterwards required)\n relevance: 0\n },\n {\n match: /-?\\b0[xX](_?[a-fA-F0-9])+((\\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\\d(_?\\d)*)?i?/, // hex with a present digit before . (making a digit afterwards optional)\n relevance: 0\n },\n {\n match: /-?\\b0[oO](_?[0-7])*i?/, // leading 0o octal\n relevance: 0\n },\n {\n match: /-?\\.\\d(_?\\d)*([eE][+-]?\\d(_?\\d)*)?i?/, // decimal without a present digit before . (making a digit afterwards required)\n relevance: 0\n },\n {\n match: /-?\\b\\d(_?\\d)*(\\.(\\d(_?\\d)*)?)?([eE][+-]?\\d(_?\\d)*)?i?/, // decimal with a present digit before . (making a digit afterwards optional)\n relevance: 0\n }\n ]\n },\n { begin: /:=/ // relevance booster\n },\n {\n className: 'function',\n beginKeywords: 'func',\n end: '\\\\s*(\\\\{|$)',\n excludeEnd: true,\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n illegal: /[\"']/\n }\n ]\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9nby5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxRQUFRO0FBQ1IsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFeUIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2dvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogR29cbkF1dGhvcjogU3RlcGhhbiBLb3VudHNvIGFrYSBTdGVwTGcgPHN0ZXBsZ0BnbWFpbC5jb20+XG5Db250cmlidXRvcnM6IEV2Z2VueSBTdGVwYW5pc2NoZXYgPGltYm9sa0BnbWFpbC5jb20+XG5EZXNjcmlwdGlvbjogR29vZ2xlIGdvIGxhbmd1YWdlIChnb2xhbmcpLiBGb3IgaW5mbyBhYm91dCBsYW5ndWFnZVxuV2Vic2l0ZTogaHR0cDovL2dvbGFuZy5vcmcvXG5DYXRlZ29yeTogY29tbW9uLCBzeXN0ZW1cbiovXG5cbmZ1bmN0aW9uIGdvKGhsanMpIHtcbiAgY29uc3QgTElURVJBTFMgPSBbXG4gICAgXCJ0cnVlXCIsXG4gICAgXCJmYWxzZVwiLFxuICAgIFwiaW90YVwiLFxuICAgIFwibmlsXCJcbiAgXTtcbiAgY29uc3QgQlVJTFRfSU5TID0gW1xuICAgIFwiYXBwZW5kXCIsXG4gICAgXCJjYXBcIixcbiAgICBcImNsb3NlXCIsXG4gICAgXCJjb21wbGV4XCIsXG4gICAgXCJjb3B5XCIsXG4gICAgXCJpbWFnXCIsXG4gICAgXCJsZW5cIixcbiAgICBcIm1ha2VcIixcbiAgICBcIm5ld1wiLFxuICAgIFwicGFuaWNcIixcbiAgICBcInByaW50XCIsXG4gICAgXCJwcmludGxuXCIsXG4gICAgXCJyZWFsXCIsXG4gICAgXCJyZWNvdmVyXCIsXG4gICAgXCJkZWxldGVcIlxuICBdO1xuICBjb25zdCBUWVBFUyA9IFtcbiAgICBcImJvb2xcIixcbiAgICBcImJ5dGVcIixcbiAgICBcImNvbXBsZXg2NFwiLFxuICAgIFwiY29tcGxleDEyOFwiLFxuICAgIFwiZXJyb3JcIixcbiAgICBcImZsb2F0MzJcIixcbiAgICBcImZsb2F0NjRcIixcbiAgICBcImludDhcIixcbiAgICBcImludDE2XCIsXG4gICAgXCJpbnQzMlwiLFxuICAgIFwiaW50NjRcIixcbiAgICBcInN0cmluZ1wiLFxuICAgIFwidWludDhcIixcbiAgICBcInVpbnQxNlwiLFxuICAgIFwidWludDMyXCIsXG4gICAgXCJ1aW50NjRcIixcbiAgICBcImludFwiLFxuICAgIFwidWludFwiLFxuICAgIFwidWludHB0clwiLFxuICAgIFwicnVuZVwiXG4gIF07XG4gIGNvbnN0IEtXUyA9IFtcbiAgICBcImJyZWFrXCIsXG4gICAgXCJjYXNlXCIsXG4gICAgXCJjaGFuXCIsXG4gICAgXCJjb25zdFwiLFxuICAgIFwiY29udGludWVcIixcbiAgICBcImRlZmF1bHRcIixcbiAgICBcImRlZmVyXCIsXG4gICAgXCJlbHNlXCIsXG4gICAgXCJmYWxsdGhyb3VnaFwiLFxuICAgIFwiZm9yXCIsXG4gICAgXCJmdW5jXCIsXG4gICAgXCJnb1wiLFxuICAgIFwiZ290b1wiLFxuICAgIFwiaWZcIixcbiAgICBcImltcG9ydFwiLFxuICAgIFwiaW50ZXJmYWNlXCIsXG4gICAgXCJtYXBcIixcbiAgICBcInBhY2thZ2VcIixcbiAgICBcInJhbmdlXCIsXG4gICAgXCJyZXR1cm5cIixcbiAgICBcInNlbGVjdFwiLFxuICAgIFwic3RydWN0XCIsXG4gICAgXCJzd2l0Y2hcIixcbiAgICBcInR5cGVcIixcbiAgICBcInZhclwiLFxuICBdO1xuICBjb25zdCBLRVlXT1JEUyA9IHtcbiAgICBrZXl3b3JkOiBLV1MsXG4gICAgdHlwZTogVFlQRVMsXG4gICAgbGl0ZXJhbDogTElURVJBTFMsXG4gICAgYnVpbHRfaW46IEJVSUxUX0lOU1xuICB9O1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdHbycsXG4gICAgYWxpYXNlczogWyAnZ29sYW5nJyBdLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICBpbGxlZ2FsOiAnPC8nLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREUsXG4gICAgICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luOiAnYCcsXG4gICAgICAgICAgICBlbmQ6ICdgJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbnVtYmVyJyxcbiAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogLy0/XFxiMFt4WF1cXC5bYS1mQS1GMC05XShfP1thLWZBLUYwLTldKSpbcFBdWystXT9cXGQoXz9cXGQpKmk/LywgLy8gaGV4IHdpdGhvdXQgYSBwcmVzZW50IGRpZ2l0IGJlZm9yZSAuIChtYWtpbmcgYSBkaWdpdCBhZnRlcndhcmRzIHJlcXVpcmVkKVxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogLy0/XFxiMFt4WF0oXz9bYS1mQS1GMC05XSkrKChcXC4oW2EtZkEtRjAtOV0oXz9bYS1mQS1GMC05XSkqKT8pP1twUF1bKy1dP1xcZChfP1xcZCkqKT9pPy8sIC8vIGhleCB3aXRoIGEgcHJlc2VudCBkaWdpdCBiZWZvcmUgLiAobWFraW5nIGEgZGlnaXQgYWZ0ZXJ3YXJkcyBvcHRpb25hbClcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF0Y2g6IC8tP1xcYjBbb09dKF8/WzAtN10pKmk/LywgLy8gbGVhZGluZyAwbyBvY3RhbFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogLy0/XFwuXFxkKF8/XFxkKSooW2VFXVsrLV0/XFxkKF8/XFxkKSopP2k/LywgLy8gZGVjaW1hbCB3aXRob3V0IGEgcHJlc2VudCBkaWdpdCBiZWZvcmUgLiAobWFraW5nIGEgZGlnaXQgYWZ0ZXJ3YXJkcyByZXF1aXJlZClcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF0Y2g6IC8tP1xcYlxcZChfP1xcZCkqKFxcLihcXGQoXz9cXGQpKik/KT8oW2VFXVsrLV0/XFxkKF8/XFxkKSopP2k/LywgLy8gZGVjaW1hbCB3aXRoIGEgcHJlc2VudCBkaWdpdCBiZWZvcmUgLiAobWFraW5nIGEgZGlnaXQgYWZ0ZXJ3YXJkcyBvcHRpb25hbClcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHsgYmVnaW46IC86PS8gLy8gcmVsZXZhbmNlIGJvb3N0ZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ2Z1bmMnLFxuICAgICAgICBlbmQ6ICdcXFxccyooXFxcXHt8JCknLFxuICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIGhsanMuVElUTEVfTU9ERSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgICAgIGVuZHNQYXJlbnQ6IHRydWUsXG4gICAgICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgICAgICBpbGxlZ2FsOiAvW1wiJ10vXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBnbyBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/go.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/graphql.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/graphql.js ***!
\***************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ graphql)\n/* harmony export */ });\n/*\n Language: GraphQL\n Author: John Foster (GH jf990), and others\n Description: GraphQL is a query language for APIs\n Category: web, common\n*/\n\n/** @type LanguageFn */\nfunction graphql(hljs) {\n const regex = hljs.regex;\n const GQL_NAME = /[_A-Za-z][_0-9A-Za-z]*/;\n return {\n name: \"GraphQL\",\n aliases: [ \"gql\" ],\n case_insensitive: true,\n disableAutodetect: false,\n keywords: {\n keyword: [\n \"query\",\n \"mutation\",\n \"subscription\",\n \"type\",\n \"input\",\n \"schema\",\n \"directive\",\n \"interface\",\n \"union\",\n \"scalar\",\n \"fragment\",\n \"enum\",\n \"on\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"null\"\n ]\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n {\n scope: \"punctuation\",\n match: /[.]{3}/,\n relevance: 0\n },\n {\n scope: \"punctuation\",\n begin: /[\\!\\(\\)\\:\\=\\[\\]\\{\\|\\}]{1}/,\n relevance: 0\n },\n {\n scope: \"variable\",\n begin: /\\$/,\n end: /\\W/,\n excludeEnd: true,\n relevance: 0\n },\n {\n scope: \"meta\",\n match: /@\\w+/,\n excludeEnd: true\n },\n {\n scope: \"symbol\",\n begin: regex.concat(GQL_NAME, regex.lookahead(/\\s*:/)),\n relevance: 0\n }\n ],\n illegal: [\n /[;<']/,\n /BEGIN/\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9ncmFwaHFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixFQUFFO0FBQ3RCO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxpQ0FBaUMsSUFBSSxFQUFFLEVBQUU7QUFDekM7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUU4QiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvZ3JhcGhxbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIExhbmd1YWdlOiBHcmFwaFFMXG4gQXV0aG9yOiBKb2huIEZvc3RlciAoR0ggamY5OTApLCBhbmQgb3RoZXJzXG4gRGVzY3JpcHRpb246IEdyYXBoUUwgaXMgYSBxdWVyeSBsYW5ndWFnZSBmb3IgQVBJc1xuIENhdGVnb3J5OiB3ZWIsIGNvbW1vblxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGdyYXBocWwoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIGNvbnN0IEdRTF9OQU1FID0gL1tfQS1aYS16XVtfMC05QS1aYS16XSovO1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwiR3JhcGhRTFwiLFxuICAgIGFsaWFzZXM6IFsgXCJncWxcIiBdLFxuICAgIGNhc2VfaW5zZW5zaXRpdmU6IHRydWUsXG4gICAgZGlzYWJsZUF1dG9kZXRlY3Q6IGZhbHNlLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICBrZXl3b3JkOiBbXG4gICAgICAgIFwicXVlcnlcIixcbiAgICAgICAgXCJtdXRhdGlvblwiLFxuICAgICAgICBcInN1YnNjcmlwdGlvblwiLFxuICAgICAgICBcInR5cGVcIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInNjaGVtYVwiLFxuICAgICAgICBcImRpcmVjdGl2ZVwiLFxuICAgICAgICBcImludGVyZmFjZVwiLFxuICAgICAgICBcInVuaW9uXCIsXG4gICAgICAgIFwic2NhbGFyXCIsXG4gICAgICAgIFwiZnJhZ21lbnRcIixcbiAgICAgICAgXCJlbnVtXCIsXG4gICAgICAgIFwib25cIlxuICAgICAgXSxcbiAgICAgIGxpdGVyYWw6IFtcbiAgICAgICAgXCJ0cnVlXCIsXG4gICAgICAgIFwiZmFsc2VcIixcbiAgICAgICAgXCJudWxsXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkhBU0hfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgIGhsanMuTlVNQkVSX01PREUsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiBcInB1bmN0dWF0aW9uXCIsXG4gICAgICAgIG1hdGNoOiAvWy5dezN9LyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzY29wZTogXCJwdW5jdHVhdGlvblwiLFxuICAgICAgICBiZWdpbjogL1tcXCFcXChcXClcXDpcXD1cXFtcXF1cXHtcXHxcXH1dezF9LyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzY29wZTogXCJ2YXJpYWJsZVwiLFxuICAgICAgICBiZWdpbjogL1xcJC8sXG4gICAgICAgIGVuZDogL1xcVy8sXG4gICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IFwibWV0YVwiLFxuICAgICAgICBtYXRjaDogL0BcXHcrLyxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IFwic3ltYm9sXCIsXG4gICAgICAgIGJlZ2luOiByZWdleC5jb25jYXQoR1FMX05BTUUsIHJlZ2V4Lmxvb2thaGVhZCgvXFxzKjovKSksXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfVxuICAgIF0sXG4gICAgaWxsZWdhbDogW1xuICAgICAgL1s7PCddLyxcbiAgICAgIC9CRUdJTi9cbiAgICBdXG4gIH07XG59XG5cbmV4cG9ydCB7IGdyYXBocWwgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/graphql.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/ini.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/ini.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ini)\n/* harmony export */ });\n/*\nLanguage: TOML, also INI\nDescription: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.\nContributors: Guillaume Gomez \nCategory: common, config\nWebsite: https://github.com/toml-lang/toml\n*/\n\nfunction ini(hljs) {\n const regex = hljs.regex;\n const NUMBERS = {\n className: 'number',\n relevance: 0,\n variants: [\n { begin: /([+-]+)?[\\d]+_[\\d_]+/ },\n { begin: hljs.NUMBER_RE }\n ]\n };\n const COMMENTS = hljs.COMMENT();\n COMMENTS.variants = [\n {\n begin: /;/,\n end: /$/\n },\n {\n begin: /#/,\n end: /$/\n }\n ];\n const VARIABLES = {\n className: 'variable',\n variants: [\n { begin: /\\$[\\w\\d\"][\\w\\d_]*/ },\n { begin: /\\$\\{(.*?)\\}/ }\n ]\n };\n const LITERALS = {\n className: 'literal',\n begin: /\\bon|off|true|false|yes|no\\b/\n };\n const STRINGS = {\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: \"'''\",\n end: \"'''\",\n relevance: 10\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: \"'\",\n end: \"'\"\n }\n ]\n };\n const ARRAY = {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n COMMENTS,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS,\n 'self'\n ],\n relevance: 0\n };\n\n const BARE_KEY = /[A-Za-z0-9_-]+/;\n const QUOTED_KEY_DOUBLE_QUOTE = /\"(\\\\\"|[^\"])*\"/;\n const QUOTED_KEY_SINGLE_QUOTE = /'[^']*'/;\n const ANY_KEY = regex.either(\n BARE_KEY, QUOTED_KEY_DOUBLE_QUOTE, QUOTED_KEY_SINGLE_QUOTE\n );\n const DOTTED_KEY = regex.concat(\n ANY_KEY, '(\\\\s*\\\\.\\\\s*', ANY_KEY, ')*',\n regex.lookahead(/\\s*=\\s*[^#\\s]/)\n );\n\n return {\n name: 'TOML, also INI',\n aliases: [ 'toml' ],\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n COMMENTS,\n {\n className: 'section',\n begin: /\\[+/,\n end: /\\]+/\n },\n {\n begin: DOTTED_KEY,\n className: 'attr',\n starts: {\n end: /$/,\n contains: [\n COMMENTS,\n ARRAY,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS\n ]\n }\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9pbmkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0JBQStCO0FBQ3ZDLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRCQUE0QjtBQUNwQyxRQUFRLFlBQVksT0FBTztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMEIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2luaS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFRPTUwsIGFsc28gSU5JXG5EZXNjcmlwdGlvbjogVE9NTCBhaW1zIHRvIGJlIGEgbWluaW1hbCBjb25maWd1cmF0aW9uIGZpbGUgZm9ybWF0IHRoYXQncyBlYXN5IHRvIHJlYWQgZHVlIHRvIG9idmlvdXMgc2VtYW50aWNzLlxuQ29udHJpYnV0b3JzOiBHdWlsbGF1bWUgR29tZXogPGd1aWxsYXVtZTEuZ29tZXpAZ21haWwuY29tPlxuQ2F0ZWdvcnk6IGNvbW1vbiwgY29uZmlnXG5XZWJzaXRlOiBodHRwczovL2dpdGh1Yi5jb20vdG9tbC1sYW5nL3RvbWxcbiovXG5cbmZ1bmN0aW9uIGluaShobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgTlVNQkVSUyA9IHtcbiAgICBjbGFzc05hbWU6ICdudW1iZXInLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICB2YXJpYW50czogW1xuICAgICAgeyBiZWdpbjogLyhbKy1dKyk/W1xcZF0rX1tcXGRfXSsvIH0sXG4gICAgICB7IGJlZ2luOiBobGpzLk5VTUJFUl9SRSB9XG4gICAgXVxuICB9O1xuICBjb25zdCBDT01NRU5UUyA9IGhsanMuQ09NTUVOVCgpO1xuICBDT01NRU5UUy52YXJpYW50cyA9IFtcbiAgICB7XG4gICAgICBiZWdpbjogLzsvLFxuICAgICAgZW5kOiAvJC9cbiAgICB9LFxuICAgIHtcbiAgICAgIGJlZ2luOiAvIy8sXG4gICAgICBlbmQ6IC8kL1xuICAgIH1cbiAgXTtcbiAgY29uc3QgVkFSSUFCTEVTID0ge1xuICAgIGNsYXNzTmFtZTogJ3ZhcmlhYmxlJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgeyBiZWdpbjogL1xcJFtcXHdcXGRcIl1bXFx3XFxkX10qLyB9LFxuICAgICAgeyBiZWdpbjogL1xcJFxceyguKj8pXFx9LyB9XG4gICAgXVxuICB9O1xuICBjb25zdCBMSVRFUkFMUyA9IHtcbiAgICBjbGFzc05hbWU6ICdsaXRlcmFsJyxcbiAgICBiZWdpbjogL1xcYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xcYi9cbiAgfTtcbiAgY29uc3QgU1RSSU5HUyA9IHtcbiAgICBjbGFzc05hbWU6IFwic3RyaW5nXCIsXG4gICAgY29udGFpbnM6IFsgaGxqcy5CQUNLU0xBU0hfRVNDQVBFIF0sXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFwiJycnXCIsXG4gICAgICAgIGVuZDogXCInJydcIixcbiAgICAgICAgcmVsZXZhbmNlOiAxMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdcIlwiXCInLFxuICAgICAgICBlbmQ6ICdcIlwiXCInLFxuICAgICAgICByZWxldmFuY2U6IDEwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogJ1wiJyxcbiAgICAgICAgZW5kOiAnXCInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogXCInXCIsXG4gICAgICAgIGVuZDogXCInXCJcbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIGNvbnN0IEFSUkFZID0ge1xuICAgIGJlZ2luOiAvXFxbLyxcbiAgICBlbmQ6IC9cXF0vLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBDT01NRU5UUyxcbiAgICAgIExJVEVSQUxTLFxuICAgICAgVkFSSUFCTEVTLFxuICAgICAgU1RSSU5HUyxcbiAgICAgIE5VTUJFUlMsXG4gICAgICAnc2VsZidcbiAgICBdLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIGNvbnN0IEJBUkVfS0VZID0gL1tBLVphLXowLTlfLV0rLztcbiAgY29uc3QgUVVPVEVEX0tFWV9ET1VCTEVfUVVPVEUgPSAvXCIoXFxcXFwifFteXCJdKSpcIi87XG4gIGNvbnN0IFFVT1RFRF9LRVlfU0lOR0xFX1FVT1RFID0gLydbXiddKicvO1xuICBjb25zdCBBTllfS0VZID0gcmVnZXguZWl0aGVyKFxuICAgIEJBUkVfS0VZLCBRVU9URURfS0VZX0RPVUJMRV9RVU9URSwgUVVPVEVEX0tFWV9TSU5HTEVfUVVPVEVcbiAgKTtcbiAgY29uc3QgRE9UVEVEX0tFWSA9IHJlZ2V4LmNvbmNhdChcbiAgICBBTllfS0VZLCAnKFxcXFxzKlxcXFwuXFxcXHMqJywgQU5ZX0tFWSwgJykqJyxcbiAgICByZWdleC5sb29rYWhlYWQoL1xccyo9XFxzKlteI1xcc10vKVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1RPTUwsIGFsc28gSU5JJyxcbiAgICBhbGlhc2VzOiBbICd0b21sJyBdLFxuICAgIGNhc2VfaW5zZW5zaXRpdmU6IHRydWUsXG4gICAgaWxsZWdhbDogL1xcUy8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIENPTU1FTlRTLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzZWN0aW9uJyxcbiAgICAgICAgYmVnaW46IC9cXFsrLyxcbiAgICAgICAgZW5kOiAvXFxdKy9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiBET1RURURfS0VZLFxuICAgICAgICBjbGFzc05hbWU6ICdhdHRyJyxcbiAgICAgICAgc3RhcnRzOiB7XG4gICAgICAgICAgZW5kOiAvJC8sXG4gICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgIENPTU1FTlRTLFxuICAgICAgICAgICAgQVJSQVksXG4gICAgICAgICAgICBMSVRFUkFMUyxcbiAgICAgICAgICAgIFZBUklBQkxFUyxcbiAgICAgICAgICAgIFNUUklOR1MsXG4gICAgICAgICAgICBOVU1CRVJTXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBpbmkgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/ini.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/java.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/java.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ java)\n/* harmony export */ });\n// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov \nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\n\n/**\n * Allows recursive regex expressions to a given depth\n *\n * ie: recurRegex(\"(abc~~~)\", /~~~/g, 2) becomes:\n * (abc(abc(abc)))\n *\n * @param {string} re\n * @param {RegExp} substitution (should be a g mode regex)\n * @param {number} depth\n * @returns {string}``\n */\nfunction recurRegex(re, substitution, depth) {\n if (depth === -1) return \"\";\n\n return re.replace(substitution, _ => {\n return recurRegex(re, substitution, depth - 1);\n });\n}\n\n/** @type LanguageFn */\nfunction java(hljs) {\n const regex = hljs.regex;\n const JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n const GENERIC_IDENT_RE = JAVA_IDENT_RE\n + recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\\\s*,\\\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);\n const MAIN_KEYWORDS = [\n 'synchronized',\n 'abstract',\n 'private',\n 'var',\n 'static',\n 'if',\n 'const ',\n 'for',\n 'while',\n 'strictfp',\n 'finally',\n 'protected',\n 'import',\n 'native',\n 'final',\n 'void',\n 'enum',\n 'else',\n 'break',\n 'transient',\n 'catch',\n 'instanceof',\n 'volatile',\n 'case',\n 'assert',\n 'package',\n 'default',\n 'public',\n 'try',\n 'switch',\n 'continue',\n 'throws',\n 'protected',\n 'public',\n 'private',\n 'module',\n 'requires',\n 'exports',\n 'do',\n 'sealed',\n 'yield',\n 'permits',\n 'goto',\n 'when'\n ];\n\n const BUILT_INS = [\n 'super',\n 'this'\n ];\n\n const LITERALS = [\n 'false',\n 'true',\n 'null'\n ];\n\n const TYPES = [\n 'char',\n 'boolean',\n 'long',\n 'float',\n 'int',\n 'byte',\n 'short',\n 'double'\n ];\n\n const KEYWORDS = {\n keyword: MAIN_KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n };\n\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + JAVA_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ \"self\" ] // allow nested () inside our annotation\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [ hljs.C_BLOCK_COMMENT_MODE ],\n endsParent: true\n };\n\n return {\n name: 'Java',\n aliases: [ 'jsp' ],\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n // relevance boost\n {\n begin: /import java\\.[a-z]+\\./,\n keywords: \"import\",\n relevance: 2\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n match: [\n /\\b(?:class|interface|enum|extends|implements|new)/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n // Exceptions for hyphenated keywords\n match: /non-sealed/,\n scope: \"keyword\"\n },\n {\n begin: [\n regex.concat(/(?!else)/, JAVA_IDENT_RE),\n /\\s+/,\n JAVA_IDENT_RE,\n /\\s+/,\n /=(?!=)/\n ],\n className: {\n 1: \"type\",\n 3: \"variable\",\n 5: \"operator\"\n }\n },\n {\n begin: [\n /record/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n contains: [\n PARAMS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new throw return else',\n relevance: 0\n },\n {\n begin: [\n '(?:' + GENERIC_IDENT_RE + '\\\\s+)',\n hljs.UNDERSCORE_IDENT_RE,\n /\\s*(?=\\()/\n ],\n className: { 2: \"title.function\" },\n keywords: KEYWORDS,\n contains: [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n ANNOTATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMERIC,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n NUMERIC,\n ANNOTATION\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9qYXZhLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0Esa0JBQWtCLGNBQWM7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxlQUFlLGNBQWMsS0FBSyxLQUFLLFdBQVcsS0FBSztBQUM3RCxtQkFBbUIsY0FBYyxjQUFjO0FBQy9DO0FBQ0EsTUFBTSxjQUFjLGNBQWMsS0FBSyxLQUFLLCtCQUErQjtBQUMzRSxNQUFNLFdBQVcsS0FBSyxjQUFjO0FBQ3BDLE1BQU0sY0FBYyxjQUFjLGFBQWE7O0FBRS9DO0FBQ0EsTUFBTSxvQkFBb0IsVUFBVSxTQUFTLFVBQVUsUUFBUSxVQUFVO0FBQ3pFLG1CQUFtQixjQUFjLGNBQWM7O0FBRS9DO0FBQ0EsTUFBTSx5Q0FBeUM7O0FBRS9DO0FBQ0EsTUFBTSxtQkFBbUIsVUFBVSxZQUFZOztBQUUvQztBQUNBLE1BQU0saUNBQWlDOztBQUV2QztBQUNBLE1BQU0sd0NBQXdDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIscUJBQXFCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2phdmEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlL3NwZWNzL2pscy9zZTE1L2h0bWwvamxzLTMuaHRtbCNqbHMtMy4xMFxudmFyIGRlY2ltYWxEaWdpdHMgPSAnWzAtOV0oXypbMC05XSkqJztcbnZhciBmcmFjID0gYFxcXFwuKCR7ZGVjaW1hbERpZ2l0c30pYDtcbnZhciBoZXhEaWdpdHMgPSAnWzAtOWEtZkEtRl0oXypbMC05YS1mQS1GXSkqJztcbnZhciBOVU1FUklDID0ge1xuICBjbGFzc05hbWU6ICdudW1iZXInLFxuICB2YXJpYW50czogW1xuICAgIC8vIERlY2ltYWxGbG9hdGluZ1BvaW50TGl0ZXJhbFxuICAgIC8vIGluY2x1ZGluZyBFeHBvbmVudFBhcnRcbiAgICB7IGJlZ2luOiBgKFxcXFxiKCR7ZGVjaW1hbERpZ2l0c30pKCgke2ZyYWN9KXxcXFxcLik/fCgke2ZyYWN9KSlgICtcbiAgICAgIGBbZUVdWystXT8oJHtkZWNpbWFsRGlnaXRzfSlbZkZkRF0/XFxcXGJgIH0sXG4gICAgLy8gZXhjbHVkaW5nIEV4cG9uZW50UGFydFxuICAgIHsgYmVnaW46IGBcXFxcYigke2RlY2ltYWxEaWdpdHN9KSgoJHtmcmFjfSlbZkZkRF0/XFxcXGJ8XFxcXC4oW2ZGZERdXFxcXGIpPylgIH0sXG4gICAgeyBiZWdpbjogYCgke2ZyYWN9KVtmRmREXT9cXFxcYmAgfSxcbiAgICB7IGJlZ2luOiBgXFxcXGIoJHtkZWNpbWFsRGlnaXRzfSlbZkZkRF1cXFxcYmAgfSxcblxuICAgIC8vIEhleGFkZWNpbWFsRmxvYXRpbmdQb2ludExpdGVyYWxcbiAgICB7IGJlZ2luOiBgXFxcXGIwW3hYXSgoJHtoZXhEaWdpdHN9KVxcXFwuP3woJHtoZXhEaWdpdHN9KT9cXFxcLigke2hleERpZ2l0c30pKWAgK1xuICAgICAgYFtwUF1bKy1dPygke2RlY2ltYWxEaWdpdHN9KVtmRmREXT9cXFxcYmAgfSxcblxuICAgIC8vIERlY2ltYWxJbnRlZ2VyTGl0ZXJhbFxuICAgIHsgYmVnaW46ICdcXFxcYigwfFsxLTldKF8qWzAtOV0pKilbbExdP1xcXFxiJyB9LFxuXG4gICAgLy8gSGV4SW50ZWdlckxpdGVyYWxcbiAgICB7IGJlZ2luOiBgXFxcXGIwW3hYXSgke2hleERpZ2l0c30pW2xMXT9cXFxcYmAgfSxcblxuICAgIC8vIE9jdGFsSW50ZWdlckxpdGVyYWxcbiAgICB7IGJlZ2luOiAnXFxcXGIwKF8qWzAtN10pKltsTF0/XFxcXGInIH0sXG5cbiAgICAvLyBCaW5hcnlJbnRlZ2VyTGl0ZXJhbFxuICAgIHsgYmVnaW46ICdcXFxcYjBbYkJdWzAxXShfKlswMV0pKltsTF0/XFxcXGInIH0sXG4gIF0sXG4gIHJlbGV2YW5jZTogMFxufTtcblxuLypcbkxhbmd1YWdlOiBKYXZhXG5BdXRob3I6IFZzZXZvbG9kIFNvbG92eW92IDx2c2V2b2xvZC5zb2xvdnlvdkBnbWFpbC5jb20+XG5DYXRlZ29yeTogY29tbW9uLCBlbnRlcnByaXNlXG5XZWJzaXRlOiBodHRwczovL3d3dy5qYXZhLmNvbS9cbiovXG5cblxuLyoqXG4gKiBBbGxvd3MgcmVjdXJzaXZlIHJlZ2V4IGV4cHJlc3Npb25zIHRvIGEgZ2l2ZW4gZGVwdGhcbiAqXG4gKiBpZTogcmVjdXJSZWdleChcIihhYmN+fn4pXCIsIC9+fn4vZywgMikgYmVjb21lczpcbiAqIChhYmMoYWJjKGFiYykpKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByZVxuICogQHBhcmFtIHtSZWdFeHB9IHN1YnN0aXR1dGlvbiAoc2hvdWxkIGJlIGEgZyBtb2RlIHJlZ2V4KVxuICogQHBhcmFtIHtudW1iZXJ9IGRlcHRoXG4gKiBAcmV0dXJucyB7c3RyaW5nfWBgXG4gKi9cbmZ1bmN0aW9uIHJlY3VyUmVnZXgocmUsIHN1YnN0aXR1dGlvbiwgZGVwdGgpIHtcbiAgaWYgKGRlcHRoID09PSAtMSkgcmV0dXJuIFwiXCI7XG5cbiAgcmV0dXJuIHJlLnJlcGxhY2Uoc3Vic3RpdHV0aW9uLCBfID0+IHtcbiAgICByZXR1cm4gcmVjdXJSZWdleChyZSwgc3Vic3RpdHV0aW9uLCBkZXB0aCAtIDEpO1xuICB9KTtcbn1cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGphdmEoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIGNvbnN0IEpBVkFfSURFTlRfUkUgPSAnW1xcdTAwQzAtXFx1MDJCOGEtekEtWl8kXVtcXHUwMEMwLVxcdTAyQjhhLXpBLVpfJDAtOV0qJztcbiAgY29uc3QgR0VORVJJQ19JREVOVF9SRSA9IEpBVkFfSURFTlRfUkVcbiAgICArIHJlY3VyUmVnZXgoJyg/OjwnICsgSkFWQV9JREVOVF9SRSArICd+fn4oPzpcXFxccyosXFxcXHMqJyArIEpBVkFfSURFTlRfUkUgKyAnfn5+KSo+KT8nLCAvfn5+L2csIDIpO1xuICBjb25zdCBNQUlOX0tFWVdPUkRTID0gW1xuICAgICdzeW5jaHJvbml6ZWQnLFxuICAgICdhYnN0cmFjdCcsXG4gICAgJ3ByaXZhdGUnLFxuICAgICd2YXInLFxuICAgICdzdGF0aWMnLFxuICAgICdpZicsXG4gICAgJ2NvbnN0ICcsXG4gICAgJ2ZvcicsXG4gICAgJ3doaWxlJyxcbiAgICAnc3RyaWN0ZnAnLFxuICAgICdmaW5hbGx5JyxcbiAgICAncHJvdGVjdGVkJyxcbiAgICAnaW1wb3J0JyxcbiAgICAnbmF0aXZlJyxcbiAgICAnZmluYWwnLFxuICAgICd2b2lkJyxcbiAgICAnZW51bScsXG4gICAgJ2Vsc2UnLFxuICAgICdicmVhaycsXG4gICAgJ3RyYW5zaWVudCcsXG4gICAgJ2NhdGNoJyxcbiAgICAnaW5zdGFuY2VvZicsXG4gICAgJ3ZvbGF0aWxlJyxcbiAgICAnY2FzZScsXG4gICAgJ2Fzc2VydCcsXG4gICAgJ3BhY2thZ2UnLFxuICAgICdkZWZhdWx0JyxcbiAgICAncHVibGljJyxcbiAgICAndHJ5JyxcbiAgICAnc3dpdGNoJyxcbiAgICAnY29udGludWUnLFxuICAgICd0aHJvd3MnLFxuICAgICdwcm90ZWN0ZWQnLFxuICAgICdwdWJsaWMnLFxuICAgICdwcml2YXRlJyxcbiAgICAnbW9kdWxlJyxcbiAgICAncmVxdWlyZXMnLFxuICAgICdleHBvcnRzJyxcbiAgICAnZG8nLFxuICAgICdzZWFsZWQnLFxuICAgICd5aWVsZCcsXG4gICAgJ3Blcm1pdHMnLFxuICAgICdnb3RvJyxcbiAgICAnd2hlbidcbiAgXTtcblxuICBjb25zdCBCVUlMVF9JTlMgPSBbXG4gICAgJ3N1cGVyJyxcbiAgICAndGhpcydcbiAgXTtcblxuICBjb25zdCBMSVRFUkFMUyA9IFtcbiAgICAnZmFsc2UnLFxuICAgICd0cnVlJyxcbiAgICAnbnVsbCdcbiAgXTtcblxuICBjb25zdCBUWVBFUyA9IFtcbiAgICAnY2hhcicsXG4gICAgJ2Jvb2xlYW4nLFxuICAgICdsb25nJyxcbiAgICAnZmxvYXQnLFxuICAgICdpbnQnLFxuICAgICdieXRlJyxcbiAgICAnc2hvcnQnLFxuICAgICdkb3VibGUnXG4gIF07XG5cbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAga2V5d29yZDogTUFJTl9LRVlXT1JEUyxcbiAgICBsaXRlcmFsOiBMSVRFUkFMUyxcbiAgICB0eXBlOiBUWVBFUyxcbiAgICBidWlsdF9pbjogQlVJTFRfSU5TXG4gIH07XG5cbiAgY29uc3QgQU5OT1RBVElPTiA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICBiZWdpbjogJ0AnICsgSkFWQV9JREVOVF9SRSxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcKC8sXG4gICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgIGNvbnRhaW5zOiBbIFwic2VsZlwiIF0gLy8gYWxsb3cgbmVzdGVkICgpIGluc2lkZSBvdXIgYW5ub3RhdGlvblxuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgY29uc3QgUEFSQU1TID0ge1xuICAgIGNsYXNzTmFtZTogJ3BhcmFtcycsXG4gICAgYmVnaW46IC9cXCgvLFxuICAgIGVuZDogL1xcKS8sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICBjb250YWluczogWyBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFIF0sXG4gICAgZW5kc1BhcmVudDogdHJ1ZVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0phdmEnLFxuICAgIGFsaWFzZXM6IFsgJ2pzcCcgXSxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgaWxsZWdhbDogLzxcXC98Iy8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQ09NTUVOVChcbiAgICAgICAgJy9cXFxcKlxcXFwqJyxcbiAgICAgICAgJ1xcXFwqLycsXG4gICAgICAgIHtcbiAgICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLy8gZWF0IHVwIEAncyBpbiBlbWFpbHMgdG8gcHJldmVudCB0aGVtIHRvIGJlIHJlY29nbml6ZWQgYXMgZG9jdGFnc1xuICAgICAgICAgICAgICBiZWdpbjogL1xcdytALyxcbiAgICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjbGFzc05hbWU6ICdkb2N0YWcnLFxuICAgICAgICAgICAgICBiZWdpbjogJ0BbQS1aYS16XSsnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgLy8gcmVsZXZhbmNlIGJvb3N0XG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvaW1wb3J0IGphdmFcXC5bYS16XStcXC4vLFxuICAgICAgICBrZXl3b3JkczogXCJpbXBvcnRcIixcbiAgICAgICAgcmVsZXZhbmNlOiAyXG4gICAgICB9LFxuICAgICAgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cIlwiXCIvLFxuICAgICAgICBlbmQ6IC9cIlwiXCIvLFxuICAgICAgICBjbGFzc05hbWU6IFwic3RyaW5nXCIsXG4gICAgICAgIGNvbnRhaW5zOiBbIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSBdXG4gICAgICB9LFxuICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvXFxiKD86Y2xhc3N8aW50ZXJmYWNlfGVudW18ZXh0ZW5kc3xpbXBsZW1lbnRzfG5ldykvLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBKQVZBX0lERU5UX1JFXG4gICAgICAgIF0sXG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgICAgIDM6IFwidGl0bGUuY2xhc3NcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBFeGNlcHRpb25zIGZvciBoeXBoZW5hdGVkIGtleXdvcmRzXG4gICAgICAgIG1hdGNoOiAvbm9uLXNlYWxlZC8sXG4gICAgICAgIHNjb3BlOiBcImtleXdvcmRcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFtcbiAgICAgICAgICByZWdleC5jb25jYXQoLyg/IWVsc2UpLywgSkFWQV9JREVOVF9SRSksXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIEpBVkFfSURFTlRfUkUsXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIC89KD8hPSkvXG4gICAgICAgIF0sXG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIDE6IFwidHlwZVwiLFxuICAgICAgICAgIDM6IFwidmFyaWFibGVcIixcbiAgICAgICAgICA1OiBcIm9wZXJhdG9yXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFtcbiAgICAgICAgICAvcmVjb3JkLyxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgSkFWQV9JREVOVF9SRVxuICAgICAgICBdLFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgICAgICAzOiBcInRpdGxlLmNsYXNzXCJcbiAgICAgICAgfSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBQQVJBTVMsXG4gICAgICAgICAgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgIGhsanMuQ19CTE9DS19DT01NRU5UX01PREVcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gRXhwcmVzc2lvbiBrZXl3b3JkcyBwcmV2ZW50ICdrZXl3b3JkIE5hbWUoLi4uKScgZnJvbSBiZWluZ1xuICAgICAgICAvLyByZWNvZ25pemVkIGFzIGEgZnVuY3Rpb24gZGVmaW5pdGlvblxuICAgICAgICBiZWdpbktleXdvcmRzOiAnbmV3IHRocm93IHJldHVybiBlbHNlJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogW1xuICAgICAgICAgICcoPzonICsgR0VORVJJQ19JREVOVF9SRSArICdcXFxccyspJyxcbiAgICAgICAgICBobGpzLlVOREVSU0NPUkVfSURFTlRfUkUsXG4gICAgICAgICAgL1xccyooPz1cXCgpL1xuICAgICAgICBdLFxuICAgICAgICBjbGFzc05hbWU6IHsgMjogXCJ0aXRsZS5mdW5jdGlvblwiIH0sXG4gICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAgIEFOTk9UQVRJT04sXG4gICAgICAgICAgICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICAgICAgICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgICAgICAgICAgTlVNRVJJQyxcbiAgICAgICAgICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgIGhsanMuQ19CTE9DS19DT01NRU5UX01PREVcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIE5VTUVSSUMsXG4gICAgICBBTk5PVEFUSU9OXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBqYXZhIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/java.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/javascript.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/javascript.js ***!
\******************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ javascript)\n/* harmony export */ });\nconst IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9qYXZhc2NyaXB0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxrQkFBa0I7QUFDL0IsY0FBYyxlQUFlO0FBQzdCO0FBQ0Esa0NBQWtDLE9BQU87QUFDekM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDLGVBQWUsa0JBQWtCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0Msd0JBQXdCO0FBQzVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0IsY0FBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZUFBZSxlQUFlLEtBQUssS0FBSyxXQUFXLEtBQUs7QUFDaEUscUJBQXFCLGNBQWMsT0FBTztBQUMxQyxRQUFRLGNBQWMsZUFBZSxRQUFRLEtBQUssY0FBYyxLQUFLLE9BQU87O0FBRTVFO0FBQ0EsUUFBUSxxQ0FBcUM7O0FBRTdDO0FBQ0EsUUFBUSxtREFBbUQ7QUFDM0QsUUFBUSx1Q0FBdUM7QUFDL0MsUUFBUSx1Q0FBdUM7O0FBRS9DO0FBQ0E7QUFDQSxRQUFRLDBCQUEwQjtBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLHlCQUF5QjtBQUN6Qix1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxnQkFBZ0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQSxnQkFBZ0I7QUFDaEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsR0FBRztBQUNsQjtBQUNBLGVBQWUsR0FBRztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixFQUFFO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0NBQWtDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGdCQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsWUFBWTtBQUNaO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFlBQVk7QUFDWjtBQUNBLGdCQUFnQiwwQ0FBMEM7QUFDMUQsZ0JBQWdCLHlCQUF5QjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsZ0RBQWdEO0FBQzFGO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxxQkFBcUIscUJBQXFCO0FBQzFDO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVpQyIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBJREVOVF9SRSA9ICdbQS1aYS16JF9dWzAtOUEtWmEteiRfXSonO1xuY29uc3QgS0VZV09SRFMgPSBbXG4gIFwiYXNcIiwgLy8gZm9yIGV4cG9ydHNcbiAgXCJpblwiLFxuICBcIm9mXCIsXG4gIFwiaWZcIixcbiAgXCJmb3JcIixcbiAgXCJ3aGlsZVwiLFxuICBcImZpbmFsbHlcIixcbiAgXCJ2YXJcIixcbiAgXCJuZXdcIixcbiAgXCJmdW5jdGlvblwiLFxuICBcImRvXCIsXG4gIFwicmV0dXJuXCIsXG4gIFwidm9pZFwiLFxuICBcImVsc2VcIixcbiAgXCJicmVha1wiLFxuICBcImNhdGNoXCIsXG4gIFwiaW5zdGFuY2VvZlwiLFxuICBcIndpdGhcIixcbiAgXCJ0aHJvd1wiLFxuICBcImNhc2VcIixcbiAgXCJkZWZhdWx0XCIsXG4gIFwidHJ5XCIsXG4gIFwic3dpdGNoXCIsXG4gIFwiY29udGludWVcIixcbiAgXCJ0eXBlb2ZcIixcbiAgXCJkZWxldGVcIixcbiAgXCJsZXRcIixcbiAgXCJ5aWVsZFwiLFxuICBcImNvbnN0XCIsXG4gIFwiY2xhc3NcIixcbiAgLy8gSlMgaGFuZGxlcyB0aGVzZSB3aXRoIGEgc3BlY2lhbCBydWxlXG4gIC8vIFwiZ2V0XCIsXG4gIC8vIFwic2V0XCIsXG4gIFwiZGVidWdnZXJcIixcbiAgXCJhc3luY1wiLFxuICBcImF3YWl0XCIsXG4gIFwic3RhdGljXCIsXG4gIFwiaW1wb3J0XCIsXG4gIFwiZnJvbVwiLFxuICBcImV4cG9ydFwiLFxuICBcImV4dGVuZHNcIixcbiAgLy8gSXQncyByZWFjaGVkIHN0YWdlIDMsIHdoaWNoIGlzIFwicmVjb21tZW5kZWQgZm9yIGltcGxlbWVudGF0aW9uXCI6XG4gIFwidXNpbmdcIlxuXTtcbmNvbnN0IExJVEVSQUxTID0gW1xuICBcInRydWVcIixcbiAgXCJmYWxzZVwiLFxuICBcIm51bGxcIixcbiAgXCJ1bmRlZmluZWRcIixcbiAgXCJOYU5cIixcbiAgXCJJbmZpbml0eVwiXG5dO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0c1xuY29uc3QgVFlQRVMgPSBbXG4gIC8vIEZ1bmRhbWVudGFsIG9iamVjdHNcbiAgXCJPYmplY3RcIixcbiAgXCJGdW5jdGlvblwiLFxuICBcIkJvb2xlYW5cIixcbiAgXCJTeW1ib2xcIixcbiAgLy8gbnVtYmVycyBhbmQgZGF0ZXNcbiAgXCJNYXRoXCIsXG4gIFwiRGF0ZVwiLFxuICBcIk51bWJlclwiLFxuICBcIkJpZ0ludFwiLFxuICAvLyB0ZXh0XG4gIFwiU3RyaW5nXCIsXG4gIFwiUmVnRXhwXCIsXG4gIC8vIEluZGV4ZWQgY29sbGVjdGlvbnNcbiAgXCJBcnJheVwiLFxuICBcIkZsb2F0MzJBcnJheVwiLFxuICBcIkZsb2F0NjRBcnJheVwiLFxuICBcIkludDhBcnJheVwiLFxuICBcIlVpbnQ4QXJyYXlcIixcbiAgXCJVaW50OENsYW1wZWRBcnJheVwiLFxuICBcIkludDE2QXJyYXlcIixcbiAgXCJJbnQzMkFycmF5XCIsXG4gIFwiVWludDE2QXJyYXlcIixcbiAgXCJVaW50MzJBcnJheVwiLFxuICBcIkJpZ0ludDY0QXJyYXlcIixcbiAgXCJCaWdVaW50NjRBcnJheVwiLFxuICAvLyBLZXllZCBjb2xsZWN0aW9uc1xuICBcIlNldFwiLFxuICBcIk1hcFwiLFxuICBcIldlYWtTZXRcIixcbiAgXCJXZWFrTWFwXCIsXG4gIC8vIFN0cnVjdHVyZWQgZGF0YVxuICBcIkFycmF5QnVmZmVyXCIsXG4gIFwiU2hhcmVkQXJyYXlCdWZmZXJcIixcbiAgXCJBdG9taWNzXCIsXG4gIFwiRGF0YVZpZXdcIixcbiAgXCJKU09OXCIsXG4gIC8vIENvbnRyb2wgYWJzdHJhY3Rpb24gb2JqZWN0c1xuICBcIlByb21pc2VcIixcbiAgXCJHZW5lcmF0b3JcIixcbiAgXCJHZW5lcmF0b3JGdW5jdGlvblwiLFxuICBcIkFzeW5jRnVuY3Rpb25cIixcbiAgLy8gUmVmbGVjdGlvblxuICBcIlJlZmxlY3RcIixcbiAgXCJQcm94eVwiLFxuICAvLyBJbnRlcm5hdGlvbmFsaXphdGlvblxuICBcIkludGxcIixcbiAgLy8gV2ViQXNzZW1ibHlcbiAgXCJXZWJBc3NlbWJseVwiXG5dO1xuXG5jb25zdCBFUlJPUl9UWVBFUyA9IFtcbiAgXCJFcnJvclwiLFxuICBcIkV2YWxFcnJvclwiLFxuICBcIkludGVybmFsRXJyb3JcIixcbiAgXCJSYW5nZUVycm9yXCIsXG4gIFwiUmVmZXJlbmNlRXJyb3JcIixcbiAgXCJTeW50YXhFcnJvclwiLFxuICBcIlR5cGVFcnJvclwiLFxuICBcIlVSSUVycm9yXCJcbl07XG5cbmNvbnN0IEJVSUxUX0lOX0dMT0JBTFMgPSBbXG4gIFwic2V0SW50ZXJ2YWxcIixcbiAgXCJzZXRUaW1lb3V0XCIsXG4gIFwiY2xlYXJJbnRlcnZhbFwiLFxuICBcImNsZWFyVGltZW91dFwiLFxuXG4gIFwicmVxdWlyZVwiLFxuICBcImV4cG9ydHNcIixcblxuICBcImV2YWxcIixcbiAgXCJpc0Zpbml0ZVwiLFxuICBcImlzTmFOXCIsXG4gIFwicGFyc2VGbG9hdFwiLFxuICBcInBhcnNlSW50XCIsXG4gIFwiZGVjb2RlVVJJXCIsXG4gIFwiZGVjb2RlVVJJQ29tcG9uZW50XCIsXG4gIFwiZW5jb2RlVVJJXCIsXG4gIFwiZW5jb2RlVVJJQ29tcG9uZW50XCIsXG4gIFwiZXNjYXBlXCIsXG4gIFwidW5lc2NhcGVcIlxuXTtcblxuY29uc3QgQlVJTFRfSU5fVkFSSUFCTEVTID0gW1xuICBcImFyZ3VtZW50c1wiLFxuICBcInRoaXNcIixcbiAgXCJzdXBlclwiLFxuICBcImNvbnNvbGVcIixcbiAgXCJ3aW5kb3dcIixcbiAgXCJkb2N1bWVudFwiLFxuICBcImxvY2FsU3RvcmFnZVwiLFxuICBcInNlc3Npb25TdG9yYWdlXCIsXG4gIFwibW9kdWxlXCIsXG4gIFwiZ2xvYmFsXCIgLy8gTm9kZS5qc1xuXTtcblxuY29uc3QgQlVJTFRfSU5TID0gW10uY29uY2F0KFxuICBCVUlMVF9JTl9HTE9CQUxTLFxuICBUWVBFUyxcbiAgRVJST1JfVFlQRVNcbik7XG5cbi8qXG5MYW5ndWFnZTogSmF2YVNjcmlwdFxuRGVzY3JpcHRpb246IEphdmFTY3JpcHQgKEpTKSBpcyBhIGxpZ2h0d2VpZ2h0LCBpbnRlcnByZXRlZCwgb3IganVzdC1pbi10aW1lIGNvbXBpbGVkIHByb2dyYW1taW5nIGxhbmd1YWdlIHdpdGggZmlyc3QtY2xhc3MgZnVuY3Rpb25zLlxuQ2F0ZWdvcnk6IGNvbW1vbiwgc2NyaXB0aW5nLCB3ZWJcbldlYnNpdGU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHRcbiovXG5cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIGphdmFzY3JpcHQoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIC8qKlxuICAgKiBUYWtlcyBhIHN0cmluZyBsaWtlIFwiPEJvb2dlclwiIGFuZCBjaGVja3MgdG8gc2VlXG4gICAqIGlmIHdlIGNhbiBmaW5kIGEgbWF0Y2hpbmcgXCI8L0Jvb2dlclwiIGxhdGVyIGluIHRoZVxuICAgKiBjb250ZW50LlxuICAgKiBAcGFyYW0ge1JlZ0V4cE1hdGNoQXJyYXl9IG1hdGNoXG4gICAqIEBwYXJhbSB7e2FmdGVyOm51bWJlcn19IHBhcmFtMVxuICAgKi9cbiAgY29uc3QgaGFzQ2xvc2luZ1RhZyA9IChtYXRjaCwgeyBhZnRlciB9KSA9PiB7XG4gICAgY29uc3QgdGFnID0gXCI8L1wiICsgbWF0Y2hbMF0uc2xpY2UoMSk7XG4gICAgY29uc3QgcG9zID0gbWF0Y2guaW5wdXQuaW5kZXhPZih0YWcsIGFmdGVyKTtcbiAgICByZXR1cm4gcG9zICE9PSAtMTtcbiAgfTtcblxuICBjb25zdCBJREVOVF9SRSQxID0gSURFTlRfUkU7XG4gIGNvbnN0IEZSQUdNRU5UID0ge1xuICAgIGJlZ2luOiAnPD4nLFxuICAgIGVuZDogJzwvPidcbiAgfTtcbiAgLy8gdG8gYXZvaWQgc29tZSBzcGVjaWFsIGNhc2VzIGluc2lkZSBpc1RydWx5T3BlbmluZ1RhZ1xuICBjb25zdCBYTUxfU0VMRl9DTE9TSU5HID0gLzxbQS1aYS16MC05XFxcXC5fOi1dK1xccypcXC8+LztcbiAgY29uc3QgWE1MX1RBRyA9IHtcbiAgICBiZWdpbjogLzxbQS1aYS16MC05XFxcXC5fOi1dKy8sXG4gICAgZW5kOiAvXFwvW0EtWmEtejAtOVxcXFwuXzotXSs+fFxcLz4vLFxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7UmVnRXhwTWF0Y2hBcnJheX0gbWF0Y2hcbiAgICAgKiBAcGFyYW0ge0NhbGxiYWNrUmVzcG9uc2V9IHJlc3BvbnNlXG4gICAgICovXG4gICAgaXNUcnVseU9wZW5pbmdUYWc6IChtYXRjaCwgcmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnN0IGFmdGVyTWF0Y2hJbmRleCA9IG1hdGNoWzBdLmxlbmd0aCArIG1hdGNoLmluZGV4O1xuICAgICAgY29uc3QgbmV4dENoYXIgPSBtYXRjaC5pbnB1dFthZnRlck1hdGNoSW5kZXhdO1xuICAgICAgaWYgKFxuICAgICAgICAvLyBIVE1MIHNob3VsZCBub3QgaW5jbHVkZSBhbm90aGVyIHJhdyBgPGAgaW5zaWRlIGEgdGFnXG4gICAgICAgIC8vIG5lc3RlZCB0eXBlP1xuICAgICAgICAvLyBgPEFycmF5PEFycmF5PG51bWJlcj4+YCwgZXRjLlxuICAgICAgICBuZXh0Q2hhciA9PT0gXCI8XCIgfHxcbiAgICAgICAgLy8gdGhlICwgZ2l2ZXMgYXdheSB0aGF0IHRoaXMgaXMgbm90IEhUTUxcbiAgICAgICAgLy8gYDxULCBBIGV4dGVuZHMga2V5b2YgVCwgVj5gXG4gICAgICAgIG5leHRDaGFyID09PSBcIixcIlxuICAgICAgICApIHtcbiAgICAgICAgcmVzcG9uc2UuaWdub3JlTWF0Y2goKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBgPHNvbWV0aGluZz5gXG4gICAgICAvLyBRdWl0ZSBwb3NzaWJseSBhIHRhZywgbGV0cyBsb29rIGZvciBhIG1hdGNoaW5nIGNsb3NpbmcgdGFnLi4uXG4gICAgICBpZiAobmV4dENoYXIgPT09IFwiPlwiKSB7XG4gICAgICAgIC8vIGlmIHdlIGNhbm5vdCBmaW5kIGEgbWF0Y2hpbmcgY2xvc2luZyB0YWcsIHRoZW4gd2VcbiAgICAgICAgLy8gd2lsbCBpZ25vcmUgaXRcbiAgICAgICAgaWYgKCFoYXNDbG9zaW5nVGFnKG1hdGNoLCB7IGFmdGVyOiBhZnRlck1hdGNoSW5kZXggfSkpIHtcbiAgICAgICAgICByZXNwb25zZS5pZ25vcmVNYXRjaCgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGA8YmxhaCAvPmAgKHNlbGYtY2xvc2luZylcbiAgICAgIC8vIGhhbmRsZWQgYnkgc2ltcGxlU2VsZkNsb3NpbmcgcnVsZVxuXG4gICAgICBsZXQgbTtcbiAgICAgIGNvbnN0IGFmdGVyTWF0Y2ggPSBtYXRjaC5pbnB1dC5zdWJzdHJpbmcoYWZ0ZXJNYXRjaEluZGV4KTtcblxuICAgICAgLy8gc29tZSBtb3JlIHRlbXBsYXRlIHR5cGluZyBzdHVmZlxuICAgICAgLy8gIDxUID0gYW55PihrZXk/OiBzdHJpbmcpID0+IE1vZGlmeTxcbiAgICAgIGlmICgobSA9IGFmdGVyTWF0Y2gubWF0Y2goL15cXHMqPS8pKSkge1xuICAgICAgICByZXNwb25zZS5pZ25vcmVNYXRjaCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGA8RnJvbSBleHRlbmRzIHN0cmluZz5gXG4gICAgICAvLyB0ZWNobmljYWxseSB0aGlzIGNvdWxkIGJlIEhUTUwsIGJ1dCBpdCBzbWVsbHMgbGlrZSBhIHR5cGVcbiAgICAgIC8vIE5PVEU6IFRoaXMgaXMgdWdoLCBidXQgYWRkZWQgc3BlY2lmaWNhbGx5IGZvciBodHRwczovL2dpdGh1Yi5jb20vaGlnaGxpZ2h0anMvaGlnaGxpZ2h0LmpzL2lzc3Vlcy8zMjc2XG4gICAgICBpZiAoKG0gPSBhZnRlck1hdGNoLm1hdGNoKC9eXFxzK2V4dGVuZHNcXHMrLykpKSB7XG4gICAgICAgIGlmIChtLmluZGV4ID09PSAwKSB7XG4gICAgICAgICAgcmVzcG9uc2UuaWdub3JlTWF0Y2goKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1yZXR1cm5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIGNvbnN0IEtFWVdPUkRTJDEgPSB7XG4gICAgJHBhdHRlcm46IElERU5UX1JFLFxuICAgIGtleXdvcmQ6IEtFWVdPUkRTLFxuICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTlMsXG4gICAgXCJ2YXJpYWJsZS5sYW5ndWFnZVwiOiBCVUlMVF9JTl9WQVJJQUJMRVNcbiAgfTtcblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWxpdGVyYWxzLW51bWVyaWMtbGl0ZXJhbHNcbiAgY29uc3QgZGVjaW1hbERpZ2l0cyA9ICdbMC05XShfP1swLTldKSonO1xuICBjb25zdCBmcmFjID0gYFxcXFwuKCR7ZGVjaW1hbERpZ2l0c30pYDtcbiAgLy8gRGVjaW1hbEludGVnZXJMaXRlcmFsLCBpbmNsdWRpbmcgQW5uZXggQiBOb25PY3RhbERlY2ltYWxJbnRlZ2VyTGl0ZXJhbFxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFkZGl0aW9uYWwtc3ludGF4LW51bWVyaWMtbGl0ZXJhbHNcbiAgY29uc3QgZGVjaW1hbEludGVnZXIgPSBgMHxbMS05XShfP1swLTldKSp8MFswLTddKls4OV1bMC05XSpgO1xuICBjb25zdCBOVU1CRVIgPSB7XG4gICAgY2xhc3NOYW1lOiAnbnVtYmVyJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgLy8gRGVjaW1hbExpdGVyYWxcbiAgICAgIHsgYmVnaW46IGAoXFxcXGIoJHtkZWNpbWFsSW50ZWdlcn0pKCgke2ZyYWN9KXxcXFxcLik/fCgke2ZyYWN9KSlgICtcbiAgICAgICAgYFtlRV1bKy1dPygke2RlY2ltYWxEaWdpdHN9KVxcXFxiYCB9LFxuICAgICAgeyBiZWdpbjogYFxcXFxiKCR7ZGVjaW1hbEludGVnZXJ9KVxcXFxiKCgke2ZyYWN9KVxcXFxifFxcXFwuKT98KCR7ZnJhY30pXFxcXGJgIH0sXG5cbiAgICAgIC8vIERlY2ltYWxCaWdJbnRlZ2VyTGl0ZXJhbFxuICAgICAgeyBiZWdpbjogYFxcXFxiKDB8WzEtOV0oXz9bMC05XSkqKW5cXFxcYmAgfSxcblxuICAgICAgLy8gTm9uRGVjaW1hbEludGVnZXJMaXRlcmFsXG4gICAgICB7IGJlZ2luOiBcIlxcXFxiMFt4WF1bMC05YS1mQS1GXShfP1swLTlhLWZBLUZdKSpuP1xcXFxiXCIgfSxcbiAgICAgIHsgYmVnaW46IFwiXFxcXGIwW2JCXVswLTFdKF8/WzAtMV0pKm4/XFxcXGJcIiB9LFxuICAgICAgeyBiZWdpbjogXCJcXFxcYjBbb09dWzAtN10oXz9bMC03XSkqbj9cXFxcYlwiIH0sXG5cbiAgICAgIC8vIExlZ2FjeU9jdGFsSW50ZWdlckxpdGVyYWwgKGRvZXMgbm90IGluY2x1ZGUgdW5kZXJzY29yZSBzZXBhcmF0b3JzKVxuICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1hZGRpdGlvbmFsLXN5bnRheC1udW1lcmljLWxpdGVyYWxzXG4gICAgICB7IGJlZ2luOiBcIlxcXFxiMFswLTddK24/XFxcXGJcIiB9LFxuICAgIF0sXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgU1VCU1QgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3Vic3QnLFxuICAgIGJlZ2luOiAnXFxcXCRcXFxceycsXG4gICAgZW5kOiAnXFxcXH0nLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyQxLFxuICAgIGNvbnRhaW5zOiBbXSAvLyBkZWZpbmVkIGxhdGVyXG4gIH07XG4gIGNvbnN0IEhUTUxfVEVNUExBVEUgPSB7XG4gICAgYmVnaW46ICdcXC4/aHRtbGAnLFxuICAgIGVuZDogJycsXG4gICAgc3RhcnRzOiB7XG4gICAgICBlbmQ6ICdgJyxcbiAgICAgIHJldHVybkVuZDogZmFsc2UsXG4gICAgICBjb250YWluczogW1xuICAgICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICAgIFNVQlNUXG4gICAgICBdLFxuICAgICAgc3ViTGFuZ3VhZ2U6ICd4bWwnXG4gICAgfVxuICB9O1xuICBjb25zdCBDU1NfVEVNUExBVEUgPSB7XG4gICAgYmVnaW46ICdcXC4/Y3NzYCcsXG4gICAgZW5kOiAnJyxcbiAgICBzdGFydHM6IHtcbiAgICAgIGVuZDogJ2AnLFxuICAgICAgcmV0dXJuRW5kOiBmYWxzZSxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgICAgU1VCU1RcbiAgICAgIF0sXG4gICAgICBzdWJMYW5ndWFnZTogJ2NzcydcbiAgICB9XG4gIH07XG4gIGNvbnN0IEdSQVBIUUxfVEVNUExBVEUgPSB7XG4gICAgYmVnaW46ICdcXC4/Z3FsYCcsXG4gICAgZW5kOiAnJyxcbiAgICBzdGFydHM6IHtcbiAgICAgIGVuZDogJ2AnLFxuICAgICAgcmV0dXJuRW5kOiBmYWxzZSxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgICAgU1VCU1RcbiAgICAgIF0sXG4gICAgICBzdWJMYW5ndWFnZTogJ2dyYXBocWwnXG4gICAgfVxuICB9O1xuICBjb25zdCBURU1QTEFURV9TVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICBiZWdpbjogJ2AnLFxuICAgIGVuZDogJ2AnLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICBTVUJTVFxuICAgIF1cbiAgfTtcbiAgY29uc3QgSlNET0NfQ09NTUVOVCA9IGhsanMuQ09NTUVOVChcbiAgICAvXFwvXFwqXFwqKD8hXFwvKS8sXG4gICAgJ1xcXFwqLycsXG4gICAge1xuICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgY29udGFpbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGJlZ2luOiAnKD89QFtBLVphLXpdKyknLFxuICAgICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjbGFzc05hbWU6ICdkb2N0YWcnLFxuICAgICAgICAgICAgICBiZWdpbjogJ0BbQS1aYS16XSsnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgICAgYmVnaW46ICdcXFxceycsXG4gICAgICAgICAgICAgIGVuZDogJ1xcXFx9JyxcbiAgICAgICAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhjbHVkZUJlZ2luOiB0cnVlLFxuICAgICAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3ZhcmlhYmxlJyxcbiAgICAgICAgICAgICAgYmVnaW46IElERU5UX1JFJDEgKyAnKD89XFxcXHMqKC0pfCQpJyxcbiAgICAgICAgICAgICAgZW5kc1BhcmVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gZWF0IHNwYWNlcyAobm90IG5ld2xpbmVzKSBzbyB3ZSBjYW4gZmluZFxuICAgICAgICAgICAgLy8gdHlwZXMgb3IgdmFyaWFibGVzXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGJlZ2luOiAvKD89W15cXG5dKVxccy8sXG4gICAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgKTtcbiAgY29uc3QgQ09NTUVOVCA9IHtcbiAgICBjbGFzc05hbWU6IFwiY29tbWVudFwiLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICBKU0RPQ19DT01NRU5ULFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERVxuICAgIF1cbiAgfTtcbiAgY29uc3QgU1VCU1RfSU5URVJOQUxTID0gW1xuICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgIEhUTUxfVEVNUExBVEUsXG4gICAgQ1NTX1RFTVBMQVRFLFxuICAgIEdSQVBIUUxfVEVNUExBVEUsXG4gICAgVEVNUExBVEVfU1RSSU5HLFxuICAgIC8vIFNraXAgbnVtYmVycyB3aGVuIHRoZXkgYXJlIHBhcnQgb2YgYSB2YXJpYWJsZSBuYW1lXG4gICAgeyBtYXRjaDogL1xcJFxcZCsvIH0sXG4gICAgTlVNQkVSLFxuICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWw6XG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oaWdobGlnaHRqcy9oaWdobGlnaHQuanMvaXNzdWVzLzMyODhcbiAgICAvLyBobGpzLlJFR0VYUF9NT0RFXG4gIF07XG4gIFNVQlNULmNvbnRhaW5zID0gU1VCU1RfSU5URVJOQUxTXG4gICAgLmNvbmNhdCh7XG4gICAgICAvLyB3ZSBuZWVkIHRvIHBhaXIgdXAge30gaW5zaWRlIG91ciBzdWJzdCB0byBwcmV2ZW50XG4gICAgICAvLyBpdCBmcm9tIGVuZGluZyB0b28gZWFybHkgYnkgbWF0Y2hpbmcgYW5vdGhlciB9XG4gICAgICBiZWdpbjogL1xcey8sXG4gICAgICBlbmQ6IC9cXH0vLFxuICAgICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgICBjb250YWluczogW1xuICAgICAgICBcInNlbGZcIlxuICAgICAgXS5jb25jYXQoU1VCU1RfSU5URVJOQUxTKVxuICAgIH0pO1xuICBjb25zdCBTVUJTVF9BTkRfQ09NTUVOVFMgPSBbXS5jb25jYXQoQ09NTUVOVCwgU1VCU1QuY29udGFpbnMpO1xuICBjb25zdCBQQVJBTVNfQ09OVEFJTlMgPSBTVUJTVF9BTkRfQ09NTUVOVFMuY29uY2F0KFtcbiAgICAvLyBlYXQgcmVjdXJzaXZlIHBhcmVucyBpbiBzdWIgZXhwcmVzc2lvbnNcbiAgICB7XG4gICAgICBiZWdpbjogLyhcXHMqKVxcKC8sXG4gICAgICBlbmQ6IC9cXCkvLFxuICAgICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgICBjb250YWluczogW1wic2VsZlwiXS5jb25jYXQoU1VCU1RfQU5EX0NPTU1FTlRTKVxuICAgIH1cbiAgXSk7XG4gIGNvbnN0IFBBUkFNUyA9IHtcbiAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgIC8vIGNvbnZlcnQgdGhpcyB0byBuZWdhdGl2ZSBsb29rYmVoaW5kIGluIHYxMlxuICAgIGJlZ2luOiAvKFxccyopXFwoLywgLy8gdG8gbWF0Y2ggdGhlIHBhcm1zIHdpdGhcbiAgICBlbmQ6IC9cXCkvLFxuICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyQxLFxuICAgIGNvbnRhaW5zOiBQQVJBTVNfQ09OVEFJTlNcbiAgfTtcblxuICAvLyBFUzYgY2xhc3Nlc1xuICBjb25zdCBDTEFTU19PUl9FWFRFTkRTID0ge1xuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyBjbGFzcyBDYXIgZXh0ZW5kcyB2ZWhpY2xlXG4gICAgICB7XG4gICAgICAgIG1hdGNoOiBbXG4gICAgICAgICAgL2NsYXNzLyxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgSURFTlRfUkUkMSxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgL2V4dGVuZHMvLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICByZWdleC5jb25jYXQoSURFTlRfUkUkMSwgXCIoXCIsIHJlZ2V4LmNvbmNhdCgvXFwuLywgSURFTlRfUkUkMSksIFwiKSpcIilcbiAgICAgICAgXSxcbiAgICAgICAgc2NvcGU6IHtcbiAgICAgICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgICAgICAzOiBcInRpdGxlLmNsYXNzXCIsXG4gICAgICAgICAgNTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgNzogXCJ0aXRsZS5jbGFzcy5pbmhlcml0ZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2xhc3MgQ2FyXG4gICAgICB7XG4gICAgICAgIG1hdGNoOiBbXG4gICAgICAgICAgL2NsYXNzLyxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgSURFTlRfUkUkMVxuICAgICAgICBdLFxuICAgICAgICBzY29wZToge1xuICAgICAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgICAgIDM6IFwidGl0bGUuY2xhc3NcIlxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IENMQVNTX1JFRkVSRU5DRSA9IHtcbiAgICByZWxldmFuY2U6IDAsXG4gICAgbWF0Y2g6XG4gICAgcmVnZXguZWl0aGVyKFxuICAgICAgLy8gSGFyZCBjb2RlZCBleGNlcHRpb25zXG4gICAgICAvXFxiSlNPTi8sXG4gICAgICAvLyBGbG9hdDMyQXJyYXksIE91dFRcbiAgICAgIC9cXGJbQS1aXVthLXpdKyhbQS1aXVthLXpdKnxcXGQpKi8sXG4gICAgICAvLyBDU1NGYWN0b3J5LCBDU1NGYWN0b3J5VFxuICAgICAgL1xcYltBLVpdezIsfShbQS1aXVthLXpdK3xcXGQpKyhbQS1aXVthLXpdKikqLyxcbiAgICAgIC8vIEZQcywgRlBzVFxuICAgICAgL1xcYltBLVpdezIsfVthLXpdKyhbQS1aXVthLXpdK3xcXGQpKihbQS1aXVthLXpdKikqLyxcbiAgICAgIC8vIFBcbiAgICAgIC8vIHNpbmdsZSBsZXR0ZXJzIGFyZSBub3QgaGlnaGxpZ2h0ZWRcbiAgICAgIC8vIEJMQUhcbiAgICAgIC8vIHRoaXMgd2lsbCBiZSBmbGFnZ2VkIGFzIGEgVVBQRVJfQ0FTRV9DT05TVEFOVCBpbnN0ZWFkXG4gICAgKSxcbiAgICBjbGFzc05hbWU6IFwidGl0bGUuY2xhc3NcIixcbiAgICBrZXl3b3Jkczoge1xuICAgICAgXzogW1xuICAgICAgICAvLyBzZSB3ZSBzdGlsbCBnZXQgcmVsZXZhbmNlIGNyZWRpdCBmb3IgSlMgbGlicmFyeSBjbGFzc2VzXG4gICAgICAgIC4uLlRZUEVTLFxuICAgICAgICAuLi5FUlJPUl9UWVBFU1xuICAgICAgXVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBVU0VfU1RSSUNUID0ge1xuICAgIGxhYmVsOiBcInVzZV9zdHJpY3RcIixcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICByZWxldmFuY2U6IDEwLFxuICAgIGJlZ2luOiAvXlxccypbJ1wiXXVzZSAoc3RyaWN0fGFzbSlbJ1wiXS9cbiAgfTtcblxuICBjb25zdCBGVU5DVElPTl9ERUZJTklUSU9OID0ge1xuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7XG4gICAgICAgIG1hdGNoOiBbXG4gICAgICAgICAgL2Z1bmN0aW9uLyxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgSURFTlRfUkUkMSxcbiAgICAgICAgICAvKD89XFxzKlxcKCkvXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAvLyBhbm9ueW1vdXMgZnVuY3Rpb25cbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvZnVuY3Rpb24vLFxuICAgICAgICAgIC9cXHMqKD89XFwoKS9cbiAgICAgICAgXVxuICAgICAgfVxuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwidGl0bGUuZnVuY3Rpb25cIlxuICAgIH0sXG4gICAgbGFiZWw6IFwiZnVuYy5kZWZcIixcbiAgICBjb250YWluczogWyBQQVJBTVMgXSxcbiAgICBpbGxlZ2FsOiAvJS9cbiAgfTtcblxuICBjb25zdCBVUFBFUl9DQVNFX0NPTlNUQU5UID0ge1xuICAgIHJlbGV2YW5jZTogMCxcbiAgICBtYXRjaDogL1xcYltBLVpdW0EtWl8wLTldK1xcYi8sXG4gICAgY2xhc3NOYW1lOiBcInZhcmlhYmxlLmNvbnN0YW50XCJcbiAgfTtcblxuICBmdW5jdGlvbiBub25lT2YobGlzdCkge1xuICAgIHJldHVybiByZWdleC5jb25jYXQoXCIoPyFcIiwgbGlzdC5qb2luKFwifFwiKSwgXCIpXCIpO1xuICB9XG5cbiAgY29uc3QgRlVOQ1RJT05fQ0FMTCA9IHtcbiAgICBtYXRjaDogcmVnZXguY29uY2F0KFxuICAgICAgL1xcYi8sXG4gICAgICBub25lT2YoW1xuICAgICAgICAuLi5CVUlMVF9JTl9HTE9CQUxTLFxuICAgICAgICBcInN1cGVyXCIsXG4gICAgICAgIFwiaW1wb3J0XCJcbiAgICAgIF0ubWFwKHggPT4gYCR7eH1cXFxccypcXFxcKGApKSxcbiAgICAgIElERU5UX1JFJDEsIHJlZ2V4Lmxvb2thaGVhZCgvXFxzKlxcKC8pKSxcbiAgICBjbGFzc05hbWU6IFwidGl0bGUuZnVuY3Rpb25cIixcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBQUk9QRVJUWV9BQ0NFU1MgPSB7XG4gICAgYmVnaW46IHJlZ2V4LmNvbmNhdCgvXFwuLywgcmVnZXgubG9va2FoZWFkKFxuICAgICAgcmVnZXguY29uY2F0KElERU5UX1JFJDEsIC8oPyFbMC05QS1aYS16JF8oXSkvKVxuICAgICkpLFxuICAgIGVuZDogSURFTlRfUkUkMSxcbiAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAga2V5d29yZHM6IFwicHJvdG90eXBlXCIsXG4gICAgY2xhc3NOYW1lOiBcInByb3BlcnR5XCIsXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgR0VUVEVSX09SX1NFVFRFUiA9IHtcbiAgICBtYXRjaDogW1xuICAgICAgL2dldHxzZXQvLFxuICAgICAgL1xccysvLFxuICAgICAgSURFTlRfUkUkMSxcbiAgICAgIC8oPz1cXCgpL1xuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwidGl0bGUuZnVuY3Rpb25cIlxuICAgIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHsgLy8gZWF0IHRvIGF2b2lkIGVtcHR5IHBhcmFtc1xuICAgICAgICBiZWdpbjogL1xcKFxcKS9cbiAgICAgIH0sXG4gICAgICBQQVJBTVNcbiAgICBdXG4gIH07XG5cbiAgY29uc3QgRlVOQ19MRUFEX0lOX1JFID0gJyhcXFxcKCcgK1xuICAgICdbXigpXSooXFxcXCgnICtcbiAgICAnW14oKV0qKFxcXFwoJyArXG4gICAgJ1teKCldKicgK1xuICAgICdcXFxcKVteKCldKikqJyArXG4gICAgJ1xcXFwpW14oKV0qKSonICtcbiAgICAnXFxcXCl8JyArIGhsanMuVU5ERVJTQ09SRV9JREVOVF9SRSArICcpXFxcXHMqPT4nO1xuXG4gIGNvbnN0IEZVTkNUSU9OX1ZBUklBQkxFID0ge1xuICAgIG1hdGNoOiBbXG4gICAgICAvY29uc3R8dmFyfGxldC8sIC9cXHMrLyxcbiAgICAgIElERU5UX1JFJDEsIC9cXHMqLyxcbiAgICAgIC89XFxzKi8sXG4gICAgICAvKGFzeW5jXFxzKik/LywgLy8gYXN5bmMgaXMgb3B0aW9uYWxcbiAgICAgIHJlZ2V4Lmxvb2thaGVhZChGVU5DX0xFQURfSU5fUkUpXG4gICAgXSxcbiAgICBrZXl3b3JkczogXCJhc3luY1wiLFxuICAgIGNsYXNzTmFtZToge1xuICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAzOiBcInRpdGxlLmZ1bmN0aW9uXCJcbiAgICB9LFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBQQVJBTVNcbiAgICBdXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnSmF2YVNjcmlwdCcsXG4gICAgYWxpYXNlczogWydqcycsICdqc3gnLCAnbWpzJywgJ2NqcyddLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyQxLFxuICAgIC8vIHRoaXMgd2lsbCBiZSBleHRlbmRlZCBieSBUeXBlU2NyaXB0XG4gICAgZXhwb3J0czogeyBQQVJBTVNfQ09OVEFJTlMsIENMQVNTX1JFRkVSRU5DRSB9LFxuICAgIGlsbGVnYWw6IC8jKD8hWyRfQS16XSkvLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLlNIRUJBTkcoe1xuICAgICAgICBsYWJlbDogXCJzaGViYW5nXCIsXG4gICAgICAgIGJpbmFyeTogXCJub2RlXCIsXG4gICAgICAgIHJlbGV2YW5jZTogNVxuICAgICAgfSksXG4gICAgICBVU0VfU1RSSUNULFxuICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgIEhUTUxfVEVNUExBVEUsXG4gICAgICBDU1NfVEVNUExBVEUsXG4gICAgICBHUkFQSFFMX1RFTVBMQVRFLFxuICAgICAgVEVNUExBVEVfU1RSSU5HLFxuICAgICAgQ09NTUVOVCxcbiAgICAgIC8vIFNraXAgbnVtYmVycyB3aGVuIHRoZXkgYXJlIHBhcnQgb2YgYSB2YXJpYWJsZSBuYW1lXG4gICAgICB7IG1hdGNoOiAvXFwkXFxkKy8gfSxcbiAgICAgIE5VTUJFUixcbiAgICAgIENMQVNTX1JFRkVSRU5DRSxcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6ICdhdHRyJyxcbiAgICAgICAgbWF0Y2g6IElERU5UX1JFJDEgKyByZWdleC5sb29rYWhlYWQoJzonKSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgRlVOQ1RJT05fVkFSSUFCTEUsXG4gICAgICB7IC8vIFwidmFsdWVcIiBjb250YWluZXJcbiAgICAgICAgYmVnaW46ICcoJyArIGhsanMuUkVfU1RBUlRFUlNfUkUgKyAnfFxcXFxiKGNhc2V8cmV0dXJufHRocm93KVxcXFxiKVxcXFxzKicsXG4gICAgICAgIGtleXdvcmRzOiAncmV0dXJuIHRocm93IGNhc2UnLFxuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgQ09NTUVOVCxcbiAgICAgICAgICBobGpzLlJFR0VYUF9NT0RFLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgIC8vIHdlIGhhdmUgdG8gY291bnQgdGhlIHBhcmVucyB0byBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgaGF2ZSB0aGVcbiAgICAgICAgICAgIC8vIGNvcnJlY3QgYm91bmRpbmcgKCApIGJlZm9yZSB0aGUgPT4uICBUaGVyZSBjb3VsZCBiZSBhbnkgbnVtYmVyIG9mXG4gICAgICAgICAgICAvLyBzdWItZXhwcmVzc2lvbnMgaW5zaWRlIGFsc28gc3Vycm91bmRlZCBieSBwYXJlbnMuXG4gICAgICAgICAgICBiZWdpbjogRlVOQ19MRUFEX0lOX1JFLFxuICAgICAgICAgICAgcmV0dXJuQmVnaW46IHRydWUsXG4gICAgICAgICAgICBlbmQ6ICdcXFxccyo9PicsXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICAgICAgICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFLFxuICAgICAgICAgICAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IC9cXChcXHMqXFwpLyxcbiAgICAgICAgICAgICAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IC8oXFxzKilcXCgvLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICAgICAgICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyQxLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluczogUEFSQU1TX0NPTlRBSU5TXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC8vIGNvdWxkIGJlIGEgY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgcGFyYW1zIHRvIGEgZnVuY3Rpb24gY2FsbFxuICAgICAgICAgICAgYmVnaW46IC8sLyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF0Y2g6IC9cXHMrLyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyAvLyBKU1hcbiAgICAgICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgICAgIHsgYmVnaW46IEZSQUdNRU5ULmJlZ2luLCBlbmQ6IEZSQUdNRU5ULmVuZCB9LFxuICAgICAgICAgICAgICB7IG1hdGNoOiBYTUxfU0VMRl9DTE9TSU5HIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiZWdpbjogWE1MX1RBRy5iZWdpbixcbiAgICAgICAgICAgICAgICAvLyB3ZSBjYXJlZnVsbHkgY2hlY2sgdGhlIG9wZW5pbmcgdGFnIHRvIHNlZSBpZiBpdCB0cnVseVxuICAgICAgICAgICAgICAgIC8vIGlzIGEgdGFnIGFuZCBub3QgYSBmYWxzZSBwb3NpdGl2ZVxuICAgICAgICAgICAgICAgICdvbjpiZWdpbic6IFhNTF9UQUcuaXNUcnVseU9wZW5pbmdUYWcsXG4gICAgICAgICAgICAgICAgZW5kOiBYTUxfVEFHLmVuZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgc3ViTGFuZ3VhZ2U6ICd4bWwnLFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJlZ2luOiBYTUxfVEFHLmJlZ2luLFxuICAgICAgICAgICAgICAgIGVuZDogWE1MX1RBRy5lbmQsXG4gICAgICAgICAgICAgICAgc2tpcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb250YWluczogWydzZWxmJ11cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBGVU5DVElPTl9ERUZJTklUSU9OLFxuICAgICAge1xuICAgICAgICAvLyBwcmV2ZW50IHRoaXMgZnJvbSBnZXR0aW5nIHN3YWxsb3dlZCB1cCBieSBmdW5jdGlvblxuICAgICAgICAvLyBzaW5jZSB0aGV5IGFwcGVhciBcImZ1bmN0aW9uIGxpa2VcIlxuICAgICAgICBiZWdpbktleXdvcmRzOiBcIndoaWxlIGlmIHN3aXRjaCBjYXRjaCBmb3JcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gd2UgaGF2ZSB0byBjb3VudCB0aGUgcGFyZW5zIHRvIG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBoYXZlIHRoZSBjb3JyZWN0XG4gICAgICAgIC8vIGJvdW5kaW5nICggKS4gIFRoZXJlIGNvdWxkIGJlIGFueSBudW1iZXIgb2Ygc3ViLWV4cHJlc3Npb25zIGluc2lkZVxuICAgICAgICAvLyBhbHNvIHN1cnJvdW5kZWQgYnkgcGFyZW5zLlxuICAgICAgICBiZWdpbjogJ1xcXFxiKD8hZnVuY3Rpb24pJyArIGhsanMuVU5ERVJTQ09SRV9JREVOVF9SRSArXG4gICAgICAgICAgJ1xcXFwoJyArIC8vIGZpcnN0IHBhcmVuc1xuICAgICAgICAgICdbXigpXSooXFxcXCgnICtcbiAgICAgICAgICAgICdbXigpXSooXFxcXCgnICtcbiAgICAgICAgICAgICAgJ1teKCldKicgK1xuICAgICAgICAgICAgJ1xcXFwpW14oKV0qKSonICtcbiAgICAgICAgICAnXFxcXClbXigpXSopKicgK1xuICAgICAgICAgICdcXFxcKVxcXFxzKlxcXFx7JywgLy8gZW5kIHBhcmVuc1xuICAgICAgICByZXR1cm5CZWdpbjp0cnVlLFxuICAgICAgICBsYWJlbDogXCJmdW5jLmRlZlwiLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIFBBUkFNUyxcbiAgICAgICAgICBobGpzLmluaGVyaXQoaGxqcy5USVRMRV9NT0RFLCB7IGJlZ2luOiBJREVOVF9SRSQxLCBjbGFzc05hbWU6IFwidGl0bGUuZnVuY3Rpb25cIiB9KVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgLy8gY2F0Y2ggLi4uIHNvIGl0IHdvbid0IHRyaWdnZXIgdGhlIHByb3BlcnR5IHJ1bGUgYmVsb3dcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IC9cXC5cXC5cXC4vLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICBQUk9QRVJUWV9BQ0NFU1MsXG4gICAgICAvLyBoYWNrOiBwcmV2ZW50cyBkZXRlY3Rpb24gb2Yga2V5d29yZHMgaW4gc29tZSBjaXJjdW1zdGFuY2VzXG4gICAgICAvLyAua2V5d29yZCgpXG4gICAgICAvLyAka2V5d29yZCA9IHhcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6ICdcXFxcJCcgKyBJREVOVF9SRSQxLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG1hdGNoOiBbIC9cXGJjb25zdHJ1Y3Rvcig/PVxccypcXCgpLyBdLFxuICAgICAgICBjbGFzc05hbWU6IHsgMTogXCJ0aXRsZS5mdW5jdGlvblwiIH0sXG4gICAgICAgIGNvbnRhaW5zOiBbIFBBUkFNUyBdXG4gICAgICB9LFxuICAgICAgRlVOQ1RJT05fQ0FMTCxcbiAgICAgIFVQUEVSX0NBU0VfQ09OU1RBTlQsXG4gICAgICBDTEFTU19PUl9FWFRFTkRTLFxuICAgICAgR0VUVEVSX09SX1NFVFRFUixcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IC9cXCRbKC5dLyAvLyByZWxldmFuY2UgYm9vc3RlciBmb3IgYSBwYXR0ZXJuIGNvbW1vbiB0byBKUyBsaWJzOiBgJChzb21ldGhpbmcpYCBhbmQgYCQuc29tZXRoaW5nYFxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsgamF2YXNjcmlwdCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/javascript.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/json.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/json.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ json)\n/* harmony export */ });\n/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev \nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9qc29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUyQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IEpTT05cbkRlc2NyaXB0aW9uOiBKU09OIChKYXZhU2NyaXB0IE9iamVjdCBOb3RhdGlvbikgaXMgYSBsaWdodHdlaWdodCBkYXRhLWludGVyY2hhbmdlIGZvcm1hdC5cbkF1dGhvcjogSXZhbiBTYWdhbGFldiA8bWFuaWFjQHNvZnR3YXJlbWFuaWFjcy5vcmc+XG5XZWJzaXRlOiBodHRwOi8vd3d3Lmpzb24ub3JnXG5DYXRlZ29yeTogY29tbW9uLCBwcm90b2NvbHMsIHdlYlxuKi9cblxuZnVuY3Rpb24ganNvbihobGpzKSB7XG4gIGNvbnN0IEFUVFJJQlVURSA9IHtcbiAgICBjbGFzc05hbWU6ICdhdHRyJyxcbiAgICBiZWdpbjogL1wiKFxcXFwufFteXFxcXFwiXFxyXFxuXSkqXCIoPz1cXHMqOikvLFxuICAgIHJlbGV2YW5jZTogMS4wMVxuICB9O1xuICBjb25zdCBQVU5DVFVBVElPTiA9IHtcbiAgICBtYXRjaDogL1t7fVtcXF0sOl0vLFxuICAgIGNsYXNzTmFtZTogXCJwdW5jdHVhdGlvblwiLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICBjb25zdCBMSVRFUkFMUyA9IFtcbiAgICBcInRydWVcIixcbiAgICBcImZhbHNlXCIsXG4gICAgXCJudWxsXCJcbiAgXTtcbiAgLy8gTk9URTogbm9ybWFsbHkgd2Ugd291bGQgcmVseSBvbiBga2V5d29yZHNgIGZvciB0aGlzIGJ1dCB1c2luZyBhIG1vZGUgaGVyZSBhbGxvd3MgdXNcbiAgLy8gLSB0byB1c2UgdGhlIHZlcnkgdGlnaHQgYGlsbGVnYWw6IFxcU2AgcnVsZSBsYXRlciB0byBmbGFnIGFueSBvdGhlciBjaGFyYWN0ZXJcbiAgLy8gLSBhcyBpbGxlZ2FsIGluZGljYXRpbmcgdGhhdCBkZXNwaXRlIGxvb2tpbmcgbGlrZSBKU09OIHdlIGRvIG5vdCB0cnVseSBoYXZlXG4gIC8vIC0gSlNPTiBhbmQgdGh1cyBpbXByb3ZlIGZhbHNlLXBvc2l0aXZlbHkgZ3JlYXRseSBzaW5jZSBKU09OIHdpbGwgdHJ5IGFuZCBjbGFpbVxuICAvLyAtIGFsbCBzb3J0cyBvZiBKU09OIGxvb2tpbmcgc3R1ZmZcbiAgY29uc3QgTElURVJBTFNfTU9ERSA9IHtcbiAgICBzY29wZTogXCJsaXRlcmFsXCIsXG4gICAgYmVnaW5LZXl3b3JkczogTElURVJBTFMuam9pbihcIiBcIiksXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnSlNPTicsXG4gICAgYWxpYXNlczogWydqc29uYyddLFxuICAgIGtleXdvcmRzOntcbiAgICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIEFUVFJJQlVURSxcbiAgICAgIFBVTkNUVUFUSU9OLFxuICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgIExJVEVSQUxTX01PREUsXG4gICAgICBobGpzLkNfTlVNQkVSX01PREUsXG4gICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXG4gICAgXSxcbiAgICBpbGxlZ2FsOiAnXFxcXFMnXG4gIH07XG59XG5cbmV4cG9ydCB7IGpzb24gYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/json.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/kotlin.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/kotlin.js ***!
\**************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ kotlin)\n/* harmony export */ });\n// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, { className: 'string' }),\n \"self\"\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: /,\n end: />/,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n begin: [\n /class|interface|trait/,\n /\\s+/,\n hljs.UNDERSCORE_IDENT_RE\n ],\n beginScope: {\n 3: \"title.class\"\n },\n keywords: 'class interface trait',\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: /,\n end: />/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,){\\s]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9rb3RsaW4uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxrQkFBa0IsY0FBYztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGVBQWUsY0FBYyxLQUFLLEtBQUssV0FBVyxLQUFLO0FBQzdELG1CQUFtQixjQUFjLGNBQWM7QUFDL0M7QUFDQSxNQUFNLGNBQWMsY0FBYyxLQUFLLEtBQUssK0JBQStCO0FBQzNFLE1BQU0sV0FBVyxLQUFLLGNBQWM7QUFDcEMsTUFBTSxjQUFjLGNBQWMsYUFBYTs7QUFFL0M7QUFDQSxNQUFNLG9CQUFvQixVQUFVLFNBQVMsVUFBVSxRQUFRLFVBQVU7QUFDekUsbUJBQW1CLGNBQWMsY0FBYzs7QUFFL0M7QUFDQSxNQUFNLHlDQUF5Qzs7QUFFL0M7QUFDQSxNQUFNLG1CQUFtQixVQUFVLFlBQVk7O0FBRS9DO0FBQ0EsTUFBTSxpQ0FBaUM7O0FBRXZDO0FBQ0EsTUFBTSx3Q0FBd0M7QUFDOUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLHFCQUFxQjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnRUFBZ0U7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUU2QiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMva290bGluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2phdmFzZS9zcGVjcy9qbHMvc2UxNS9odG1sL2pscy0zLmh0bWwjamxzLTMuMTBcbnZhciBkZWNpbWFsRGlnaXRzID0gJ1swLTldKF8qWzAtOV0pKic7XG52YXIgZnJhYyA9IGBcXFxcLigke2RlY2ltYWxEaWdpdHN9KWA7XG52YXIgaGV4RGlnaXRzID0gJ1swLTlhLWZBLUZdKF8qWzAtOWEtZkEtRl0pKic7XG52YXIgTlVNRVJJQyA9IHtcbiAgY2xhc3NOYW1lOiAnbnVtYmVyJyxcbiAgdmFyaWFudHM6IFtcbiAgICAvLyBEZWNpbWFsRmxvYXRpbmdQb2ludExpdGVyYWxcbiAgICAvLyBpbmNsdWRpbmcgRXhwb25lbnRQYXJ0XG4gICAgeyBiZWdpbjogYChcXFxcYigke2RlY2ltYWxEaWdpdHN9KSgoJHtmcmFjfSl8XFxcXC4pP3woJHtmcmFjfSkpYCArXG4gICAgICBgW2VFXVsrLV0/KCR7ZGVjaW1hbERpZ2l0c30pW2ZGZERdP1xcXFxiYCB9LFxuICAgIC8vIGV4Y2x1ZGluZyBFeHBvbmVudFBhcnRcbiAgICB7IGJlZ2luOiBgXFxcXGIoJHtkZWNpbWFsRGlnaXRzfSkoKCR7ZnJhY30pW2ZGZERdP1xcXFxifFxcXFwuKFtmRmREXVxcXFxiKT8pYCB9LFxuICAgIHsgYmVnaW46IGAoJHtmcmFjfSlbZkZkRF0/XFxcXGJgIH0sXG4gICAgeyBiZWdpbjogYFxcXFxiKCR7ZGVjaW1hbERpZ2l0c30pW2ZGZERdXFxcXGJgIH0sXG5cbiAgICAvLyBIZXhhZGVjaW1hbEZsb2F0aW5nUG9pbnRMaXRlcmFsXG4gICAgeyBiZWdpbjogYFxcXFxiMFt4WF0oKCR7aGV4RGlnaXRzfSlcXFxcLj98KCR7aGV4RGlnaXRzfSk/XFxcXC4oJHtoZXhEaWdpdHN9KSlgICtcbiAgICAgIGBbcFBdWystXT8oJHtkZWNpbWFsRGlnaXRzfSlbZkZkRF0/XFxcXGJgIH0sXG5cbiAgICAvLyBEZWNpbWFsSW50ZWdlckxpdGVyYWxcbiAgICB7IGJlZ2luOiAnXFxcXGIoMHxbMS05XShfKlswLTldKSopW2xMXT9cXFxcYicgfSxcblxuICAgIC8vIEhleEludGVnZXJMaXRlcmFsXG4gICAgeyBiZWdpbjogYFxcXFxiMFt4WF0oJHtoZXhEaWdpdHN9KVtsTF0/XFxcXGJgIH0sXG5cbiAgICAvLyBPY3RhbEludGVnZXJMaXRlcmFsXG4gICAgeyBiZWdpbjogJ1xcXFxiMChfKlswLTddKSpbbExdP1xcXFxiJyB9LFxuXG4gICAgLy8gQmluYXJ5SW50ZWdlckxpdGVyYWxcbiAgICB7IGJlZ2luOiAnXFxcXGIwW2JCXVswMV0oXypbMDFdKSpbbExdP1xcXFxiJyB9LFxuICBdLFxuICByZWxldmFuY2U6IDBcbn07XG5cbi8qXG4gTGFuZ3VhZ2U6IEtvdGxpblxuIERlc2NyaXB0aW9uOiBLb3RsaW4gaXMgYW4gT1NTIHN0YXRpY2FsbHkgdHlwZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgdGhhdCB0YXJnZXRzIHRoZSBKVk0sIEFuZHJvaWQsIEphdmFTY3JpcHQgYW5kIE5hdGl2ZS5cbiBBdXRob3I6IFNlcmdleSBNYXNoa292IDxjeTZlckduMG1AZ21haWwuY29tPlxuIFdlYnNpdGU6IGh0dHBzOi8va290bGlubGFuZy5vcmdcbiBDYXRlZ29yeTogY29tbW9uXG4gKi9cblxuXG5mdW5jdGlvbiBrb3RsaW4oaGxqcykge1xuICBjb25zdCBLRVlXT1JEUyA9IHtcbiAgICBrZXl3b3JkOlxuICAgICAgJ2Fic3RyYWN0IGFzIHZhbCB2YXIgdmFyYXJnIGdldCBzZXQgY2xhc3Mgb2JqZWN0IG9wZW4gcHJpdmF0ZSBwcm90ZWN0ZWQgcHVibGljIG5vaW5saW5lICdcbiAgICAgICsgJ2Nyb3NzaW5saW5lIGR5bmFtaWMgZmluYWwgZW51bSBpZiBlbHNlIGRvIHdoaWxlIGZvciB3aGVuIHRocm93IHRyeSBjYXRjaCBmaW5hbGx5ICdcbiAgICAgICsgJ2ltcG9ydCBwYWNrYWdlIGlzIGluIGZ1biBvdmVycmlkZSBjb21wYW5pb24gcmVpZmllZCBpbmxpbmUgbGF0ZWluaXQgaW5pdCAnXG4gICAgICArICdpbnRlcmZhY2UgYW5ub3RhdGlvbiBkYXRhIHNlYWxlZCBpbnRlcm5hbCBpbmZpeCBvcGVyYXRvciBvdXQgYnkgY29uc3RydWN0b3Igc3VwZXIgJ1xuICAgICAgKyAndGFpbHJlYyB3aGVyZSBjb25zdCBpbm5lciBzdXNwZW5kIHR5cGVhbGlhcyBleHRlcm5hbCBleHBlY3QgYWN0dWFsJyxcbiAgICBidWlsdF9pbjpcbiAgICAgICdCeXRlIFNob3J0IENoYXIgSW50IExvbmcgQm9vbGVhbiBGbG9hdCBEb3VibGUgVm9pZCBVbml0IE5vdGhpbmcnLFxuICAgIGxpdGVyYWw6XG4gICAgICAndHJ1ZSBmYWxzZSBudWxsJ1xuICB9O1xuICBjb25zdCBLRVlXT1JEU19XSVRIX0xBQkVMID0ge1xuICAgIGNsYXNzTmFtZTogJ2tleXdvcmQnLFxuICAgIGJlZ2luOiAvXFxiKGJyZWFrfGNvbnRpbnVlfHJldHVybnx0aGlzKVxcYi8sXG4gICAgc3RhcnRzOiB7IGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3N5bWJvbCcsXG4gICAgICAgIGJlZ2luOiAvQFxcdysvXG4gICAgICB9XG4gICAgXSB9XG4gIH07XG4gIGNvbnN0IExBQkVMID0ge1xuICAgIGNsYXNzTmFtZTogJ3N5bWJvbCcsXG4gICAgYmVnaW46IGhsanMuVU5ERVJTQ09SRV9JREVOVF9SRSArICdAJ1xuICB9O1xuXG4gIC8vIGZvciBzdHJpbmcgdGVtcGxhdGVzXG4gIGNvbnN0IFNVQlNUID0ge1xuICAgIGNsYXNzTmFtZTogJ3N1YnN0JyxcbiAgICBiZWdpbjogL1xcJFxcey8sXG4gICAgZW5kOiAvXFx9LyxcbiAgICBjb250YWluczogWyBobGpzLkNfTlVNQkVSX01PREUgXVxuICB9O1xuICBjb25zdCBWQVJJQUJMRSA9IHtcbiAgICBjbGFzc05hbWU6ICd2YXJpYWJsZScsXG4gICAgYmVnaW46ICdcXFxcJCcgKyBobGpzLlVOREVSU0NPUkVfSURFTlRfUkVcbiAgfTtcbiAgY29uc3QgU1RSSU5HID0ge1xuICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdcIlwiXCInLFxuICAgICAgICBlbmQ6ICdcIlwiXCIoPz1bXlwiXSknLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIFZBUklBQkxFLFxuICAgICAgICAgIFNVQlNUXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAvLyBDYW4ndCB1c2UgYnVpbHQtaW4gbW9kZXMgZWFzaWx5LCBhcyB3ZSB3YW50IHRvIHVzZSBTVFJJTkcgaW4gdGhlIG1ldGFcbiAgICAgIC8vIGNvbnRleHQgYXMgJ21ldGEtc3RyaW5nJyBhbmQgdGhlcmUncyBubyBzeW50YXggdG8gcmVtb3ZlIGV4cGxpY2l0bHkgc2V0XG4gICAgICAvLyBjbGFzc05hbWVzIGluIGJ1aWx0LWluIG1vZGVzLlxuICAgICAge1xuICAgICAgICBiZWdpbjogJ1xcJycsXG4gICAgICAgIGVuZDogJ1xcJycsXG4gICAgICAgIGlsbGVnYWw6IC9cXG4vLFxuICAgICAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdcIicsXG4gICAgICAgIGVuZDogJ1wiJyxcbiAgICAgICAgaWxsZWdhbDogL1xcbi8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICAgIFZBUklBQkxFLFxuICAgICAgICAgIFNVQlNUXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIFNVQlNULmNvbnRhaW5zLnB1c2goU1RSSU5HKTtcblxuICBjb25zdCBBTk5PVEFUSU9OX1VTRV9TSVRFID0ge1xuICAgIGNsYXNzTmFtZTogJ21ldGEnLFxuICAgIGJlZ2luOiAnQCg/OmZpbGV8cHJvcGVydHl8ZmllbGR8Z2V0fHNldHxyZWNlaXZlcnxwYXJhbXxzZXRwYXJhbXxkZWxlZ2F0ZSlcXFxccyo6KD86XFxcXHMqJyArIGhsanMuVU5ERVJTQ09SRV9JREVOVF9SRSArICcpPydcbiAgfTtcbiAgY29uc3QgQU5OT1RBVElPTiA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICBiZWdpbjogJ0AnICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBobGpzLmluaGVyaXQoU1RSSU5HLCB7IGNsYXNzTmFtZTogJ3N0cmluZycgfSksXG4gICAgICAgICAgXCJzZWxmXCJcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICAvLyBodHRwczovL2tvdGxpbmxhbmcub3JnL2RvY3MvcmVmZXJlbmNlL3doYXRzbmV3MTEuaHRtbCN1bmRlcnNjb3Jlcy1pbi1udW1lcmljLWxpdGVyYWxzXG4gIC8vIEFjY29yZGluZyB0byB0aGUgZG9jIGFib3ZlLCB0aGUgbnVtYmVyIG1vZGUgb2Yga290bGluIGlzIHRoZSBzYW1lIGFzIGphdmEgOCxcbiAgLy8gc28gdGhlIGNvZGUgYmVsb3cgaXMgY29waWVkIGZyb20gamF2YS5qc1xuICBjb25zdCBLT1RMSU5fTlVNQkVSX01PREUgPSBOVU1FUklDO1xuICBjb25zdCBLT1RMSU5fTkVTVEVEX0NPTU1FTlQgPSBobGpzLkNPTU1FTlQoXG4gICAgJy9cXFxcKicsICdcXFxcKi8nLFxuICAgIHsgY29udGFpbnM6IFsgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSBdIH1cbiAgKTtcbiAgY29uc3QgS09UTElOX1BBUkVOX1RZUEUgPSB7IHZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAndHlwZScsXG4gICAgICBiZWdpbjogaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFXG4gICAgfSxcbiAgICB7XG4gICAgICBiZWdpbjogL1xcKC8sXG4gICAgICBlbmQ6IC9cXCkvLFxuICAgICAgY29udGFpbnM6IFtdIC8vIGRlZmluZWQgbGF0ZXJcbiAgICB9XG4gIF0gfTtcbiAgY29uc3QgS09UTElOX1BBUkVOX1RZUEUyID0gS09UTElOX1BBUkVOX1RZUEU7XG4gIEtPVExJTl9QQVJFTl9UWVBFMi52YXJpYW50c1sxXS5jb250YWlucyA9IFsgS09UTElOX1BBUkVOX1RZUEUgXTtcbiAgS09UTElOX1BBUkVOX1RZUEUudmFyaWFudHNbMV0uY29udGFpbnMgPSBbIEtPVExJTl9QQVJFTl9UWVBFMiBdO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0tvdGxpbicsXG4gICAgYWxpYXNlczogW1xuICAgICAgJ2t0JyxcbiAgICAgICdrdHMnXG4gICAgXSxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQ09NTUVOVChcbiAgICAgICAgJy9cXFxcKlxcXFwqJyxcbiAgICAgICAgJ1xcXFwqLycsXG4gICAgICAgIHtcbiAgICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnZG9jdGFnJyxcbiAgICAgICAgICAgICAgYmVnaW46ICdAW0EtWmEtel0rJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgIEtPVExJTl9ORVNURURfQ09NTUVOVCxcbiAgICAgIEtFWVdPUkRTX1dJVEhfTEFCRUwsXG4gICAgICBMQUJFTCxcbiAgICAgIEFOTk9UQVRJT05fVVNFX1NJVEUsXG4gICAgICBBTk5PVEFUSU9OLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdmdW5jdGlvbicsXG4gICAgICAgIGJlZ2luS2V5d29yZHM6ICdmdW4nLFxuICAgICAgICBlbmQ6ICdbKF18JCcsXG4gICAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgIHJlbGV2YW5jZTogNSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICsgJ1xcXFxzKlxcXFwoJyxcbiAgICAgICAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICAgICAgY29udGFpbnM6IFsgaGxqcy5VTkRFUlNDT1JFX1RJVExFX01PREUgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAndHlwZScsXG4gICAgICAgICAgICBiZWdpbjogLzwvLFxuICAgICAgICAgICAgZW5kOiAvPi8sXG4gICAgICAgICAgICBrZXl3b3JkczogJ3JlaWZpZWQnLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgICAgIGVuZHNQYXJlbnQ6IHRydWUsXG4gICAgICAgICAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmVnaW46IC86LyxcbiAgICAgICAgICAgICAgICBlbmQ6IC9bPSxcXC9dLyxcbiAgICAgICAgICAgICAgICBlbmRzV2l0aFBhcmVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICAgICAgS09UTElOX1BBUkVOX1RZUEUsXG4gICAgICAgICAgICAgICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgICAgICAgICBLT1RMSU5fTkVTVEVEX0NPTU1FTlRcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICAgICAgICAgIEtPVExJTl9ORVNURURfQ09NTUVOVCxcbiAgICAgICAgICAgICAgQU5OT1RBVElPTl9VU0VfU0lURSxcbiAgICAgICAgICAgICAgQU5OT1RBVElPTixcbiAgICAgICAgICAgICAgU1RSSU5HLFxuICAgICAgICAgICAgICBobGpzLkNfTlVNQkVSX01PREVcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIEtPVExJTl9ORVNURURfQ09NTUVOVFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogW1xuICAgICAgICAgIC9jbGFzc3xpbnRlcmZhY2V8dHJhaXQvLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBobGpzLlVOREVSU0NPUkVfSURFTlRfUkVcbiAgICAgICAgXSxcbiAgICAgICAgYmVnaW5TY29wZToge1xuICAgICAgICAgIDM6IFwidGl0bGUuY2xhc3NcIlxuICAgICAgICB9LFxuICAgICAgICBrZXl3b3JkczogJ2NsYXNzIGludGVyZmFjZSB0cmFpdCcsXG4gICAgICAgIGVuZDogL1s6XFx7KF18JC8sXG4gICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICAgIGlsbGVnYWw6ICdleHRlbmRzIGltcGxlbWVudHMnLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIHsgYmVnaW5LZXl3b3JkczogJ3B1YmxpYyBwcm90ZWN0ZWQgaW50ZXJuYWwgcHJpdmF0ZSBjb25zdHJ1Y3RvcicgfSxcbiAgICAgICAgICBobGpzLlVOREVSU0NPUkVfVElUTEVfTU9ERSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgIGJlZ2luOiAvPC8sXG4gICAgICAgICAgICBlbmQ6IC8+LyxcbiAgICAgICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ3R5cGUnLFxuICAgICAgICAgICAgYmVnaW46IC9bLDpdXFxzKi8sXG4gICAgICAgICAgICBlbmQ6IC9bPFxcKCwpe1xcc118JC8sXG4gICAgICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgICAgICByZXR1cm5FbmQ6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIEFOTk9UQVRJT05fVVNFX1NJVEUsXG4gICAgICAgICAgQU5OT1RBVElPTlxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgU1RSSU5HLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICAgICAgYmVnaW46IFwiXiMhL3Vzci9iaW4vZW52XCIsXG4gICAgICAgIGVuZDogJyQnLFxuICAgICAgICBpbGxlZ2FsOiAnXFxuJ1xuICAgICAgfSxcbiAgICAgIEtPVExJTl9OVU1CRVJfTU9ERVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsga290bGluIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/kotlin.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/less.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/less.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ less)\n/* harmony export */ });\nconst MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n// some grammars use them all as a single group\nconst PSEUDO_SELECTORS = PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS).sort().reverse();\n\n/*\nLanguage: Less\nDescription: It's CSS, with just a little more.\nAuthor: Max Mikhailov \nWebsite: http://lesscss.org\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction less(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_SELECTORS$1 = PSEUDO_SELECTORS;\n\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[\\\\w-]+'; // yes, Less identifiers may begin with a digit\n const INTERP_IDENT_RE = '(' + IDENT_RE + '|@\\\\{' + IDENT_RE + '\\\\})';\n\n /* Generic Modes */\n\n const RULES = []; const VALUE_MODES = []; // forward def. for recursive modes\n\n const STRING_MODE = function(c) {\n return {\n // Less strings are not multiline (also include '~' for more consistent coloring of \"escaped\" strings)\n className: 'string',\n begin: '~?' + c + '.*?' + c\n };\n };\n\n const IDENT_MODE = function(name, begin, relevance) {\n return {\n className: name,\n begin: begin,\n relevance: relevance\n };\n };\n\n const AT_KEYWORDS = {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n };\n\n const PARENS_MODE = {\n // used only to properly balance nested parens inside mixin call, def. arg list\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_MODES,\n keywords: AT_KEYWORDS,\n relevance: 0\n };\n\n // generic Less highlighter (used almost everywhere except selectors):\n VALUE_MODES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING_MODE(\"'\"),\n STRING_MODE('\"'),\n modes.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(\n {\n begin: '(url|data-uri)\\\\(',\n starts: {\n className: 'string',\n end: '[\\\\)\\\\n]',\n excludeEnd: true\n }\n },\n modes.HEXCOLOR,\n PARENS_MODE,\n IDENT_MODE('variable', '@@?' + IDENT_RE, 10),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'),\n IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string\n { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding):\n className: 'attribute',\n begin: IDENT_RE + '\\\\s*:',\n end: ':',\n returnBegin: true,\n excludeEnd: true\n },\n modes.IMPORTANT,\n { beginKeywords: 'and not' },\n modes.FUNCTION_DISPATCH\n );\n\n const VALUE_WITH_RULESETS = VALUE_MODES.concat({\n begin: /\\{/,\n end: /\\}/,\n contains: RULES\n });\n\n const MIXIN_GUARD_MODE = {\n beginKeywords: 'when',\n endsWithParent: true,\n contains: [ { beginKeywords: 'and not' } ].concat(VALUE_MODES) // using this form to override VALUE’s 'function' match\n };\n\n /* Rule-Level Modes */\n\n const RULE_MODE = {\n begin: INTERP_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n end: /[;}]/,\n relevance: 0,\n contains: [\n { begin: /-(webkit|moz|ms|o)-/ },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n end: /(?=:)/,\n starts: {\n endsWithParent: true,\n illegal: '[<=$]',\n relevance: 0,\n contains: VALUE_MODES\n }\n }\n ]\n };\n\n const AT_RULE_MODE = {\n className: 'keyword',\n begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',\n starts: {\n end: '[;{}]',\n keywords: AT_KEYWORDS,\n returnEnd: true,\n contains: VALUE_MODES,\n relevance: 0\n }\n };\n\n // variable definitions and calls\n const VAR_RULE_MODE = {\n className: 'variable',\n variants: [\n // using more strict pattern for higher relevance to increase chances of Less detection.\n // this is *the only* Less specific statement used in most of the sources, so...\n // (we’ll still often loose to the css-parser unless there's '//' comment,\n // simply because 1 variable just can't beat 99 properties :)\n {\n begin: '@' + IDENT_RE + '\\\\s*:',\n relevance: 15\n },\n { begin: '@' + IDENT_RE }\n ],\n starts: {\n end: '[;}]',\n returnEnd: true,\n contains: VALUE_WITH_RULESETS\n }\n };\n\n const SELECTOR_MODE = {\n // first parse unambiguous selectors (i.e. those not starting with tag)\n // then fall into the scary lookahead-discriminator variant.\n // this mode also handles mixin definitions and calls\n variants: [\n {\n begin: '[\\\\.#:&\\\\[>]',\n end: '[;{}]' // mixin calls end with ';'\n },\n {\n begin: INTERP_IDENT_RE,\n end: /\\{/\n }\n ],\n returnBegin: true,\n returnEnd: true,\n illegal: '[<=\\'$\"]',\n relevance: 0,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n MIXIN_GUARD_MODE,\n IDENT_MODE('keyword', 'all\\\\b'),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'), // otherwise it’s identified as tag\n \n {\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n className: 'selector-tag'\n },\n modes.CSS_NUMBER_MODE,\n IDENT_MODE('selector-tag', INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE),\n IDENT_MODE('selector-class', '\\\\.' + INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-tag', '&', 0),\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')'\n },\n {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n contains: VALUE_WITH_RULESETS\n }, // argument list of parametric mixins\n { begin: '!important' }, // eat !important after mixin call or it will be colored as tag\n modes.FUNCTION_DISPATCH\n ]\n };\n\n const PSEUDO_SELECTOR_MODE = {\n begin: IDENT_RE + ':(:)?' + `(${PSEUDO_SELECTORS$1.join('|')})`,\n returnBegin: true,\n contains: [ SELECTOR_MODE ]\n };\n\n RULES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_RULE_MODE,\n VAR_RULE_MODE,\n PSEUDO_SELECTOR_MODE,\n RULE_MODE,\n SELECTOR_MODE,\n MIXIN_GUARD_MODE,\n modes.FUNCTION_DISPATCH\n );\n\n return {\n name: 'Less',\n case_insensitive: true,\n illegal: '[=>\\'/<($\"]',\n contains: RULES\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9sZXNzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixJQUFJLGdCQUFnQixFQUFFLEVBQUUsSUFBSTtBQUN6RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4QkFBOEI7QUFDOUIsaURBQWlELG1CQUFtQjs7QUFFcEU7O0FBRUEsb0JBQW9CLHdCQUF3Qjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLG1CQUFtQjtBQUNuRDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsTUFBTSwwQkFBMEI7QUFDaEM7QUFDQTs7QUFFQTtBQUNBLGNBQWM7QUFDZCxZQUFZO0FBQ1o7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiwyQkFBMkI7QUFDN0M7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxRQUFRLDhCQUE4QjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLFFBQVE7QUFDUjtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDZCQUE2QjtBQUMvQyxPQUFPO0FBQ1A7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLG1CQUFtQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsUUFBUSxxQkFBcUI7QUFDN0I7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DLDZCQUE2QjtBQUNqRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL2xlc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTU9ERVMgPSAoaGxqcykgPT4ge1xuICByZXR1cm4ge1xuICAgIElNUE9SVEFOVDoge1xuICAgICAgc2NvcGU6ICdtZXRhJyxcbiAgICAgIGJlZ2luOiAnIWltcG9ydGFudCdcbiAgICB9LFxuICAgIEJMT0NLX0NPTU1FTlQ6IGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsXG4gICAgSEVYQ09MT1I6IHtcbiAgICAgIHNjb3BlOiAnbnVtYmVyJyxcbiAgICAgIGJlZ2luOiAvIygoWzAtOWEtZkEtRl17Myw0fSl8KChbMC05YS1mQS1GXXsyfSl7Myw0fSkpXFxiL1xuICAgIH0sXG4gICAgRlVOQ1RJT05fRElTUEFUQ0g6IHtcbiAgICAgIGNsYXNzTmFtZTogXCJidWlsdF9pblwiLFxuICAgICAgYmVnaW46IC9bXFx3LV0rKD89XFwoKS9cbiAgICB9LFxuICAgIEFUVFJJQlVURV9TRUxFQ1RPUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ3NlbGVjdG9yLWF0dHInLFxuICAgICAgYmVnaW46IC9cXFsvLFxuICAgICAgZW5kOiAvXFxdLyxcbiAgICAgIGlsbGVnYWw6ICckJyxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERVxuICAgICAgXVxuICAgIH0sXG4gICAgQ1NTX05VTUJFUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ251bWJlcicsXG4gICAgICBiZWdpbjogaGxqcy5OVU1CRVJfUkUgKyAnKCcgK1xuICAgICAgICAnJXxlbXxleHxjaHxyZW0nICtcbiAgICAgICAgJ3x2d3x2aHx2bWlufHZtYXgnICtcbiAgICAgICAgJ3xjbXxtbXxpbnxwdHxwY3xweCcgK1xuICAgICAgICAnfGRlZ3xncmFkfHJhZHx0dXJuJyArXG4gICAgICAgICd8c3xtcycgK1xuICAgICAgICAnfEh6fGtIeicgK1xuICAgICAgICAnfGRwaXxkcGNtfGRwcHgnICtcbiAgICAgICAgJyk/JyxcbiAgICAgIHJlbGV2YW5jZTogMFxuICAgIH0sXG4gICAgQ1NTX1ZBUklBQkxFOiB7XG4gICAgICBjbGFzc05hbWU6IFwiYXR0clwiLFxuICAgICAgYmVnaW46IC8tLVtBLVphLXpfXVtBLVphLXowLTlfLV0qL1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IEhUTUxfVEFHUyA9IFtcbiAgJ2EnLFxuICAnYWJicicsXG4gICdhZGRyZXNzJyxcbiAgJ2FydGljbGUnLFxuICAnYXNpZGUnLFxuICAnYXVkaW8nLFxuICAnYicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2JvZHknLFxuICAnYnV0dG9uJyxcbiAgJ2NhbnZhcycsXG4gICdjYXB0aW9uJyxcbiAgJ2NpdGUnLFxuICAnY29kZScsXG4gICdkZCcsXG4gICdkZWwnLFxuICAnZGV0YWlscycsXG4gICdkZm4nLFxuICAnZGl2JyxcbiAgJ2RsJyxcbiAgJ2R0JyxcbiAgJ2VtJyxcbiAgJ2ZpZWxkc2V0JyxcbiAgJ2ZpZ2NhcHRpb24nLFxuICAnZmlndXJlJyxcbiAgJ2Zvb3RlcicsXG4gICdmb3JtJyxcbiAgJ2gxJyxcbiAgJ2gyJyxcbiAgJ2gzJyxcbiAgJ2g0JyxcbiAgJ2g1JyxcbiAgJ2g2JyxcbiAgJ2hlYWRlcicsXG4gICdoZ3JvdXAnLFxuICAnaHRtbCcsXG4gICdpJyxcbiAgJ2lmcmFtZScsXG4gICdpbWcnLFxuICAnaW5wdXQnLFxuICAnaW5zJyxcbiAgJ2tiZCcsXG4gICdsYWJlbCcsXG4gICdsZWdlbmQnLFxuICAnbGknLFxuICAnbWFpbicsXG4gICdtYXJrJyxcbiAgJ21lbnUnLFxuICAnbmF2JyxcbiAgJ29iamVjdCcsXG4gICdvbCcsXG4gICdvcHRncm91cCcsXG4gICdvcHRpb24nLFxuICAncCcsXG4gICdwaWN0dXJlJyxcbiAgJ3EnLFxuICAncXVvdGUnLFxuICAnc2FtcCcsXG4gICdzZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzb3VyY2UnLFxuICAnc3BhbicsXG4gICdzdHJvbmcnLFxuICAnc3VtbWFyeScsXG4gICdzdXAnLFxuICAndGFibGUnLFxuICAndGJvZHknLFxuICAndGQnLFxuICAndGV4dGFyZWEnLFxuICAndGZvb3QnLFxuICAndGgnLFxuICAndGhlYWQnLFxuICAndGltZScsXG4gICd0cicsXG4gICd1bCcsXG4gICd2YXInLFxuICAndmlkZW8nXG5dO1xuXG5jb25zdCBTVkdfVEFHUyA9IFtcbiAgJ2RlZnMnLFxuICAnZycsXG4gICdtYXJrZXInLFxuICAnbWFzaycsXG4gICdwYXR0ZXJuJyxcbiAgJ3N2ZycsXG4gICdzd2l0Y2gnLFxuICAnc3ltYm9sJyxcbiAgJ2ZlQmxlbmQnLFxuICAnZmVDb2xvck1hdHJpeCcsXG4gICdmZUNvbXBvbmVudFRyYW5zZmVyJyxcbiAgJ2ZlQ29tcG9zaXRlJyxcbiAgJ2ZlQ29udm9sdmVNYXRyaXgnLFxuICAnZmVEaWZmdXNlTGlnaHRpbmcnLFxuICAnZmVEaXNwbGFjZW1lbnRNYXAnLFxuICAnZmVGbG9vZCcsXG4gICdmZUdhdXNzaWFuQmx1cicsXG4gICdmZUltYWdlJyxcbiAgJ2ZlTWVyZ2UnLFxuICAnZmVNb3JwaG9sb2d5JyxcbiAgJ2ZlT2Zmc2V0JyxcbiAgJ2ZlU3BlY3VsYXJMaWdodGluZycsXG4gICdmZVRpbGUnLFxuICAnZmVUdXJidWxlbmNlJyxcbiAgJ2xpbmVhckdyYWRpZW50JyxcbiAgJ3JhZGlhbEdyYWRpZW50JyxcbiAgJ3N0b3AnLFxuICAnY2lyY2xlJyxcbiAgJ2VsbGlwc2UnLFxuICAnaW1hZ2UnLFxuICAnbGluZScsXG4gICdwYXRoJyxcbiAgJ3BvbHlnb24nLFxuICAncG9seWxpbmUnLFxuICAncmVjdCcsXG4gICd0ZXh0JyxcbiAgJ3VzZScsXG4gICd0ZXh0UGF0aCcsXG4gICd0c3BhbicsXG4gICdmb3JlaWduT2JqZWN0JyxcbiAgJ2NsaXBQYXRoJ1xuXTtcblxuY29uc3QgVEFHUyA9IFtcbiAgLi4uSFRNTF9UQUdTLFxuICAuLi5TVkdfVEFHUyxcbl07XG5cbi8vIFNvcnRpbmcsIHRoZW4gcmV2ZXJzaW5nIG1ha2VzIHN1cmUgbG9uZ2VyIGF0dHJpYnV0ZXMvZWxlbWVudHMgbGlrZVxuLy8gYGZvbnQtd2VpZ2h0YCBhcmUgbWF0Y2hlZCBmdWxseSBpbnN0ZWFkIG9mIGdldHRpbmcgZmFsc2UgcG9zaXRpdmVzIG9uIHNheSBgZm9udGBcblxuY29uc3QgTUVESUFfRkVBVFVSRVMgPSBbXG4gICdhbnktaG92ZXInLFxuICAnYW55LXBvaW50ZXInLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2NvbG9yJyxcbiAgJ2NvbG9yLWdhbXV0JyxcbiAgJ2NvbG9yLWluZGV4JyxcbiAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAnZGV2aWNlLWhlaWdodCcsXG4gICdkZXZpY2Utd2lkdGgnLFxuICAnZGlzcGxheS1tb2RlJyxcbiAgJ2ZvcmNlZC1jb2xvcnMnLFxuICAnZ3JpZCcsXG4gICdoZWlnaHQnLFxuICAnaG92ZXInLFxuICAnaW52ZXJ0ZWQtY29sb3JzJyxcbiAgJ21vbm9jaHJvbWUnLFxuICAnb3JpZW50YXRpb24nLFxuICAnb3ZlcmZsb3ctYmxvY2snLFxuICAnb3ZlcmZsb3ctaW5saW5lJyxcbiAgJ3BvaW50ZXInLFxuICAncHJlZmVycy1jb2xvci1zY2hlbWUnLFxuICAncHJlZmVycy1jb250cmFzdCcsXG4gICdwcmVmZXJzLXJlZHVjZWQtbW90aW9uJyxcbiAgJ3ByZWZlcnMtcmVkdWNlZC10cmFuc3BhcmVuY3knLFxuICAncmVzb2x1dGlvbicsXG4gICdzY2FuJyxcbiAgJ3NjcmlwdGluZycsXG4gICd1cGRhdGUnLFxuICAnd2lkdGgnLFxuICAvLyBUT0RPOiBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uP1xuICAnbWluLXdpZHRoJyxcbiAgJ21heC13aWR0aCcsXG4gICdtaW4taGVpZ2h0JyxcbiAgJ21heC1oZWlnaHQnXG5dLnNvcnQoKS5yZXZlcnNlKCk7XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Qc2V1ZG8tY2xhc3Nlc1xuY29uc3QgUFNFVURPX0NMQVNTRVMgPSBbXG4gICdhY3RpdmUnLFxuICAnYW55LWxpbmsnLFxuICAnYmxhbmsnLFxuICAnY2hlY2tlZCcsXG4gICdjdXJyZW50JyxcbiAgJ2RlZmF1bHQnLFxuICAnZGVmaW5lZCcsXG4gICdkaXInLCAvLyBkaXIoKVxuICAnZGlzYWJsZWQnLFxuICAnZHJvcCcsXG4gICdlbXB0eScsXG4gICdlbmFibGVkJyxcbiAgJ2ZpcnN0JyxcbiAgJ2ZpcnN0LWNoaWxkJyxcbiAgJ2ZpcnN0LW9mLXR5cGUnLFxuICAnZnVsbHNjcmVlbicsXG4gICdmdXR1cmUnLFxuICAnZm9jdXMnLFxuICAnZm9jdXMtdmlzaWJsZScsXG4gICdmb2N1cy13aXRoaW4nLFxuICAnaGFzJywgLy8gaGFzKClcbiAgJ2hvc3QnLCAvLyBob3N0IG9yIGhvc3QoKVxuICAnaG9zdC1jb250ZXh0JywgLy8gaG9zdC1jb250ZXh0KClcbiAgJ2hvdmVyJyxcbiAgJ2luZGV0ZXJtaW5hdGUnLFxuICAnaW4tcmFuZ2UnLFxuICAnaW52YWxpZCcsXG4gICdpcycsIC8vIGlzKClcbiAgJ2xhbmcnLCAvLyBsYW5nKClcbiAgJ2xhc3QtY2hpbGQnLFxuICAnbGFzdC1vZi10eXBlJyxcbiAgJ2xlZnQnLFxuICAnbGluaycsXG4gICdsb2NhbC1saW5rJyxcbiAgJ25vdCcsIC8vIG5vdCgpXG4gICdudGgtY2hpbGQnLCAvLyBudGgtY2hpbGQoKVxuICAnbnRoLWNvbCcsIC8vIG50aC1jb2woKVxuICAnbnRoLWxhc3QtY2hpbGQnLCAvLyBudGgtbGFzdC1jaGlsZCgpXG4gICdudGgtbGFzdC1jb2wnLCAvLyBudGgtbGFzdC1jb2woKVxuICAnbnRoLWxhc3Qtb2YtdHlwZScsIC8vbnRoLWxhc3Qtb2YtdHlwZSgpXG4gICdudGgtb2YtdHlwZScsIC8vbnRoLW9mLXR5cGUoKVxuICAnb25seS1jaGlsZCcsXG4gICdvbmx5LW9mLXR5cGUnLFxuICAnb3B0aW9uYWwnLFxuICAnb3V0LW9mLXJhbmdlJyxcbiAgJ3Bhc3QnLFxuICAncGxhY2Vob2xkZXItc2hvd24nLFxuICAncmVhZC1vbmx5JyxcbiAgJ3JlYWQtd3JpdGUnLFxuICAncmVxdWlyZWQnLFxuICAncmlnaHQnLFxuICAncm9vdCcsXG4gICdzY29wZScsXG4gICd0YXJnZXQnLFxuICAndGFyZ2V0LXdpdGhpbicsXG4gICd1c2VyLWludmFsaWQnLFxuICAndmFsaWQnLFxuICAndmlzaXRlZCcsXG4gICd3aGVyZScgLy8gd2hlcmUoKVxuXS5zb3J0KCkucmV2ZXJzZSgpO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvUHNldWRvLWVsZW1lbnRzXG5jb25zdCBQU0VVRE9fRUxFTUVOVFMgPSBbXG4gICdhZnRlcicsXG4gICdiYWNrZHJvcCcsXG4gICdiZWZvcmUnLFxuICAnY3VlJyxcbiAgJ2N1ZS1yZWdpb24nLFxuICAnZmlyc3QtbGV0dGVyJyxcbiAgJ2ZpcnN0LWxpbmUnLFxuICAnZ3JhbW1hci1lcnJvcicsXG4gICdtYXJrZXInLFxuICAncGFydCcsXG4gICdwbGFjZWhvbGRlcicsXG4gICdzZWxlY3Rpb24nLFxuICAnc2xvdHRlZCcsXG4gICdzcGVsbGluZy1lcnJvcidcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuY29uc3QgQVRUUklCVVRFUyA9IFtcbiAgJ2FjY2VudC1jb2xvcicsXG4gICdhbGlnbi1jb250ZW50JyxcbiAgJ2FsaWduLWl0ZW1zJyxcbiAgJ2FsaWduLXNlbGYnLFxuICAnYWxpZ25tZW50LWJhc2VsaW5lJyxcbiAgJ2FsbCcsXG4gICdhbmNob3ItbmFtZScsXG4gICdhbmltYXRpb24nLFxuICAnYW5pbWF0aW9uLWNvbXBvc2l0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kZWxheScsXG4gICdhbmltYXRpb24tZGlyZWN0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbicsXG4gICdhbmltYXRpb24tZmlsbC1tb2RlJyxcbiAgJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLFxuICAnYW5pbWF0aW9uLW5hbWUnLFxuICAnYW5pbWF0aW9uLXBsYXktc3RhdGUnLFxuICAnYW5pbWF0aW9uLXJhbmdlJyxcbiAgJ2FuaW1hdGlvbi1yYW5nZS1lbmQnLFxuICAnYW5pbWF0aW9uLXJhbmdlLXN0YXJ0JyxcbiAgJ2FuaW1hdGlvbi10aW1lbGluZScsXG4gICdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJyxcbiAgJ2FwcGVhcmFuY2UnLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2JhY2tkcm9wLWZpbHRlcicsXG4gICdiYWNrZmFjZS12aXNpYmlsaXR5JyxcbiAgJ2JhY2tncm91bmQnLFxuICAnYmFja2dyb3VuZC1hdHRhY2htZW50JyxcbiAgJ2JhY2tncm91bmQtYmxlbmQtbW9kZScsXG4gICdiYWNrZ3JvdW5kLWNsaXAnLFxuICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICdiYWNrZ3JvdW5kLWltYWdlJyxcbiAgJ2JhY2tncm91bmQtb3JpZ2luJyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24nLFxuICAnYmFja2dyb3VuZC1wb3NpdGlvbi14JyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24teScsXG4gICdiYWNrZ3JvdW5kLXJlcGVhdCcsXG4gICdiYWNrZ3JvdW5kLXNpemUnLFxuICAnYmFzZWxpbmUtc2hpZnQnLFxuICAnYmxvY2stc2l6ZScsXG4gICdib3JkZXInLFxuICAnYm9yZGVyLWJsb2NrJyxcbiAgJ2JvcmRlci1ibG9jay1jb2xvcicsXG4gICdib3JkZXItYmxvY2stZW5kJyxcbiAgJ2JvcmRlci1ibG9jay1lbmQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLWVuZC1zdHlsZScsXG4gICdib3JkZXItYmxvY2stZW5kLXdpZHRoJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydCcsXG4gICdib3JkZXItYmxvY2stc3RhcnQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLXN0YXJ0LXN0eWxlJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydC13aWR0aCcsXG4gICdib3JkZXItYmxvY2stc3R5bGUnLFxuICAnYm9yZGVyLWJsb2NrLXdpZHRoJyxcbiAgJ2JvcmRlci1ib3R0b20nLFxuICAnYm9yZGVyLWJvdHRvbS1jb2xvcicsXG4gICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tc3R5bGUnLFxuICAnYm9yZGVyLWJvdHRvbS13aWR0aCcsXG4gICdib3JkZXItY29sbGFwc2UnLFxuICAnYm9yZGVyLWNvbG9yJyxcbiAgJ2JvcmRlci1lbmQtZW5kLXJhZGl1cycsXG4gICdib3JkZXItZW5kLXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItaW1hZ2UnLFxuICAnYm9yZGVyLWltYWdlLW91dHNldCcsXG4gICdib3JkZXItaW1hZ2UtcmVwZWF0JyxcbiAgJ2JvcmRlci1pbWFnZS1zbGljZScsXG4gICdib3JkZXItaW1hZ2Utc291cmNlJyxcbiAgJ2JvcmRlci1pbWFnZS13aWR0aCcsXG4gICdib3JkZXItaW5saW5lJyxcbiAgJ2JvcmRlci1pbmxpbmUtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtd2lkdGgnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydCcsXG4gICdib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yJyxcbiAgJ2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCcsXG4gICdib3JkZXItaW5saW5lLXN0eWxlJyxcbiAgJ2JvcmRlci1pbmxpbmUtd2lkdGgnLFxuICAnYm9yZGVyLWxlZnQnLFxuICAnYm9yZGVyLWxlZnQtY29sb3InLFxuICAnYm9yZGVyLWxlZnQtc3R5bGUnLFxuICAnYm9yZGVyLWxlZnQtd2lkdGgnLFxuICAnYm9yZGVyLXJhZGl1cycsXG4gICdib3JkZXItcmlnaHQnLFxuICAnYm9yZGVyLXJpZ2h0LWNvbG9yJyxcbiAgJ2JvcmRlci1yaWdodC1zdHlsZScsXG4gICdib3JkZXItcmlnaHQtd2lkdGgnLFxuICAnYm9yZGVyLXNwYWNpbmcnLFxuICAnYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMnLFxuICAnYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItc3R5bGUnLFxuICAnYm9yZGVyLXRvcCcsXG4gICdib3JkZXItdG9wLWNvbG9yJyxcbiAgJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1zdHlsZScsXG4gICdib3JkZXItdG9wLXdpZHRoJyxcbiAgJ2JvcmRlci13aWR0aCcsXG4gICdib3R0b20nLFxuICAnYm94LWFsaWduJyxcbiAgJ2JveC1kZWNvcmF0aW9uLWJyZWFrJyxcbiAgJ2JveC1kaXJlY3Rpb24nLFxuICAnYm94LWZsZXgnLFxuICAnYm94LWZsZXgtZ3JvdXAnLFxuICAnYm94LWxpbmVzJyxcbiAgJ2JveC1vcmRpbmFsLWdyb3VwJyxcbiAgJ2JveC1vcmllbnQnLFxuICAnYm94LXBhY2snLFxuICAnYm94LXNoYWRvdycsXG4gICdib3gtc2l6aW5nJyxcbiAgJ2JyZWFrLWFmdGVyJyxcbiAgJ2JyZWFrLWJlZm9yZScsXG4gICdicmVhay1pbnNpZGUnLFxuICAnY2FwdGlvbi1zaWRlJyxcbiAgJ2NhcmV0LWNvbG9yJyxcbiAgJ2NsZWFyJyxcbiAgJ2NsaXAnLFxuICAnY2xpcC1wYXRoJyxcbiAgJ2NsaXAtcnVsZScsXG4gICdjb2xvcicsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJyxcbiAgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycycsXG4gICdjb2xvci1wcm9maWxlJyxcbiAgJ2NvbG9yLXJlbmRlcmluZycsXG4gICdjb2xvci1zY2hlbWUnLFxuICAnY29sdW1uLWNvdW50JyxcbiAgJ2NvbHVtbi1maWxsJyxcbiAgJ2NvbHVtbi1nYXAnLFxuICAnY29sdW1uLXJ1bGUnLFxuICAnY29sdW1uLXJ1bGUtY29sb3InLFxuICAnY29sdW1uLXJ1bGUtc3R5bGUnLFxuICAnY29sdW1uLXJ1bGUtd2lkdGgnLFxuICAnY29sdW1uLXNwYW4nLFxuICAnY29sdW1uLXdpZHRoJyxcbiAgJ2NvbHVtbnMnLFxuICAnY29udGFpbicsXG4gICdjb250YWluLWludHJpbnNpYy1ibG9jay1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLWhlaWdodCcsXG4gICdjb250YWluLWludHJpbnNpYy1pbmxpbmUtc2l6ZScsXG4gICdjb250YWluLWludHJpbnNpYy1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLXdpZHRoJyxcbiAgJ2NvbnRhaW5lcicsXG4gICdjb250YWluZXItbmFtZScsXG4gICdjb250YWluZXItdHlwZScsXG4gICdjb250ZW50JyxcbiAgJ2NvbnRlbnQtdmlzaWJpbGl0eScsXG4gICdjb3VudGVyLWluY3JlbWVudCcsXG4gICdjb3VudGVyLXJlc2V0JyxcbiAgJ2NvdW50ZXItc2V0JyxcbiAgJ2N1ZScsXG4gICdjdWUtYWZ0ZXInLFxuICAnY3VlLWJlZm9yZScsXG4gICdjdXJzb3InLFxuICAnY3gnLFxuICAnY3knLFxuICAnZGlyZWN0aW9uJyxcbiAgJ2Rpc3BsYXknLFxuICAnZG9taW5hbnQtYmFzZWxpbmUnLFxuICAnZW1wdHktY2VsbHMnLFxuICAnZW5hYmxlLWJhY2tncm91bmQnLFxuICAnZmllbGQtc2l6aW5nJyxcbiAgJ2ZpbGwnLFxuICAnZmlsbC1vcGFjaXR5JyxcbiAgJ2ZpbGwtcnVsZScsXG4gICdmaWx0ZXInLFxuICAnZmxleCcsXG4gICdmbGV4LWJhc2lzJyxcbiAgJ2ZsZXgtZGlyZWN0aW9uJyxcbiAgJ2ZsZXgtZmxvdycsXG4gICdmbGV4LWdyb3cnLFxuICAnZmxleC1zaHJpbmsnLFxuICAnZmxleC13cmFwJyxcbiAgJ2Zsb2F0JyxcbiAgJ2Zsb29kLWNvbG9yJyxcbiAgJ2Zsb29kLW9wYWNpdHknLFxuICAnZmxvdycsXG4gICdmb250JyxcbiAgJ2ZvbnQtZGlzcGxheScsXG4gICdmb250LWZhbWlseScsXG4gICdmb250LWZlYXR1cmUtc2V0dGluZ3MnLFxuICAnZm9udC1rZXJuaW5nJyxcbiAgJ2ZvbnQtbGFuZ3VhZ2Utb3ZlcnJpZGUnLFxuICAnZm9udC1vcHRpY2FsLXNpemluZycsXG4gICdmb250LXBhbGV0dGUnLFxuICAnZm9udC1zaXplJyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnLFxuICAnZm9udC1zbW9vdGgnLFxuICAnZm9udC1zbW9vdGhpbmcnLFxuICAnZm9udC1zdHJldGNoJyxcbiAgJ2ZvbnQtc3R5bGUnLFxuICAnZm9udC1zeW50aGVzaXMnLFxuICAnZm9udC1zeW50aGVzaXMtcG9zaXRpb24nLFxuICAnZm9udC1zeW50aGVzaXMtc21hbGwtY2FwcycsXG4gICdmb250LXN5bnRoZXNpcy1zdHlsZScsXG4gICdmb250LXN5bnRoZXNpcy13ZWlnaHQnLFxuICAnZm9udC12YXJpYW50JyxcbiAgJ2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1jYXBzJyxcbiAgJ2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuJyxcbiAgJ2ZvbnQtdmFyaWFudC1lbW9qaScsXG4gICdmb250LXZhcmlhbnQtbGlnYXR1cmVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1udW1lcmljJyxcbiAgJ2ZvbnQtdmFyaWFudC1wb3NpdGlvbicsXG4gICdmb250LXZhcmlhdGlvbi1zZXR0aW5ncycsXG4gICdmb250LXdlaWdodCcsXG4gICdmb3JjZWQtY29sb3ItYWRqdXN0JyxcbiAgJ2dhcCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsJyxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyxcbiAgJ2dyaWQnLFxuICAnZ3JpZC1hcmVhJyxcbiAgJ2dyaWQtYXV0by1jb2x1bW5zJyxcbiAgJ2dyaWQtYXV0by1mbG93JyxcbiAgJ2dyaWQtYXV0by1yb3dzJyxcbiAgJ2dyaWQtY29sdW1uJyxcbiAgJ2dyaWQtY29sdW1uLWVuZCcsXG4gICdncmlkLWNvbHVtbi1zdGFydCcsXG4gICdncmlkLWdhcCcsXG4gICdncmlkLXJvdycsXG4gICdncmlkLXJvdy1lbmQnLFxuICAnZ3JpZC1yb3ctc3RhcnQnLFxuICAnZ3JpZC10ZW1wbGF0ZScsXG4gICdncmlkLXRlbXBsYXRlLWFyZWFzJyxcbiAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsXG4gICdncmlkLXRlbXBsYXRlLXJvd3MnLFxuICAnaGFuZ2luZy1wdW5jdHVhdGlvbicsXG4gICdoZWlnaHQnLFxuICAnaHlwaGVuYXRlLWNoYXJhY3RlcicsXG4gICdoeXBoZW5hdGUtbGltaXQtY2hhcnMnLFxuICAnaHlwaGVucycsXG4gICdpY29uJyxcbiAgJ2ltYWdlLW9yaWVudGF0aW9uJyxcbiAgJ2ltYWdlLXJlbmRlcmluZycsXG4gICdpbWFnZS1yZXNvbHV0aW9uJyxcbiAgJ2ltZS1tb2RlJyxcbiAgJ2luaXRpYWwtbGV0dGVyJyxcbiAgJ2luaXRpYWwtbGV0dGVyLWFsaWduJyxcbiAgJ2lubGluZS1zaXplJyxcbiAgJ2luc2V0JyxcbiAgJ2luc2V0LWFyZWEnLFxuICAnaW5zZXQtYmxvY2snLFxuICAnaW5zZXQtYmxvY2stZW5kJyxcbiAgJ2luc2V0LWJsb2NrLXN0YXJ0JyxcbiAgJ2luc2V0LWlubGluZScsXG4gICdpbnNldC1pbmxpbmUtZW5kJyxcbiAgJ2luc2V0LWlubGluZS1zdGFydCcsXG4gICdpc29sYXRpb24nLFxuICAnanVzdGlmeS1jb250ZW50JyxcbiAgJ2p1c3RpZnktaXRlbXMnLFxuICAnanVzdGlmeS1zZWxmJyxcbiAgJ2tlcm5pbmcnLFxuICAnbGVmdCcsXG4gICdsZXR0ZXItc3BhY2luZycsXG4gICdsaWdodGluZy1jb2xvcicsXG4gICdsaW5lLWJyZWFrJyxcbiAgJ2xpbmUtaGVpZ2h0JyxcbiAgJ2xpbmUtaGVpZ2h0LXN0ZXAnLFxuICAnbGlzdC1zdHlsZScsXG4gICdsaXN0LXN0eWxlLWltYWdlJyxcbiAgJ2xpc3Qtc3R5bGUtcG9zaXRpb24nLFxuICAnbGlzdC1zdHlsZS10eXBlJyxcbiAgJ21hcmdpbicsXG4gICdtYXJnaW4tYmxvY2snLFxuICAnbWFyZ2luLWJsb2NrLWVuZCcsXG4gICdtYXJnaW4tYmxvY2stc3RhcnQnLFxuICAnbWFyZ2luLWJvdHRvbScsXG4gICdtYXJnaW4taW5saW5lJyxcbiAgJ21hcmdpbi1pbmxpbmUtZW5kJyxcbiAgJ21hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnbWFyZ2luLWxlZnQnLFxuICAnbWFyZ2luLXJpZ2h0JyxcbiAgJ21hcmdpbi10b3AnLFxuICAnbWFyZ2luLXRyaW0nLFxuICAnbWFya2VyJyxcbiAgJ21hcmtlci1lbmQnLFxuICAnbWFya2VyLW1pZCcsXG4gICdtYXJrZXItc3RhcnQnLFxuICAnbWFya3MnLFxuICAnbWFzaycsXG4gICdtYXNrLWJvcmRlcicsXG4gICdtYXNrLWJvcmRlci1tb2RlJyxcbiAgJ21hc2stYm9yZGVyLW91dHNldCcsXG4gICdtYXNrLWJvcmRlci1yZXBlYXQnLFxuICAnbWFzay1ib3JkZXItc2xpY2UnLFxuICAnbWFzay1ib3JkZXItc291cmNlJyxcbiAgJ21hc2stYm9yZGVyLXdpZHRoJyxcbiAgJ21hc2stY2xpcCcsXG4gICdtYXNrLWNvbXBvc2l0ZScsXG4gICdtYXNrLWltYWdlJyxcbiAgJ21hc2stbW9kZScsXG4gICdtYXNrLW9yaWdpbicsXG4gICdtYXNrLXBvc2l0aW9uJyxcbiAgJ21hc2stcmVwZWF0JyxcbiAgJ21hc2stc2l6ZScsXG4gICdtYXNrLXR5cGUnLFxuICAnbWFzb25yeS1hdXRvLWZsb3cnLFxuICAnbWF0aC1kZXB0aCcsXG4gICdtYXRoLXNoaWZ0JyxcbiAgJ21hdGgtc3R5bGUnLFxuICAnbWF4LWJsb2NrLXNpemUnLFxuICAnbWF4LWhlaWdodCcsXG4gICdtYXgtaW5saW5lLXNpemUnLFxuICAnbWF4LXdpZHRoJyxcbiAgJ21pbi1ibG9jay1zaXplJyxcbiAgJ21pbi1oZWlnaHQnLFxuICAnbWluLWlubGluZS1zaXplJyxcbiAgJ21pbi13aWR0aCcsXG4gICdtaXgtYmxlbmQtbW9kZScsXG4gICduYXYtZG93bicsXG4gICduYXYtaW5kZXgnLFxuICAnbmF2LWxlZnQnLFxuICAnbmF2LXJpZ2h0JyxcbiAgJ25hdi11cCcsXG4gICdub25lJyxcbiAgJ25vcm1hbCcsXG4gICdvYmplY3QtZml0JyxcbiAgJ29iamVjdC1wb3NpdGlvbicsXG4gICdvZmZzZXQnLFxuICAnb2Zmc2V0LWFuY2hvcicsXG4gICdvZmZzZXQtZGlzdGFuY2UnLFxuICAnb2Zmc2V0LXBhdGgnLFxuICAnb2Zmc2V0LXBvc2l0aW9uJyxcbiAgJ29mZnNldC1yb3RhdGUnLFxuICAnb3BhY2l0eScsXG4gICdvcmRlcicsXG4gICdvcnBoYW5zJyxcbiAgJ291dGxpbmUnLFxuICAnb3V0bGluZS1jb2xvcicsXG4gICdvdXRsaW5lLW9mZnNldCcsXG4gICdvdXRsaW5lLXN0eWxlJyxcbiAgJ291dGxpbmUtd2lkdGgnLFxuICAnb3ZlcmZsb3cnLFxuICAnb3ZlcmZsb3ctYW5jaG9yJyxcbiAgJ292ZXJmbG93LWJsb2NrJyxcbiAgJ292ZXJmbG93LWNsaXAtbWFyZ2luJyxcbiAgJ292ZXJmbG93LWlubGluZScsXG4gICdvdmVyZmxvdy13cmFwJyxcbiAgJ292ZXJmbG93LXgnLFxuICAnb3ZlcmZsb3cteScsXG4gICdvdmVybGF5JyxcbiAgJ292ZXJzY3JvbGwtYmVoYXZpb3InLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci1ibG9jaycsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLWlubGluZScsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLXgnLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci15JyxcbiAgJ3BhZGRpbmcnLFxuICAncGFkZGluZy1ibG9jaycsXG4gICdwYWRkaW5nLWJsb2NrLWVuZCcsXG4gICdwYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3BhZGRpbmctYm90dG9tJyxcbiAgJ3BhZGRpbmctaW5saW5lJyxcbiAgJ3BhZGRpbmctaW5saW5lLWVuZCcsXG4gICdwYWRkaW5nLWlubGluZS1zdGFydCcsXG4gICdwYWRkaW5nLWxlZnQnLFxuICAncGFkZGluZy1yaWdodCcsXG4gICdwYWRkaW5nLXRvcCcsXG4gICdwYWdlJyxcbiAgJ3BhZ2UtYnJlYWstYWZ0ZXInLFxuICAncGFnZS1icmVhay1iZWZvcmUnLFxuICAncGFnZS1icmVhay1pbnNpZGUnLFxuICAncGFpbnQtb3JkZXInLFxuICAncGF1c2UnLFxuICAncGF1c2UtYWZ0ZXInLFxuICAncGF1c2UtYmVmb3JlJyxcbiAgJ3BlcnNwZWN0aXZlJyxcbiAgJ3BlcnNwZWN0aXZlLW9yaWdpbicsXG4gICdwbGFjZS1jb250ZW50JyxcbiAgJ3BsYWNlLWl0ZW1zJyxcbiAgJ3BsYWNlLXNlbGYnLFxuICAncG9pbnRlci1ldmVudHMnLFxuICAncG9zaXRpb24nLFxuICAncG9zaXRpb24tYW5jaG9yJyxcbiAgJ3Bvc2l0aW9uLXZpc2liaWxpdHknLFxuICAncHJpbnQtY29sb3ItYWRqdXN0JyxcbiAgJ3F1b3RlcycsXG4gICdyJyxcbiAgJ3Jlc2l6ZScsXG4gICdyZXN0JyxcbiAgJ3Jlc3QtYWZ0ZXInLFxuICAncmVzdC1iZWZvcmUnLFxuICAncmlnaHQnLFxuICAncm90YXRlJyxcbiAgJ3Jvdy1nYXAnLFxuICAncnVieS1hbGlnbicsXG4gICdydWJ5LXBvc2l0aW9uJyxcbiAgJ3NjYWxlJyxcbiAgJ3Njcm9sbC1iZWhhdmlvcicsXG4gICdzY3JvbGwtbWFyZ2luJyxcbiAgJ3Njcm9sbC1tYXJnaW4tYmxvY2snLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1zdGFydCcsXG4gICdzY3JvbGwtbWFyZ2luLWJvdHRvbScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLW1hcmdpbi1sZWZ0JyxcbiAgJ3Njcm9sbC1tYXJnaW4tcmlnaHQnLFxuICAnc2Nyb2xsLW1hcmdpbi10b3AnLFxuICAnc2Nyb2xsLXBhZGRpbmcnLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2snLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2stZW5kJyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJvdHRvbScsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUnLFxuICAnc2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCcsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLXBhZGRpbmctbGVmdCcsXG4gICdzY3JvbGwtcGFkZGluZy1yaWdodCcsXG4gICdzY3JvbGwtcGFkZGluZy10b3AnLFxuICAnc2Nyb2xsLXNuYXAtYWxpZ24nLFxuICAnc2Nyb2xsLXNuYXAtc3RvcCcsXG4gICdzY3JvbGwtc25hcC10eXBlJyxcbiAgJ3Njcm9sbC10aW1lbGluZScsXG4gICdzY3JvbGwtdGltZWxpbmUtYXhpcycsXG4gICdzY3JvbGwtdGltZWxpbmUtbmFtZScsXG4gICdzY3JvbGxiYXItY29sb3InLFxuICAnc2Nyb2xsYmFyLWd1dHRlcicsXG4gICdzY3JvbGxiYXItd2lkdGgnLFxuICAnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJyxcbiAgJ3NoYXBlLW1hcmdpbicsXG4gICdzaGFwZS1vdXRzaWRlJyxcbiAgJ3NoYXBlLXJlbmRlcmluZycsXG4gICdzcGVhaycsXG4gICdzcGVhay1hcycsXG4gICdzcmMnLCAvLyBAZm9udC1mYWNlXG4gICdzdG9wLWNvbG9yJyxcbiAgJ3N0b3Atb3BhY2l0eScsXG4gICdzdHJva2UnLFxuICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICdzdHJva2UtZGFzaG9mZnNldCcsXG4gICdzdHJva2UtbGluZWNhcCcsXG4gICdzdHJva2UtbGluZWpvaW4nLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW9wYWNpdHknLFxuICAnc3Ryb2tlLXdpZHRoJyxcbiAgJ3RhYi1zaXplJyxcbiAgJ3RhYmxlLWxheW91dCcsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RleHQtYWxpZ24tYWxsJyxcbiAgJ3RleHQtYWxpZ24tbGFzdCcsXG4gICd0ZXh0LWFuY2hvcicsXG4gICd0ZXh0LWNvbWJpbmUtdXByaWdodCcsXG4gICd0ZXh0LWRlY29yYXRpb24nLFxuICAndGV4dC1kZWNvcmF0aW9uLWNvbG9yJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1saW5lJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwLWluaycsXG4gICd0ZXh0LWRlY29yYXRpb24tc3R5bGUnLFxuICAndGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcycsXG4gICd0ZXh0LWVtcGhhc2lzJyxcbiAgJ3RleHQtZW1waGFzaXMtY29sb3InLFxuICAndGV4dC1lbXBoYXNpcy1wb3NpdGlvbicsXG4gICd0ZXh0LWVtcGhhc2lzLXN0eWxlJyxcbiAgJ3RleHQtaW5kZW50JyxcbiAgJ3RleHQtanVzdGlmeScsXG4gICd0ZXh0LW9yaWVudGF0aW9uJyxcbiAgJ3RleHQtb3ZlcmZsb3cnLFxuICAndGV4dC1yZW5kZXJpbmcnLFxuICAndGV4dC1zaGFkb3cnLFxuICAndGV4dC1zaXplLWFkanVzdCcsXG4gICd0ZXh0LXRyYW5zZm9ybScsXG4gICd0ZXh0LXVuZGVybGluZS1vZmZzZXQnLFxuICAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nLFxuICAndGV4dC13cmFwJyxcbiAgJ3RleHQtd3JhcC1tb2RlJyxcbiAgJ3RleHQtd3JhcC1zdHlsZScsXG4gICd0aW1lbGluZS1zY29wZScsXG4gICd0b3AnLFxuICAndG91Y2gtYWN0aW9uJyxcbiAgJ3RyYW5zZm9ybScsXG4gICd0cmFuc2Zvcm0tYm94JyxcbiAgJ3RyYW5zZm9ybS1vcmlnaW4nLFxuICAndHJhbnNmb3JtLXN0eWxlJyxcbiAgJ3RyYW5zaXRpb24nLFxuICAndHJhbnNpdGlvbi1iZWhhdmlvcicsXG4gICd0cmFuc2l0aW9uLWRlbGF5JyxcbiAgJ3RyYW5zaXRpb24tZHVyYXRpb24nLFxuICAndHJhbnNpdGlvbi1wcm9wZXJ0eScsXG4gICd0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbicsXG4gICd0cmFuc2xhdGUnLFxuICAndW5pY29kZS1iaWRpJyxcbiAgJ3VzZXItbW9kaWZ5JyxcbiAgJ3VzZXItc2VsZWN0JyxcbiAgJ3ZlY3Rvci1lZmZlY3QnLFxuICAndmVydGljYWwtYWxpZ24nLFxuICAndmlldy10aW1lbGluZScsXG4gICd2aWV3LXRpbWVsaW5lLWF4aXMnLFxuICAndmlldy10aW1lbGluZS1pbnNldCcsXG4gICd2aWV3LXRpbWVsaW5lLW5hbWUnLFxuICAndmlldy10cmFuc2l0aW9uLW5hbWUnLFxuICAndmlzaWJpbGl0eScsXG4gICd2b2ljZS1iYWxhbmNlJyxcbiAgJ3ZvaWNlLWR1cmF0aW9uJyxcbiAgJ3ZvaWNlLWZhbWlseScsXG4gICd2b2ljZS1waXRjaCcsXG4gICd2b2ljZS1yYW5nZScsXG4gICd2b2ljZS1yYXRlJyxcbiAgJ3ZvaWNlLXN0cmVzcycsXG4gICd2b2ljZS12b2x1bWUnLFxuICAnd2hpdGUtc3BhY2UnLFxuICAnd2hpdGUtc3BhY2UtY29sbGFwc2UnLFxuICAnd2lkb3dzJyxcbiAgJ3dpZHRoJyxcbiAgJ3dpbGwtY2hhbmdlJyxcbiAgJ3dvcmQtYnJlYWsnLFxuICAnd29yZC1zcGFjaW5nJyxcbiAgJ3dvcmQtd3JhcCcsXG4gICd3cml0aW5nLW1vZGUnLFxuICAneCcsXG4gICd5JyxcbiAgJ3otaW5kZXgnLFxuICAnem9vbSdcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuLy8gc29tZSBncmFtbWFycyB1c2UgdGhlbSBhbGwgYXMgYSBzaW5nbGUgZ3JvdXBcbmNvbnN0IFBTRVVET19TRUxFQ1RPUlMgPSBQU0VVRE9fQ0xBU1NFUy5jb25jYXQoUFNFVURPX0VMRU1FTlRTKS5zb3J0KCkucmV2ZXJzZSgpO1xuXG4vKlxuTGFuZ3VhZ2U6IExlc3NcbkRlc2NyaXB0aW9uOiBJdCdzIENTUywgd2l0aCBqdXN0IGEgbGl0dGxlIG1vcmUuXG5BdXRob3I6ICAgTWF4IE1pa2hhaWxvdiA8c2V2ZW4ucGhhc2VzLm1heEBnbWFpbC5jb20+XG5XZWJzaXRlOiBodHRwOi8vbGVzc2Nzcy5vcmdcbkNhdGVnb3J5OiBjb21tb24sIGNzcywgd2ViXG4qL1xuXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiBsZXNzKGhsanMpIHtcbiAgY29uc3QgbW9kZXMgPSBNT0RFUyhobGpzKTtcbiAgY29uc3QgUFNFVURPX1NFTEVDVE9SUyQxID0gUFNFVURPX1NFTEVDVE9SUztcblxuICBjb25zdCBBVF9NT0RJRklFUlMgPSBcImFuZCBvciBub3Qgb25seVwiO1xuICBjb25zdCBJREVOVF9SRSA9ICdbXFxcXHctXSsnOyAvLyB5ZXMsIExlc3MgaWRlbnRpZmllcnMgbWF5IGJlZ2luIHdpdGggYSBkaWdpdFxuICBjb25zdCBJTlRFUlBfSURFTlRfUkUgPSAnKCcgKyBJREVOVF9SRSArICd8QFxcXFx7JyArIElERU5UX1JFICsgJ1xcXFx9KSc7XG5cbiAgLyogR2VuZXJpYyBNb2RlcyAqL1xuXG4gIGNvbnN0IFJVTEVTID0gW107IGNvbnN0IFZBTFVFX01PREVTID0gW107IC8vIGZvcndhcmQgZGVmLiBmb3IgcmVjdXJzaXZlIG1vZGVzXG5cbiAgY29uc3QgU1RSSU5HX01PREUgPSBmdW5jdGlvbihjKSB7XG4gICAgcmV0dXJuIHtcbiAgICAvLyBMZXNzIHN0cmluZ3MgYXJlIG5vdCBtdWx0aWxpbmUgKGFsc28gaW5jbHVkZSAnficgZm9yIG1vcmUgY29uc2lzdGVudCBjb2xvcmluZyBvZiBcImVzY2FwZWRcIiBzdHJpbmdzKVxuICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICAgIGJlZ2luOiAnfj8nICsgYyArICcuKj8nICsgY1xuICAgIH07XG4gIH07XG5cbiAgY29uc3QgSURFTlRfTU9ERSA9IGZ1bmN0aW9uKG5hbWUsIGJlZ2luLCByZWxldmFuY2UpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2xhc3NOYW1lOiBuYW1lLFxuICAgICAgYmVnaW46IGJlZ2luLFxuICAgICAgcmVsZXZhbmNlOiByZWxldmFuY2VcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IEFUX0tFWVdPUkRTID0ge1xuICAgICRwYXR0ZXJuOiAvW2Etei1dKy8sXG4gICAga2V5d29yZDogQVRfTU9ESUZJRVJTLFxuICAgIGF0dHJpYnV0ZTogTUVESUFfRkVBVFVSRVMuam9pbihcIiBcIilcbiAgfTtcblxuICBjb25zdCBQQVJFTlNfTU9ERSA9IHtcbiAgICAvLyB1c2VkIG9ubHkgdG8gcHJvcGVybHkgYmFsYW5jZSBuZXN0ZWQgcGFyZW5zIGluc2lkZSBtaXhpbiBjYWxsLCBkZWYuIGFyZyBsaXN0XG4gICAgYmVnaW46ICdcXFxcKCcsXG4gICAgZW5kOiAnXFxcXCknLFxuICAgIGNvbnRhaW5zOiBWQUxVRV9NT0RFUyxcbiAgICBrZXl3b3JkczogQVRfS0VZV09SRFMsXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgLy8gZ2VuZXJpYyBMZXNzIGhpZ2hsaWdodGVyICh1c2VkIGFsbW9zdCBldmVyeXdoZXJlIGV4Y2VwdCBzZWxlY3RvcnMpOlxuICBWQUxVRV9NT0RFUy5wdXNoKFxuICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgIFNUUklOR19NT0RFKFwiJ1wiKSxcbiAgICBTVFJJTkdfTU9ERSgnXCInKSxcbiAgICBtb2Rlcy5DU1NfTlVNQkVSX01PREUsIC8vIGZpeG1lOiBpdCBkb2VzIG5vdCBpbmNsdWRlIGRvdCBmb3IgbnVtYmVycyBsaWtlIC41ZW0gOihcbiAgICB7XG4gICAgICBiZWdpbjogJyh1cmx8ZGF0YS11cmkpXFxcXCgnLFxuICAgICAgc3RhcnRzOiB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgICAgIGVuZDogJ1tcXFxcKVxcXFxuXScsXG4gICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWVcbiAgICAgIH1cbiAgICB9LFxuICAgIG1vZGVzLkhFWENPTE9SLFxuICAgIFBBUkVOU19NT0RFLFxuICAgIElERU5UX01PREUoJ3ZhcmlhYmxlJywgJ0BAPycgKyBJREVOVF9SRSwgMTApLFxuICAgIElERU5UX01PREUoJ3ZhcmlhYmxlJywgJ0BcXFxceycgKyBJREVOVF9SRSArICdcXFxcfScpLFxuICAgIElERU5UX01PREUoJ2J1aWx0X2luJywgJ34/YFteYF0qP2AnKSwgLy8gaW5saW5lIGphdmFzY3JpcHQgKG9yIHdoYXRldmVyIGhvc3QgbGFuZ3VhZ2UpICptdWx0aWxpbmUqIHN0cmluZ1xuICAgIHsgLy8gQG1lZGlhIGZlYXR1cmVzIChpdOKAmXMgaGVyZSB0byBub3QgZHVwbGljYXRlIHRoaW5ncyBpbiBBVF9SVUxFX01PREUgd2l0aCBleHRyYSBQQVJFTlNfTU9ERSBvdmVycmlkaW5nKTpcbiAgICAgIGNsYXNzTmFtZTogJ2F0dHJpYnV0ZScsXG4gICAgICBiZWdpbjogSURFTlRfUkUgKyAnXFxcXHMqOicsXG4gICAgICBlbmQ6ICc6JyxcbiAgICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgICAgZXhjbHVkZUVuZDogdHJ1ZVxuICAgIH0sXG4gICAgbW9kZXMuSU1QT1JUQU5ULFxuICAgIHsgYmVnaW5LZXl3b3JkczogJ2FuZCBub3QnIH0sXG4gICAgbW9kZXMuRlVOQ1RJT05fRElTUEFUQ0hcbiAgKTtcblxuICBjb25zdCBWQUxVRV9XSVRIX1JVTEVTRVRTID0gVkFMVUVfTU9ERVMuY29uY2F0KHtcbiAgICBiZWdpbjogL1xcey8sXG4gICAgZW5kOiAvXFx9LyxcbiAgICBjb250YWluczogUlVMRVNcbiAgfSk7XG5cbiAgY29uc3QgTUlYSU5fR1VBUkRfTU9ERSA9IHtcbiAgICBiZWdpbktleXdvcmRzOiAnd2hlbicsXG4gICAgZW5kc1dpdGhQYXJlbnQ6IHRydWUsXG4gICAgY29udGFpbnM6IFsgeyBiZWdpbktleXdvcmRzOiAnYW5kIG5vdCcgfSBdLmNvbmNhdChWQUxVRV9NT0RFUykgLy8gdXNpbmcgdGhpcyBmb3JtIHRvIG92ZXJyaWRlIFZBTFVF4oCZcyAnZnVuY3Rpb24nIG1hdGNoXG4gIH07XG5cbiAgLyogUnVsZS1MZXZlbCBNb2RlcyAqL1xuXG4gIGNvbnN0IFJVTEVfTU9ERSA9IHtcbiAgICBiZWdpbjogSU5URVJQX0lERU5UX1JFICsgJ1xcXFxzKjonLFxuICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgIGVuZDogL1s7fV0vLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICBjb250YWluczogW1xuICAgICAgeyBiZWdpbjogLy0od2Via2l0fG1venxtc3xvKS0vIH0sXG4gICAgICBtb2Rlcy5DU1NfVkFSSUFCTEUsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ2F0dHJpYnV0ZScsXG4gICAgICAgIGJlZ2luOiAnXFxcXGIoJyArIEFUVFJJQlVURVMuam9pbignfCcpICsgJylcXFxcYicsXG4gICAgICAgIGVuZDogLyg/PTopLyxcbiAgICAgICAgc3RhcnRzOiB7XG4gICAgICAgICAgZW5kc1dpdGhQYXJlbnQ6IHRydWUsXG4gICAgICAgICAgaWxsZWdhbDogJ1s8PSRdJyxcbiAgICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgICAgY29udGFpbnM6IFZBTFVFX01PREVTXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgY29uc3QgQVRfUlVMRV9NT0RFID0ge1xuICAgIGNsYXNzTmFtZTogJ2tleXdvcmQnLFxuICAgIGJlZ2luOiAnQChpbXBvcnR8bWVkaWF8Y2hhcnNldHxmb250LWZhY2V8KC1bYS16XSstKT9rZXlmcmFtZXN8c3VwcG9ydHN8ZG9jdW1lbnR8bmFtZXNwYWNlfHBhZ2V8dmlld3BvcnR8aG9zdClcXFxcYicsXG4gICAgc3RhcnRzOiB7XG4gICAgICBlbmQ6ICdbO3t9XScsXG4gICAgICBrZXl3b3JkczogQVRfS0VZV09SRFMsXG4gICAgICByZXR1cm5FbmQ6IHRydWUsXG4gICAgICBjb250YWluczogVkFMVUVfTU9ERVMsXG4gICAgICByZWxldmFuY2U6IDBcbiAgICB9XG4gIH07XG5cbiAgLy8gdmFyaWFibGUgZGVmaW5pdGlvbnMgYW5kIGNhbGxzXG4gIGNvbnN0IFZBUl9SVUxFX01PREUgPSB7XG4gICAgY2xhc3NOYW1lOiAndmFyaWFibGUnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyB1c2luZyBtb3JlIHN0cmljdCBwYXR0ZXJuIGZvciBoaWdoZXIgcmVsZXZhbmNlIHRvIGluY3JlYXNlIGNoYW5jZXMgb2YgTGVzcyBkZXRlY3Rpb24uXG4gICAgICAvLyB0aGlzIGlzICp0aGUgb25seSogTGVzcyBzcGVjaWZpYyBzdGF0ZW1lbnQgdXNlZCBpbiBtb3N0IG9mIHRoZSBzb3VyY2VzLCBzby4uLlxuICAgICAgLy8gKHdl4oCZbGwgc3RpbGwgb2Z0ZW4gbG9vc2UgdG8gdGhlIGNzcy1wYXJzZXIgdW5sZXNzIHRoZXJlJ3MgJy8vJyBjb21tZW50LFxuICAgICAgLy8gc2ltcGx5IGJlY2F1c2UgMSB2YXJpYWJsZSBqdXN0IGNhbid0IGJlYXQgOTkgcHJvcGVydGllcyA6KVxuICAgICAge1xuICAgICAgICBiZWdpbjogJ0AnICsgSURFTlRfUkUgKyAnXFxcXHMqOicsXG4gICAgICAgIHJlbGV2YW5jZTogMTVcbiAgICAgIH0sXG4gICAgICB7IGJlZ2luOiAnQCcgKyBJREVOVF9SRSB9XG4gICAgXSxcbiAgICBzdGFydHM6IHtcbiAgICAgIGVuZDogJ1s7fV0nLFxuICAgICAgcmV0dXJuRW5kOiB0cnVlLFxuICAgICAgY29udGFpbnM6IFZBTFVFX1dJVEhfUlVMRVNFVFNcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgU0VMRUNUT1JfTU9ERSA9IHtcbiAgICAvLyBmaXJzdCBwYXJzZSB1bmFtYmlndW91cyBzZWxlY3RvcnMgKGkuZS4gdGhvc2Ugbm90IHN0YXJ0aW5nIHdpdGggdGFnKVxuICAgIC8vIHRoZW4gZmFsbCBpbnRvIHRoZSBzY2FyeSBsb29rYWhlYWQtZGlzY3JpbWluYXRvciB2YXJpYW50LlxuICAgIC8vIHRoaXMgbW9kZSBhbHNvIGhhbmRsZXMgbWl4aW4gZGVmaW5pdGlvbnMgYW5kIGNhbGxzXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdbXFxcXC4jOiZcXFxcWz5dJyxcbiAgICAgICAgZW5kOiAnWzt7fV0nIC8vIG1peGluIGNhbGxzIGVuZCB3aXRoICc7J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IElOVEVSUF9JREVOVF9SRSxcbiAgICAgICAgZW5kOiAvXFx7L1xuICAgICAgfVxuICAgIF0sXG4gICAgcmV0dXJuQmVnaW46IHRydWUsXG4gICAgcmV0dXJuRW5kOiB0cnVlLFxuICAgIGlsbGVnYWw6ICdbPD1cXCckXCJdJyxcbiAgICByZWxldmFuY2U6IDAsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgIGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsXG4gICAgICBNSVhJTl9HVUFSRF9NT0RFLFxuICAgICAgSURFTlRfTU9ERSgna2V5d29yZCcsICdhbGxcXFxcYicpLFxuICAgICAgSURFTlRfTU9ERSgndmFyaWFibGUnLCAnQFxcXFx7JyArIElERU5UX1JFICsgJ1xcXFx9JyksIC8vIG90aGVyd2lzZSBpdOKAmXMgaWRlbnRpZmllZCBhcyB0YWdcbiAgICAgIFxuICAgICAge1xuICAgICAgICBiZWdpbjogJ1xcXFxiKCcgKyBUQUdTLmpvaW4oJ3wnKSArICcpXFxcXGInLFxuICAgICAgICBjbGFzc05hbWU6ICdzZWxlY3Rvci10YWcnXG4gICAgICB9LFxuICAgICAgbW9kZXMuQ1NTX05VTUJFUl9NT0RFLFxuICAgICAgSURFTlRfTU9ERSgnc2VsZWN0b3ItdGFnJywgSU5URVJQX0lERU5UX1JFLCAwKSxcbiAgICAgIElERU5UX01PREUoJ3NlbGVjdG9yLWlkJywgJyMnICsgSU5URVJQX0lERU5UX1JFKSxcbiAgICAgIElERU5UX01PREUoJ3NlbGVjdG9yLWNsYXNzJywgJ1xcXFwuJyArIElOVEVSUF9JREVOVF9SRSwgMCksXG4gICAgICBJREVOVF9NT0RFKCdzZWxlY3Rvci10YWcnLCAnJicsIDApLFxuICAgICAgbW9kZXMuQVRUUklCVVRFX1NFTEVDVE9SX01PREUsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLXBzZXVkbycsXG4gICAgICAgIGJlZ2luOiAnOignICsgUFNFVURPX0NMQVNTRVMuam9pbignfCcpICsgJyknXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzZWxlY3Rvci1wc2V1ZG8nLFxuICAgICAgICBiZWdpbjogJzooOik/KCcgKyBQU0VVRE9fRUxFTUVOVFMuam9pbignfCcpICsgJyknXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcKC8sXG4gICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgY29udGFpbnM6IFZBTFVFX1dJVEhfUlVMRVNFVFNcbiAgICAgIH0sIC8vIGFyZ3VtZW50IGxpc3Qgb2YgcGFyYW1ldHJpYyBtaXhpbnNcbiAgICAgIHsgYmVnaW46ICchaW1wb3J0YW50JyB9LCAvLyBlYXQgIWltcG9ydGFudCBhZnRlciBtaXhpbiBjYWxsIG9yIGl0IHdpbGwgYmUgY29sb3JlZCBhcyB0YWdcbiAgICAgIG1vZGVzLkZVTkNUSU9OX0RJU1BBVENIXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IFBTRVVET19TRUxFQ1RPUl9NT0RFID0ge1xuICAgIGJlZ2luOiBJREVOVF9SRSArICc6KDopPycgKyBgKCR7UFNFVURPX1NFTEVDVE9SUyQxLmpvaW4oJ3wnKX0pYCxcbiAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICBjb250YWluczogWyBTRUxFQ1RPUl9NT0RFIF1cbiAgfTtcblxuICBSVUxFUy5wdXNoKFxuICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgIEFUX1JVTEVfTU9ERSxcbiAgICBWQVJfUlVMRV9NT0RFLFxuICAgIFBTRVVET19TRUxFQ1RPUl9NT0RFLFxuICAgIFJVTEVfTU9ERSxcbiAgICBTRUxFQ1RPUl9NT0RFLFxuICAgIE1JWElOX0dVQVJEX01PREUsXG4gICAgbW9kZXMuRlVOQ1RJT05fRElTUEFUQ0hcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdMZXNzJyxcbiAgICBjYXNlX2luc2Vuc2l0aXZlOiB0cnVlLFxuICAgIGlsbGVnYWw6ICdbPT5cXCcvPCgkXCJdJyxcbiAgICBjb250YWluczogUlVMRVNcbiAgfTtcbn1cblxuZXhwb3J0IHsgbGVzcyBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/less.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/lua.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/lua.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ lua)\n/* harmony export */ });\n/*\nLanguage: Lua\nDescription: Lua is a powerful, efficient, lightweight, embeddable scripting language.\nAuthor: Andrew Fedorov \nCategory: common, gaming, scripting\nWebsite: https://www.lua.org\n*/\n\nfunction lua(hljs) {\n const OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n const CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n const LONG_BRACKETS = {\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ 'self' ]\n };\n const COMMENTS = [\n hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),\n hljs.COMMENT(\n '--' + OPENING_LONG_BRACKET,\n CLOSING_LONG_BRACKET,\n {\n contains: [ LONG_BRACKETS ],\n relevance: 10\n }\n )\n ];\n return {\n name: 'Lua',\n aliases: ['pluto'],\n keywords: {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n literal: \"true false nil\",\n keyword: \"and break do else elseif end for goto if in local not or repeat return then until while\",\n built_in:\n // Metatags and globals:\n '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len '\n + '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert '\n // Standard methods and properties:\n + 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring '\n + 'module next pairs pcall print rawequal rawget rawset require select setfenv '\n + 'setmetatable tonumber tostring type unpack xpcall arg self '\n // Library methods and properties (one line per library):\n + 'coroutine resume yield status wrap create running debug getupvalue '\n + 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv '\n + 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile '\n + 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan '\n + 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall '\n + 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower '\n + 'table setn insert getn foreachi maxn foreach concat sort remove'\n },\n contains: COMMENTS.concat([\n {\n className: 'function',\n beginKeywords: 'function',\n end: '\\\\)',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*' }),\n {\n className: 'params',\n begin: '\\\\(',\n endsWithParent: true,\n contains: COMMENTS\n }\n ].concat(COMMENTS)\n },\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ LONG_BRACKETS ],\n relevance: 5\n }\n ])\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9sdWEuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsNERBQTREO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUwQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvbHVhLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogTHVhXG5EZXNjcmlwdGlvbjogTHVhIGlzIGEgcG93ZXJmdWwsIGVmZmljaWVudCwgbGlnaHR3ZWlnaHQsIGVtYmVkZGFibGUgc2NyaXB0aW5nIGxhbmd1YWdlLlxuQXV0aG9yOiBBbmRyZXcgRmVkb3JvdiA8ZG1tZHJzQG1haWwucnU+XG5DYXRlZ29yeTogY29tbW9uLCBnYW1pbmcsIHNjcmlwdGluZ1xuV2Vic2l0ZTogaHR0cHM6Ly93d3cubHVhLm9yZ1xuKi9cblxuZnVuY3Rpb24gbHVhKGhsanMpIHtcbiAgY29uc3QgT1BFTklOR19MT05HX0JSQUNLRVQgPSAnXFxcXFs9KlxcXFxbJztcbiAgY29uc3QgQ0xPU0lOR19MT05HX0JSQUNLRVQgPSAnXFxcXF09KlxcXFxdJztcbiAgY29uc3QgTE9OR19CUkFDS0VUUyA9IHtcbiAgICBiZWdpbjogT1BFTklOR19MT05HX0JSQUNLRVQsXG4gICAgZW5kOiBDTE9TSU5HX0xPTkdfQlJBQ0tFVCxcbiAgICBjb250YWluczogWyAnc2VsZicgXVxuICB9O1xuICBjb25zdCBDT01NRU5UUyA9IFtcbiAgICBobGpzLkNPTU1FTlQoJy0tKD8hJyArIE9QRU5JTkdfTE9OR19CUkFDS0VUICsgJyknLCAnJCcpLFxuICAgIGhsanMuQ09NTUVOVChcbiAgICAgICctLScgKyBPUEVOSU5HX0xPTkdfQlJBQ0tFVCxcbiAgICAgIENMT1NJTkdfTE9OR19CUkFDS0VULFxuICAgICAge1xuICAgICAgICBjb250YWluczogWyBMT05HX0JSQUNLRVRTIF0sXG4gICAgICAgIHJlbGV2YW5jZTogMTBcbiAgICAgIH1cbiAgICApXG4gIF07XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0x1YScsXG4gICAgYWxpYXNlczogWydwbHV0byddLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICAkcGF0dGVybjogaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFLFxuICAgICAgbGl0ZXJhbDogXCJ0cnVlIGZhbHNlIG5pbFwiLFxuICAgICAga2V5d29yZDogXCJhbmQgYnJlYWsgZG8gZWxzZSBlbHNlaWYgZW5kIGZvciBnb3RvIGlmIGluIGxvY2FsIG5vdCBvciByZXBlYXQgcmV0dXJuIHRoZW4gdW50aWwgd2hpbGVcIixcbiAgICAgIGJ1aWx0X2luOlxuICAgICAgICAvLyBNZXRhdGFncyBhbmQgZ2xvYmFsczpcbiAgICAgICAgJ19HIF9FTlYgX1ZFUlNJT04gX19pbmRleCBfX25ld2luZGV4IF9fbW9kZSBfX2NhbGwgX19tZXRhdGFibGUgX190b3N0cmluZyBfX2xlbiAnXG4gICAgICAgICsgJ19fZ2MgX19hZGQgX19zdWIgX19tdWwgX19kaXYgX19tb2QgX19wb3cgX19jb25jYXQgX191bm0gX19lcSBfX2x0IF9fbGUgYXNzZXJ0ICdcbiAgICAgICAgLy8gU3RhbmRhcmQgbWV0aG9kcyBhbmQgcHJvcGVydGllczpcbiAgICAgICAgKyAnY29sbGVjdGdhcmJhZ2UgZG9maWxlIGVycm9yIGdldGZlbnYgZ2V0bWV0YXRhYmxlIGlwYWlycyBsb2FkIGxvYWRmaWxlIGxvYWRzdHJpbmcgJ1xuICAgICAgICArICdtb2R1bGUgbmV4dCBwYWlycyBwY2FsbCBwcmludCByYXdlcXVhbCByYXdnZXQgcmF3c2V0IHJlcXVpcmUgc2VsZWN0IHNldGZlbnYgJ1xuICAgICAgICArICdzZXRtZXRhdGFibGUgdG9udW1iZXIgdG9zdHJpbmcgdHlwZSB1bnBhY2sgeHBjYWxsIGFyZyBzZWxmICdcbiAgICAgICAgLy8gTGlicmFyeSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzIChvbmUgbGluZSBwZXIgbGlicmFyeSk6XG4gICAgICAgICsgJ2Nvcm91dGluZSByZXN1bWUgeWllbGQgc3RhdHVzIHdyYXAgY3JlYXRlIHJ1bm5pbmcgZGVidWcgZ2V0dXB2YWx1ZSAnXG4gICAgICAgICsgJ2RlYnVnIHNldGhvb2sgZ2V0bWV0YXRhYmxlIGdldGhvb2sgc2V0bWV0YXRhYmxlIHNldGxvY2FsIHRyYWNlYmFjayBzZXRmZW52IGdldGluZm8gc2V0dXB2YWx1ZSBnZXRsb2NhbCBnZXRyZWdpc3RyeSBnZXRmZW52ICdcbiAgICAgICAgKyAnaW8gbGluZXMgd3JpdGUgY2xvc2UgZmx1c2ggb3BlbiBvdXRwdXQgdHlwZSByZWFkIHN0ZGVyciBzdGRpbiBpbnB1dCBzdGRvdXQgcG9wZW4gdG1wZmlsZSAnXG4gICAgICAgICsgJ21hdGggbG9nIG1heCBhY29zIGh1Z2UgbGRleHAgcGkgY29zIHRhbmggcG93IGRlZyB0YW4gY29zaCBzaW5oIHJhbmRvbSByYW5kb21zZWVkIGZyZXhwIGNlaWwgZmxvb3IgcmFkIGFicyBzcXJ0IG1vZGYgYXNpbiBtaW4gbW9kIGZtb2QgbG9nMTAgYXRhbjIgZXhwIHNpbiBhdGFuICdcbiAgICAgICAgKyAnb3MgZXhpdCBzZXRsb2NhbGUgZGF0ZSBnZXRlbnYgZGlmZnRpbWUgcmVtb3ZlIHRpbWUgY2xvY2sgdG1wbmFtZSByZW5hbWUgZXhlY3V0ZSBwYWNrYWdlIHByZWxvYWQgbG9hZGxpYiBsb2FkZWQgbG9hZGVycyBjcGF0aCBjb25maWcgcGF0aCBzZWVhbGwgJ1xuICAgICAgICArICdzdHJpbmcgc3ViIHVwcGVyIGxlbiBnZmluZCByZXAgZmluZCBtYXRjaCBjaGFyIGR1bXAgZ21hdGNoIHJldmVyc2UgYnl0ZSBmb3JtYXQgZ3N1YiBsb3dlciAnXG4gICAgICAgICsgJ3RhYmxlIHNldG4gaW5zZXJ0IGdldG4gZm9yZWFjaGkgbWF4biBmb3JlYWNoIGNvbmNhdCBzb3J0IHJlbW92ZSdcbiAgICB9LFxuICAgIGNvbnRhaW5zOiBDT01NRU5UUy5jb25jYXQoW1xuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdmdW5jdGlvbicsXG4gICAgICAgIGJlZ2luS2V5d29yZHM6ICdmdW5jdGlvbicsXG4gICAgICAgIGVuZDogJ1xcXFwpJyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBobGpzLmluaGVyaXQoaGxqcy5USVRMRV9NT0RFLCB7IGJlZ2luOiAnKFtfYS16QS1aXVxcXFx3KlxcXFwuKSooW19hLXpBLVpdXFxcXHcqOik/W19hLXpBLVpdXFxcXHcqJyB9KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICAgICAgYmVnaW46ICdcXFxcKCcsXG4gICAgICAgICAgICBlbmRzV2l0aFBhcmVudDogdHJ1ZSxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBDT01NRU5UU1xuICAgICAgICAgIH1cbiAgICAgICAgXS5jb25jYXQoQ09NTUVOVFMpXG4gICAgICB9LFxuICAgICAgaGxqcy5DX05VTUJFUl9NT0RFLFxuICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICAgICAgYmVnaW46IE9QRU5JTkdfTE9OR19CUkFDS0VULFxuICAgICAgICBlbmQ6IENMT1NJTkdfTE9OR19CUkFDS0VULFxuICAgICAgICBjb250YWluczogWyBMT05HX0JSQUNLRVRTIF0sXG4gICAgICAgIHJlbGV2YW5jZTogNVxuICAgICAgfVxuICAgIF0pXG4gIH07XG59XG5cbmV4cG9ydCB7IGx1YSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/lua.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/makefile.js":
/*!****************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/makefile.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ makefile)\n/* harmony export */ });\n/*\nLanguage: Makefile\nAuthor: Ivan Sagalaev \nContributors: Joël Porquet \nWebsite: https://www.gnu.org/software/make/manual/html_node/Introduction.html\nCategory: common, build-system\n*/\n\nfunction makefile(hljs) {\n /* Variables: simple (eg $(var)) and special (eg $@) */\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: '\\\\$\\\\(' + hljs.UNDERSCORE_IDENT_RE + '\\\\)',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n { begin: /\\$[@%\\^\\+\\*]/ }\n ]\n };\n /* Quoted string with variables inside */\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE\n ]\n };\n /* Function: $(func arg,...) */\n const FUNC = {\n className: 'variable',\n begin: /\\$\\([\\w-]+\\s/,\n end: /\\)/,\n keywords: { built_in:\n 'subst patsubst strip findstring filter filter-out sort '\n + 'word wordlist firstword lastword dir notdir suffix basename '\n + 'addsuffix addprefix join wildcard realpath abspath error warning '\n + 'shell origin flavor foreach if or and call eval file value' },\n contains: [ \n VARIABLE,\n QUOTE_STRING // Added QUOTE_STRING as they can be a part of functions\n ]\n };\n /* Variable assignment */\n const ASSIGNMENT = { begin: '^' + hljs.UNDERSCORE_IDENT_RE + '\\\\s*(?=[:+?]?=)' };\n /* Meta targets (.PHONY) */\n const META = {\n className: 'meta',\n begin: /^\\.PHONY:/,\n end: /$/,\n keywords: {\n $pattern: /[\\.\\w]+/,\n keyword: '.PHONY'\n }\n };\n /* Targets */\n const TARGET = {\n className: 'section',\n begin: /^[^\\s]+:/,\n end: /$/,\n contains: [ VARIABLE ]\n };\n return {\n name: 'Makefile',\n aliases: [\n 'mk',\n 'mak',\n 'make',\n ],\n keywords: {\n $pattern: /[\\w-]+/,\n keyword: 'define endef undefine ifdef ifndef ifeq ifneq else endif '\n + 'include -include sinclude override export unexport private vpath'\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n VARIABLE,\n QUOTE_STRING,\n FUNC,\n ASSIGNMENT,\n META,\n TARGET\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9tYWtlZmlsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRStCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9tYWtlZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IE1ha2VmaWxlXG5BdXRob3I6IEl2YW4gU2FnYWxhZXYgPG1hbmlhY0Bzb2Z0d2FyZW1hbmlhY3Mub3JnPlxuQ29udHJpYnV0b3JzOiBKb8OrbCBQb3JxdWV0IDxqb2VsQHBvcnF1ZXQub3JnPlxuV2Vic2l0ZTogaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9tYWtlL21hbnVhbC9odG1sX25vZGUvSW50cm9kdWN0aW9uLmh0bWxcbkNhdGVnb3J5OiBjb21tb24sIGJ1aWxkLXN5c3RlbVxuKi9cblxuZnVuY3Rpb24gbWFrZWZpbGUoaGxqcykge1xuICAvKiBWYXJpYWJsZXM6IHNpbXBsZSAoZWcgJCh2YXIpKSBhbmQgc3BlY2lhbCAoZWcgJEApICovXG4gIGNvbnN0IFZBUklBQkxFID0ge1xuICAgIGNsYXNzTmFtZTogJ3ZhcmlhYmxlJyxcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogJ1xcXFwkXFxcXCgnICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICsgJ1xcXFwpJyxcbiAgICAgICAgY29udGFpbnM6IFsgaGxqcy5CQUNLU0xBU0hfRVNDQVBFIF1cbiAgICAgIH0sXG4gICAgICB7IGJlZ2luOiAvXFwkW0AlPD9cXF5cXCtcXCpdLyB9XG4gICAgXVxuICB9O1xuICAvKiBRdW90ZWQgc3RyaW5nIHdpdGggdmFyaWFibGVzIGluc2lkZSAqL1xuICBjb25zdCBRVU9URV9TVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICBiZWdpbjogL1wiLyxcbiAgICBlbmQ6IC9cIi8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgIFZBUklBQkxFXG4gICAgXVxuICB9O1xuICAvKiBGdW5jdGlvbjogJChmdW5jIGFyZywuLi4pICovXG4gIGNvbnN0IEZVTkMgPSB7XG4gICAgY2xhc3NOYW1lOiAndmFyaWFibGUnLFxuICAgIGJlZ2luOiAvXFwkXFwoW1xcdy1dK1xccy8sXG4gICAgZW5kOiAvXFwpLyxcbiAgICBrZXl3b3JkczogeyBidWlsdF9pbjpcbiAgICAgICAgJ3N1YnN0IHBhdHN1YnN0IHN0cmlwIGZpbmRzdHJpbmcgZmlsdGVyIGZpbHRlci1vdXQgc29ydCAnXG4gICAgICAgICsgJ3dvcmQgd29yZGxpc3QgZmlyc3R3b3JkIGxhc3R3b3JkIGRpciBub3RkaXIgc3VmZml4IGJhc2VuYW1lICdcbiAgICAgICAgKyAnYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyAnXG4gICAgICAgICsgJ3NoZWxsIG9yaWdpbiBmbGF2b3IgZm9yZWFjaCBpZiBvciBhbmQgY2FsbCBldmFsIGZpbGUgdmFsdWUnIH0sXG4gICAgY29udGFpbnM6IFsgXG4gICAgICBWQVJJQUJMRSxcbiAgICAgIFFVT1RFX1NUUklORyAvLyBBZGRlZCBRVU9URV9TVFJJTkcgYXMgdGhleSBjYW4gYmUgYSBwYXJ0IG9mIGZ1bmN0aW9uc1xuICAgIF1cbiAgfTtcbiAgLyogVmFyaWFibGUgYXNzaWdubWVudCAqL1xuICBjb25zdCBBU1NJR05NRU5UID0geyBiZWdpbjogJ14nICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICsgJ1xcXFxzKig/PVs6Kz9dPz0pJyB9O1xuICAvKiBNZXRhIHRhcmdldHMgKC5QSE9OWSkgKi9cbiAgY29uc3QgTUVUQSA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICBiZWdpbjogL15cXC5QSE9OWTovLFxuICAgIGVuZDogLyQvLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICAkcGF0dGVybjogL1tcXC5cXHddKy8sXG4gICAgICBrZXl3b3JkOiAnLlBIT05ZJ1xuICAgIH1cbiAgfTtcbiAgLyogVGFyZ2V0cyAqL1xuICBjb25zdCBUQVJHRVQgPSB7XG4gICAgY2xhc3NOYW1lOiAnc2VjdGlvbicsXG4gICAgYmVnaW46IC9eW15cXHNdKzovLFxuICAgIGVuZDogLyQvLFxuICAgIGNvbnRhaW5zOiBbIFZBUklBQkxFIF1cbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnTWFrZWZpbGUnLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICdtaycsXG4gICAgICAnbWFrJyxcbiAgICAgICdtYWtlJyxcbiAgICBdLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICAkcGF0dGVybjogL1tcXHctXSsvLFxuICAgICAga2V5d29yZDogJ2RlZmluZSBlbmRlZiB1bmRlZmluZSBpZmRlZiBpZm5kZWYgaWZlcSBpZm5lcSBlbHNlIGVuZGlmICdcbiAgICAgICsgJ2luY2x1ZGUgLWluY2x1ZGUgc2luY2x1ZGUgb3ZlcnJpZGUgZXhwb3J0IHVuZXhwb3J0IHByaXZhdGUgdnBhdGgnXG4gICAgfSxcbiAgICBjb250YWluczogW1xuICAgICAgaGxqcy5IQVNIX0NPTU1FTlRfTU9ERSxcbiAgICAgIFZBUklBQkxFLFxuICAgICAgUVVPVEVfU1RSSU5HLFxuICAgICAgRlVOQyxcbiAgICAgIEFTU0lHTk1FTlQsXG4gICAgICBNRVRBLFxuICAgICAgVEFSR0VUXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBtYWtlZmlsZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/makefile.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/markdown.js":
/*!****************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/markdown.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ markdown)\n/* harmony export */ });\n/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi \nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n HORIZONTAL_RULE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9tYXJrZG93bi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLEdBQUc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxXQUFXLEdBQUcsMEJBQTBCO0FBQ2hELFFBQVEsV0FBVyxHQUFHLDBCQUEwQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsUUFBUSxnQkFBZ0I7QUFDeEI7QUFDQSx1QkFBdUIsRUFBRTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixFQUFFO0FBQ3BCLGdCQUFnQixFQUFFO0FBQ2xCLE9BQU87QUFDUDtBQUNBLG1CQUFtQixFQUFFO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxjQUFjO0FBQ2pFLHFEQUFxRCxjQUFjO0FBQ25FO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLElBQUk7QUFDdkI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLCtCQUErQixHQUFHO0FBQ2xDO0FBQ0EsWUFBWSxrQkFBa0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsSUFBSSxrQkFBa0IsSUFBSSxFQUFFO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUrQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBNYXJrZG93blxuUmVxdWlyZXM6IHhtbC5qc1xuQXV0aG9yOiBKb2huIENyZXBlenppIDxqb2huLmNyZXBlenppQGdtYWlsLmNvbT5cbldlYnNpdGU6IGh0dHBzOi8vZGFyaW5nZmlyZWJhbGwubmV0L3Byb2plY3RzL21hcmtkb3duL1xuQ2F0ZWdvcnk6IGNvbW1vbiwgbWFya3VwXG4qL1xuXG5mdW5jdGlvbiBtYXJrZG93bihobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgSU5MSU5FX0hUTUwgPSB7XG4gICAgYmVnaW46IC88XFwvP1tBLVphLXpfXS8sXG4gICAgZW5kOiAnPicsXG4gICAgc3ViTGFuZ3VhZ2U6ICd4bWwnLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICBjb25zdCBIT1JJWk9OVEFMX1JVTEUgPSB7XG4gICAgYmVnaW46ICdeWy1cXFxcKl17Myx9JyxcbiAgICBlbmQ6ICckJ1xuICB9O1xuICBjb25zdCBDT0RFID0ge1xuICAgIGNsYXNzTmFtZTogJ2NvZGUnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyBUT0RPOiBmaXggdG8gYWxsb3cgdGhlc2UgdG8gd29yayB3aXRoIHN1Ymxhbmd1YWdlIGFsc29cbiAgICAgIHsgYmVnaW46ICcoYHszLH0pW15gXSgufFxcXFxuKSo/XFxcXDFgKlsgXSonIH0sXG4gICAgICB7IGJlZ2luOiAnKH57Myx9KVtefl0oLnxcXFxcbikqP1xcXFwxfipbIF0qJyB9LFxuICAgICAgLy8gbmVlZGVkIHRvIGFsbG93IG1hcmtkb3duIGFzIGEgc3VibGFuZ3VhZ2UgdG8gd29ya1xuICAgICAge1xuICAgICAgICBiZWdpbjogJ2BgYCcsXG4gICAgICAgIGVuZDogJ2BgYCtbIF0qJCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnfn5+JyxcbiAgICAgICAgZW5kOiAnfn5+K1sgXSokJ1xuICAgICAgfSxcbiAgICAgIHsgYmVnaW46ICdgLis/YCcgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICcoPz1eKCB7NH18XFxcXHQpKScsXG4gICAgICAgIC8vIHVzZSBjb250YWlucyB0byBnb2JibGUgdXAgbXVsdGlwbGUgbGluZXMgdG8gYWxsb3cgdGhlIGJsb2NrIHRvIGJlIHdoYXRldmVyIHNpemVcbiAgICAgICAgLy8gYnV0IG9ubHkgaGF2ZSBhIHNpbmdsZSBvcGVuL2Nsb3NlIHRhZyB2cyBvbmUgcGVyIGxpbmVcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogJ14oIHs0fXxcXFxcdCknLFxuICAgICAgICAgICAgZW5kOiAnKFxcXFxuKSQnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIGNvbnN0IExJU1QgPSB7XG4gICAgY2xhc3NOYW1lOiAnYnVsbGV0JyxcbiAgICBiZWdpbjogJ15bIFxcdF0qKFsqKy1dfChcXFxcZCtcXFxcLikpKD89XFxcXHMrKScsXG4gICAgZW5kOiAnXFxcXHMrJyxcbiAgICBleGNsdWRlRW5kOiB0cnVlXG4gIH07XG4gIGNvbnN0IExJTktfUkVGRVJFTkNFID0ge1xuICAgIGJlZ2luOiAvXlxcW1teXFxuXStcXF06LyxcbiAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzeW1ib2wnLFxuICAgICAgICBiZWdpbjogL1xcWy8sXG4gICAgICAgIGVuZDogL1xcXS8sXG4gICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbGluaycsXG4gICAgICAgIGJlZ2luOiAvOlxccyovLFxuICAgICAgICBlbmQ6IC8kLyxcbiAgICAgICAgZXhjbHVkZUJlZ2luOiB0cnVlXG4gICAgICB9XG4gICAgXVxuICB9O1xuICBjb25zdCBVUkxfU0NIRU1FID0gL1tBLVphLXpdW0EtWmEtejAtOSsuLV0qLztcbiAgY29uc3QgTElOSyA9IHtcbiAgICB2YXJpYW50czogW1xuICAgICAgLy8gdG9vIG11Y2ggbGlrZSBuZXN0ZWQgYXJyYXkgYWNjZXNzIGluIHNvIG1hbnkgbGFuZ3VhZ2VzXG4gICAgICAvLyB0byBoYXZlIGFueSByZWFsIHJlbGV2YW5jZVxuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcWy4rP1xcXVxcWy4qP1xcXS8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIC8vIHBvcHVsYXIgaW50ZXJuZXQgVVJMc1xuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcWy4rP1xcXVxcKCgoZGF0YXxqYXZhc2NyaXB0fG1haWx0byk6fCg/Omh0dHB8ZnRwKXM/OlxcL1xcLykuKj9cXCkvLFxuICAgICAgICByZWxldmFuY2U6IDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiByZWdleC5jb25jYXQoL1xcWy4rP1xcXVxcKC8sIFVSTF9TQ0hFTUUsIC86XFwvXFwvLio/XFwpLyksXG4gICAgICAgIHJlbGV2YW5jZTogMlxuICAgICAgfSxcbiAgICAgIC8vIHJlbGF0aXZlIHVybHNcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXFsuKz9cXF1cXChbLi8/JiNdLio/XFwpLyxcbiAgICAgICAgcmVsZXZhbmNlOiAxXG4gICAgICB9LFxuICAgICAgLy8gd2hhdGV2ZXIgZWxzZSwgbG93ZXIgcmVsZXZhbmNlIChtaWdodCBub3QgYmUgYSBsaW5rIGF0IGFsbClcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXFsuKj9cXF1cXCguKj9cXCkvLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH1cbiAgICBdLFxuICAgIHJldHVybkJlZ2luOiB0cnVlLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIC8vIGVtcHR5IHN0cmluZ3MgZm9yIGFsdCBvciBsaW5rIHRleHRcbiAgICAgICAgbWF0Y2g6IC9cXFsoPz1cXF0pLyB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICByZWxldmFuY2U6IDAsXG4gICAgICAgIGJlZ2luOiAnXFxcXFsnLFxuICAgICAgICBlbmQ6ICdcXFxcXScsXG4gICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgcmV0dXJuRW5kOiB0cnVlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdsaW5rJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBiZWdpbjogJ1xcXFxdXFxcXCgnLFxuICAgICAgICBlbmQ6ICdcXFxcKScsXG4gICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnc3ltYm9sJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBiZWdpbjogJ1xcXFxdXFxcXFsnLFxuICAgICAgICBlbmQ6ICdcXFxcXScsXG4gICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZVxuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgY29uc3QgQk9MRCA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJvbmcnLFxuICAgIGNvbnRhaW5zOiBbXSwgLy8gZGVmaW5lZCBsYXRlclxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvX3syfSg/IVxccykvLFxuICAgICAgICBlbmQ6IC9fezJ9L1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCp7Mn0oPyFcXHMpLyxcbiAgICAgICAgZW5kOiAvXFwqezJ9L1xuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgY29uc3QgSVRBTElDID0ge1xuICAgIGNsYXNzTmFtZTogJ2VtcGhhc2lzJyxcbiAgICBjb250YWluczogW10sIC8vIGRlZmluZWQgbGF0ZXJcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBiZWdpbjogL1xcKig/IVsqXFxzXSkvLFxuICAgICAgICBlbmQ6IC9cXCovXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogL18oPyFbX1xcc10pLyxcbiAgICAgICAgZW5kOiAvXy8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICAvLyAzIGxldmVsIGRlZXAgbmVzdGluZyBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIGl0IHdvdWxkIGNyZWF0ZSBjb25mdXNpb25cbiAgLy8gaW4gY2FzZXMgbGlrZSBgKioqdGVzdGluZyoqKmAgYmVjYXVzZSB3aGVyZSB3ZSBkb24ndCBrbm93IGlmIHRoZSBsYXN0XG4gIC8vIGAqKipgIGlzIHN0YXJ0aW5nIGEgbmV3IGJvbGQvaXRhbGljIG9yIGZpbmlzaGluZyB0aGUgbGFzdCBvbmVcbiAgY29uc3QgQk9MRF9XSVRIT1VUX0lUQUxJQyA9IGhsanMuaW5oZXJpdChCT0xELCB7IGNvbnRhaW5zOiBbXSB9KTtcbiAgY29uc3QgSVRBTElDX1dJVEhPVVRfQk9MRCA9IGhsanMuaW5oZXJpdChJVEFMSUMsIHsgY29udGFpbnM6IFtdIH0pO1xuICBCT0xELmNvbnRhaW5zLnB1c2goSVRBTElDX1dJVEhPVVRfQk9MRCk7XG4gIElUQUxJQy5jb250YWlucy5wdXNoKEJPTERfV0lUSE9VVF9JVEFMSUMpO1xuXG4gIGxldCBDT05UQUlOQUJMRSA9IFtcbiAgICBJTkxJTkVfSFRNTCxcbiAgICBMSU5LXG4gIF07XG5cbiAgW1xuICAgIEJPTEQsXG4gICAgSVRBTElDLFxuICAgIEJPTERfV0lUSE9VVF9JVEFMSUMsXG4gICAgSVRBTElDX1dJVEhPVVRfQk9MRFxuICBdLmZvckVhY2gobSA9PiB7XG4gICAgbS5jb250YWlucyA9IG0uY29udGFpbnMuY29uY2F0KENPTlRBSU5BQkxFKTtcbiAgfSk7XG5cbiAgQ09OVEFJTkFCTEUgPSBDT05UQUlOQUJMRS5jb25jYXQoQk9MRCwgSVRBTElDKTtcblxuICBjb25zdCBIRUFERVIgPSB7XG4gICAgY2xhc3NOYW1lOiAnc2VjdGlvbicsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdeI3sxLDZ9JyxcbiAgICAgICAgZW5kOiAnJCcsXG4gICAgICAgIGNvbnRhaW5zOiBDT05UQUlOQUJMRVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICcoPz1eLis/XFxcXG5bPS1dezIsfSQpJyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7IGJlZ2luOiAnXls9LV0qJCcgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogJ14nLFxuICAgICAgICAgICAgZW5kOiBcIlxcXFxuXCIsXG4gICAgICAgICAgICBjb250YWluczogQ09OVEFJTkFCTEVcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgY29uc3QgQkxPQ0tRVU9URSA9IHtcbiAgICBjbGFzc05hbWU6ICdxdW90ZScsXG4gICAgYmVnaW46ICdePlxcXFxzKycsXG4gICAgY29udGFpbnM6IENPTlRBSU5BQkxFLFxuICAgIGVuZDogJyQnXG4gIH07XG5cbiAgY29uc3QgRU5USVRZID0ge1xuICAgIC8vaHR0cHM6Ly9zcGVjLmNvbW1vbm1hcmsub3JnLzAuMzEuMi8jZW50aXR5LXJlZmVyZW5jZXNcbiAgICBzY29wZTogJ2xpdGVyYWwnLFxuICAgIG1hdGNoOiAvJihbYS16QS1aMC05XSt8I1swLTldezEsN318I1tYeF1bMC05YS1mQS1GXXsxLDZ9KTsvXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnTWFya2Rvd24nLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICdtZCcsXG4gICAgICAnbWtkb3duJyxcbiAgICAgICdta2QnXG4gICAgXSxcbiAgICBjb250YWluczogW1xuICAgICAgSEVBREVSLFxuICAgICAgSU5MSU5FX0hUTUwsXG4gICAgICBMSVNULFxuICAgICAgQk9MRCxcbiAgICAgIElUQUxJQyxcbiAgICAgIEJMT0NLUVVPVEUsXG4gICAgICBDT0RFLFxuICAgICAgSE9SSVpPTlRBTF9SVUxFLFxuICAgICAgTElOSyxcbiAgICAgIExJTktfUkVGRVJFTkNFLFxuICAgICAgRU5USVRZXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBtYXJrZG93biBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/markdown.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/objectivec.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/objectivec.js ***!
\******************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ objectivec)\n/* harmony export */ });\n/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n const API_CLASS = {\n className: 'built_in',\n begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n };\n const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n const TYPES = [\n \"int\",\n \"float\",\n \"char\",\n \"unsigned\",\n \"signed\",\n \"short\",\n \"long\",\n \"double\",\n \"wchar_t\",\n \"unichar\",\n \"void\",\n \"bool\",\n \"BOOL\",\n \"id|0\",\n \"_Bool\"\n ];\n const KWS = [\n \"while\",\n \"export\",\n \"sizeof\",\n \"typedef\",\n \"const\",\n \"struct\",\n \"for\",\n \"union\",\n \"volatile\",\n \"static\",\n \"mutable\",\n \"if\",\n \"do\",\n \"return\",\n \"goto\",\n \"enum\",\n \"else\",\n \"break\",\n \"extern\",\n \"asm\",\n \"case\",\n \"default\",\n \"register\",\n \"explicit\",\n \"typename\",\n \"switch\",\n \"continue\",\n \"inline\",\n \"readonly\",\n \"assign\",\n \"readwrite\",\n \"self\",\n \"@synchronized\",\n \"id\",\n \"typeof\",\n \"nonatomic\",\n \"IBOutlet\",\n \"IBAction\",\n \"strong\",\n \"weak\",\n \"copy\",\n \"in\",\n \"out\",\n \"inout\",\n \"bycopy\",\n \"byref\",\n \"oneway\",\n \"__strong\",\n \"__weak\",\n \"__block\",\n \"__autoreleasing\",\n \"@private\",\n \"@protected\",\n \"@public\",\n \"@try\",\n \"@property\",\n \"@end\",\n \"@throw\",\n \"@catch\",\n \"@finally\",\n \"@autoreleasepool\",\n \"@synthesize\",\n \"@dynamic\",\n \"@selector\",\n \"@optional\",\n \"@required\",\n \"@encode\",\n \"@package\",\n \"@import\",\n \"@defs\",\n \"@compatibility_alias\",\n \"__bridge\",\n \"__bridge_transfer\",\n \"__bridge_retained\",\n \"__bridge_retain\",\n \"__covariant\",\n \"__contravariant\",\n \"__kindof\",\n \"_Nonnull\",\n \"_Nullable\",\n \"_Null_unspecified\",\n \"__FUNCTION__\",\n \"__PRETTY_FUNCTION__\",\n \"__attribute__\",\n \"getter\",\n \"setter\",\n \"retain\",\n \"unsafe_unretained\",\n \"nonnull\",\n \"nullable\",\n \"null_unspecified\",\n \"null_resettable\",\n \"class\",\n \"instancetype\",\n \"NS_DESIGNATED_INITIALIZER\",\n \"NS_UNAVAILABLE\",\n \"NS_REQUIRES_SUPER\",\n \"NS_RETURNS_INNER_POINTER\",\n \"NS_INLINE\",\n \"NS_AVAILABLE\",\n \"NS_DEPRECATED\",\n \"NS_ENUM\",\n \"NS_OPTIONS\",\n \"NS_SWIFT_UNAVAILABLE\",\n \"NS_ASSUME_NONNULL_BEGIN\",\n \"NS_ASSUME_NONNULL_END\",\n \"NS_REFINED_FOR_SWIFT\",\n \"NS_SWIFT_NAME\",\n \"NS_SWIFT_NOTHROW\",\n \"NS_DURING\",\n \"NS_HANDLER\",\n \"NS_ENDHANDLER\",\n \"NS_VALUERETURN\",\n \"NS_VOIDRETURN\"\n ];\n const LITERALS = [\n \"false\",\n \"true\",\n \"FALSE\",\n \"TRUE\",\n \"nil\",\n \"YES\",\n \"NO\",\n \"NULL\"\n ];\n const BUILT_INS = [\n \"dispatch_once_t\",\n \"dispatch_queue_t\",\n \"dispatch_sync\",\n \"dispatch_async\",\n \"dispatch_once\"\n ];\n const KEYWORDS = {\n \"variable.language\": [\n \"this\",\n \"super\"\n ],\n $pattern: IDENTIFIER_RE,\n keyword: KWS,\n literal: LITERALS,\n built_in: BUILT_INS,\n type: TYPES\n };\n const CLASS_KEYWORDS = {\n $pattern: IDENTIFIER_RE,\n keyword: [\n \"@interface\",\n \"@class\",\n \"@protocol\",\n \"@implementation\"\n ]\n };\n return {\n name: 'Objective-C',\n aliases: [\n 'mm',\n 'objc',\n 'obj-c',\n 'obj-c++',\n 'objective-c++'\n ],\n keywords: KEYWORDS,\n illegal: '',\n contains: [\n API_CLASS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n {\n className: 'string',\n variants: [\n {\n begin: '@\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ]\n },\n {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/,\n end: /$/,\n illegal: '\\\\n'\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n className: 'class',\n begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\\\b',\n end: /(\\{|$)/,\n excludeEnd: true,\n keywords: CLASS_KEYWORDS,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9vYmplY3RpdmVjLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsaURBQWlELHFCQUFxQjtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVpQyIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvb2JqZWN0aXZlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IE9iamVjdGl2ZS1DXG5BdXRob3I6IFZhbGVyaWkgSGlvcmEgPHZhbGVyaWkuaGlvcmFAZ21haWwuY29tPlxuQ29udHJpYnV0b3JzOiBBbmdlbCBHLiBPbGxvcXVpIDxhbmdlbGdhcmNpYS5tYWlsQGdtYWlsLmNvbT4sIE1hdHQgRGllcGhvdXNlIDxtYXR0QGRpZXBob3VzZS5jb20+LCBBbmRyZXcgRmFybWVyIDxhaGZhcm1lckBnbWFpbC5jb20+LCBNaW5oIE5ndXnhu4VuIDxteG5AMWVjNS5vcmc+XG5XZWJzaXRlOiBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi9vYmplY3RpdmVjXG5DYXRlZ29yeTogY29tbW9uXG4qL1xuXG5mdW5jdGlvbiBvYmplY3RpdmVjKGhsanMpIHtcbiAgY29uc3QgQVBJX0NMQVNTID0ge1xuICAgIGNsYXNzTmFtZTogJ2J1aWx0X2luJyxcbiAgICBiZWdpbjogJ1xcXFxiKEFWfENBfENGfENHfENJfENMfENNfENOfENUfE1LfE1QfE1US3xNVEx8TlN8U0NOfFNLfFVJfFdLfFhDKVxcXFx3KydcbiAgfTtcbiAgY29uc3QgSURFTlRJRklFUl9SRSA9IC9bYS16QS1aQF1bYS16QS1aMC05X10qLztcbiAgY29uc3QgVFlQRVMgPSBbXG4gICAgXCJpbnRcIixcbiAgICBcImZsb2F0XCIsXG4gICAgXCJjaGFyXCIsXG4gICAgXCJ1bnNpZ25lZFwiLFxuICAgIFwic2lnbmVkXCIsXG4gICAgXCJzaG9ydFwiLFxuICAgIFwibG9uZ1wiLFxuICAgIFwiZG91YmxlXCIsXG4gICAgXCJ3Y2hhcl90XCIsXG4gICAgXCJ1bmljaGFyXCIsXG4gICAgXCJ2b2lkXCIsXG4gICAgXCJib29sXCIsXG4gICAgXCJCT09MXCIsXG4gICAgXCJpZHwwXCIsXG4gICAgXCJfQm9vbFwiXG4gIF07XG4gIGNvbnN0IEtXUyA9IFtcbiAgICBcIndoaWxlXCIsXG4gICAgXCJleHBvcnRcIixcbiAgICBcInNpemVvZlwiLFxuICAgIFwidHlwZWRlZlwiLFxuICAgIFwiY29uc3RcIixcbiAgICBcInN0cnVjdFwiLFxuICAgIFwiZm9yXCIsXG4gICAgXCJ1bmlvblwiLFxuICAgIFwidm9sYXRpbGVcIixcbiAgICBcInN0YXRpY1wiLFxuICAgIFwibXV0YWJsZVwiLFxuICAgIFwiaWZcIixcbiAgICBcImRvXCIsXG4gICAgXCJyZXR1cm5cIixcbiAgICBcImdvdG9cIixcbiAgICBcImVudW1cIixcbiAgICBcImVsc2VcIixcbiAgICBcImJyZWFrXCIsXG4gICAgXCJleHRlcm5cIixcbiAgICBcImFzbVwiLFxuICAgIFwiY2FzZVwiLFxuICAgIFwiZGVmYXVsdFwiLFxuICAgIFwicmVnaXN0ZXJcIixcbiAgICBcImV4cGxpY2l0XCIsXG4gICAgXCJ0eXBlbmFtZVwiLFxuICAgIFwic3dpdGNoXCIsXG4gICAgXCJjb250aW51ZVwiLFxuICAgIFwiaW5saW5lXCIsXG4gICAgXCJyZWFkb25seVwiLFxuICAgIFwiYXNzaWduXCIsXG4gICAgXCJyZWFkd3JpdGVcIixcbiAgICBcInNlbGZcIixcbiAgICBcIkBzeW5jaHJvbml6ZWRcIixcbiAgICBcImlkXCIsXG4gICAgXCJ0eXBlb2ZcIixcbiAgICBcIm5vbmF0b21pY1wiLFxuICAgIFwiSUJPdXRsZXRcIixcbiAgICBcIklCQWN0aW9uXCIsXG4gICAgXCJzdHJvbmdcIixcbiAgICBcIndlYWtcIixcbiAgICBcImNvcHlcIixcbiAgICBcImluXCIsXG4gICAgXCJvdXRcIixcbiAgICBcImlub3V0XCIsXG4gICAgXCJieWNvcHlcIixcbiAgICBcImJ5cmVmXCIsXG4gICAgXCJvbmV3YXlcIixcbiAgICBcIl9fc3Ryb25nXCIsXG4gICAgXCJfX3dlYWtcIixcbiAgICBcIl9fYmxvY2tcIixcbiAgICBcIl9fYXV0b3JlbGVhc2luZ1wiLFxuICAgIFwiQHByaXZhdGVcIixcbiAgICBcIkBwcm90ZWN0ZWRcIixcbiAgICBcIkBwdWJsaWNcIixcbiAgICBcIkB0cnlcIixcbiAgICBcIkBwcm9wZXJ0eVwiLFxuICAgIFwiQGVuZFwiLFxuICAgIFwiQHRocm93XCIsXG4gICAgXCJAY2F0Y2hcIixcbiAgICBcIkBmaW5hbGx5XCIsXG4gICAgXCJAYXV0b3JlbGVhc2Vwb29sXCIsXG4gICAgXCJAc3ludGhlc2l6ZVwiLFxuICAgIFwiQGR5bmFtaWNcIixcbiAgICBcIkBzZWxlY3RvclwiLFxuICAgIFwiQG9wdGlvbmFsXCIsXG4gICAgXCJAcmVxdWlyZWRcIixcbiAgICBcIkBlbmNvZGVcIixcbiAgICBcIkBwYWNrYWdlXCIsXG4gICAgXCJAaW1wb3J0XCIsXG4gICAgXCJAZGVmc1wiLFxuICAgIFwiQGNvbXBhdGliaWxpdHlfYWxpYXNcIixcbiAgICBcIl9fYnJpZGdlXCIsXG4gICAgXCJfX2JyaWRnZV90cmFuc2ZlclwiLFxuICAgIFwiX19icmlkZ2VfcmV0YWluZWRcIixcbiAgICBcIl9fYnJpZGdlX3JldGFpblwiLFxuICAgIFwiX19jb3ZhcmlhbnRcIixcbiAgICBcIl9fY29udHJhdmFyaWFudFwiLFxuICAgIFwiX19raW5kb2ZcIixcbiAgICBcIl9Ob25udWxsXCIsXG4gICAgXCJfTnVsbGFibGVcIixcbiAgICBcIl9OdWxsX3Vuc3BlY2lmaWVkXCIsXG4gICAgXCJfX0ZVTkNUSU9OX19cIixcbiAgICBcIl9fUFJFVFRZX0ZVTkNUSU9OX19cIixcbiAgICBcIl9fYXR0cmlidXRlX19cIixcbiAgICBcImdldHRlclwiLFxuICAgIFwic2V0dGVyXCIsXG4gICAgXCJyZXRhaW5cIixcbiAgICBcInVuc2FmZV91bnJldGFpbmVkXCIsXG4gICAgXCJub25udWxsXCIsXG4gICAgXCJudWxsYWJsZVwiLFxuICAgIFwibnVsbF91bnNwZWNpZmllZFwiLFxuICAgIFwibnVsbF9yZXNldHRhYmxlXCIsXG4gICAgXCJjbGFzc1wiLFxuICAgIFwiaW5zdGFuY2V0eXBlXCIsXG4gICAgXCJOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSXCIsXG4gICAgXCJOU19VTkFWQUlMQUJMRVwiLFxuICAgIFwiTlNfUkVRVUlSRVNfU1VQRVJcIixcbiAgICBcIk5TX1JFVFVSTlNfSU5ORVJfUE9JTlRFUlwiLFxuICAgIFwiTlNfSU5MSU5FXCIsXG4gICAgXCJOU19BVkFJTEFCTEVcIixcbiAgICBcIk5TX0RFUFJFQ0FURURcIixcbiAgICBcIk5TX0VOVU1cIixcbiAgICBcIk5TX09QVElPTlNcIixcbiAgICBcIk5TX1NXSUZUX1VOQVZBSUxBQkxFXCIsXG4gICAgXCJOU19BU1NVTUVfTk9OTlVMTF9CRUdJTlwiLFxuICAgIFwiTlNfQVNTVU1FX05PTk5VTExfRU5EXCIsXG4gICAgXCJOU19SRUZJTkVEX0ZPUl9TV0lGVFwiLFxuICAgIFwiTlNfU1dJRlRfTkFNRVwiLFxuICAgIFwiTlNfU1dJRlRfTk9USFJPV1wiLFxuICAgIFwiTlNfRFVSSU5HXCIsXG4gICAgXCJOU19IQU5ETEVSXCIsXG4gICAgXCJOU19FTkRIQU5ETEVSXCIsXG4gICAgXCJOU19WQUxVRVJFVFVSTlwiLFxuICAgIFwiTlNfVk9JRFJFVFVSTlwiXG4gIF07XG4gIGNvbnN0IExJVEVSQUxTID0gW1xuICAgIFwiZmFsc2VcIixcbiAgICBcInRydWVcIixcbiAgICBcIkZBTFNFXCIsXG4gICAgXCJUUlVFXCIsXG4gICAgXCJuaWxcIixcbiAgICBcIllFU1wiLFxuICAgIFwiTk9cIixcbiAgICBcIk5VTExcIlxuICBdO1xuICBjb25zdCBCVUlMVF9JTlMgPSBbXG4gICAgXCJkaXNwYXRjaF9vbmNlX3RcIixcbiAgICBcImRpc3BhdGNoX3F1ZXVlX3RcIixcbiAgICBcImRpc3BhdGNoX3N5bmNcIixcbiAgICBcImRpc3BhdGNoX2FzeW5jXCIsXG4gICAgXCJkaXNwYXRjaF9vbmNlXCJcbiAgXTtcbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAgXCJ2YXJpYWJsZS5sYW5ndWFnZVwiOiBbXG4gICAgICBcInRoaXNcIixcbiAgICAgIFwic3VwZXJcIlxuICAgIF0sXG4gICAgJHBhdHRlcm46IElERU5USUZJRVJfUkUsXG4gICAga2V5d29yZDogS1dTLFxuICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTlMsXG4gICAgdHlwZTogVFlQRVNcbiAgfTtcbiAgY29uc3QgQ0xBU1NfS0VZV09SRFMgPSB7XG4gICAgJHBhdHRlcm46IElERU5USUZJRVJfUkUsXG4gICAga2V5d29yZDogW1xuICAgICAgXCJAaW50ZXJmYWNlXCIsXG4gICAgICBcIkBjbGFzc1wiLFxuICAgICAgXCJAcHJvdG9jb2xcIixcbiAgICAgIFwiQGltcGxlbWVudGF0aW9uXCJcbiAgICBdXG4gIH07XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ09iamVjdGl2ZS1DJyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAnbW0nLFxuICAgICAgJ29iamMnLFxuICAgICAgJ29iai1jJyxcbiAgICAgICdvYmotYysrJyxcbiAgICAgICdvYmplY3RpdmUtYysrJ1xuICAgIF0sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGlsbGVnYWw6ICc8LycsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIEFQSV9DTEFTUyxcbiAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgIGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNfTlVNQkVSX01PREUsXG4gICAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luOiAnQFwiJyxcbiAgICAgICAgICAgIGVuZDogJ1wiJyxcbiAgICAgICAgICAgIGlsbGVnYWw6ICdcXFxcbicsXG4gICAgICAgICAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbWV0YScsXG4gICAgICAgIGJlZ2luOiAvI1xccypbYS16XStcXGIvLFxuICAgICAgICBlbmQ6IC8kLyxcbiAgICAgICAga2V5d29yZHM6IHsga2V5d29yZDpcbiAgICAgICAgICAgICdpZiBlbHNlIGVsaWYgZW5kaWYgZGVmaW5lIHVuZGVmIHdhcm5pbmcgZXJyb3IgbGluZSAnXG4gICAgICAgICAgICArICdwcmFnbWEgaWZkZWYgaWZuZGVmIGluY2x1ZGUnIH0sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46IC9cXFxcXFxuLyxcbiAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaGxqcy5pbmhlcml0KGhsanMuUVVPVEVfU1RSSU5HX01PREUsIHsgY2xhc3NOYW1lOiAnc3RyaW5nJyB9KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgYmVnaW46IC88Lio/Pi8sXG4gICAgICAgICAgICBlbmQ6IC8kLyxcbiAgICAgICAgICAgIGlsbGVnYWw6ICdcXFxcbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhsanMuQ19MSU5FX0NPTU1FTlRfTU9ERSxcbiAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ2NsYXNzJyxcbiAgICAgICAgYmVnaW46ICcoJyArIENMQVNTX0tFWVdPUkRTLmtleXdvcmQuam9pbignfCcpICsgJylcXFxcYicsXG4gICAgICAgIGVuZDogLyhcXHt8JCkvLFxuICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICBrZXl3b3JkczogQ0xBU1NfS0VZV09SRFMsXG4gICAgICAgIGNvbnRhaW5zOiBbIGhsanMuVU5ERVJTQ09SRV9USVRMRV9NT0RFIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnXFxcXC4nICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH1cbiAgICBdXG4gIH07XG59XG5cbmV4cG9ydCB7IG9iamVjdGl2ZWMgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/objectivec.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/perl.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/perl.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ perl)\n/* harmony export */ });\n/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = [\n 'abs',\n 'accept',\n 'alarm',\n 'and',\n 'atan2',\n 'bind',\n 'binmode',\n 'bless',\n 'break',\n 'caller',\n 'chdir',\n 'chmod',\n 'chomp',\n 'chop',\n 'chown',\n 'chr',\n 'chroot',\n 'class',\n 'close',\n 'closedir',\n 'connect',\n 'continue',\n 'cos',\n 'crypt',\n 'dbmclose',\n 'dbmopen',\n 'defined',\n 'delete',\n 'die',\n 'do',\n 'dump',\n 'each',\n 'else',\n 'elsif',\n 'endgrent',\n 'endhostent',\n 'endnetent',\n 'endprotoent',\n 'endpwent',\n 'endservent',\n 'eof',\n 'eval',\n 'exec',\n 'exists',\n 'exit',\n 'exp',\n 'fcntl',\n 'field',\n 'fileno',\n 'flock',\n 'for',\n 'foreach',\n 'fork',\n 'format',\n 'formline',\n 'getc',\n 'getgrent',\n 'getgrgid',\n 'getgrnam',\n 'gethostbyaddr',\n 'gethostbyname',\n 'gethostent',\n 'getlogin',\n 'getnetbyaddr',\n 'getnetbyname',\n 'getnetent',\n 'getpeername',\n 'getpgrp',\n 'getpriority',\n 'getprotobyname',\n 'getprotobynumber',\n 'getprotoent',\n 'getpwent',\n 'getpwnam',\n 'getpwuid',\n 'getservbyname',\n 'getservbyport',\n 'getservent',\n 'getsockname',\n 'getsockopt',\n 'given',\n 'glob',\n 'gmtime',\n 'goto',\n 'grep',\n 'gt',\n 'hex',\n 'if',\n 'index',\n 'int',\n 'ioctl',\n 'join',\n 'keys',\n 'kill',\n 'last',\n 'lc',\n 'lcfirst',\n 'length',\n 'link',\n 'listen',\n 'local',\n 'localtime',\n 'log',\n 'lstat',\n 'lt',\n 'ma',\n 'map',\n 'method',\n 'mkdir',\n 'msgctl',\n 'msgget',\n 'msgrcv',\n 'msgsnd',\n 'my',\n 'ne',\n 'next',\n 'no',\n 'not',\n 'oct',\n 'open',\n 'opendir',\n 'or',\n 'ord',\n 'our',\n 'pack',\n 'package',\n 'pipe',\n 'pop',\n 'pos',\n 'print',\n 'printf',\n 'prototype',\n 'push',\n 'q|0',\n 'qq',\n 'quotemeta',\n 'qw',\n 'qx',\n 'rand',\n 'read',\n 'readdir',\n 'readline',\n 'readlink',\n 'readpipe',\n 'recv',\n 'redo',\n 'ref',\n 'rename',\n 'require',\n 'reset',\n 'return',\n 'reverse',\n 'rewinddir',\n 'rindex',\n 'rmdir',\n 'say',\n 'scalar',\n 'seek',\n 'seekdir',\n 'select',\n 'semctl',\n 'semget',\n 'semop',\n 'send',\n 'setgrent',\n 'sethostent',\n 'setnetent',\n 'setpgrp',\n 'setpriority',\n 'setprotoent',\n 'setpwent',\n 'setservent',\n 'setsockopt',\n 'shift',\n 'shmctl',\n 'shmget',\n 'shmread',\n 'shmwrite',\n 'shutdown',\n 'sin',\n 'sleep',\n 'socket',\n 'socketpair',\n 'sort',\n 'splice',\n 'split',\n 'sprintf',\n 'sqrt',\n 'srand',\n 'stat',\n 'state',\n 'study',\n 'sub',\n 'substr',\n 'symlink',\n 'syscall',\n 'sysopen',\n 'sysread',\n 'sysseek',\n 'system',\n 'syswrite',\n 'tell',\n 'telldir',\n 'tie',\n 'tied',\n 'time',\n 'times',\n 'tr',\n 'truncate',\n 'uc',\n 'ucfirst',\n 'umask',\n 'undef',\n 'unless',\n 'unlink',\n 'unpack',\n 'unshift',\n 'untie',\n 'until',\n 'use',\n 'utime',\n 'values',\n 'vec',\n 'wait',\n 'waitpid',\n 'wantarray',\n 'warn',\n 'when',\n 'while',\n 'write',\n 'x|0',\n 'xor',\n 'y|0'\n ];\n\n // https://perldoc.perl.org/perlre#Modifiers\n const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n const PERL_KEYWORDS = {\n $pattern: /[\\w.]+/,\n keyword: KEYWORDS.join(\" \")\n };\n const SUBST = {\n className: 'subst',\n begin: '[$@]\\\\{',\n end: '\\\\}',\n keywords: PERL_KEYWORDS\n };\n const METHOD = {\n begin: /->\\{/,\n end: /\\}/\n // contains defined later\n };\n const ATTR = {\n scope: 'attr',\n match: /\\s+:\\s*\\w+(\\s*\\(.*?\\))?/,\n };\n const VAR = {\n scope: 'variable',\n variants: [\n { begin: /\\$\\d/ },\n { begin: regex.concat(\n /[$%@](?!\")(\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![A-Za-z])(?![@$%])`\n )\n },\n {\n // Only $= is a special Perl variable and one can't declare @= or %=.\n begin: /[$%@](?!\")[^\\s\\w{=]|\\$=/,\n relevance: 0\n }\n ],\n contains: [ ATTR ],\n };\n const NUMBER = {\n className: 'number',\n variants: [\n // decimal numbers:\n // include the case where a number starts with a dot (eg. .9), and\n // the leading 0? avoids mixing the first and second match on 0.x cases\n { match: /0?\\.[0-9][0-9_]+\\b/ },\n // include the special versioned number (eg. v5.38)\n { match: /\\bv?(0|[1-9][0-9_]*(\\.[0-9_]+)?|[1-9][0-9_]*)\\b/ },\n // non-decimal numbers:\n { match: /\\b0[0-7][0-7_]*\\b/ },\n { match: /\\b0x[0-9a-fA-F][0-9a-fA-F_]*\\b/ },\n { match: /\\b0b[0-1][0-1_]*\\b/ },\n ],\n relevance: 0\n };\n const STRING_CONTAINS = [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n VAR\n ];\n const REGEX_DELIMS = [\n /!/,\n /\\//,\n /\\|/,\n /\\?/,\n /'/,\n /\"/, // valid but infrequent and weird\n /#/ // valid but infrequent and weird\n ];\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n const middle = (close === '\\\\1')\n ? close\n : regex.concat(close, open);\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n middle,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_RE = (prefix, open, close) => {\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n const PERL_DEFAULT_CONTAINS = [\n VAR,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT(\n /^=\\w/,\n /=cut/,\n { endsWithParent: true }\n ),\n METHOD,\n {\n className: 'string',\n contains: STRING_CONTAINS,\n variants: [\n {\n begin: 'q[qwxr]?\\\\s*\\\\(',\n end: '\\\\)',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\[',\n end: '\\\\]',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\{',\n end: '\\\\}',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\|',\n end: '\\\\|',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*<',\n end: '>',\n relevance: 5\n },\n {\n begin: 'qw\\\\s+q',\n end: 'q',\n relevance: 5\n },\n {\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '`',\n end: '`',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\\{\\w+\\}/,\n relevance: 0\n },\n {\n begin: '-?\\\\w+\\\\s*=>',\n relevance: 0\n }\n ]\n },\n NUMBER,\n { // regexp container\n begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n keywords: 'split return print reverse grep',\n relevance: 0,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'regexp',\n variants: [\n // allow matching common delimiters\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n // and then paired delmis\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n ],\n relevance: 2\n },\n {\n className: 'regexp',\n variants: [\n {\n // could be a comment in many languages so do not count\n // as relevant\n begin: /(m|qr)\\/\\//,\n relevance: 0\n },\n // prefix is optional with /regex/\n { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n // allow matching common delimiters\n { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n // allow common paired delmins\n { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n ]\n }\n ]\n },\n {\n className: 'function',\n beginKeywords: 'sub method',\n end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR, NUMBER ]\n },\n {\n begin: '-\\\\w\\\\b',\n relevance: 0\n },\n {\n begin: \"^__DATA__$\",\n end: \"^__END__$\",\n subLanguage: 'mojolicious',\n contains: [\n {\n begin: \"^@@.*\",\n end: \"$\",\n className: \"comment\"\n }\n ]\n }\n ];\n SUBST.contains = PERL_DEFAULT_CONTAINS;\n METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n return {\n name: 'Perl',\n aliases: [\n 'pl',\n 'pm'\n ],\n keywords: PERL_KEYWORDS,\n contains: PERL_DEFAULT_CONTAINS\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9wZXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEMsS0FBSyxHQUFHO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGVBQWU7QUFDdkIsUUFBUTtBQUNSLDBDQUEwQyxLQUFLO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNkJBQTZCO0FBQ3JDO0FBQ0EsUUFBUSwwREFBMEQ7QUFDbEU7QUFDQSxRQUFRLDRCQUE0QjtBQUNwQyxRQUFRLHlDQUF5QztBQUNqRCxRQUFRLDZCQUE2QjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGVBQWU7QUFDNUIsYUFBYSxlQUFlO0FBQzVCLGFBQWEsZUFBZTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsZUFBZTtBQUM1QixhQUFhLGVBQWU7QUFDNUIsYUFBYSxlQUFlO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsaUNBQWlDO0FBQ2pDLG1CQUFtQjtBQUNuQjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxvQkFBb0IsS0FBSztBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsa0VBQWtFLGVBQWUsSUFBSTtBQUNuRztBQUNBLGNBQWMsaURBQWlEO0FBQy9ELGNBQWMsaURBQWlEO0FBQy9ELGNBQWMsc0NBQXNDLE9BQU87QUFDM0Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsY0FBYywyQ0FBMkM7QUFDekQ7QUFDQSxjQUFjLHlEQUF5RCxlQUFlLFVBQVU7QUFDaEc7QUFDQSxjQUFjLHNDQUFzQztBQUNwRCxjQUFjLHNDQUFzQztBQUNwRCxjQUFjLDRCQUE0QixNQUFNO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3BlcmwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBQZXJsXG5BdXRob3I6IFBldGVyIExlb25vdiA8Z29qcGVnQHlhbmRleC5ydT5cbldlYnNpdGU6IGh0dHBzOi8vd3d3LnBlcmwub3JnXG5DYXRlZ29yeTogY29tbW9uXG4qL1xuXG4vKiogQHR5cGUgTGFuZ3VhZ2VGbiAqL1xuZnVuY3Rpb24gcGVybChobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgS0VZV09SRFMgPSBbXG4gICAgJ2FicycsXG4gICAgJ2FjY2VwdCcsXG4gICAgJ2FsYXJtJyxcbiAgICAnYW5kJyxcbiAgICAnYXRhbjInLFxuICAgICdiaW5kJyxcbiAgICAnYmlubW9kZScsXG4gICAgJ2JsZXNzJyxcbiAgICAnYnJlYWsnLFxuICAgICdjYWxsZXInLFxuICAgICdjaGRpcicsXG4gICAgJ2NobW9kJyxcbiAgICAnY2hvbXAnLFxuICAgICdjaG9wJyxcbiAgICAnY2hvd24nLFxuICAgICdjaHInLFxuICAgICdjaHJvb3QnLFxuICAgICdjbGFzcycsXG4gICAgJ2Nsb3NlJyxcbiAgICAnY2xvc2VkaXInLFxuICAgICdjb25uZWN0JyxcbiAgICAnY29udGludWUnLFxuICAgICdjb3MnLFxuICAgICdjcnlwdCcsXG4gICAgJ2RibWNsb3NlJyxcbiAgICAnZGJtb3BlbicsXG4gICAgJ2RlZmluZWQnLFxuICAgICdkZWxldGUnLFxuICAgICdkaWUnLFxuICAgICdkbycsXG4gICAgJ2R1bXAnLFxuICAgICdlYWNoJyxcbiAgICAnZWxzZScsXG4gICAgJ2Vsc2lmJyxcbiAgICAnZW5kZ3JlbnQnLFxuICAgICdlbmRob3N0ZW50JyxcbiAgICAnZW5kbmV0ZW50JyxcbiAgICAnZW5kcHJvdG9lbnQnLFxuICAgICdlbmRwd2VudCcsXG4gICAgJ2VuZHNlcnZlbnQnLFxuICAgICdlb2YnLFxuICAgICdldmFsJyxcbiAgICAnZXhlYycsXG4gICAgJ2V4aXN0cycsXG4gICAgJ2V4aXQnLFxuICAgICdleHAnLFxuICAgICdmY250bCcsXG4gICAgJ2ZpZWxkJyxcbiAgICAnZmlsZW5vJyxcbiAgICAnZmxvY2snLFxuICAgICdmb3InLFxuICAgICdmb3JlYWNoJyxcbiAgICAnZm9yaycsXG4gICAgJ2Zvcm1hdCcsXG4gICAgJ2Zvcm1saW5lJyxcbiAgICAnZ2V0YycsXG4gICAgJ2dldGdyZW50JyxcbiAgICAnZ2V0Z3JnaWQnLFxuICAgICdnZXRncm5hbScsXG4gICAgJ2dldGhvc3RieWFkZHInLFxuICAgICdnZXRob3N0YnluYW1lJyxcbiAgICAnZ2V0aG9zdGVudCcsXG4gICAgJ2dldGxvZ2luJyxcbiAgICAnZ2V0bmV0YnlhZGRyJyxcbiAgICAnZ2V0bmV0YnluYW1lJyxcbiAgICAnZ2V0bmV0ZW50JyxcbiAgICAnZ2V0cGVlcm5hbWUnLFxuICAgICdnZXRwZ3JwJyxcbiAgICAnZ2V0cHJpb3JpdHknLFxuICAgICdnZXRwcm90b2J5bmFtZScsXG4gICAgJ2dldHByb3RvYnludW1iZXInLFxuICAgICdnZXRwcm90b2VudCcsXG4gICAgJ2dldHB3ZW50JyxcbiAgICAnZ2V0cHduYW0nLFxuICAgICdnZXRwd3VpZCcsXG4gICAgJ2dldHNlcnZieW5hbWUnLFxuICAgICdnZXRzZXJ2Ynlwb3J0JyxcbiAgICAnZ2V0c2VydmVudCcsXG4gICAgJ2dldHNvY2tuYW1lJyxcbiAgICAnZ2V0c29ja29wdCcsXG4gICAgJ2dpdmVuJyxcbiAgICAnZ2xvYicsXG4gICAgJ2dtdGltZScsXG4gICAgJ2dvdG8nLFxuICAgICdncmVwJyxcbiAgICAnZ3QnLFxuICAgICdoZXgnLFxuICAgICdpZicsXG4gICAgJ2luZGV4JyxcbiAgICAnaW50JyxcbiAgICAnaW9jdGwnLFxuICAgICdqb2luJyxcbiAgICAna2V5cycsXG4gICAgJ2tpbGwnLFxuICAgICdsYXN0JyxcbiAgICAnbGMnLFxuICAgICdsY2ZpcnN0JyxcbiAgICAnbGVuZ3RoJyxcbiAgICAnbGluaycsXG4gICAgJ2xpc3RlbicsXG4gICAgJ2xvY2FsJyxcbiAgICAnbG9jYWx0aW1lJyxcbiAgICAnbG9nJyxcbiAgICAnbHN0YXQnLFxuICAgICdsdCcsXG4gICAgJ21hJyxcbiAgICAnbWFwJyxcbiAgICAnbWV0aG9kJyxcbiAgICAnbWtkaXInLFxuICAgICdtc2djdGwnLFxuICAgICdtc2dnZXQnLFxuICAgICdtc2dyY3YnLFxuICAgICdtc2dzbmQnLFxuICAgICdteScsXG4gICAgJ25lJyxcbiAgICAnbmV4dCcsXG4gICAgJ25vJyxcbiAgICAnbm90JyxcbiAgICAnb2N0JyxcbiAgICAnb3BlbicsXG4gICAgJ29wZW5kaXInLFxuICAgICdvcicsXG4gICAgJ29yZCcsXG4gICAgJ291cicsXG4gICAgJ3BhY2snLFxuICAgICdwYWNrYWdlJyxcbiAgICAncGlwZScsXG4gICAgJ3BvcCcsXG4gICAgJ3BvcycsXG4gICAgJ3ByaW50JyxcbiAgICAncHJpbnRmJyxcbiAgICAncHJvdG90eXBlJyxcbiAgICAncHVzaCcsXG4gICAgJ3F8MCcsXG4gICAgJ3FxJyxcbiAgICAncXVvdGVtZXRhJyxcbiAgICAncXcnLFxuICAgICdxeCcsXG4gICAgJ3JhbmQnLFxuICAgICdyZWFkJyxcbiAgICAncmVhZGRpcicsXG4gICAgJ3JlYWRsaW5lJyxcbiAgICAncmVhZGxpbmsnLFxuICAgICdyZWFkcGlwZScsXG4gICAgJ3JlY3YnLFxuICAgICdyZWRvJyxcbiAgICAncmVmJyxcbiAgICAncmVuYW1lJyxcbiAgICAncmVxdWlyZScsXG4gICAgJ3Jlc2V0JyxcbiAgICAncmV0dXJuJyxcbiAgICAncmV2ZXJzZScsXG4gICAgJ3Jld2luZGRpcicsXG4gICAgJ3JpbmRleCcsXG4gICAgJ3JtZGlyJyxcbiAgICAnc2F5JyxcbiAgICAnc2NhbGFyJyxcbiAgICAnc2VlaycsXG4gICAgJ3NlZWtkaXInLFxuICAgICdzZWxlY3QnLFxuICAgICdzZW1jdGwnLFxuICAgICdzZW1nZXQnLFxuICAgICdzZW1vcCcsXG4gICAgJ3NlbmQnLFxuICAgICdzZXRncmVudCcsXG4gICAgJ3NldGhvc3RlbnQnLFxuICAgICdzZXRuZXRlbnQnLFxuICAgICdzZXRwZ3JwJyxcbiAgICAnc2V0cHJpb3JpdHknLFxuICAgICdzZXRwcm90b2VudCcsXG4gICAgJ3NldHB3ZW50JyxcbiAgICAnc2V0c2VydmVudCcsXG4gICAgJ3NldHNvY2tvcHQnLFxuICAgICdzaGlmdCcsXG4gICAgJ3NobWN0bCcsXG4gICAgJ3NobWdldCcsXG4gICAgJ3NobXJlYWQnLFxuICAgICdzaG13cml0ZScsXG4gICAgJ3NodXRkb3duJyxcbiAgICAnc2luJyxcbiAgICAnc2xlZXAnLFxuICAgICdzb2NrZXQnLFxuICAgICdzb2NrZXRwYWlyJyxcbiAgICAnc29ydCcsXG4gICAgJ3NwbGljZScsXG4gICAgJ3NwbGl0JyxcbiAgICAnc3ByaW50ZicsXG4gICAgJ3NxcnQnLFxuICAgICdzcmFuZCcsXG4gICAgJ3N0YXQnLFxuICAgICdzdGF0ZScsXG4gICAgJ3N0dWR5JyxcbiAgICAnc3ViJyxcbiAgICAnc3Vic3RyJyxcbiAgICAnc3ltbGluaycsXG4gICAgJ3N5c2NhbGwnLFxuICAgICdzeXNvcGVuJyxcbiAgICAnc3lzcmVhZCcsXG4gICAgJ3N5c3NlZWsnLFxuICAgICdzeXN0ZW0nLFxuICAgICdzeXN3cml0ZScsXG4gICAgJ3RlbGwnLFxuICAgICd0ZWxsZGlyJyxcbiAgICAndGllJyxcbiAgICAndGllZCcsXG4gICAgJ3RpbWUnLFxuICAgICd0aW1lcycsXG4gICAgJ3RyJyxcbiAgICAndHJ1bmNhdGUnLFxuICAgICd1YycsXG4gICAgJ3VjZmlyc3QnLFxuICAgICd1bWFzaycsXG4gICAgJ3VuZGVmJyxcbiAgICAndW5sZXNzJyxcbiAgICAndW5saW5rJyxcbiAgICAndW5wYWNrJyxcbiAgICAndW5zaGlmdCcsXG4gICAgJ3VudGllJyxcbiAgICAndW50aWwnLFxuICAgICd1c2UnLFxuICAgICd1dGltZScsXG4gICAgJ3ZhbHVlcycsXG4gICAgJ3ZlYycsXG4gICAgJ3dhaXQnLFxuICAgICd3YWl0cGlkJyxcbiAgICAnd2FudGFycmF5JyxcbiAgICAnd2FybicsXG4gICAgJ3doZW4nLFxuICAgICd3aGlsZScsXG4gICAgJ3dyaXRlJyxcbiAgICAneHwwJyxcbiAgICAneG9yJyxcbiAgICAneXwwJ1xuICBdO1xuXG4gIC8vIGh0dHBzOi8vcGVybGRvYy5wZXJsLm9yZy9wZXJscmUjTW9kaWZpZXJzXG4gIGNvbnN0IFJFR0VYX01PRElGSUVSUyA9IC9bZHVhbHhtc2lwbmdyXXswLDEyfS87IC8vIGFhIGFuZCB4eCBhcmUgdmFsaWQsIG1ha2luZyBtYXggbGVuZ3RoIDEyXG4gIGNvbnN0IFBFUkxfS0VZV09SRFMgPSB7XG4gICAgJHBhdHRlcm46IC9bXFx3Ll0rLyxcbiAgICBrZXl3b3JkOiBLRVlXT1JEUy5qb2luKFwiIFwiKVxuICB9O1xuICBjb25zdCBTVUJTVCA9IHtcbiAgICBjbGFzc05hbWU6ICdzdWJzdCcsXG4gICAgYmVnaW46ICdbJEBdXFxcXHsnLFxuICAgIGVuZDogJ1xcXFx9JyxcbiAgICBrZXl3b3JkczogUEVSTF9LRVlXT1JEU1xuICB9O1xuICBjb25zdCBNRVRIT0QgPSB7XG4gICAgYmVnaW46IC8tPlxcey8sXG4gICAgZW5kOiAvXFx9L1xuICAgIC8vIGNvbnRhaW5zIGRlZmluZWQgbGF0ZXJcbiAgfTtcbiAgY29uc3QgQVRUUiA9IHtcbiAgICBzY29wZTogJ2F0dHInLFxuICAgIG1hdGNoOiAvXFxzKzpcXHMqXFx3KyhcXHMqXFwoLio/XFwpKT8vLFxuICB9O1xuICBjb25zdCBWQVIgPSB7XG4gICAgc2NvcGU6ICd2YXJpYWJsZScsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHsgYmVnaW46IC9cXCRcXGQvIH0sXG4gICAgICB7IGJlZ2luOiByZWdleC5jb25jYXQoXG4gICAgICAgIC9bJCVAXSg/IVwiKShcXF5cXHdcXGJ8I1xcdysoOjpcXHcrKSp8XFx7XFx3K1xcfXxcXHcrKDo6XFx3KikqKS8sXG4gICAgICAgIC8vIG5lZ2F0aXZlIGxvb2stYWhlYWQgdHJpZXMgdG8gYXZvaWQgbWF0Y2hpbmcgcGF0dGVybnMgdGhhdCBhcmUgbm90XG4gICAgICAgIC8vIFBlcmwgYXQgYWxsIGxpa2UgJGlkZW50JCwgQGlkZW50QCwgZXRjLlxuICAgICAgICBgKD8hW0EtWmEtel0pKD8hW0AkJV0pYFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBPbmx5ICQ9IGlzIGEgc3BlY2lhbCBQZXJsIHZhcmlhYmxlIGFuZCBvbmUgY2FuJ3QgZGVjbGFyZSBAPSBvciAlPS5cbiAgICAgICAgYmVnaW46IC9bJCVAXSg/IVwiKVteXFxzXFx3ez1dfFxcJD0vLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH1cbiAgICBdLFxuICAgIGNvbnRhaW5zOiBbIEFUVFIgXSxcbiAgfTtcbiAgY29uc3QgTlVNQkVSID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIC8vIGRlY2ltYWwgbnVtYmVyczpcbiAgICAgIC8vIGluY2x1ZGUgdGhlIGNhc2Ugd2hlcmUgYSBudW1iZXIgc3RhcnRzIHdpdGggYSBkb3QgKGVnLiAuOSksIGFuZFxuICAgICAgLy8gdGhlIGxlYWRpbmcgMD8gYXZvaWRzIG1peGluZyB0aGUgZmlyc3QgYW5kIHNlY29uZCBtYXRjaCBvbiAwLnggY2FzZXNcbiAgICAgIHsgbWF0Y2g6IC8wP1xcLlswLTldWzAtOV9dK1xcYi8gfSxcbiAgICAgIC8vIGluY2x1ZGUgdGhlIHNwZWNpYWwgdmVyc2lvbmVkIG51bWJlciAoZWcuIHY1LjM4KVxuICAgICAgeyBtYXRjaDogL1xcYnY/KDB8WzEtOV1bMC05X10qKFxcLlswLTlfXSspP3xbMS05XVswLTlfXSopXFxiLyB9LFxuICAgICAgLy8gbm9uLWRlY2ltYWwgbnVtYmVyczpcbiAgICAgIHsgbWF0Y2g6IC9cXGIwWzAtN11bMC03X10qXFxiLyB9LFxuICAgICAgeyBtYXRjaDogL1xcYjB4WzAtOWEtZkEtRl1bMC05YS1mQS1GX10qXFxiLyB9LFxuICAgICAgeyBtYXRjaDogL1xcYjBiWzAtMV1bMC0xX10qXFxiLyB9LFxuICAgIF0sXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG4gIGNvbnN0IFNUUklOR19DT05UQUlOUyA9IFtcbiAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgU1VCU1QsXG4gICAgVkFSXG4gIF07XG4gIGNvbnN0IFJFR0VYX0RFTElNUyA9IFtcbiAgICAvIS8sXG4gICAgL1xcLy8sXG4gICAgL1xcfC8sXG4gICAgL1xcPy8sXG4gICAgLycvLFxuICAgIC9cIi8sIC8vIHZhbGlkIGJ1dCBpbmZyZXF1ZW50IGFuZCB3ZWlyZFxuICAgIC8jLyAvLyB2YWxpZCBidXQgaW5mcmVxdWVudCBhbmQgd2VpcmRcbiAgXTtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfFJlZ0V4cH0gcHJlZml4XG4gICAqIEBwYXJhbSB7c3RyaW5nfFJlZ0V4cH0gb3BlblxuICAgKiBAcGFyYW0ge3N0cmluZ3xSZWdFeHB9IGNsb3NlXG4gICAqL1xuICBjb25zdCBQQUlSRURfRE9VQkxFX1JFID0gKHByZWZpeCwgb3BlbiwgY2xvc2UgPSAnXFxcXDEnKSA9PiB7XG4gICAgY29uc3QgbWlkZGxlID0gKGNsb3NlID09PSAnXFxcXDEnKVxuICAgICAgPyBjbG9zZVxuICAgICAgOiByZWdleC5jb25jYXQoY2xvc2UsIG9wZW4pO1xuICAgIHJldHVybiByZWdleC5jb25jYXQoXG4gICAgICByZWdleC5jb25jYXQoXCIoPzpcIiwgcHJlZml4LCBcIilcIiksXG4gICAgICBvcGVuLFxuICAgICAgLyg/OlxcXFwufFteXFxcXFxcL10pKj8vLFxuICAgICAgbWlkZGxlLFxuICAgICAgLyg/OlxcXFwufFteXFxcXFxcL10pKj8vLFxuICAgICAgY2xvc2UsXG4gICAgICBSRUdFWF9NT0RJRklFUlNcbiAgICApO1xuICB9O1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd8UmVnRXhwfSBwcmVmaXhcbiAgICogQHBhcmFtIHtzdHJpbmd8UmVnRXhwfSBvcGVuXG4gICAqIEBwYXJhbSB7c3RyaW5nfFJlZ0V4cH0gY2xvc2VcbiAgICovXG4gIGNvbnN0IFBBSVJFRF9SRSA9IChwcmVmaXgsIG9wZW4sIGNsb3NlKSA9PiB7XG4gICAgcmV0dXJuIHJlZ2V4LmNvbmNhdChcbiAgICAgIHJlZ2V4LmNvbmNhdChcIig/OlwiLCBwcmVmaXgsIFwiKVwiKSxcbiAgICAgIG9wZW4sXG4gICAgICAvKD86XFxcXC58W15cXFxcXFwvXSkqPy8sXG4gICAgICBjbG9zZSxcbiAgICAgIFJFR0VYX01PRElGSUVSU1xuICAgICk7XG4gIH07XG4gIGNvbnN0IFBFUkxfREVGQVVMVF9DT05UQUlOUyA9IFtcbiAgICBWQVIsXG4gICAgaGxqcy5IQVNIX0NPTU1FTlRfTU9ERSxcbiAgICBobGpzLkNPTU1FTlQoXG4gICAgICAvXj1cXHcvLFxuICAgICAgLz1jdXQvLFxuICAgICAgeyBlbmRzV2l0aFBhcmVudDogdHJ1ZSB9XG4gICAgKSxcbiAgICBNRVRIT0QsXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICAgIGNvbnRhaW5zOiBTVFJJTkdfQ09OVEFJTlMsXG4gICAgICB2YXJpYW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46ICdxW3F3eHJdP1xcXFxzKlxcXFwoJyxcbiAgICAgICAgICBlbmQ6ICdcXFxcKScsXG4gICAgICAgICAgcmVsZXZhbmNlOiA1XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogJ3FbcXd4cl0/XFxcXHMqXFxcXFsnLFxuICAgICAgICAgIGVuZDogJ1xcXFxdJyxcbiAgICAgICAgICByZWxldmFuY2U6IDVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGJlZ2luOiAncVtxd3hyXT9cXFxccypcXFxceycsXG4gICAgICAgICAgZW5kOiAnXFxcXH0nLFxuICAgICAgICAgIHJlbGV2YW5jZTogNVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46ICdxW3F3eHJdP1xcXFxzKlxcXFx8JyxcbiAgICAgICAgICBlbmQ6ICdcXFxcfCcsXG4gICAgICAgICAgcmVsZXZhbmNlOiA1XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogJ3FbcXd4cl0/XFxcXHMqPCcsXG4gICAgICAgICAgZW5kOiAnPicsXG4gICAgICAgICAgcmVsZXZhbmNlOiA1XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogJ3F3XFxcXHMrcScsXG4gICAgICAgICAgZW5kOiAncScsXG4gICAgICAgICAgcmVsZXZhbmNlOiA1XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogJ1xcJycsXG4gICAgICAgICAgZW5kOiAnXFwnJyxcbiAgICAgICAgICBjb250YWluczogWyBobGpzLkJBQ0tTTEFTSF9FU0NBUEUgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46ICdcIicsXG4gICAgICAgICAgZW5kOiAnXCInXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogJ2AnLFxuICAgICAgICAgIGVuZDogJ2AnLFxuICAgICAgICAgIGNvbnRhaW5zOiBbIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBiZWdpbjogL1xce1xcdytcXH0vLFxuICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46ICctP1xcXFx3K1xcXFxzKj0+JyxcbiAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAgTlVNQkVSLFxuICAgIHsgLy8gcmVnZXhwIGNvbnRhaW5lclxuICAgICAgYmVnaW46ICcoXFxcXC9cXFxcL3wnICsgaGxqcy5SRV9TVEFSVEVSU19SRSArICd8XFxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXFxcYilcXFxccyonLFxuICAgICAga2V5d29yZHM6ICdzcGxpdCByZXR1cm4gcHJpbnQgcmV2ZXJzZSBncmVwJyxcbiAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuSEFTSF9DT01NRU5UX01PREUsXG4gICAgICAgIHtcbiAgICAgICAgICBjbGFzc05hbWU6ICdyZWdleHAnLFxuICAgICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgICAvLyBhbGxvdyBtYXRjaGluZyBjb21tb24gZGVsaW1pdGVyc1xuICAgICAgICAgICAgeyBiZWdpbjogUEFJUkVEX0RPVUJMRV9SRShcInN8dHJ8eVwiLCByZWdleC5laXRoZXIoLi4uUkVHRVhfREVMSU1TLCB7IGNhcHR1cmU6IHRydWUgfSkpIH0sXG4gICAgICAgICAgICAvLyBhbmQgdGhlbiBwYWlyZWQgZGVsbWlzXG4gICAgICAgICAgICB7IGJlZ2luOiBQQUlSRURfRE9VQkxFX1JFKFwic3x0cnx5XCIsIFwiXFxcXChcIiwgXCJcXFxcKVwiKSB9LFxuICAgICAgICAgICAgeyBiZWdpbjogUEFJUkVEX0RPVUJMRV9SRShcInN8dHJ8eVwiLCBcIlxcXFxbXCIsIFwiXFxcXF1cIikgfSxcbiAgICAgICAgICAgIHsgYmVnaW46IFBBSVJFRF9ET1VCTEVfUkUoXCJzfHRyfHlcIiwgXCJcXFxce1wiLCBcIlxcXFx9XCIpIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlbGV2YW5jZTogMlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NOYW1lOiAncmVnZXhwJyxcbiAgICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAvLyBjb3VsZCBiZSBhIGNvbW1lbnQgaW4gbWFueSBsYW5ndWFnZXMgc28gZG8gbm90IGNvdW50XG4gICAgICAgICAgICAgIC8vIGFzIHJlbGV2YW50XG4gICAgICAgICAgICAgIGJlZ2luOiAvKG18cXIpXFwvXFwvLyxcbiAgICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gcHJlZml4IGlzIG9wdGlvbmFsIHdpdGggL3JlZ2V4L1xuICAgICAgICAgICAgeyBiZWdpbjogUEFJUkVEX1JFKFwiKD86bXxxcik/XCIsIC9cXC8vLCAvXFwvLykgfSxcbiAgICAgICAgICAgIC8vIGFsbG93IG1hdGNoaW5nIGNvbW1vbiBkZWxpbWl0ZXJzXG4gICAgICAgICAgICB7IGJlZ2luOiBQQUlSRURfUkUoXCJtfHFyXCIsIHJlZ2V4LmVpdGhlciguLi5SRUdFWF9ERUxJTVMsIHsgY2FwdHVyZTogdHJ1ZSB9KSwgL1xcMS8pIH0sXG4gICAgICAgICAgICAvLyBhbGxvdyBjb21tb24gcGFpcmVkIGRlbG1pbnNcbiAgICAgICAgICAgIHsgYmVnaW46IFBBSVJFRF9SRShcIm18cXJcIiwgL1xcKC8sIC9cXCkvKSB9LFxuICAgICAgICAgICAgeyBiZWdpbjogUEFJUkVEX1JFKFwibXxxclwiLCAvXFxbLywgL1xcXS8pIH0sXG4gICAgICAgICAgICB7IGJlZ2luOiBQQUlSRURfUkUoXCJtfHFyXCIsIC9cXHsvLCAvXFx9LykgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAnZnVuY3Rpb24nLFxuICAgICAgYmVnaW5LZXl3b3JkczogJ3N1YiBtZXRob2QnLFxuICAgICAgZW5kOiAnKFxcXFxzKlxcXFwoLio/XFxcXCkpP1s7e10nLFxuICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgIHJlbGV2YW5jZTogNSxcbiAgICAgIGNvbnRhaW5zOiBbIGhsanMuVElUTEVfTU9ERSwgQVRUUiBdXG4gICAgfSxcbiAgICB7XG4gICAgICBjbGFzc05hbWU6ICdjbGFzcycsXG4gICAgICBiZWdpbktleXdvcmRzOiAnY2xhc3MnLFxuICAgICAgZW5kOiAnWzt7XScsXG4gICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgcmVsZXZhbmNlOiA1LFxuICAgICAgY29udGFpbnM6IFsgaGxqcy5USVRMRV9NT0RFLCBBVFRSLCBOVU1CRVIgXVxuICAgIH0sXG4gICAge1xuICAgICAgYmVnaW46ICctXFxcXHdcXFxcYicsXG4gICAgICByZWxldmFuY2U6IDBcbiAgICB9LFxuICAgIHtcbiAgICAgIGJlZ2luOiBcIl5fX0RBVEFfXyRcIixcbiAgICAgIGVuZDogXCJeX19FTkRfXyRcIixcbiAgICAgIHN1Ykxhbmd1YWdlOiAnbW9qb2xpY2lvdXMnLFxuICAgICAgY29udGFpbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGJlZ2luOiBcIl5AQC4qXCIsXG4gICAgICAgICAgZW5kOiBcIiRcIixcbiAgICAgICAgICBjbGFzc05hbWU6IFwiY29tbWVudFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF07XG4gIFNVQlNULmNvbnRhaW5zID0gUEVSTF9ERUZBVUxUX0NPTlRBSU5TO1xuICBNRVRIT0QuY29udGFpbnMgPSBQRVJMX0RFRkFVTFRfQ09OVEFJTlM7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnUGVybCcsXG4gICAgYWxpYXNlczogW1xuICAgICAgJ3BsJyxcbiAgICAgICdwbSdcbiAgICBdLFxuICAgIGtleXdvcmRzOiBQRVJMX0tFWVdPUkRTLFxuICAgIGNvbnRhaW5zOiBQRVJMX0RFRkFVTFRfQ09OVEFJTlNcbiAgfTtcbn1cblxuZXhwb3J0IHsgcGVybCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/perl.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php-template.js":
/*!********************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php-template.js ***!
\********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ phpTemplate)\n/* harmony export */ });\n/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9waHAtdGVtcGxhdGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVrQyIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvcGhwLXRlbXBsYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogUEhQIFRlbXBsYXRlXG5SZXF1aXJlczogeG1sLmpzLCBwaHAuanNcbkF1dGhvcjogSm9zaCBHb2ViZWwgPGhlbGxvQGpvc2hnb2ViZWwuY29tPlxuV2Vic2l0ZTogaHR0cHM6Ly93d3cucGhwLm5ldFxuQ2F0ZWdvcnk6IGNvbW1vblxuKi9cblxuZnVuY3Rpb24gcGhwVGVtcGxhdGUoaGxqcykge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwiUEhQIHRlbXBsYXRlXCIsXG4gICAgc3ViTGFuZ3VhZ2U6ICd4bWwnLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvPFxcPyhwaHB8PSk/LyxcbiAgICAgICAgZW5kOiAvXFw/Pi8sXG4gICAgICAgIHN1Ykxhbmd1YWdlOiAncGhwJyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRoZSBwaHAgY2xvc2luZyB0YWcgPz4gdG8gY2xvc2UgdGhlIFBIUCBibG9jayB3aGVuXG4gICAgICAgICAgLy8gaW5zaWRlIGFueSBvZiB0aGUgZm9sbG93aW5nIGJsb2NrczpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogJy9cXFxcKicsXG4gICAgICAgICAgICBlbmQ6ICdcXFxcKi8nLFxuICAgICAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46ICdiXCInLFxuICAgICAgICAgICAgZW5kOiAnXCInLFxuICAgICAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46ICdiXFwnJyxcbiAgICAgICAgICAgIGVuZDogJ1xcJycsXG4gICAgICAgICAgICBza2lwOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBobGpzLmluaGVyaXQoaGxqcy5BUE9TX1NUUklOR19NT0RFLCB7XG4gICAgICAgICAgICBpbGxlZ2FsOiBudWxsLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiBudWxsLFxuICAgICAgICAgICAgY29udGFpbnM6IG51bGwsXG4gICAgICAgICAgICBza2lwOiB0cnVlXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGxqcy5pbmhlcml0KGhsanMuUVVPVEVfU1RSSU5HX01PREUsIHtcbiAgICAgICAgICAgIGlsbGVnYWw6IG51bGwsXG4gICAgICAgICAgICBjbGFzc05hbWU6IG51bGwsXG4gICAgICAgICAgICBjb250YWluczogbnVsbCxcbiAgICAgICAgICAgIHNraXA6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBwaHBUZW1wbGF0ZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php-template.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ php)\n/* harmony export */ });\n/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // \n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // \n // \n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // \n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // \n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // \n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9waHAuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFLEdBQUc7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZ0NBQWdDO0FBQ3hDLFFBQVEsZUFBZTtBQUN2QjtBQUNBLFFBQVEsOEJBQThCO0FBQ3RDLFFBQVEsZUFBZTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxnQkFBZ0I7QUFDeEI7QUFDQSxrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCxnQkFBZ0I7QUFDOUU7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQix1Q0FBdUM7QUFDdEUsNkJBQTZCLHlEQUF5RDtBQUN0Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsc0NBQXNDO0FBQzlDLFFBQVEsd0NBQXdDO0FBQ2hELFFBQVEsb0RBQW9EO0FBQzVEO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5QkFBeUI7QUFDeEMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlCQUF5QjtBQUN4QyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBbUI7QUFDbEMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDZCQUE2QjtBQUMxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksa0NBQWtDO0FBQzlDLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLFlBQVksdUJBQXVCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBLFlBQVkscUNBQXFDO0FBQ2pEO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsK0RBQStELHNCQUFzQjtBQUNyRixPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTBCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9waHAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkxhbmd1YWdlOiBQSFBcbkF1dGhvcjogVmljdG9yIEthcmFtemluIDxWaWN0b3IuS2FyYW16aW5AZW50ZXJyYS1pbmMuY29tPlxuQ29udHJpYnV0b3JzOiBFdmdlbnkgU3RlcGFuaXNjaGV2IDxpbWJvbGtAZ21haWwuY29tPiwgSXZhbiBTYWdhbGFldiA8bWFuaWFjQHNvZnR3YXJlbWFuaWFjcy5vcmc+XG5XZWJzaXRlOiBodHRwczovL3d3dy5waHAubmV0XG5DYXRlZ29yeTogY29tbW9uXG4qL1xuXG4vKipcbiAqIEBwYXJhbSB7SExKU0FwaX0gaGxqc1xuICogQHJldHVybnMge0xhbmd1YWdlRGV0YWlsfVxuICogKi9cbmZ1bmN0aW9uIHBocChobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgLy8gbmVnYXRpdmUgbG9vay1haGVhZCB0cmllcyB0byBhdm9pZCBtYXRjaGluZyBwYXR0ZXJucyB0aGF0IGFyZSBub3RcbiAgLy8gUGVybCBhdCBhbGwgbGlrZSAkaWRlbnQkLCBAaWRlbnRALCBldGMuXG4gIGNvbnN0IE5PVF9QRVJMX0VUQyA9IC8oPyFbQS1aYS16MC05XSkoPyFbJF0pLztcbiAgY29uc3QgSURFTlRfUkUgPSByZWdleC5jb25jYXQoXG4gICAgL1thLXpBLVpfXFx4N2YtXFx4ZmZdW2EtekEtWjAtOV9cXHg3Zi1cXHhmZl0qLyxcbiAgICBOT1RfUEVSTF9FVEMpO1xuICAvLyBXaWxsIG5vdCBkZXRlY3QgY2FtZWxDYXNlIGNsYXNzZXNcbiAgY29uc3QgUEFTQ0FMX0NBU0VfQ0xBU1NfTkFNRV9SRSA9IHJlZ2V4LmNvbmNhdChcbiAgICAvKFxcXFw/W0EtWl1bYS16MC05X1xceDdmLVxceGZmXSt8XFxcXD9bQS1aXSsoPz1bQS1aXVthLXowLTlfXFx4N2YtXFx4ZmZdKSl7MSx9LyxcbiAgICBOT1RfUEVSTF9FVEMpO1xuICBjb25zdCBVUENBU0VfTkFNRV9SRSA9IHJlZ2V4LmNvbmNhdChcbiAgICAvW0EtWl0rLyxcbiAgICBOT1RfUEVSTF9FVEMpO1xuICBjb25zdCBWQVJJQUJMRSA9IHtcbiAgICBzY29wZTogJ3ZhcmlhYmxlJyxcbiAgICBtYXRjaDogJ1xcXFwkKycgKyBJREVOVF9SRSxcbiAgfTtcbiAgY29uc3QgUFJFUFJPQ0VTU09SID0ge1xuICAgIHNjb3BlOiBcIm1ldGFcIixcbiAgICB2YXJpYW50czogW1xuICAgICAgeyBiZWdpbjogLzxcXD9waHAvLCByZWxldmFuY2U6IDEwIH0sIC8vIGJvb3N0IGZvciBvYnZpb3VzIFBIUFxuICAgICAgeyBiZWdpbjogLzxcXD89LyB9LFxuICAgICAgLy8gbGVzcyByZWxldmFudCBwZXIgUFNSLTEgd2hpY2ggc2F5cyBub3QgdG8gdXNlIHNob3J0LXRhZ3NcbiAgICAgIHsgYmVnaW46IC88XFw/LywgcmVsZXZhbmNlOiAwLjEgfSxcbiAgICAgIHsgYmVnaW46IC9cXD8+LyB9IC8vIGVuZCBwaHAgdGFnXG4gICAgXVxuICB9O1xuICBjb25zdCBTVUJTVCA9IHtcbiAgICBzY29wZTogJ3N1YnN0JyxcbiAgICB2YXJpYW50czogW1xuICAgICAgeyBiZWdpbjogL1xcJFxcdysvIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXFx7XFwkLyxcbiAgICAgICAgZW5kOiAvXFx9L1xuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgY29uc3QgU0lOR0xFX1FVT1RFRCA9IGhsanMuaW5oZXJpdChobGpzLkFQT1NfU1RSSU5HX01PREUsIHsgaWxsZWdhbDogbnVsbCwgfSk7XG4gIGNvbnN0IERPVUJMRV9RVU9URUQgPSBobGpzLmluaGVyaXQoaGxqcy5RVU9URV9TVFJJTkdfTU9ERSwge1xuICAgIGlsbGVnYWw6IG51bGwsXG4gICAgY29udGFpbnM6IGhsanMuUVVPVEVfU1RSSU5HX01PREUuY29udGFpbnMuY29uY2F0KFNVQlNUKSxcbiAgfSk7XG5cbiAgY29uc3QgSEVSRURPQyA9IHtcbiAgICBiZWdpbjogLzw8PFsgXFx0XSooPzooXFx3Kyl8XCIoXFx3KylcIilcXG4vLFxuICAgIGVuZDogL1sgXFx0XSooXFx3KylcXGIvLFxuICAgIGNvbnRhaW5zOiBobGpzLlFVT1RFX1NUUklOR19NT0RFLmNvbnRhaW5zLmNvbmNhdChTVUJTVCksXG4gICAgJ29uOmJlZ2luJzogKG0sIHJlc3ApID0+IHsgcmVzcC5kYXRhLl9iZWdpbk1hdGNoID0gbVsxXSB8fCBtWzJdOyB9LFxuICAgICdvbjplbmQnOiAobSwgcmVzcCkgPT4geyBpZiAocmVzcC5kYXRhLl9iZWdpbk1hdGNoICE9PSBtWzFdKSByZXNwLmlnbm9yZU1hdGNoKCk7IH0sXG4gIH07XG5cbiAgY29uc3QgTk9XRE9DID0gaGxqcy5FTkRfU0FNRV9BU19CRUdJTih7XG4gICAgYmVnaW46IC88PDxbIFxcdF0qJyhcXHcrKSdcXG4vLFxuICAgIGVuZDogL1sgXFx0XSooXFx3KylcXGIvLFxuICB9KTtcbiAgLy8gbGlzdCBvZiB2YWxpZCB3aGl0ZXNwYWNlcyBiZWNhdXNlIG5vbi1icmVha2luZyBzcGFjZSBtaWdodCBiZSBwYXJ0IG9mIGEgSURFTlRfUkVcbiAgY29uc3QgV0hJVEVTUEFDRSA9ICdbIFxcdFxcbl0nO1xuICBjb25zdCBTVFJJTkcgPSB7XG4gICAgc2NvcGU6ICdzdHJpbmcnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICBET1VCTEVfUVVPVEVELFxuICAgICAgU0lOR0xFX1FVT1RFRCxcbiAgICAgIEhFUkVET0MsXG4gICAgICBOT1dET0NcbiAgICBdXG4gIH07XG4gIGNvbnN0IE5VTUJFUiA9IHtcbiAgICBzY29wZTogJ251bWJlcicsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHsgYmVnaW46IGBcXFxcYjBbYkJdWzAxXSsoPzpfWzAxXSspKlxcXFxiYCB9LCAvLyBCaW5hcnkgdy8gdW5kZXJzY29yZSBzdXBwb3J0XG4gICAgICB7IGJlZ2luOiBgXFxcXGIwW29PXVswLTddKyg/Ol9bMC03XSspKlxcXFxiYCB9LCAvLyBPY3RhbHMgdy8gdW5kZXJzY29yZSBzdXBwb3J0XG4gICAgICB7IGJlZ2luOiBgXFxcXGIwW3hYXVtcXFxcZGEtZkEtRl0rKD86X1tcXFxcZGEtZkEtRl0rKSpcXFxcYmAgfSwgLy8gSGV4IHcvIHVuZGVyc2NvcmUgc3VwcG9ydFxuICAgICAgLy8gRGVjaW1hbHMgdy8gdW5kZXJzY29yZSBzdXBwb3J0LCB3aXRoIG9wdGlvbmFsIGZyYWdtZW50cyBhbmQgc2NpZW50aWZpYyBleHBvbmVudCAoZSkgc3VmZml4LlxuICAgICAgeyBiZWdpbjogYCg/OlxcXFxiXFxcXGQrKD86X1xcXFxkKykqKFxcXFwuKD86XFxcXGQrKD86X1xcXFxkKykqKSk/fFxcXFxCXFxcXC5cXFxcZCspKD86W2VFXVsrLV0/XFxcXGQrKT9gIH1cbiAgICBdLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICBjb25zdCBMSVRFUkFMUyA9IFtcbiAgICBcImZhbHNlXCIsXG4gICAgXCJudWxsXCIsXG4gICAgXCJ0cnVlXCJcbiAgXTtcbiAgY29uc3QgS1dTID0gW1xuICAgIC8vIE1hZ2ljIGNvbnN0YW50czpcbiAgICAvLyA8aHR0cHM6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vbGFuZ3VhZ2UuY29uc3RhbnRzLnByZWRlZmluZWQucGhwPlxuICAgIFwiX19DTEFTU19fXCIsXG4gICAgXCJfX0RJUl9fXCIsXG4gICAgXCJfX0ZJTEVfX1wiLFxuICAgIFwiX19GVU5DVElPTl9fXCIsXG4gICAgXCJfX0NPTVBJTEVSX0hBTFRfT0ZGU0VUX19cIixcbiAgICBcIl9fTElORV9fXCIsXG4gICAgXCJfX01FVEhPRF9fXCIsXG4gICAgXCJfX05BTUVTUEFDRV9fXCIsXG4gICAgXCJfX1RSQUlUX19cIixcbiAgICAvLyBGdW5jdGlvbiB0aGF0IGxvb2sgbGlrZSBsYW5ndWFnZSBjb25zdHJ1Y3Qgb3IgbGFuZ3VhZ2UgY29uc3RydWN0IHRoYXQgbG9vayBsaWtlIGZ1bmN0aW9uOlxuICAgIC8vIExpc3Qgb2Yga2V5d29yZHMgdGhhdCBtYXkgbm90IHJlcXVpcmUgcGFyZW50aGVzaXNcbiAgICBcImRpZVwiLFxuICAgIFwiZWNob1wiLFxuICAgIFwiZXhpdFwiLFxuICAgIFwiaW5jbHVkZVwiLFxuICAgIFwiaW5jbHVkZV9vbmNlXCIsXG4gICAgXCJwcmludFwiLFxuICAgIFwicmVxdWlyZVwiLFxuICAgIFwicmVxdWlyZV9vbmNlXCIsXG4gICAgLy8gVGhlc2UgYXJlIG5vdCBsYW5ndWFnZSBjb25zdHJ1Y3QgKGZ1bmN0aW9uKSBidXQgb3BlcmF0ZSBvbiB0aGUgY3VycmVudGx5LWV4ZWN1dGluZyBmdW5jdGlvbiBhbmQgY2FuIGFjY2VzcyB0aGUgY3VycmVudCBzeW1ib2wgdGFibGVcbiAgICAvLyAnY29tcGFjdCBleHRyYWN0IGZ1bmNfZ2V0X2FyZyBmdW5jX2dldF9hcmdzIGZ1bmNfbnVtX2FyZ3MgZ2V0X2NhbGxlZF9jbGFzcyBnZXRfcGFyZW50X2NsYXNzICcgK1xuICAgIC8vIE90aGVyIGtleXdvcmRzOlxuICAgIC8vIDxodHRwczovL3d3dy5waHAubmV0L21hbnVhbC9lbi9yZXNlcnZlZC5waHA+XG4gICAgLy8gPGh0dHBzOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2xhbmd1YWdlLnR5cGVzLnR5cGUtanVnZ2xpbmcucGhwPlxuICAgIFwiYXJyYXlcIixcbiAgICBcImFic3RyYWN0XCIsXG4gICAgXCJhbmRcIixcbiAgICBcImFzXCIsXG4gICAgXCJiaW5hcnlcIixcbiAgICBcImJvb2xcIixcbiAgICBcImJvb2xlYW5cIixcbiAgICBcImJyZWFrXCIsXG4gICAgXCJjYWxsYWJsZVwiLFxuICAgIFwiY2FzZVwiLFxuICAgIFwiY2F0Y2hcIixcbiAgICBcImNsYXNzXCIsXG4gICAgXCJjbG9uZVwiLFxuICAgIFwiY29uc3RcIixcbiAgICBcImNvbnRpbnVlXCIsXG4gICAgXCJkZWNsYXJlXCIsXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJkb1wiLFxuICAgIFwiZG91YmxlXCIsXG4gICAgXCJlbHNlXCIsXG4gICAgXCJlbHNlaWZcIixcbiAgICBcImVtcHR5XCIsXG4gICAgXCJlbmRkZWNsYXJlXCIsXG4gICAgXCJlbmRmb3JcIixcbiAgICBcImVuZGZvcmVhY2hcIixcbiAgICBcImVuZGlmXCIsXG4gICAgXCJlbmRzd2l0Y2hcIixcbiAgICBcImVuZHdoaWxlXCIsXG4gICAgXCJlbnVtXCIsXG4gICAgXCJldmFsXCIsXG4gICAgXCJleHRlbmRzXCIsXG4gICAgXCJmaW5hbFwiLFxuICAgIFwiZmluYWxseVwiLFxuICAgIFwiZmxvYXRcIixcbiAgICBcImZvclwiLFxuICAgIFwiZm9yZWFjaFwiLFxuICAgIFwiZnJvbVwiLFxuICAgIFwiZ2xvYmFsXCIsXG4gICAgXCJnb3RvXCIsXG4gICAgXCJpZlwiLFxuICAgIFwiaW1wbGVtZW50c1wiLFxuICAgIFwiaW5zdGFuY2VvZlwiLFxuICAgIFwiaW5zdGVhZG9mXCIsXG4gICAgXCJpbnRcIixcbiAgICBcImludGVnZXJcIixcbiAgICBcImludGVyZmFjZVwiLFxuICAgIFwiaXNzZXRcIixcbiAgICBcIml0ZXJhYmxlXCIsXG4gICAgXCJsaXN0XCIsXG4gICAgXCJtYXRjaHwwXCIsXG4gICAgXCJtaXhlZFwiLFxuICAgIFwibmV3XCIsXG4gICAgXCJuZXZlclwiLFxuICAgIFwib2JqZWN0XCIsXG4gICAgXCJvclwiLFxuICAgIFwicHJpdmF0ZVwiLFxuICAgIFwicHJvdGVjdGVkXCIsXG4gICAgXCJwdWJsaWNcIixcbiAgICBcInJlYWRvbmx5XCIsXG4gICAgXCJyZWFsXCIsXG4gICAgXCJyZXR1cm5cIixcbiAgICBcInN0cmluZ1wiLFxuICAgIFwic3dpdGNoXCIsXG4gICAgXCJ0aHJvd1wiLFxuICAgIFwidHJhaXRcIixcbiAgICBcInRyeVwiLFxuICAgIFwidW5zZXRcIixcbiAgICBcInVzZVwiLFxuICAgIFwidmFyXCIsXG4gICAgXCJ2b2lkXCIsXG4gICAgXCJ3aGlsZVwiLFxuICAgIFwieG9yXCIsXG4gICAgXCJ5aWVsZFwiXG4gIF07XG5cbiAgY29uc3QgQlVJTFRfSU5TID0gW1xuICAgIC8vIFN0YW5kYXJkIFBIUCBsaWJyYXJ5OlxuICAgIC8vIDxodHRwczovL3d3dy5waHAubmV0L21hbnVhbC9lbi9ib29rLnNwbC5waHA+XG4gICAgXCJFcnJvcnwwXCIsXG4gICAgXCJBcHBlbmRJdGVyYXRvclwiLFxuICAgIFwiQXJndW1lbnRDb3VudEVycm9yXCIsXG4gICAgXCJBcml0aG1ldGljRXJyb3JcIixcbiAgICBcIkFycmF5SXRlcmF0b3JcIixcbiAgICBcIkFycmF5T2JqZWN0XCIsXG4gICAgXCJBc3NlcnRpb25FcnJvclwiLFxuICAgIFwiQmFkRnVuY3Rpb25DYWxsRXhjZXB0aW9uXCIsXG4gICAgXCJCYWRNZXRob2RDYWxsRXhjZXB0aW9uXCIsXG4gICAgXCJDYWNoaW5nSXRlcmF0b3JcIixcbiAgICBcIkNhbGxiYWNrRmlsdGVySXRlcmF0b3JcIixcbiAgICBcIkNvbXBpbGVFcnJvclwiLFxuICAgIFwiQ291bnRhYmxlXCIsXG4gICAgXCJEaXJlY3RvcnlJdGVyYXRvclwiLFxuICAgIFwiRGl2aXNpb25CeVplcm9FcnJvclwiLFxuICAgIFwiRG9tYWluRXhjZXB0aW9uXCIsXG4gICAgXCJFbXB0eUl0ZXJhdG9yXCIsXG4gICAgXCJFcnJvckV4Y2VwdGlvblwiLFxuICAgIFwiRXhjZXB0aW9uXCIsXG4gICAgXCJGaWxlc3lzdGVtSXRlcmF0b3JcIixcbiAgICBcIkZpbHRlckl0ZXJhdG9yXCIsXG4gICAgXCJHbG9iSXRlcmF0b3JcIixcbiAgICBcIkluZmluaXRlSXRlcmF0b3JcIixcbiAgICBcIkludmFsaWRBcmd1bWVudEV4Y2VwdGlvblwiLFxuICAgIFwiSXRlcmF0b3JJdGVyYXRvclwiLFxuICAgIFwiTGVuZ3RoRXhjZXB0aW9uXCIsXG4gICAgXCJMaW1pdEl0ZXJhdG9yXCIsXG4gICAgXCJMb2dpY0V4Y2VwdGlvblwiLFxuICAgIFwiTXVsdGlwbGVJdGVyYXRvclwiLFxuICAgIFwiTm9SZXdpbmRJdGVyYXRvclwiLFxuICAgIFwiT3V0T2ZCb3VuZHNFeGNlcHRpb25cIixcbiAgICBcIk91dE9mUmFuZ2VFeGNlcHRpb25cIixcbiAgICBcIk91dGVySXRlcmF0b3JcIixcbiAgICBcIk92ZXJmbG93RXhjZXB0aW9uXCIsXG4gICAgXCJQYXJlbnRJdGVyYXRvclwiLFxuICAgIFwiUGFyc2VFcnJvclwiLFxuICAgIFwiUmFuZ2VFeGNlcHRpb25cIixcbiAgICBcIlJlY3Vyc2l2ZUFycmF5SXRlcmF0b3JcIixcbiAgICBcIlJlY3Vyc2l2ZUNhY2hpbmdJdGVyYXRvclwiLFxuICAgIFwiUmVjdXJzaXZlQ2FsbGJhY2tGaWx0ZXJJdGVyYXRvclwiLFxuICAgIFwiUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3JcIixcbiAgICBcIlJlY3Vyc2l2ZUZpbHRlckl0ZXJhdG9yXCIsXG4gICAgXCJSZWN1cnNpdmVJdGVyYXRvclwiLFxuICAgIFwiUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvclwiLFxuICAgIFwiUmVjdXJzaXZlUmVnZXhJdGVyYXRvclwiLFxuICAgIFwiUmVjdXJzaXZlVHJlZUl0ZXJhdG9yXCIsXG4gICAgXCJSZWdleEl0ZXJhdG9yXCIsXG4gICAgXCJSdW50aW1lRXhjZXB0aW9uXCIsXG4gICAgXCJTZWVrYWJsZUl0ZXJhdG9yXCIsXG4gICAgXCJTcGxEb3VibHlMaW5rZWRMaXN0XCIsXG4gICAgXCJTcGxGaWxlSW5mb1wiLFxuICAgIFwiU3BsRmlsZU9iamVjdFwiLFxuICAgIFwiU3BsRml4ZWRBcnJheVwiLFxuICAgIFwiU3BsSGVhcFwiLFxuICAgIFwiU3BsTWF4SGVhcFwiLFxuICAgIFwiU3BsTWluSGVhcFwiLFxuICAgIFwiU3BsT2JqZWN0U3RvcmFnZVwiLFxuICAgIFwiU3BsT2JzZXJ2ZXJcIixcbiAgICBcIlNwbFByaW9yaXR5UXVldWVcIixcbiAgICBcIlNwbFF1ZXVlXCIsXG4gICAgXCJTcGxTdGFja1wiLFxuICAgIFwiU3BsU3ViamVjdFwiLFxuICAgIFwiU3BsVGVtcEZpbGVPYmplY3RcIixcbiAgICBcIlR5cGVFcnJvclwiLFxuICAgIFwiVW5kZXJmbG93RXhjZXB0aW9uXCIsXG4gICAgXCJVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb25cIixcbiAgICBcIlVuaGFuZGxlZE1hdGNoRXJyb3JcIixcbiAgICAvLyBSZXNlcnZlZCBpbnRlcmZhY2VzOlxuICAgIC8vIDxodHRwczovL3d3dy5waHAubmV0L21hbnVhbC9lbi9yZXNlcnZlZC5pbnRlcmZhY2VzLnBocD5cbiAgICBcIkFycmF5QWNjZXNzXCIsXG4gICAgXCJCYWNrZWRFbnVtXCIsXG4gICAgXCJDbG9zdXJlXCIsXG4gICAgXCJGaWJlclwiLFxuICAgIFwiR2VuZXJhdG9yXCIsXG4gICAgXCJJdGVyYXRvclwiLFxuICAgIFwiSXRlcmF0b3JBZ2dyZWdhdGVcIixcbiAgICBcIlNlcmlhbGl6YWJsZVwiLFxuICAgIFwiU3RyaW5nYWJsZVwiLFxuICAgIFwiVGhyb3dhYmxlXCIsXG4gICAgXCJUcmF2ZXJzYWJsZVwiLFxuICAgIFwiVW5pdEVudW1cIixcbiAgICBcIldlYWtSZWZlcmVuY2VcIixcbiAgICBcIldlYWtNYXBcIixcbiAgICAvLyBSZXNlcnZlZCBjbGFzc2VzOlxuICAgIC8vIDxodHRwczovL3d3dy5waHAubmV0L21hbnVhbC9lbi9yZXNlcnZlZC5jbGFzc2VzLnBocD5cbiAgICBcIkRpcmVjdG9yeVwiLFxuICAgIFwiX19QSFBfSW5jb21wbGV0ZV9DbGFzc1wiLFxuICAgIFwicGFyZW50XCIsXG4gICAgXCJwaHBfdXNlcl9maWx0ZXJcIixcbiAgICBcInNlbGZcIixcbiAgICBcInN0YXRpY1wiLFxuICAgIFwic3RkQ2xhc3NcIlxuICBdO1xuXG4gIC8qKiBEdWFsLWNhc2Uga2V5d29yZHNcbiAgICpcbiAgICogW1widGhlblwiLFwiRklMRVwiXSA9PlxuICAgKiAgICAgW1widGhlblwiLCBcIlRIRU5cIiwgXCJGSUxFXCIsIFwiZmlsZVwiXVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBpdGVtcyAqL1xuICBjb25zdCBkdWFsQ2FzZSA9IChpdGVtcykgPT4ge1xuICAgIC8qKiBAdHlwZSBzdHJpbmdbXSAqL1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgIGlmIChpdGVtLnRvTG93ZXJDYXNlKCkgPT09IGl0ZW0pIHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0udG9Mb3dlckNhc2UoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICBjb25zdCBLRVlXT1JEUyA9IHtcbiAgICBrZXl3b3JkOiBLV1MsXG4gICAgbGl0ZXJhbDogZHVhbENhc2UoTElURVJBTFMpLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTlMsXG4gIH07XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGl0ZW1zICovXG4gIGNvbnN0IG5vcm1hbGl6ZUtleXdvcmRzID0gKGl0ZW1zKSA9PiB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnJlcGxhY2UoL1xcfFxcZCskLywgXCJcIik7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgQ09OU1RSVUNUT1JfQ0FMTCA9IHsgdmFyaWFudHM6IFtcbiAgICB7XG4gICAgICBtYXRjaDogW1xuICAgICAgICAvbmV3LyxcbiAgICAgICAgcmVnZXguY29uY2F0KFdISVRFU1BBQ0UsIFwiK1wiKSxcbiAgICAgICAgLy8gdG8gcHJldmVudCBidWlsdCBpbnMgZnJvbSBiZWluZyBjb25mdXNlZCBhcyB0aGUgY2xhc3MgY29uc3RydWN0b3IgY2FsbFxuICAgICAgICByZWdleC5jb25jYXQoXCIoPyFcIiwgbm9ybWFsaXplS2V5d29yZHMoQlVJTFRfSU5TKS5qb2luKFwiXFxcXGJ8XCIpLCBcIlxcXFxiKVwiKSxcbiAgICAgICAgUEFTQ0FMX0NBU0VfQ0xBU1NfTkFNRV9SRSxcbiAgICAgIF0sXG4gICAgICBzY29wZToge1xuICAgICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgICAgNDogXCJ0aXRsZS5jbGFzc1wiLFxuICAgICAgfSxcbiAgICB9XG4gIF0gfTtcblxuICBjb25zdCBDT05TVEFOVF9SRUZFUkVOQ0UgPSByZWdleC5jb25jYXQoSURFTlRfUkUsIFwiXFxcXGIoPyFcXFxcKClcIik7XG5cbiAgY29uc3QgTEVGVF9BTkRfUklHSFRfU0lERV9PRl9ET1VCTEVfQ09MT04gPSB7IHZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgbWF0Y2g6IFtcbiAgICAgICAgcmVnZXguY29uY2F0KFxuICAgICAgICAgIC86Oi8sXG4gICAgICAgICAgcmVnZXgubG9va2FoZWFkKC8oPyFjbGFzc1xcYikvKVxuICAgICAgICApLFxuICAgICAgICBDT05TVEFOVF9SRUZFUkVOQ0UsXG4gICAgICBdLFxuICAgICAgc2NvcGU6IHsgMjogXCJ2YXJpYWJsZS5jb25zdGFudFwiLCB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbWF0Y2g6IFtcbiAgICAgICAgLzo6LyxcbiAgICAgICAgL2NsYXNzLyxcbiAgICAgIF0sXG4gICAgICBzY29wZTogeyAyOiBcInZhcmlhYmxlLmxhbmd1YWdlXCIsIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXRjaDogW1xuICAgICAgICBQQVNDQUxfQ0FTRV9DTEFTU19OQU1FX1JFLFxuICAgICAgICByZWdleC5jb25jYXQoXG4gICAgICAgICAgLzo6LyxcbiAgICAgICAgICByZWdleC5sb29rYWhlYWQoLyg/IWNsYXNzXFxiKS8pXG4gICAgICAgICksXG4gICAgICAgIENPTlNUQU5UX1JFRkVSRU5DRSxcbiAgICAgIF0sXG4gICAgICBzY29wZToge1xuICAgICAgICAxOiBcInRpdGxlLmNsYXNzXCIsXG4gICAgICAgIDM6IFwidmFyaWFibGUuY29uc3RhbnRcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXRjaDogW1xuICAgICAgICBQQVNDQUxfQ0FTRV9DTEFTU19OQU1FX1JFLFxuICAgICAgICByZWdleC5jb25jYXQoXG4gICAgICAgICAgXCI6OlwiLFxuICAgICAgICAgIHJlZ2V4Lmxvb2thaGVhZCgvKD8hY2xhc3NcXGIpLylcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgICBzY29wZTogeyAxOiBcInRpdGxlLmNsYXNzXCIsIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXRjaDogW1xuICAgICAgICBQQVNDQUxfQ0FTRV9DTEFTU19OQU1FX1JFLFxuICAgICAgICAvOjovLFxuICAgICAgICAvY2xhc3MvLFxuICAgICAgXSxcbiAgICAgIHNjb3BlOiB7XG4gICAgICAgIDE6IFwidGl0bGUuY2xhc3NcIixcbiAgICAgICAgMzogXCJ2YXJpYWJsZS5sYW5ndWFnZVwiLFxuICAgICAgfSxcbiAgICB9XG4gIF0gfTtcblxuICBjb25zdCBOQU1FRF9BUkdVTUVOVCA9IHtcbiAgICBzY29wZTogJ2F0dHInLFxuICAgIG1hdGNoOiByZWdleC5jb25jYXQoSURFTlRfUkUsIHJlZ2V4Lmxvb2thaGVhZCgnOicpLCByZWdleC5sb29rYWhlYWQoLyg/ITo6KS8pKSxcbiAgfTtcbiAgY29uc3QgUEFSQU1TX01PREUgPSB7XG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIGJlZ2luOiAvXFwoLyxcbiAgICBlbmQ6IC9cXCkvLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICBjb250YWluczogW1xuICAgICAgTkFNRURfQVJHVU1FTlQsXG4gICAgICBWQVJJQUJMRSxcbiAgICAgIExFRlRfQU5EX1JJR0hUX1NJREVfT0ZfRE9VQkxFX0NPTE9OLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgIFNUUklORyxcbiAgICAgIE5VTUJFUixcbiAgICAgIENPTlNUUlVDVE9SX0NBTEwsXG4gICAgXSxcbiAgfTtcbiAgY29uc3QgRlVOQ1RJT05fSU5WT0tFID0ge1xuICAgIHJlbGV2YW5jZTogMCxcbiAgICBtYXRjaDogW1xuICAgICAgL1xcYi8sXG4gICAgICAvLyB0byBwcmV2ZW50IGtleXdvcmRzIGZyb20gYmVpbmcgY29uZnVzZWQgYXMgdGhlIGZ1bmN0aW9uIHRpdGxlXG4gICAgICByZWdleC5jb25jYXQoXCIoPyFmblxcXFxifGZ1bmN0aW9uXFxcXGJ8XCIsIG5vcm1hbGl6ZUtleXdvcmRzKEtXUykuam9pbihcIlxcXFxifFwiKSwgXCJ8XCIsIG5vcm1hbGl6ZUtleXdvcmRzKEJVSUxUX0lOUykuam9pbihcIlxcXFxifFwiKSwgXCJcXFxcYilcIiksXG4gICAgICBJREVOVF9SRSxcbiAgICAgIHJlZ2V4LmNvbmNhdChXSElURVNQQUNFLCBcIipcIiksXG4gICAgICByZWdleC5sb29rYWhlYWQoLyg/PVxcKCkvKVxuICAgIF0sXG4gICAgc2NvcGU6IHsgMzogXCJ0aXRsZS5mdW5jdGlvbi5pbnZva2VcIiwgfSxcbiAgICBjb250YWluczogWyBQQVJBTVNfTU9ERSBdXG4gIH07XG4gIFBBUkFNU19NT0RFLmNvbnRhaW5zLnB1c2goRlVOQ1RJT05fSU5WT0tFKTtcblxuICBjb25zdCBBVFRSSUJVVEVfQ09OVEFJTlMgPSBbXG4gICAgTkFNRURfQVJHVU1FTlQsXG4gICAgTEVGVF9BTkRfUklHSFRfU0lERV9PRl9ET1VCTEVfQ09MT04sXG4gICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICBTVFJJTkcsXG4gICAgTlVNQkVSLFxuICAgIENPTlNUUlVDVE9SX0NBTEwsXG4gIF07XG5cbiAgY29uc3QgQVRUUklCVVRFUyA9IHtcbiAgICBiZWdpbjogcmVnZXguY29uY2F0KC8jXFxbXFxzKlxcXFw/LyxcbiAgICAgIHJlZ2V4LmVpdGhlcihcbiAgICAgICAgUEFTQ0FMX0NBU0VfQ0xBU1NfTkFNRV9SRSxcbiAgICAgICAgVVBDQVNFX05BTUVfUkVcbiAgICAgIClcbiAgICApLFxuICAgIGJlZ2luU2NvcGU6IFwibWV0YVwiLFxuICAgIGVuZDogL10vLFxuICAgIGVuZFNjb3BlOiBcIm1ldGFcIixcbiAgICBrZXl3b3Jkczoge1xuICAgICAgbGl0ZXJhbDogTElURVJBTFMsXG4gICAgICBrZXl3b3JkOiBbXG4gICAgICAgICduZXcnLFxuICAgICAgICAnYXJyYXknLFxuICAgICAgXVxuICAgIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXFsvLFxuICAgICAgICBlbmQ6IC9dLyxcbiAgICAgICAga2V5d29yZHM6IHtcbiAgICAgICAgICBsaXRlcmFsOiBMSVRFUkFMUyxcbiAgICAgICAgICBrZXl3b3JkOiBbXG4gICAgICAgICAgICAnbmV3JyxcbiAgICAgICAgICAgICdhcnJheScsXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAuLi5BVFRSSUJVVEVfQ09OVEFJTlMsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAuLi5BVFRSSUJVVEVfQ09OVEFJTlMsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiAnbWV0YScsXG4gICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgeyBtYXRjaDogUEFTQ0FMX0NBU0VfQ0xBU1NfTkFNRV9SRSB9LFxuICAgICAgICAgIHsgbWF0Y2g6IFVQQ0FTRV9OQU1FX1JFIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGNhc2VfaW5zZW5zaXRpdmU6IGZhbHNlLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICBjb250YWluczogW1xuICAgICAgQVRUUklCVVRFUyxcbiAgICAgIGhsanMuSEFTSF9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNPTU1FTlQoJy8vJywgJyQnKSxcbiAgICAgIGhsanMuQ09NTUVOVChcbiAgICAgICAgJy9cXFxcKicsXG4gICAgICAgICdcXFxcKi8nLFxuICAgICAgICB7IGNvbnRhaW5zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2NvcGU6ICdkb2N0YWcnLFxuICAgICAgICAgICAgbWF0Y2g6ICdAW0EtWmEtel0rJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSB9XG4gICAgICApLFxuICAgICAge1xuICAgICAgICBtYXRjaDogL19faGFsdF9jb21waWxlclxcKFxcKTsvLFxuICAgICAgICBrZXl3b3JkczogJ19faGFsdF9jb21waWxlcicsXG4gICAgICAgIHN0YXJ0czoge1xuICAgICAgICAgIHNjb3BlOiBcImNvbW1lbnRcIixcbiAgICAgICAgICBlbmQ6IGhsanMuTUFUQ0hfTk9USElOR19SRSxcbiAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtYXRjaDogL1xcPz4vLFxuICAgICAgICAgICAgICBzY29wZTogXCJtZXRhXCIsXG4gICAgICAgICAgICAgIGVuZHNQYXJlbnQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBQUkVQUk9DRVNTT1IsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiAndmFyaWFibGUubGFuZ3VhZ2UnLFxuICAgICAgICBtYXRjaDogL1xcJHRoaXNcXGIvXG4gICAgICB9LFxuICAgICAgVkFSSUFCTEUsXG4gICAgICBGVU5DVElPTl9JTlZPS0UsXG4gICAgICBMRUZUX0FORF9SSUdIVF9TSURFX09GX0RPVUJMRV9DT0xPTixcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvY29uc3QvLFxuICAgICAgICAgIC9cXHMvLFxuICAgICAgICAgIElERU5UX1JFLFxuICAgICAgICBdLFxuICAgICAgICBzY29wZToge1xuICAgICAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgICAgIDM6IFwidmFyaWFibGUuY29uc3RhbnRcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBDT05TVFJVQ1RPUl9DQUxMLFxuICAgICAge1xuICAgICAgICBzY29wZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBiZWdpbktleXdvcmRzOiAnZm4gZnVuY3Rpb24nLFxuICAgICAgICBlbmQ6IC9bO3tdLyxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgaWxsZWdhbDogJ1skJVxcXFxbXScsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgeyBiZWdpbktleXdvcmRzOiAndXNlJywgfSxcbiAgICAgICAgICBobGpzLlVOREVSU0NPUkVfVElUTEVfTU9ERSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogJz0+JywgLy8gTm8gbWFya3VwLCBqdXN0IGEgcmVsZXZhbmNlIGJvb3N0ZXJcbiAgICAgICAgICAgIGVuZHNQYXJlbnQ6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNjb3BlOiAncGFyYW1zJyxcbiAgICAgICAgICAgIGJlZ2luOiAnXFxcXCgnLFxuICAgICAgICAgICAgZW5kOiAnXFxcXCknLFxuICAgICAgICAgICAgZXhjbHVkZUJlZ2luOiB0cnVlLFxuICAgICAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAgICAgQVRUUklCVVRFUyxcbiAgICAgICAgICAgICAgVkFSSUFCTEUsXG4gICAgICAgICAgICAgIExFRlRfQU5EX1JJR0hUX1NJREVfT0ZfRE9VQkxFX0NPTE9OLFxuICAgICAgICAgICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgICAgICAgICBTVFJJTkcsXG4gICAgICAgICAgICAgIE5VTUJFUlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiAnY2xhc3MnLFxuICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luS2V5d29yZHM6IFwiZW51bVwiLFxuICAgICAgICAgICAgaWxsZWdhbDogL1soJFwiXS9cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luS2V5d29yZHM6IFwiY2xhc3MgaW50ZXJmYWNlIHRyYWl0XCIsXG4gICAgICAgICAgICBpbGxlZ2FsOiAvWzooJFwiXS9cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgZW5kOiAvXFx7LyxcbiAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7IGJlZ2luS2V5d29yZHM6ICdleHRlbmRzIGltcGxlbWVudHMnIH0sXG4gICAgICAgICAgaGxqcy5VTkRFUlNDT1JFX1RJVExFX01PREVcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIC8vIGJvdGggdXNlIGFuZCBuYW1lc3BhY2Ugc3RpbGwgdXNlIFwib2xkIHN0eWxlXCIgcnVsZXMgKHZzIG11bHRpLW1hdGNoKVxuICAgICAgLy8gYmVjYXVzZSB0aGUgbmFtZXNwYWNlIG5hbWUgY2FuIGluY2x1ZGUgYFxcYCBhbmQgd2Ugc3RpbGwgd2FudCBlYWNoXG4gICAgICAvLyBlbGVtZW50IHRvIGJlIHRyZWF0ZWQgYXMgaXRzIG93biAqaW5kaXZpZHVhbCogdGl0bGVcbiAgICAgIHtcbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ25hbWVzcGFjZScsXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgZW5kOiAnOycsXG4gICAgICAgIGlsbGVnYWw6IC9bLiddLyxcbiAgICAgICAgY29udGFpbnM6IFsgaGxqcy5pbmhlcml0KGhsanMuVU5ERVJTQ09SRV9USVRMRV9NT0RFLCB7IHNjb3BlOiBcInRpdGxlLmNsYXNzXCIgfSkgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW5LZXl3b3JkczogJ3VzZScsXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgZW5kOiAnOycsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgLy8gVE9ETzogdGl0bGUuZnVuY3Rpb24gdnMgdGl0bGUuY2xhc3NcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogL1xcYihhc3xjb25zdHxmdW5jdGlvbilcXGIvLFxuICAgICAgICAgICAgc2NvcGU6IFwia2V5d29yZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBUT0RPOiBjb3VsZCBiZSB0aXRsZS5jbGFzcyBvciB0aXRsZS5mdW5jdGlvblxuICAgICAgICAgIGhsanMuVU5ERVJTQ09SRV9USVRMRV9NT0RFXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBTVFJJTkcsXG4gICAgICBOVU1CRVIsXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBwaHAgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/php.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/plaintext.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/plaintext.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ plaintext)\n/* harmony export */ });\n/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9wbGFpbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZ0MiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3BsYWludGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFBsYWluIHRleHRcbkF1dGhvcjogRWdvciBSb2dvdiAoZS5yb2dvdkBwb3N0Z3Jlc3Byby5ydSlcbkRlc2NyaXB0aW9uOiBQbGFpbiB0ZXh0IHdpdGhvdXQgYW55IGhpZ2hsaWdodGluZy5cbkNhdGVnb3J5OiBjb21tb25cbiovXG5cbmZ1bmN0aW9uIHBsYWludGV4dChobGpzKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1BsYWluIHRleHQnLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICd0ZXh0JyxcbiAgICAgICd0eHQnXG4gICAgXSxcbiAgICBkaXNhYmxlQXV0b2RldGVjdDogdHJ1ZVxuICB9O1xufVxuXG5leHBvcnQgeyBwbGFpbnRleHQgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/plaintext.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python-repl.js":
/*!*******************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python-repl.js ***!
\*******************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ pythonRepl)\n/* harmony export */ });\n/*\nLanguage: Python REPL\nRequires: python.js\nAuthor: Josh Goebel \nCategory: common\n*/\n\nfunction pythonRepl(hljs) {\n return {\n aliases: [ 'pycon' ],\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'python'\n }\n },\n variants: [\n { begin: /^>>>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9weXRob24tcmVwbC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxZQUFZLHdCQUF3QjtBQUNwQyxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFaUMiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3B5dGhvbi1yZXBsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogUHl0aG9uIFJFUExcblJlcXVpcmVzOiBweXRob24uanNcbkF1dGhvcjogSm9zaCBHb2ViZWwgPGhlbGxvQGpvc2hnb2ViZWwuY29tPlxuQ2F0ZWdvcnk6IGNvbW1vblxuKi9cblxuZnVuY3Rpb24gcHl0aG9uUmVwbChobGpzKSB7XG4gIHJldHVybiB7XG4gICAgYWxpYXNlczogWyAncHljb24nIF0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbWV0YS5wcm9tcHQnLFxuICAgICAgICBzdGFydHM6IHtcbiAgICAgICAgICAvLyBhIHNwYWNlIHNlcGFyYXRlcyB0aGUgUkVQTCBwcmVmaXggZnJvbSB0aGUgYWN0dWFsIGNvZGVcbiAgICAgICAgICAvLyB0aGlzIGlzIHB1cmVseSBmb3IgY2xlYW5lciBIVE1MIG91dHB1dFxuICAgICAgICAgIGVuZDogLyB8JC8sXG4gICAgICAgICAgc3RhcnRzOiB7XG4gICAgICAgICAgICBlbmQ6ICckJyxcbiAgICAgICAgICAgIHN1Ykxhbmd1YWdlOiAncHl0aG9uJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICB7IGJlZ2luOiAvXj4+Pig/PVsgXXwkKS8gfSxcbiAgICAgICAgICB7IGJlZ2luOiAvXlxcLlxcLlxcLig/PVsgXXwkKS8gfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBweXRob25SZXBsIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python-repl.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python.js ***!
\**************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ python)\n/* harmony export */ });\n/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9weXRob24uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCLFVBQVUsS0FBSyxhQUFhO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGNBQWMsRUFBRTtBQUNoQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QixVQUFVLFNBQVMsVUFBVSxRQUFRLFVBQVU7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix5QkFBeUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsVUFBVSxLQUFLLFdBQVcsY0FBYyxVQUFVLFdBQVcsVUFBVTtBQUM5RixPQUFPO0FBQ1A7QUFDQSxtQkFBbUIsV0FBVztBQUM5QixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELFVBQVU7QUFDbkUsT0FBTztBQUNQO0FBQ0EsMkNBQTJDLFVBQVU7QUFDckQsT0FBTztBQUNQO0FBQ0EsNENBQTRDLFVBQVU7QUFDdEQsT0FBTztBQUNQO0FBQ0Esa0RBQWtELFVBQVU7QUFDNUQsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsVUFBVSxVQUFVLFVBQVU7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsUUFBUSxtQ0FBbUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3B5dGhvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFB5dGhvblxuRGVzY3JpcHRpb246IFB5dGhvbiBpcyBhbiBpbnRlcnByZXRlZCwgb2JqZWN0LW9yaWVudGVkLCBoaWdoLWxldmVsIHByb2dyYW1taW5nIGxhbmd1YWdlIHdpdGggZHluYW1pYyBzZW1hbnRpY3MuXG5XZWJzaXRlOiBodHRwczovL3d3dy5weXRob24ub3JnXG5DYXRlZ29yeTogY29tbW9uXG4qL1xuXG5mdW5jdGlvbiBweXRob24oaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIGNvbnN0IElERU5UX1JFID0gL1tcXHB7WElEX1N0YXJ0fV9dXFxwe1hJRF9Db250aW51ZX0qL3U7XG4gIGNvbnN0IFJFU0VSVkVEX1dPUkRTID0gW1xuICAgICdhbmQnLFxuICAgICdhcycsXG4gICAgJ2Fzc2VydCcsXG4gICAgJ2FzeW5jJyxcbiAgICAnYXdhaXQnLFxuICAgICdicmVhaycsXG4gICAgJ2Nhc2UnLFxuICAgICdjbGFzcycsXG4gICAgJ2NvbnRpbnVlJyxcbiAgICAnZGVmJyxcbiAgICAnZGVsJyxcbiAgICAnZWxpZicsXG4gICAgJ2Vsc2UnLFxuICAgICdleGNlcHQnLFxuICAgICdmaW5hbGx5JyxcbiAgICAnZm9yJyxcbiAgICAnZnJvbScsXG4gICAgJ2dsb2JhbCcsXG4gICAgJ2lmJyxcbiAgICAnaW1wb3J0JyxcbiAgICAnaW4nLFxuICAgICdpcycsXG4gICAgJ2xhbWJkYScsXG4gICAgJ21hdGNoJyxcbiAgICAnbm9ubG9jYWx8MTAnLFxuICAgICdub3QnLFxuICAgICdvcicsXG4gICAgJ3Bhc3MnLFxuICAgICdyYWlzZScsXG4gICAgJ3JldHVybicsXG4gICAgJ3RyeScsXG4gICAgJ3doaWxlJyxcbiAgICAnd2l0aCcsXG4gICAgJ3lpZWxkJ1xuICBdO1xuXG4gIGNvbnN0IEJVSUxUX0lOUyA9IFtcbiAgICAnX19pbXBvcnRfXycsXG4gICAgJ2FicycsXG4gICAgJ2FsbCcsXG4gICAgJ2FueScsXG4gICAgJ2FzY2lpJyxcbiAgICAnYmluJyxcbiAgICAnYm9vbCcsXG4gICAgJ2JyZWFrcG9pbnQnLFxuICAgICdieXRlYXJyYXknLFxuICAgICdieXRlcycsXG4gICAgJ2NhbGxhYmxlJyxcbiAgICAnY2hyJyxcbiAgICAnY2xhc3NtZXRob2QnLFxuICAgICdjb21waWxlJyxcbiAgICAnY29tcGxleCcsXG4gICAgJ2RlbGF0dHInLFxuICAgICdkaWN0JyxcbiAgICAnZGlyJyxcbiAgICAnZGl2bW9kJyxcbiAgICAnZW51bWVyYXRlJyxcbiAgICAnZXZhbCcsXG4gICAgJ2V4ZWMnLFxuICAgICdmaWx0ZXInLFxuICAgICdmbG9hdCcsXG4gICAgJ2Zvcm1hdCcsXG4gICAgJ2Zyb3plbnNldCcsXG4gICAgJ2dldGF0dHInLFxuICAgICdnbG9iYWxzJyxcbiAgICAnaGFzYXR0cicsXG4gICAgJ2hhc2gnLFxuICAgICdoZWxwJyxcbiAgICAnaGV4JyxcbiAgICAnaWQnLFxuICAgICdpbnB1dCcsXG4gICAgJ2ludCcsXG4gICAgJ2lzaW5zdGFuY2UnLFxuICAgICdpc3N1YmNsYXNzJyxcbiAgICAnaXRlcicsXG4gICAgJ2xlbicsXG4gICAgJ2xpc3QnLFxuICAgICdsb2NhbHMnLFxuICAgICdtYXAnLFxuICAgICdtYXgnLFxuICAgICdtZW1vcnl2aWV3JyxcbiAgICAnbWluJyxcbiAgICAnbmV4dCcsXG4gICAgJ29iamVjdCcsXG4gICAgJ29jdCcsXG4gICAgJ29wZW4nLFxuICAgICdvcmQnLFxuICAgICdwb3cnLFxuICAgICdwcmludCcsXG4gICAgJ3Byb3BlcnR5JyxcbiAgICAncmFuZ2UnLFxuICAgICdyZXByJyxcbiAgICAncmV2ZXJzZWQnLFxuICAgICdyb3VuZCcsXG4gICAgJ3NldCcsXG4gICAgJ3NldGF0dHInLFxuICAgICdzbGljZScsXG4gICAgJ3NvcnRlZCcsXG4gICAgJ3N0YXRpY21ldGhvZCcsXG4gICAgJ3N0cicsXG4gICAgJ3N1bScsXG4gICAgJ3N1cGVyJyxcbiAgICAndHVwbGUnLFxuICAgICd0eXBlJyxcbiAgICAndmFycycsXG4gICAgJ3ppcCdcbiAgXTtcblxuICBjb25zdCBMSVRFUkFMUyA9IFtcbiAgICAnX19kZWJ1Z19fJyxcbiAgICAnRWxsaXBzaXMnLFxuICAgICdGYWxzZScsXG4gICAgJ05vbmUnLFxuICAgICdOb3RJbXBsZW1lbnRlZCcsXG4gICAgJ1RydWUnXG4gIF07XG5cbiAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3R5cGluZy5odG1sXG4gIC8vIFRPRE86IENvdWxkIHRoZXNlIGJlIHN1cHBsZW1lbnRlZCBieSBhIENhbWVsQ2FzZSBtYXRjaGVyIGluIGNlcnRhaW5cbiAgLy8gY29udGV4dHMsIGxlYXZpbmcgdGhlc2UgcmVtYWluaW5nIG9ubHkgZm9yIHJlbGV2YW5jZSBoaW50aW5nP1xuICBjb25zdCBUWVBFUyA9IFtcbiAgICBcIkFueVwiLFxuICAgIFwiQ2FsbGFibGVcIixcbiAgICBcIkNvcm91dGluZVwiLFxuICAgIFwiRGljdFwiLFxuICAgIFwiTGlzdFwiLFxuICAgIFwiTGl0ZXJhbFwiLFxuICAgIFwiR2VuZXJpY1wiLFxuICAgIFwiT3B0aW9uYWxcIixcbiAgICBcIlNlcXVlbmNlXCIsXG4gICAgXCJTZXRcIixcbiAgICBcIlR1cGxlXCIsXG4gICAgXCJUeXBlXCIsXG4gICAgXCJVbmlvblwiXG4gIF07XG5cbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAgJHBhdHRlcm46IC9bQS1aYS16XVxcdyt8X19cXHcrX18vLFxuICAgIGtleXdvcmQ6IFJFU0VSVkVEX1dPUkRTLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTlMsXG4gICAgbGl0ZXJhbDogTElURVJBTFMsXG4gICAgdHlwZTogVFlQRVNcbiAgfTtcblxuICBjb25zdCBQUk9NUFQgPSB7XG4gICAgY2xhc3NOYW1lOiAnbWV0YScsXG4gICAgYmVnaW46IC9eKD4+PnxcXC5cXC5cXC4pIC9cbiAgfTtcblxuICBjb25zdCBTVUJTVCA9IHtcbiAgICBjbGFzc05hbWU6ICdzdWJzdCcsXG4gICAgYmVnaW46IC9cXHsvLFxuICAgIGVuZDogL1xcfS8sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGlsbGVnYWw6IC8jL1xuICB9O1xuXG4gIGNvbnN0IExJVEVSQUxfQlJBQ0tFVCA9IHtcbiAgICBiZWdpbjogL1xce1xcey8sXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgU1RSSU5HID0ge1xuICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgY29udGFpbnM6IFsgaGxqcy5CQUNLU0xBU0hfRVNDQVBFIF0sXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8oW3VVXXxbYkJdfFtyUl18W2JCXVtyUl18W3JSXVtiQl0pPycnJy8sXG4gICAgICAgIGVuZDogLycnJy8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICAgIFBST01QVFxuICAgICAgICBdLFxuICAgICAgICByZWxldmFuY2U6IDEwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyhbdVVdfFtiQl18W3JSXXxbYkJdW3JSXXxbclJdW2JCXSk/XCJcIlwiLyxcbiAgICAgICAgZW5kOiAvXCJcIlwiLyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICAgICAgUFJPTVBUXG4gICAgICAgIF0sXG4gICAgICAgIHJlbGV2YW5jZTogMTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvKFtmRl1bclJdfFtyUl1bZkZdfFtmRl0pJycnLyxcbiAgICAgICAgZW5kOiAvJycnLyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICAgICAgUFJPTVBULFxuICAgICAgICAgIExJVEVSQUxfQlJBQ0tFVCxcbiAgICAgICAgICBTVUJTVFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyhbZkZdW3JSXXxbclJdW2ZGXXxbZkZdKVwiXCJcIi8sXG4gICAgICAgIGVuZDogL1wiXCJcIi8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICAgIFBST01QVCxcbiAgICAgICAgICBMSVRFUkFMX0JSQUNLRVQsXG4gICAgICAgICAgU1VCU1RcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8oW3VVXXxbclJdKScvLFxuICAgICAgICBlbmQ6IC8nLyxcbiAgICAgICAgcmVsZXZhbmNlOiAxMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8oW3VVXXxbclJdKVwiLyxcbiAgICAgICAgZW5kOiAvXCIvLFxuICAgICAgICByZWxldmFuY2U6IDEwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyhbYkJdfFtiQl1bclJdfFtyUl1bYkJdKScvLFxuICAgICAgICBlbmQ6IC8nL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8oW2JCXXxbYkJdW3JSXXxbclJdW2JCXSlcIi8sXG4gICAgICAgIGVuZDogL1wiL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8oW2ZGXVtyUl18W3JSXVtmRl18W2ZGXSknLyxcbiAgICAgICAgZW5kOiAvJy8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICAgIExJVEVSQUxfQlJBQ0tFVCxcbiAgICAgICAgICBTVUJTVFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyhbZkZdW3JSXXxbclJdW2ZGXXxbZkZdKVwiLyxcbiAgICAgICAgZW5kOiAvXCIvLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgICAgICBMSVRFUkFMX0JSQUNLRVQsXG4gICAgICAgICAgU1VCU1RcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREVcbiAgICBdXG4gIH07XG5cbiAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy45L3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLmh0bWwjbnVtZXJpYy1saXRlcmFsc1xuICBjb25zdCBkaWdpdHBhcnQgPSAnWzAtOV0oXz9bMC05XSkqJztcbiAgY29uc3QgcG9pbnRmbG9hdCA9IGAoXFxcXGIoJHtkaWdpdHBhcnR9KSk/XFxcXC4oJHtkaWdpdHBhcnR9KXxcXFxcYigke2RpZ2l0cGFydH0pXFxcXC5gO1xuICAvLyBXaGl0ZXNwYWNlIGFmdGVyIGEgbnVtYmVyIChvciBhbnkgbGV4aWNhbCB0b2tlbikgaXMgbmVlZGVkIG9ubHkgaWYgaXRzIGFic2VuY2VcbiAgLy8gd291bGQgY2hhbmdlIHRoZSB0b2tlbml6YXRpb25cbiAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy45L3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLmh0bWwjd2hpdGVzcGFjZS1iZXR3ZWVuLXRva2Vuc1xuICAvLyBXZSBkZXZpYXRlIHNsaWdodGx5LCByZXF1aXJpbmcgYSB3b3JkIGJvdW5kYXJ5IG9yIGEga2V5d29yZFxuICAvLyB0byBhdm9pZCBhY2NpZGVudGFsbHkgcmVjb2duaXppbmcgKnByZWZpeGVzKiAoZS5nLiwgYDBgIGluIGAweDQxYCBvciBgMDhgIG9yIGAwX18xYClcbiAgY29uc3QgbG9va2FoZWFkID0gYFxcXFxifCR7UkVTRVJWRURfV09SRFMuam9pbignfCcpfWA7XG4gIGNvbnN0IE5VTUJFUiA9IHtcbiAgICBjbGFzc05hbWU6ICdudW1iZXInLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICB2YXJpYW50czogW1xuICAgICAgLy8gZXhwb25lbnRmbG9hdCwgcG9pbnRmbG9hdFxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy45L3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLmh0bWwjZmxvYXRpbmctcG9pbnQtbGl0ZXJhbHNcbiAgICAgIC8vIG9wdGlvbmFsbHkgaW1hZ2luYXJ5XG4gICAgICAvLyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zLjkvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMuaHRtbCNpbWFnaW5hcnktbGl0ZXJhbHNcbiAgICAgIC8vIE5vdGU6IG5vIGxlYWRpbmcgXFxiIGJlY2F1c2UgZmxvYXRzIGNhbiBzdGFydCB3aXRoIGEgZGVjaW1hbCBwb2ludFxuICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gbWlzaGFuZGxlIGUuZy4gYGZuKC41KWAsXG4gICAgICAvLyBubyB0cmFpbGluZyBcXGIgZm9yIHBvaW50ZmxvYXQgYmVjYXVzZSBpdCBjYW4gZW5kIHdpdGggYSBkZWNpbWFsIHBvaW50XG4gICAgICAvLyBhbmQgd2UgZG9uJ3Qgd2FudCB0byBtaXNoYW5kbGUgZS5nLiBgMC4uaGV4KClgOyB0aGlzIHNob3VsZCBiZSBzYWZlXG4gICAgICAvLyBiZWNhdXNlIGJvdGggTVVTVCBjb250YWluIGEgZGVjaW1hbCBwb2ludCBhbmQgc28gY2Fubm90IGJlIGNvbmZ1c2VkIHdpdGhcbiAgICAgIC8vIHRoZSBpbnRlcmlvciBwYXJ0IG9mIGFuIGlkZW50aWZpZXJcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IGAoXFxcXGIoJHtkaWdpdHBhcnR9KXwoJHtwb2ludGZsb2F0fSkpW2VFXVsrLV0/KCR7ZGlnaXRwYXJ0fSlbakpdPyg/PSR7bG9va2FoZWFkfSlgXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogYCgke3BvaW50ZmxvYXR9KVtqSl0/YFxuICAgICAgfSxcblxuICAgICAgLy8gZGVjaW50ZWdlciwgYmluaW50ZWdlciwgb2N0aW50ZWdlciwgaGV4aW50ZWdlclxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy45L3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLmh0bWwjaW50ZWdlci1saXRlcmFsc1xuICAgICAgLy8gb3B0aW9uYWxseSBcImxvbmdcIiBpbiBQeXRob24gMlxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi43L3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLmh0bWwjaW50ZWdlci1hbmQtbG9uZy1pbnRlZ2VyLWxpdGVyYWxzXG4gICAgICAvLyBkZWNpbnRlZ2VyIGlzIG9wdGlvbmFsbHkgaW1hZ2luYXJ5XG4gICAgICAvLyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zLjkvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMuaHRtbCNpbWFnaW5hcnktbGl0ZXJhbHNcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IGBcXFxcYihbMS05XShfP1swLTldKSp8MCsoXz8wKSopW2xMakpdPyg/PSR7bG9va2FoZWFkfSlgXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogYFxcXFxiMFtiQl0oXz9bMDFdKStbbExdPyg/PSR7bG9va2FoZWFkfSlgXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogYFxcXFxiMFtvT10oXz9bMC03XSkrW2xMXT8oPz0ke2xvb2thaGVhZH0pYFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IGBcXFxcYjBbeFhdKF8/WzAtOWEtZkEtRl0pK1tsTF0/KD89JHtsb29rYWhlYWR9KWBcbiAgICAgIH0sXG5cbiAgICAgIC8vIGltYWdudW1iZXIgKGRpZ2l0cGFydC1iYXNlZClcbiAgICAgIC8vIGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMuOS9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5odG1sI2ltYWdpbmFyeS1saXRlcmFsc1xuICAgICAge1xuICAgICAgICBiZWdpbjogYFxcXFxiKCR7ZGlnaXRwYXJ0fSlbakpdKD89JHtsb29rYWhlYWR9KWBcbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIGNvbnN0IENPTU1FTlRfVFlQRSA9IHtcbiAgICBjbGFzc05hbWU6IFwiY29tbWVudFwiLFxuICAgIGJlZ2luOiByZWdleC5sb29rYWhlYWQoLyMgdHlwZTovKSxcbiAgICBlbmQ6IC8kLyxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIHsgLy8gcHJldmVudCBrZXl3b3JkcyBmcm9tIGNvbG9yaW5nIGB0eXBlYFxuICAgICAgICBiZWdpbjogLyMgdHlwZTovXG4gICAgICB9LFxuICAgICAgLy8gY29tbWVudCB3aXRoaW4gYSBkYXRhdHlwZSBjb21tZW50IGluY2x1ZGVzIG5vIGtleXdvcmRzXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvIy8sXG4gICAgICAgIGVuZDogL1xcYlxcQi8sXG4gICAgICAgIGVuZHNXaXRoUGFyZW50OiB0cnVlXG4gICAgICB9XG4gICAgXVxuICB9O1xuICBjb25zdCBQQVJBTVMgPSB7XG4gICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgLy8gRXhjbHVkZSBwYXJhbXMgaW4gZnVuY3Rpb25zIHdpdGhvdXQgcGFyYW1zXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJcIixcbiAgICAgICAgYmVnaW46IC9cXChcXHMqXFwpLyxcbiAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAnc2VsZicsXG4gICAgICAgICAgUFJPTVBULFxuICAgICAgICAgIE5VTUJFUixcbiAgICAgICAgICBTVFJJTkcsXG4gICAgICAgICAgaGxqcy5IQVNIX0NPTU1FTlRfTU9ERVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xuICBTVUJTVC5jb250YWlucyA9IFtcbiAgICBTVFJJTkcsXG4gICAgTlVNQkVSLFxuICAgIFBST01QVFxuICBdO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1B5dGhvbicsXG4gICAgYWxpYXNlczogW1xuICAgICAgJ3B5JyxcbiAgICAgICdneXAnLFxuICAgICAgJ2lweXRob24nXG4gICAgXSxcbiAgICB1bmljb2RlUmVnZXg6IHRydWUsXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGlsbGVnYWw6IC8oPFxcL3xcXD8pfD0+LyxcbiAgICBjb250YWluczogW1xuICAgICAgUFJPTVBULFxuICAgICAgTlVNQkVSLFxuICAgICAge1xuICAgICAgICAvLyB2ZXJ5IGNvbW1vbiBjb252ZW50aW9uXG4gICAgICAgIHNjb3BlOiAndmFyaWFibGUubGFuZ3VhZ2UnLFxuICAgICAgICBtYXRjaDogL1xcYnNlbGZcXGIvXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBlYXQgXCJpZlwiIHByaW9yIHRvIHN0cmluZyBzbyB0aGF0IGl0IHdvbid0IGFjY2lkZW50YWxseSBiZVxuICAgICAgICAvLyBsYWJlbGVkIGFzIGFuIGYtc3RyaW5nXG4gICAgICAgIGJlZ2luS2V5d29yZHM6IFwiaWZcIixcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgeyBtYXRjaDogL1xcYm9yXFxiLywgc2NvcGU6IFwia2V5d29yZFwiIH0sXG4gICAgICBTVFJJTkcsXG4gICAgICBDT01NRU5UX1RZUEUsXG4gICAgICBobGpzLkhBU0hfQ09NTUVOVF9NT0RFLFxuICAgICAge1xuICAgICAgICBtYXRjaDogW1xuICAgICAgICAgIC9cXGJkZWYvLCAvXFxzKy8sXG4gICAgICAgICAgSURFTlRfUkUsXG4gICAgICAgIF0sXG4gICAgICAgIHNjb3BlOiB7XG4gICAgICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgMzogXCJ0aXRsZS5mdW5jdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRhaW5zOiBbIFBBUkFNUyBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1hdGNoOiBbXG4gICAgICAgICAgICAgIC9cXGJjbGFzcy8sIC9cXHMrLyxcbiAgICAgICAgICAgICAgSURFTlRfUkUsIC9cXHMqLyxcbiAgICAgICAgICAgICAgL1xcKFxccyovLCBJREVOVF9SRSwvXFxzKlxcKS9cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogW1xuICAgICAgICAgICAgICAvXFxiY2xhc3MvLCAvXFxzKy8sXG4gICAgICAgICAgICAgIElERU5UX1JFXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgc2NvcGU6IHtcbiAgICAgICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgICAgICAzOiBcInRpdGxlLmNsYXNzXCIsXG4gICAgICAgICAgNjogXCJ0aXRsZS5jbGFzcy5pbmhlcml0ZWRcIixcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbWV0YScsXG4gICAgICAgIGJlZ2luOiAvXltcXHQgXSpALyxcbiAgICAgICAgZW5kOiAvKD89Iyl8JC8sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgTlVNQkVSLFxuICAgICAgICAgIFBBUkFNUyxcbiAgICAgICAgICBTVFJJTkdcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsgcHl0aG9uIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/r.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/r.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ r)\n/* harmony export */ });\n/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(? {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ruby)\n/* harmony export */ });\n/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov \nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?,\n end: />/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::' },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|(?!=)/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9ydWJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsUUFBUSxrQkFBa0IsSUFBSSxJQUFJO0FBQ2xDLFFBQVEsNEJBQTRCLElBQUksSUFBSTtBQUM1QyxRQUFRLGtCQUFrQixhQUFhLElBQUksRUFBRSxLQUFLO0FBQ2xELFFBQVEsa0VBQWtFO0FBQzFFLFFBQVEsa0NBQWtDO0FBQzFDLFFBQVEsb0JBQW9CO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxjQUFjLFFBQVEsUUFBUSxPQUFPLGdCQUFnQixPQUFPLGFBQWE7O0FBRWpGO0FBQ0E7QUFDQSxRQUFRLHlDQUF5QztBQUNqRCxRQUFRLHlDQUF5QztBQUNqRCxRQUFRLHlDQUF5QztBQUNqRCxRQUFRLHFEQUFxRDs7QUFFN0Q7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsMEJBQTBCO0FBQzFCLHNCQUFzQjtBQUN0QixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLGdCQUFnQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUyQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvcnVieS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFJ1YnlcbkRlc2NyaXB0aW9uOiBSdWJ5IGlzIGEgZHluYW1pYywgb3BlbiBzb3VyY2UgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugd2l0aCBhIGZvY3VzIG9uIHNpbXBsaWNpdHkgYW5kIHByb2R1Y3Rpdml0eS5cbldlYnNpdGU6IGh0dHBzOi8vd3d3LnJ1YnktbGFuZy5vcmcvXG5BdXRob3I6IEFudG9uIEtvdmFseW92IDxhbnRvbkBrb3ZhbHlvdi5uZXQ+XG5Db250cmlidXRvcnM6IFBldGVyIExlb25vdiA8Z29qcGVnQHlhbmRleC5ydT4sIFZhc2lseSBQb2xvdm55b3YgPHZhc3RAd2hpdGVhbnRzLm5ldD4sIExvcmVuIFNlZ2FsIDxsc2VnYWxAc29lbi5jYT4sIFBhc2NhbCBIdXJuaSA8cGhpQHJ1YnktcmVhY3RpdmUub3JnPiwgQ2VkcmljIFNvaHJhdWVyIDxzb2hyYXVlckBnb29nbGVtYWlsLmNvbT5cbkNhdGVnb3J5OiBjb21tb24sIHNjcmlwdGluZ1xuKi9cblxuZnVuY3Rpb24gcnVieShobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgUlVCWV9NRVRIT0RfUkUgPSAnKFthLXpBLVpfXVxcXFx3KlshPz1dP3xbLSt+XUB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcXFwqXFxcXCp8Wy0vKyVeJip+YHxdfFxcXFxbXFxcXF09PyknO1xuICAvLyBUT0RPOiBtb3ZlIGNvbmNlcHRzIGxpa2UgQ0FNRUxfQ0FTRSBpbnRvIGBtb2Rlcy5qc2BcbiAgY29uc3QgQ0xBU1NfTkFNRV9SRSA9IHJlZ2V4LmVpdGhlcihcbiAgICAvXFxiKFtBLVpdK1thLXowLTldKykrLyxcbiAgICAvLyBlbmRzIGluIGNhcHNcbiAgICAvXFxiKFtBLVpdK1thLXowLTldKykrW0EtWl0rLyxcbiAgKVxuICA7XG4gIGNvbnN0IENMQVNTX05BTUVfV0lUSF9OQU1FU1BBQ0VfUkUgPSByZWdleC5jb25jYXQoQ0xBU1NfTkFNRV9SRSwgLyg6OlxcdyspKi8pO1xuICAvLyB2ZXJ5IHBvcHVsYXIgcnVieSBidWlsdC1pbnMgdGhhdCBvbmUgbWlnaHQgZXZlbiBhc3N1bWVcbiAgLy8gYXJlIGFjdHVhbCBrZXl3b3JkcyAoZGVzcGl0ZSB0aGF0IG5vdCBiZWluZyB0aGUgY2FzZSlcbiAgY29uc3QgUFNFVURPX0tXUyA9IFtcbiAgICBcImluY2x1ZGVcIixcbiAgICBcImV4dGVuZFwiLFxuICAgIFwicHJlcGVuZFwiLFxuICAgIFwicHVibGljXCIsXG4gICAgXCJwcml2YXRlXCIsXG4gICAgXCJwcm90ZWN0ZWRcIixcbiAgICBcInJhaXNlXCIsXG4gICAgXCJ0aHJvd1wiXG4gIF07XG4gIGNvbnN0IFJVQllfS0VZV09SRFMgPSB7XG4gICAgXCJ2YXJpYWJsZS5jb25zdGFudFwiOiBbXG4gICAgICBcIl9fRklMRV9fXCIsXG4gICAgICBcIl9fTElORV9fXCIsXG4gICAgICBcIl9fRU5DT0RJTkdfX1wiXG4gICAgXSxcbiAgICBcInZhcmlhYmxlLmxhbmd1YWdlXCI6IFtcbiAgICAgIFwic2VsZlwiLFxuICAgICAgXCJzdXBlclwiLFxuICAgIF0sXG4gICAga2V5d29yZDogW1xuICAgICAgXCJhbGlhc1wiLFxuICAgICAgXCJhbmRcIixcbiAgICAgIFwiYmVnaW5cIixcbiAgICAgIFwiQkVHSU5cIixcbiAgICAgIFwiYnJlYWtcIixcbiAgICAgIFwiY2FzZVwiLFxuICAgICAgXCJjbGFzc1wiLFxuICAgICAgXCJkZWZpbmVkXCIsXG4gICAgICBcImRvXCIsXG4gICAgICBcImVsc2VcIixcbiAgICAgIFwiZWxzaWZcIixcbiAgICAgIFwiZW5kXCIsXG4gICAgICBcIkVORFwiLFxuICAgICAgXCJlbnN1cmVcIixcbiAgICAgIFwiZm9yXCIsXG4gICAgICBcImlmXCIsXG4gICAgICBcImluXCIsXG4gICAgICBcIm1vZHVsZVwiLFxuICAgICAgXCJuZXh0XCIsXG4gICAgICBcIm5vdFwiLFxuICAgICAgXCJvclwiLFxuICAgICAgXCJyZWRvXCIsXG4gICAgICBcInJlcXVpcmVcIixcbiAgICAgIFwicmVzY3VlXCIsXG4gICAgICBcInJldHJ5XCIsXG4gICAgICBcInJldHVyblwiLFxuICAgICAgXCJ0aGVuXCIsXG4gICAgICBcInVuZGVmXCIsXG4gICAgICBcInVubGVzc1wiLFxuICAgICAgXCJ1bnRpbFwiLFxuICAgICAgXCJ3aGVuXCIsXG4gICAgICBcIndoaWxlXCIsXG4gICAgICBcInlpZWxkXCIsXG4gICAgICAuLi5QU0VVRE9fS1dTXG4gICAgXSxcbiAgICBidWlsdF9pbjogW1xuICAgICAgXCJwcm9jXCIsXG4gICAgICBcImxhbWJkYVwiLFxuICAgICAgXCJhdHRyX2FjY2Vzc29yXCIsXG4gICAgICBcImF0dHJfcmVhZGVyXCIsXG4gICAgICBcImF0dHJfd3JpdGVyXCIsXG4gICAgICBcImRlZmluZV9tZXRob2RcIixcbiAgICAgIFwicHJpdmF0ZV9jb25zdGFudFwiLFxuICAgICAgXCJtb2R1bGVfZnVuY3Rpb25cIlxuICAgIF0sXG4gICAgbGl0ZXJhbDogW1xuICAgICAgXCJ0cnVlXCIsXG4gICAgICBcImZhbHNlXCIsXG4gICAgICBcIm5pbFwiXG4gICAgXVxuICB9O1xuICBjb25zdCBZQVJET0NUQUcgPSB7XG4gICAgY2xhc3NOYW1lOiAnZG9jdGFnJyxcbiAgICBiZWdpbjogJ0BbQS1aYS16XSsnXG4gIH07XG4gIGNvbnN0IElSQl9PQkpFQ1QgPSB7XG4gICAgYmVnaW46ICcjPCcsXG4gICAgZW5kOiAnPidcbiAgfTtcbiAgY29uc3QgQ09NTUVOVF9NT0RFUyA9IFtcbiAgICBobGpzLkNPTU1FTlQoXG4gICAgICAnIycsXG4gICAgICAnJCcsXG4gICAgICB7IGNvbnRhaW5zOiBbIFlBUkRPQ1RBRyBdIH1cbiAgICApLFxuICAgIGhsanMuQ09NTUVOVChcbiAgICAgICdePWJlZ2luJyxcbiAgICAgICdePWVuZCcsXG4gICAgICB7XG4gICAgICAgIGNvbnRhaW5zOiBbIFlBUkRPQ1RBRyBdLFxuICAgICAgICByZWxldmFuY2U6IDEwXG4gICAgICB9XG4gICAgKSxcbiAgICBobGpzLkNPTU1FTlQoJ15fX0VORF9fJywgaGxqcy5NQVRDSF9OT1RISU5HX1JFKVxuICBdO1xuICBjb25zdCBTVUJTVCA9IHtcbiAgICBjbGFzc05hbWU6ICdzdWJzdCcsXG4gICAgYmVnaW46IC8jXFx7LyxcbiAgICBlbmQ6IC9cXH0vLFxuICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTXG4gIH07XG4gIGNvbnN0IFNUUklORyA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICBTVUJTVFxuICAgIF0sXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8nLyxcbiAgICAgICAgZW5kOiAvJy9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvXCIvLFxuICAgICAgICBlbmQ6IC9cIi9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvYC8sXG4gICAgICAgIGVuZDogL2AvXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyVbcVF3V3hdP1xcKC8sXG4gICAgICAgIGVuZDogL1xcKS9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvJVtxUXdXeF0/XFxbLyxcbiAgICAgICAgZW5kOiAvXFxdL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8lW3FRd1d4XT9cXHsvLFxuICAgICAgICBlbmQ6IC9cXH0vXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyVbcVF3V3hdPzwvLFxuICAgICAgICBlbmQ6IC8+L1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8lW3FRd1d4XT9cXC8vLFxuICAgICAgICBlbmQ6IC9cXC8vXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBiZWdpbjogLyVbcVF3V3hdPyUvLFxuICAgICAgICBlbmQ6IC8lL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8lW3FRd1d4XT8tLyxcbiAgICAgICAgZW5kOiAvLS9cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvJVtxUXdXeF0/XFx8LyxcbiAgICAgICAgZW5kOiAvXFx8L1xuICAgICAgfSxcbiAgICAgIC8vIGluIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbnMsIFxcQiBpbiB0aGUgYmVnaW5uaW5nIHN1cHByZXNzZXMgcmVjb2duaXRpb24gb2YgPy1zZXF1ZW5jZXNcbiAgICAgIC8vIHdoZXJlID8gaXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgcHJlY2VkaW5nIGlkZW50aWZpZXIsIGFzIGluOiBgZnVuYz80YFxuICAgICAgeyBiZWdpbjogL1xcQlxcPyhcXFxcXFxkezEsM30pLyB9LFxuICAgICAgeyBiZWdpbjogL1xcQlxcPyhcXFxceFtBLUZhLWYwLTldezEsMn0pLyB9LFxuICAgICAgeyBiZWdpbjogL1xcQlxcPyhcXFxcdVxcez9bQS1GYS1mMC05XXsxLDZ9XFx9PykvIH0sXG4gICAgICB7IGJlZ2luOiAvXFxCXFw/KFxcXFxNLVxcXFxDLXxcXFxcTS1cXFxcY3xcXFxcY1xcXFxNLXxcXFxcTS18XFxcXEMtXFxcXE0tKVtcXHgyMC1cXHg3ZV0vIH0sXG4gICAgICB7IGJlZ2luOiAvXFxCXFw/XFxcXChjfEMtKVtcXHgyMC1cXHg3ZV0vIH0sXG4gICAgICB7IGJlZ2luOiAvXFxCXFw/XFxcXD9cXFMvIH0sXG4gICAgICAvLyBoZXJlZG9jc1xuICAgICAge1xuICAgICAgICAvLyB0aGlzIGd1YXJkIG1ha2VzIHN1cmUgdGhhdCB3ZSBoYXZlIGFuIGVudGlyZSBoZXJlZG9jIGFuZCBub3QgYSBmYWxzZVxuICAgICAgICAvLyBwb3NpdGl2ZSAoYXV0by1kZXRlY3QsIGV0Yy4pXG4gICAgICAgIGJlZ2luOiByZWdleC5jb25jYXQoXG4gICAgICAgICAgLzw8Wy1+XT8nPy8sXG4gICAgICAgICAgcmVnZXgubG9va2FoZWFkKC8oXFx3KykoPz1cXFcpW15cXG5dKlxcbig/OlteXFxuXSpcXG4pKj9cXHMqXFwxXFxiLylcbiAgICAgICAgKSxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBobGpzLkVORF9TQU1FX0FTX0JFR0lOKHtcbiAgICAgICAgICAgIGJlZ2luOiAvKFxcdyspLyxcbiAgICAgICAgICAgIGVuZDogLyhcXHcrKS8sXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEUsXG4gICAgICAgICAgICAgIFNVQlNUXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICAvLyBSdWJ5IHN5bnRheCBpcyB1bmRlcmRvY3VtZW50ZWQsIGJ1dCB0aGlzIGdyYW1tYXIgc2VlbXMgdG8gYmUgYWNjdXJhdGVcbiAgLy8gYXMgb2YgdmVyc2lvbiAyLjcuMiAoY29uZmlybWVkIHdpdGggKGlyYiBhbmQgYFJpcHBlci5zZXhwKC4uLilgKVxuICAvLyBodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi8yLjcuMC9kb2Mvc3ludGF4L2xpdGVyYWxzX3Jkb2MuaHRtbCNsYWJlbC1OdW1iZXJzXG4gIGNvbnN0IGRlY2ltYWwgPSAnWzEtOV0oXz9bMC05XSkqfDAnO1xuICBjb25zdCBkaWdpdHMgPSAnWzAtOV0oXz9bMC05XSkqJztcbiAgY29uc3QgTlVNQkVSID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyBkZWNpbWFsIGludGVnZXIvZmxvYXQsIG9wdGlvbmFsbHkgZXhwb25lbnRpYWwgb3IgcmF0aW9uYWwsIG9wdGlvbmFsbHkgaW1hZ2luYXJ5XG4gICAgICB7IGJlZ2luOiBgXFxcXGIoJHtkZWNpbWFsfSkoXFxcXC4oJHtkaWdpdHN9KSk/KFtlRV1bKy1dPygke2RpZ2l0c30pfHIpP2k/XFxcXGJgIH0sXG5cbiAgICAgIC8vIGV4cGxpY2l0IGRlY2ltYWwvYmluYXJ5L29jdGFsL2hleGFkZWNpbWFsIGludGVnZXIsXG4gICAgICAvLyBvcHRpb25hbGx5IHJhdGlvbmFsIGFuZC9vciBpbWFnaW5hcnlcbiAgICAgIHsgYmVnaW46IFwiXFxcXGIwW2REXVswLTldKF8/WzAtOV0pKnI/aT9cXFxcYlwiIH0sXG4gICAgICB7IGJlZ2luOiBcIlxcXFxiMFtiQl1bMC0xXShfP1swLTFdKSpyP2k/XFxcXGJcIiB9LFxuICAgICAgeyBiZWdpbjogXCJcXFxcYjBbb09dWzAtN10oXz9bMC03XSkqcj9pP1xcXFxiXCIgfSxcbiAgICAgIHsgYmVnaW46IFwiXFxcXGIwW3hYXVswLTlhLWZBLUZdKF8/WzAtOWEtZkEtRl0pKnI/aT9cXFxcYlwiIH0sXG5cbiAgICAgIC8vIDAtcHJlZml4ZWQgaW1wbGljaXQgb2N0YWwgaW50ZWdlciwgb3B0aW9uYWxseSByYXRpb25hbCBhbmQvb3IgaW1hZ2luYXJ5XG4gICAgICB7IGJlZ2luOiBcIlxcXFxiMChfP1swLTddKStyP2k/XFxcXGJcIiB9XG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IFBBUkFNUyA9IHtcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBtYXRjaDogL1xcKFxcKS8sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICBiZWdpbjogL1xcKC8sXG4gICAgICAgIGVuZDogLyg/PVxcKSkvLFxuICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgIGVuZHNQYXJlbnQ6IHRydWUsXG4gICAgICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTLFxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICBjb25zdCBJTkNMVURFX0VYVEVORCA9IHtcbiAgICBtYXRjaDogW1xuICAgICAgLyhpbmNsdWRlfGV4dGVuZClcXHMrLyxcbiAgICAgIENMQVNTX05BTUVfV0lUSF9OQU1FU1BBQ0VfUkVcbiAgICBdLFxuICAgIHNjb3BlOiB7XG4gICAgICAyOiBcInRpdGxlLmNsYXNzXCJcbiAgICB9LFxuICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTXG4gIH07XG5cbiAgY29uc3QgQ0xBU1NfREVGSU5JVElPTiA9IHtcbiAgICB2YXJpYW50czogW1xuICAgICAge1xuICAgICAgICBtYXRjaDogW1xuICAgICAgICAgIC9jbGFzc1xccysvLFxuICAgICAgICAgIENMQVNTX05BTUVfV0lUSF9OQU1FU1BBQ0VfUkUsXG4gICAgICAgICAgL1xccys8XFxzKy8sXG4gICAgICAgICAgQ0xBU1NfTkFNRV9XSVRIX05BTUVTUEFDRV9SRVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtYXRjaDogW1xuICAgICAgICAgIC9cXGIoY2xhc3N8bW9kdWxlKVxccysvLFxuICAgICAgICAgIENMQVNTX05BTUVfV0lUSF9OQU1FU1BBQ0VfUkVcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF0sXG4gICAgc2NvcGU6IHtcbiAgICAgIDI6IFwidGl0bGUuY2xhc3NcIixcbiAgICAgIDQ6IFwidGl0bGUuY2xhc3MuaW5oZXJpdGVkXCJcbiAgICB9LFxuICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTXG4gIH07XG5cbiAgY29uc3QgVVBQRVJfQ0FTRV9DT05TVEFOVCA9IHtcbiAgICByZWxldmFuY2U6IDAsXG4gICAgbWF0Y2g6IC9cXGJbQS1aXVtBLVpfMC05XStcXGIvLFxuICAgIGNsYXNzTmFtZTogXCJ2YXJpYWJsZS5jb25zdGFudFwiXG4gIH07XG5cbiAgY29uc3QgTUVUSE9EX0RFRklOSVRJT04gPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC9kZWYvLCAvXFxzKy8sXG4gICAgICBSVUJZX01FVEhPRF9SRVxuICAgIF0sXG4gICAgc2NvcGU6IHtcbiAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgMzogXCJ0aXRsZS5mdW5jdGlvblwiXG4gICAgfSxcbiAgICBjb250YWluczogW1xuICAgICAgUEFSQU1TXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IE9CSkVDVF9DUkVBVElPTiA9IHtcbiAgICByZWxldmFuY2U6IDAsXG4gICAgbWF0Y2g6IFtcbiAgICAgIENMQVNTX05BTUVfV0lUSF9OQU1FU1BBQ0VfUkUsXG4gICAgICAvXFwubmV3Wy4gKF0vXG4gICAgXSxcbiAgICBzY29wZToge1xuICAgICAgMTogXCJ0aXRsZS5jbGFzc1wiXG4gICAgfVxuICB9O1xuXG4gIC8vIENhbWVsQ2FzZVxuICBjb25zdCBDTEFTU19SRUZFUkVOQ0UgPSB7XG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIG1hdGNoOiBDTEFTU19OQU1FX1JFLFxuICAgIHNjb3BlOiBcInRpdGxlLmNsYXNzXCJcbiAgfTtcblxuICBjb25zdCBSVUJZX0RFRkFVTFRfQ09OVEFJTlMgPSBbXG4gICAgU1RSSU5HLFxuICAgIENMQVNTX0RFRklOSVRJT04sXG4gICAgSU5DTFVERV9FWFRFTkQsXG4gICAgT0JKRUNUX0NSRUFUSU9OLFxuICAgIFVQUEVSX0NBU0VfQ09OU1RBTlQsXG4gICAgQ0xBU1NfUkVGRVJFTkNFLFxuICAgIE1FVEhPRF9ERUZJTklUSU9OLFxuICAgIHtcbiAgICAgIC8vIHN3YWxsb3cgbmFtZXNwYWNlIHF1YWxpZmllcnMgYmVmb3JlIHN5bWJvbHNcbiAgICAgIGJlZ2luOiBobGpzLklERU5UX1JFICsgJzo6JyB9LFxuICAgIHtcbiAgICAgIGNsYXNzTmFtZTogJ3N5bWJvbCcsXG4gICAgICBiZWdpbjogaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICsgJyghfFxcXFw/KT86JyxcbiAgICAgIHJlbGV2YW5jZTogMFxuICAgIH0sXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAnc3ltYm9sJyxcbiAgICAgIGJlZ2luOiAnOig/IVxcXFxzKScsXG4gICAgICBjb250YWluczogW1xuICAgICAgICBTVFJJTkcsXG4gICAgICAgIHsgYmVnaW46IFJVQllfTUVUSE9EX1JFIH1cbiAgICAgIF0sXG4gICAgICByZWxldmFuY2U6IDBcbiAgICB9LFxuICAgIE5VTUJFUixcbiAgICB7XG4gICAgICAvLyBuZWdhdGl2ZS1sb29rIGZvcndhcmQgYXR0ZW1wdHMgdG8gcHJldmVudCBmYWxzZSBtYXRjaGVzIGxpa2U6XG4gICAgICAvLyBAaWRlbnRAIG9yICRpZGVudCQgdGhhdCBtaWdodCBpbmRpY2F0ZSB0aGlzIGlzIG5vdCBydWJ5IGF0IGFsbFxuICAgICAgY2xhc3NOYW1lOiBcInZhcmlhYmxlXCIsXG4gICAgICBiZWdpbjogJyhcXFxcJFxcXFxXKXwoKFxcXFwkfEBAPykoXFxcXHcrKSkoPz1bXkAkP10pJyArIGAoPyFbQS1aYS16XSkoPyFbQCQ/J10pYFxuICAgIH0sXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICAgIGJlZ2luOiAvXFx8KD8hPSkvLFxuICAgICAgZW5kOiAvXFx8LyxcbiAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAgICByZWxldmFuY2U6IDAsIC8vIHRoaXMgY291bGQgYmUgYSBsb3Qgb2YgdGhpbmdzIChpbiBvdGhlciBsYW5ndWFnZXMpIG90aGVyIHRoYW4gcGFyYW1zXG4gICAgICBrZXl3b3JkczogUlVCWV9LRVlXT1JEU1xuICAgIH0sXG4gICAgeyAvLyByZWdleHAgY29udGFpbmVyXG4gICAgICBiZWdpbjogJygnICsgaGxqcy5SRV9TVEFSVEVSU19SRSArICd8dW5sZXNzKVxcXFxzKicsXG4gICAgICBrZXl3b3JkczogJ3VubGVzcycsXG4gICAgICBjb250YWluczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NOYW1lOiAncmVnZXhwJyxcbiAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICAgICAgU1VCU1RcbiAgICAgICAgICBdLFxuICAgICAgICAgIGlsbGVnYWw6IC9cXG4vLFxuICAgICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGJlZ2luOiAnLycsXG4gICAgICAgICAgICAgIGVuZDogJy9bYS16XSonXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBiZWdpbjogLyVyXFx7LyxcbiAgICAgICAgICAgICAgZW5kOiAvXFx9W2Etel0qL1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmVnaW46ICclclxcXFwoJyxcbiAgICAgICAgICAgICAgZW5kOiAnXFxcXClbYS16XSonXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBiZWdpbjogJyVyIScsXG4gICAgICAgICAgICAgIGVuZDogJyFbYS16XSonXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBiZWdpbjogJyVyXFxcXFsnLFxuICAgICAgICAgICAgICBlbmQ6ICdcXFxcXVthLXpdKidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF0uY29uY2F0KElSQl9PQkpFQ1QsIENPTU1FTlRfTU9ERVMpLFxuICAgICAgcmVsZXZhbmNlOiAwXG4gICAgfVxuICBdLmNvbmNhdChJUkJfT0JKRUNULCBDT01NRU5UX01PREVTKTtcblxuICBTVUJTVC5jb250YWlucyA9IFJVQllfREVGQVVMVF9DT05UQUlOUztcbiAgUEFSQU1TLmNvbnRhaW5zID0gUlVCWV9ERUZBVUxUX0NPTlRBSU5TO1xuXG4gIC8vID4+XG4gIC8vID8+XG4gIGNvbnN0IFNJTVBMRV9QUk9NUFQgPSBcIls+P10+XCI7XG4gIC8vIGlyYihtYWluKTowMDE6MD5cbiAgY29uc3QgREVGQVVMVF9QUk9NUFQgPSBcIltcXFxcdyNdK1xcXFwoXFxcXHcrXFxcXCk6XFxcXGQrOlxcXFxkK1s+Kl1cIjtcbiAgY29uc3QgUlZNX1BST01QVCA9IFwiKFxcXFx3Ky0pP1xcXFxkK1xcXFwuXFxcXGQrXFxcXC5cXFxcZCsocFxcXFxkKyk/W15cXFxcZF1bXj5dKz5cIjtcblxuICBjb25zdCBJUkJfREVGQVVMVCA9IFtcbiAgICB7XG4gICAgICBiZWdpbjogL15cXHMqPT4vLFxuICAgICAgc3RhcnRzOiB7XG4gICAgICAgIGVuZDogJyQnLFxuICAgICAgICBjb250YWluczogUlVCWV9ERUZBVUxUX0NPTlRBSU5TXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBjbGFzc05hbWU6ICdtZXRhLnByb21wdCcsXG4gICAgICBiZWdpbjogJ14oJyArIFNJTVBMRV9QUk9NUFQgKyBcInxcIiArIERFRkFVTFRfUFJPTVBUICsgJ3wnICsgUlZNX1BST01QVCArICcpKD89WyBdKScsXG4gICAgICBzdGFydHM6IHtcbiAgICAgICAgZW5kOiAnJCcsXG4gICAgICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTLFxuICAgICAgICBjb250YWluczogUlVCWV9ERUZBVUxUX0NPTlRBSU5TXG4gICAgICB9XG4gICAgfVxuICBdO1xuXG4gIENPTU1FTlRfTU9ERVMudW5zaGlmdChJUkJfT0JKRUNUKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdSdWJ5JyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAncmInLFxuICAgICAgJ2dlbXNwZWMnLFxuICAgICAgJ3BvZHNwZWMnLFxuICAgICAgJ3Rob3InLFxuICAgICAgJ2lyYidcbiAgICBdLFxuICAgIGtleXdvcmRzOiBSVUJZX0tFWVdPUkRTLFxuICAgIGlsbGVnYWw6IC9cXC9cXCovLFxuICAgIGNvbnRhaW5zOiBbIGhsanMuU0hFQkFORyh7IGJpbmFyeTogXCJydWJ5XCIgfSkgXVxuICAgICAgLmNvbmNhdChJUkJfREVGQVVMVClcbiAgICAgIC5jb25jYXQoQ09NTUVOVF9NT0RFUylcbiAgICAgIC5jb25jYXQoUlVCWV9ERUZBVUxUX0NPTlRBSU5TKVxuICB9O1xufVxuXG5leHBvcnQgeyBydWJ5IGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/ruby.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/rust.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/rust.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ rust)\n/* harmony export */ });\n/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh \nContributors: Roman Shmatov , Kasper Andersen \nWebsite: https://www.rust-lang.org\nCategory: common, system\n*/\n\n/** @type LanguageFn */\n\nfunction rust(hljs) {\n const regex = hljs.regex;\n // ============================================\n // Added to support the r# keyword, which is a raw identifier in Rust.\n const RAW_IDENTIFIER = /(r#)?/;\n const UNDERSCORE_IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.UNDERSCORE_IDENT_RE);\n const IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.IDENT_RE);\n // ============================================\n const FUNCTION_INVOKE = {\n className: \"title.function.invoke\",\n relevance: 0,\n begin: regex.concat(\n /\\b/,\n /(?!let|for|while|if|else|match\\b)/,\n IDENT_RE,\n regex.lookahead(/\\s*\\(/))\n };\n const NUMBER_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\\?';\n const KEYWORDS = [\n \"abstract\",\n \"as\",\n \"async\",\n \"await\",\n \"become\",\n \"box\",\n \"break\",\n \"const\",\n \"continue\",\n \"crate\",\n \"do\",\n \"dyn\",\n \"else\",\n \"enum\",\n \"extern\",\n \"false\",\n \"final\",\n \"fn\",\n \"for\",\n \"if\",\n \"impl\",\n \"in\",\n \"let\",\n \"loop\",\n \"macro\",\n \"match\",\n \"mod\",\n \"move\",\n \"mut\",\n \"override\",\n \"priv\",\n \"pub\",\n \"ref\",\n \"return\",\n \"self\",\n \"Self\",\n \"static\",\n \"struct\",\n \"super\",\n \"trait\",\n \"true\",\n \"try\",\n \"type\",\n \"typeof\",\n \"union\",\n \"unsafe\",\n \"unsized\",\n \"use\",\n \"virtual\",\n \"where\",\n \"while\",\n \"yield\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Err\"\n ];\n const BUILTINS = [\n // functions\n 'drop ',\n // traits\n \"Copy\",\n \"Send\",\n \"Sized\",\n \"Sync\",\n \"Drop\",\n \"Fn\",\n \"FnMut\",\n \"FnOnce\",\n \"ToOwned\",\n \"Clone\",\n \"Debug\",\n \"PartialEq\",\n \"PartialOrd\",\n \"Eq\",\n \"Ord\",\n \"AsRef\",\n \"AsMut\",\n \"Into\",\n \"From\",\n \"Default\",\n \"Iterator\",\n \"Extend\",\n \"IntoIterator\",\n \"DoubleEndedIterator\",\n \"ExactSizeIterator\",\n \"SliceConcatExt\",\n \"ToString\",\n // macros\n \"assert!\",\n \"assert_eq!\",\n \"bitflags!\",\n \"bytes!\",\n \"cfg!\",\n \"col!\",\n \"concat!\",\n \"concat_idents!\",\n \"debug_assert!\",\n \"debug_assert_eq!\",\n \"env!\",\n \"eprintln!\",\n \"panic!\",\n \"file!\",\n \"format!\",\n \"format_args!\",\n \"include_bytes!\",\n \"include_str!\",\n \"line!\",\n \"local_data_key!\",\n \"module_path!\",\n \"option_env!\",\n \"print!\",\n \"println!\",\n \"select!\",\n \"stringify!\",\n \"try!\",\n \"unimplemented!\",\n \"unreachable!\",\n \"vec!\",\n \"write!\",\n \"writeln!\",\n \"macro_rules!\",\n \"assert_ne!\",\n \"debug_assert_ne!\"\n ];\n const TYPES = [\n \"i8\",\n \"i16\",\n \"i32\",\n \"i64\",\n \"i128\",\n \"isize\",\n \"u8\",\n \"u16\",\n \"u32\",\n \"u64\",\n \"u128\",\n \"usize\",\n \"f32\",\n \"f64\",\n \"str\",\n \"char\",\n \"bool\",\n \"Box\",\n \"Option\",\n \"Result\",\n \"String\",\n \"Vec\"\n ];\n return {\n name: 'Rust',\n aliases: [ 'rs' ],\n keywords: {\n $pattern: hljs.IDENT_RE + '!?',\n type: TYPES,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS\n },\n illegal: '',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT('/\\\\*', '\\\\*/', { contains: [ 'self' ] }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n begin: /b?\"/,\n illegal: null\n }),\n {\n className: 'symbol',\n // negative lookahead to avoid matching `'`\n begin: /'[a-zA-Z_][a-zA-Z0-9_]*(?!')/\n },\n {\n scope: 'string',\n variants: [\n { begin: /b?r(#*)\"(.|\\n)*?\"\\1(?!#)/ },\n {\n begin: /b?'/,\n end: /'/,\n contains: [\n {\n scope: \"char.escape\",\n match: /\\\\('|\\w|x\\w{2}|u\\w{4}|U\\w{8})/\n }\n ]\n }\n ]\n },\n {\n className: 'number',\n variants: [\n { begin: '\\\\b0b([01_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b0o([0-7_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b0x([A-Fa-f0-9_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)'\n + NUMBER_SUFFIX }\n ],\n relevance: 0\n },\n {\n begin: [\n /fn/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n },\n {\n className: 'meta',\n begin: '#!?\\\\[',\n end: '\\\\]',\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE\n ]\n }\n ]\n },\n {\n begin: [\n /let/,\n /\\s+/,\n /(?:mut\\s+)?/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"keyword\",\n 4: \"variable\"\n }\n },\n // must come before impl/for rule later\n {\n begin: [\n /for/,\n /\\s+/,\n UNDERSCORE_IDENT_RE,\n /\\s+/,\n /in/\n ],\n className: {\n 1: \"keyword\",\n 3: \"variable\",\n 5: \"keyword\"\n }\n },\n {\n begin: [\n /type/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n begin: [\n /(?:trait|enum|struct|union|impl|for)/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: {\n keyword: \"Self\",\n built_in: BUILTINS,\n type: TYPES\n }\n },\n {\n className: \"punctuation\",\n begin: '->'\n },\n FUNCTION_INVOKE\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9ydXN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsc0JBQXNCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxZQUFZLG1DQUFtQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFlBQVksd0NBQXdDO0FBQ3BELFlBQVkseUNBQXlDO0FBQ3JELFlBQVksK0NBQStDO0FBQzNELFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRTJCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9ydXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogUnVzdFxuQXV0aG9yOiBBbmRyZXkgVmxhc292c2tpa2ggPGFuZHJleS52bGFzb3Zza2lraEBnbWFpbC5jb20+XG5Db250cmlidXRvcnM6IFJvbWFuIFNobWF0b3YgPHJvbWFuc2htYXRvdkBnbWFpbC5jb20+LCBLYXNwZXIgQW5kZXJzZW4gPGttYV91bnRydXN0ZWRAcHJvdG9ubWFpbC5jb20+XG5XZWJzaXRlOiBodHRwczovL3d3dy5ydXN0LWxhbmcub3JnXG5DYXRlZ29yeTogY29tbW9uLCBzeXN0ZW1cbiovXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5cbmZ1bmN0aW9uIHJ1c3QoaGxqcykge1xuICBjb25zdCByZWdleCA9IGhsanMucmVnZXg7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEFkZGVkIHRvIHN1cHBvcnQgdGhlIHIjIGtleXdvcmQsIHdoaWNoIGlzIGEgcmF3IGlkZW50aWZpZXIgaW4gUnVzdC5cbiAgY29uc3QgUkFXX0lERU5USUZJRVIgPSAvKHIjKT8vO1xuICBjb25zdCBVTkRFUlNDT1JFX0lERU5UX1JFID0gcmVnZXguY29uY2F0KFJBV19JREVOVElGSUVSLCBobGpzLlVOREVSU0NPUkVfSURFTlRfUkUpO1xuICBjb25zdCBJREVOVF9SRSA9IHJlZ2V4LmNvbmNhdChSQVdfSURFTlRJRklFUiwgaGxqcy5JREVOVF9SRSk7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGNvbnN0IEZVTkNUSU9OX0lOVk9LRSA9IHtcbiAgICBjbGFzc05hbWU6IFwidGl0bGUuZnVuY3Rpb24uaW52b2tlXCIsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIGJlZ2luOiByZWdleC5jb25jYXQoXG4gICAgICAvXFxiLyxcbiAgICAgIC8oPyFsZXR8Zm9yfHdoaWxlfGlmfGVsc2V8bWF0Y2hcXGIpLyxcbiAgICAgIElERU5UX1JFLFxuICAgICAgcmVnZXgubG9va2FoZWFkKC9cXHMqXFwoLykpXG4gIH07XG4gIGNvbnN0IE5VTUJFUl9TVUZGSVggPSAnKFt1aV0oOHwxNnwzMnw2NHwxMjh8c2l6ZSl8ZigzMnw2NCkpXFw/JztcbiAgY29uc3QgS0VZV09SRFMgPSBbXG4gICAgXCJhYnN0cmFjdFwiLFxuICAgIFwiYXNcIixcbiAgICBcImFzeW5jXCIsXG4gICAgXCJhd2FpdFwiLFxuICAgIFwiYmVjb21lXCIsXG4gICAgXCJib3hcIixcbiAgICBcImJyZWFrXCIsXG4gICAgXCJjb25zdFwiLFxuICAgIFwiY29udGludWVcIixcbiAgICBcImNyYXRlXCIsXG4gICAgXCJkb1wiLFxuICAgIFwiZHluXCIsXG4gICAgXCJlbHNlXCIsXG4gICAgXCJlbnVtXCIsXG4gICAgXCJleHRlcm5cIixcbiAgICBcImZhbHNlXCIsXG4gICAgXCJmaW5hbFwiLFxuICAgIFwiZm5cIixcbiAgICBcImZvclwiLFxuICAgIFwiaWZcIixcbiAgICBcImltcGxcIixcbiAgICBcImluXCIsXG4gICAgXCJsZXRcIixcbiAgICBcImxvb3BcIixcbiAgICBcIm1hY3JvXCIsXG4gICAgXCJtYXRjaFwiLFxuICAgIFwibW9kXCIsXG4gICAgXCJtb3ZlXCIsXG4gICAgXCJtdXRcIixcbiAgICBcIm92ZXJyaWRlXCIsXG4gICAgXCJwcml2XCIsXG4gICAgXCJwdWJcIixcbiAgICBcInJlZlwiLFxuICAgIFwicmV0dXJuXCIsXG4gICAgXCJzZWxmXCIsXG4gICAgXCJTZWxmXCIsXG4gICAgXCJzdGF0aWNcIixcbiAgICBcInN0cnVjdFwiLFxuICAgIFwic3VwZXJcIixcbiAgICBcInRyYWl0XCIsXG4gICAgXCJ0cnVlXCIsXG4gICAgXCJ0cnlcIixcbiAgICBcInR5cGVcIixcbiAgICBcInR5cGVvZlwiLFxuICAgIFwidW5pb25cIixcbiAgICBcInVuc2FmZVwiLFxuICAgIFwidW5zaXplZFwiLFxuICAgIFwidXNlXCIsXG4gICAgXCJ2aXJ0dWFsXCIsXG4gICAgXCJ3aGVyZVwiLFxuICAgIFwid2hpbGVcIixcbiAgICBcInlpZWxkXCJcbiAgXTtcbiAgY29uc3QgTElURVJBTFMgPSBbXG4gICAgXCJ0cnVlXCIsXG4gICAgXCJmYWxzZVwiLFxuICAgIFwiU29tZVwiLFxuICAgIFwiTm9uZVwiLFxuICAgIFwiT2tcIixcbiAgICBcIkVyclwiXG4gIF07XG4gIGNvbnN0IEJVSUxUSU5TID0gW1xuICAgIC8vIGZ1bmN0aW9uc1xuICAgICdkcm9wICcsXG4gICAgLy8gdHJhaXRzXG4gICAgXCJDb3B5XCIsXG4gICAgXCJTZW5kXCIsXG4gICAgXCJTaXplZFwiLFxuICAgIFwiU3luY1wiLFxuICAgIFwiRHJvcFwiLFxuICAgIFwiRm5cIixcbiAgICBcIkZuTXV0XCIsXG4gICAgXCJGbk9uY2VcIixcbiAgICBcIlRvT3duZWRcIixcbiAgICBcIkNsb25lXCIsXG4gICAgXCJEZWJ1Z1wiLFxuICAgIFwiUGFydGlhbEVxXCIsXG4gICAgXCJQYXJ0aWFsT3JkXCIsXG4gICAgXCJFcVwiLFxuICAgIFwiT3JkXCIsXG4gICAgXCJBc1JlZlwiLFxuICAgIFwiQXNNdXRcIixcbiAgICBcIkludG9cIixcbiAgICBcIkZyb21cIixcbiAgICBcIkRlZmF1bHRcIixcbiAgICBcIkl0ZXJhdG9yXCIsXG4gICAgXCJFeHRlbmRcIixcbiAgICBcIkludG9JdGVyYXRvclwiLFxuICAgIFwiRG91YmxlRW5kZWRJdGVyYXRvclwiLFxuICAgIFwiRXhhY3RTaXplSXRlcmF0b3JcIixcbiAgICBcIlNsaWNlQ29uY2F0RXh0XCIsXG4gICAgXCJUb1N0cmluZ1wiLFxuICAgIC8vIG1hY3Jvc1xuICAgIFwiYXNzZXJ0IVwiLFxuICAgIFwiYXNzZXJ0X2VxIVwiLFxuICAgIFwiYml0ZmxhZ3MhXCIsXG4gICAgXCJieXRlcyFcIixcbiAgICBcImNmZyFcIixcbiAgICBcImNvbCFcIixcbiAgICBcImNvbmNhdCFcIixcbiAgICBcImNvbmNhdF9pZGVudHMhXCIsXG4gICAgXCJkZWJ1Z19hc3NlcnQhXCIsXG4gICAgXCJkZWJ1Z19hc3NlcnRfZXEhXCIsXG4gICAgXCJlbnYhXCIsXG4gICAgXCJlcHJpbnRsbiFcIixcbiAgICBcInBhbmljIVwiLFxuICAgIFwiZmlsZSFcIixcbiAgICBcImZvcm1hdCFcIixcbiAgICBcImZvcm1hdF9hcmdzIVwiLFxuICAgIFwiaW5jbHVkZV9ieXRlcyFcIixcbiAgICBcImluY2x1ZGVfc3RyIVwiLFxuICAgIFwibGluZSFcIixcbiAgICBcImxvY2FsX2RhdGFfa2V5IVwiLFxuICAgIFwibW9kdWxlX3BhdGghXCIsXG4gICAgXCJvcHRpb25fZW52IVwiLFxuICAgIFwicHJpbnQhXCIsXG4gICAgXCJwcmludGxuIVwiLFxuICAgIFwic2VsZWN0IVwiLFxuICAgIFwic3RyaW5naWZ5IVwiLFxuICAgIFwidHJ5IVwiLFxuICAgIFwidW5pbXBsZW1lbnRlZCFcIixcbiAgICBcInVucmVhY2hhYmxlIVwiLFxuICAgIFwidmVjIVwiLFxuICAgIFwid3JpdGUhXCIsXG4gICAgXCJ3cml0ZWxuIVwiLFxuICAgIFwibWFjcm9fcnVsZXMhXCIsXG4gICAgXCJhc3NlcnRfbmUhXCIsXG4gICAgXCJkZWJ1Z19hc3NlcnRfbmUhXCJcbiAgXTtcbiAgY29uc3QgVFlQRVMgPSBbXG4gICAgXCJpOFwiLFxuICAgIFwiaTE2XCIsXG4gICAgXCJpMzJcIixcbiAgICBcImk2NFwiLFxuICAgIFwiaTEyOFwiLFxuICAgIFwiaXNpemVcIixcbiAgICBcInU4XCIsXG4gICAgXCJ1MTZcIixcbiAgICBcInUzMlwiLFxuICAgIFwidTY0XCIsXG4gICAgXCJ1MTI4XCIsXG4gICAgXCJ1c2l6ZVwiLFxuICAgIFwiZjMyXCIsXG4gICAgXCJmNjRcIixcbiAgICBcInN0clwiLFxuICAgIFwiY2hhclwiLFxuICAgIFwiYm9vbFwiLFxuICAgIFwiQm94XCIsXG4gICAgXCJPcHRpb25cIixcbiAgICBcIlJlc3VsdFwiLFxuICAgIFwiU3RyaW5nXCIsXG4gICAgXCJWZWNcIlxuICBdO1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdSdXN0JyxcbiAgICBhbGlhc2VzOiBbICdycycgXSxcbiAgICBrZXl3b3Jkczoge1xuICAgICAgJHBhdHRlcm46IGhsanMuSURFTlRfUkUgKyAnIT8nLFxuICAgICAgdHlwZTogVFlQRVMsXG4gICAgICBrZXl3b3JkOiBLRVlXT1JEUyxcbiAgICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgICAgYnVpbHRfaW46IEJVSUxUSU5TXG4gICAgfSxcbiAgICBpbGxlZ2FsOiAnPC8nLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgICBobGpzLkNPTU1FTlQoJy9cXFxcKicsICdcXFxcKi8nLCB7IGNvbnRhaW5zOiBbICdzZWxmJyBdIH0pLFxuICAgICAgaGxqcy5pbmhlcml0KGhsanMuUVVPVEVfU1RSSU5HX01PREUsIHtcbiAgICAgICAgYmVnaW46IC9iP1wiLyxcbiAgICAgICAgaWxsZWdhbDogbnVsbFxuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3N5bWJvbCcsXG4gICAgICAgIC8vIG5lZ2F0aXZlIGxvb2thaGVhZCB0byBhdm9pZCBtYXRjaGluZyBgJ2BcbiAgICAgICAgYmVnaW46IC8nW2EtekEtWl9dW2EtekEtWjAtOV9dKig/IScpL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6ICdzdHJpbmcnLFxuICAgICAgICB2YXJpYW50czogW1xuICAgICAgICAgIHsgYmVnaW46IC9iP3IoIyopXCIoLnxcXG4pKj9cIlxcMSg/ISMpLyB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJlZ2luOiAvYj8nLyxcbiAgICAgICAgICAgIGVuZDogLycvLFxuICAgICAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNjb3BlOiBcImNoYXIuZXNjYXBlXCIsXG4gICAgICAgICAgICAgICAgbWF0Y2g6IC9cXFxcKCd8XFx3fHhcXHd7Mn18dVxcd3s0fXxVXFx3ezh9KS9cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnbnVtYmVyJyxcbiAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICB7IGJlZ2luOiAnXFxcXGIwYihbMDFfXSspJyArIE5VTUJFUl9TVUZGSVggfSxcbiAgICAgICAgICB7IGJlZ2luOiAnXFxcXGIwbyhbMC03X10rKScgKyBOVU1CRVJfU1VGRklYIH0sXG4gICAgICAgICAgeyBiZWdpbjogJ1xcXFxiMHgoW0EtRmEtZjAtOV9dKyknICsgTlVNQkVSX1NVRkZJWCB9LFxuICAgICAgICAgIHsgYmVnaW46ICdcXFxcYihcXFxcZFtcXFxcZF9dKihcXFxcLlswLTlfXSspPyhbZUVdWystXT9bMC05X10rKT8pJ1xuICAgICAgICAgICAgICAgICAgICsgTlVNQkVSX1NVRkZJWCB9XG4gICAgICAgIF0sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFtcbiAgICAgICAgICAvZm4vLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBVTkRFUlNDT1JFX0lERU5UX1JFXG4gICAgICAgIF0sXG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgICAgIDM6IFwidGl0bGUuZnVuY3Rpb25cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICAgICAgYmVnaW46ICcjIT9cXFxcWycsXG4gICAgICAgIGVuZDogJ1xcXFxdJyxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgYmVnaW46IC9cIi8sXG4gICAgICAgICAgICBlbmQ6IC9cIi8sXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICBobGpzLkJBQ0tTTEFTSF9FU0NBUEVcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiBbXG4gICAgICAgICAgL2xldC8sXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIC8oPzptdXRcXHMrKT8vLFxuICAgICAgICAgIFVOREVSU0NPUkVfSURFTlRfUkVcbiAgICAgICAgXSxcbiAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgMzogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgNDogXCJ2YXJpYWJsZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBtdXN0IGNvbWUgYmVmb3JlIGltcGwvZm9yIHJ1bGUgbGF0ZXJcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFtcbiAgICAgICAgICAvZm9yLyxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgVU5ERVJTQ09SRV9JREVOVF9SRSxcbiAgICAgICAgICAvXFxzKy8sXG4gICAgICAgICAgL2luL1xuICAgICAgICBdLFxuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgICAgICAzOiBcInZhcmlhYmxlXCIsXG4gICAgICAgICAgNTogXCJrZXl3b3JkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IFtcbiAgICAgICAgICAvdHlwZS8sXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIFVOREVSU0NPUkVfSURFTlRfUkVcbiAgICAgICAgXSxcbiAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgMzogXCJ0aXRsZS5jbGFzc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiBbXG4gICAgICAgICAgLyg/OnRyYWl0fGVudW18c3RydWN0fHVuaW9ufGltcGx8Zm9yKS8sXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIFVOREVSU0NPUkVfSURFTlRfUkVcbiAgICAgICAgXSxcbiAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgMzogXCJ0aXRsZS5jbGFzc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiBobGpzLklERU5UX1JFICsgJzo6JyxcbiAgICAgICAga2V5d29yZHM6IHtcbiAgICAgICAgICBrZXl3b3JkOiBcIlNlbGZcIixcbiAgICAgICAgICBidWlsdF9pbjogQlVJTFRJTlMsXG4gICAgICAgICAgdHlwZTogVFlQRVNcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInB1bmN0dWF0aW9uXCIsXG4gICAgICAgIGJlZ2luOiAnLT4nXG4gICAgICB9LFxuICAgICAgRlVOQ1RJT05fSU5WT0tFXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBydXN0IGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/rust.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/scss.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/scss.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ scss)\n/* harmony export */ });\nconst MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: SCSS\nDescription: Scss is an extension of the syntax of CSS.\nAuthor: Kurt Emch \nWebsite: https://sass-lang.com\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction scss(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_ELEMENTS$1 = PSEUDO_ELEMENTS;\n const PSEUDO_CLASSES$1 = PSEUDO_CLASSES;\n\n const AT_IDENTIFIER = '@[a-z-]+'; // @font-face\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const VARIABLE = {\n className: 'variable',\n begin: '(\\\\$' + IDENT_RE + ')\\\\b',\n relevance: 0\n };\n\n return {\n name: 'SCSS',\n case_insensitive: true,\n illegal: '[=/|\\']',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: '#[A-Za-z0-9_-]+',\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.[A-Za-z0-9_-]+',\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n // was there, before, but why?\n relevance: 0\n },\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES$1.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS$1.join('|') + ')'\n },\n VARIABLE,\n { // pseudo-selector params\n begin: /\\(/,\n end: /\\)/,\n contains: [ modes.CSS_NUMBER_MODE ]\n },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n { begin: '\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b' },\n {\n begin: /:/,\n end: /[;}{]/,\n relevance: 0,\n contains: [\n modes.BLOCK_COMMENT,\n VARIABLE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.IMPORTANT,\n modes.FUNCTION_DISPATCH\n ]\n },\n // matching these here allows us to treat them more like regular CSS\n // rules so everything between the {} gets regular rule highlighting,\n // which is what we want for page and font-face\n {\n begin: '@(page|font-face)',\n keywords: {\n $pattern: AT_IDENTIFIER,\n keyword: '@page @font-face'\n }\n },\n {\n begin: '@',\n end: '[{;]',\n returnBegin: true,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: AT_IDENTIFIER,\n className: \"keyword\"\n },\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n VARIABLE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixJQUFJLGdCQUFnQixFQUFFLEVBQUUsSUFBSTtBQUN6RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLFFBQVEscXBDQUFxcEM7QUFDN3BDO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3Njc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTU9ERVMgPSAoaGxqcykgPT4ge1xuICByZXR1cm4ge1xuICAgIElNUE9SVEFOVDoge1xuICAgICAgc2NvcGU6ICdtZXRhJyxcbiAgICAgIGJlZ2luOiAnIWltcG9ydGFudCdcbiAgICB9LFxuICAgIEJMT0NLX0NPTU1FTlQ6IGhsanMuQ19CTE9DS19DT01NRU5UX01PREUsXG4gICAgSEVYQ09MT1I6IHtcbiAgICAgIHNjb3BlOiAnbnVtYmVyJyxcbiAgICAgIGJlZ2luOiAvIygoWzAtOWEtZkEtRl17Myw0fSl8KChbMC05YS1mQS1GXXsyfSl7Myw0fSkpXFxiL1xuICAgIH0sXG4gICAgRlVOQ1RJT05fRElTUEFUQ0g6IHtcbiAgICAgIGNsYXNzTmFtZTogXCJidWlsdF9pblwiLFxuICAgICAgYmVnaW46IC9bXFx3LV0rKD89XFwoKS9cbiAgICB9LFxuICAgIEFUVFJJQlVURV9TRUxFQ1RPUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ3NlbGVjdG9yLWF0dHInLFxuICAgICAgYmVnaW46IC9cXFsvLFxuICAgICAgZW5kOiAvXFxdLyxcbiAgICAgIGlsbGVnYWw6ICckJyxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQVBPU19TVFJJTkdfTU9ERSxcbiAgICAgICAgaGxqcy5RVU9URV9TVFJJTkdfTU9ERVxuICAgICAgXVxuICAgIH0sXG4gICAgQ1NTX05VTUJFUl9NT0RFOiB7XG4gICAgICBzY29wZTogJ251bWJlcicsXG4gICAgICBiZWdpbjogaGxqcy5OVU1CRVJfUkUgKyAnKCcgK1xuICAgICAgICAnJXxlbXxleHxjaHxyZW0nICtcbiAgICAgICAgJ3x2d3x2aHx2bWlufHZtYXgnICtcbiAgICAgICAgJ3xjbXxtbXxpbnxwdHxwY3xweCcgK1xuICAgICAgICAnfGRlZ3xncmFkfHJhZHx0dXJuJyArXG4gICAgICAgICd8c3xtcycgK1xuICAgICAgICAnfEh6fGtIeicgK1xuICAgICAgICAnfGRwaXxkcGNtfGRwcHgnICtcbiAgICAgICAgJyk/JyxcbiAgICAgIHJlbGV2YW5jZTogMFxuICAgIH0sXG4gICAgQ1NTX1ZBUklBQkxFOiB7XG4gICAgICBjbGFzc05hbWU6IFwiYXR0clwiLFxuICAgICAgYmVnaW46IC8tLVtBLVphLXpfXVtBLVphLXowLTlfLV0qL1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IEhUTUxfVEFHUyA9IFtcbiAgJ2EnLFxuICAnYWJicicsXG4gICdhZGRyZXNzJyxcbiAgJ2FydGljbGUnLFxuICAnYXNpZGUnLFxuICAnYXVkaW8nLFxuICAnYicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2JvZHknLFxuICAnYnV0dG9uJyxcbiAgJ2NhbnZhcycsXG4gICdjYXB0aW9uJyxcbiAgJ2NpdGUnLFxuICAnY29kZScsXG4gICdkZCcsXG4gICdkZWwnLFxuICAnZGV0YWlscycsXG4gICdkZm4nLFxuICAnZGl2JyxcbiAgJ2RsJyxcbiAgJ2R0JyxcbiAgJ2VtJyxcbiAgJ2ZpZWxkc2V0JyxcbiAgJ2ZpZ2NhcHRpb24nLFxuICAnZmlndXJlJyxcbiAgJ2Zvb3RlcicsXG4gICdmb3JtJyxcbiAgJ2gxJyxcbiAgJ2gyJyxcbiAgJ2gzJyxcbiAgJ2g0JyxcbiAgJ2g1JyxcbiAgJ2g2JyxcbiAgJ2hlYWRlcicsXG4gICdoZ3JvdXAnLFxuICAnaHRtbCcsXG4gICdpJyxcbiAgJ2lmcmFtZScsXG4gICdpbWcnLFxuICAnaW5wdXQnLFxuICAnaW5zJyxcbiAgJ2tiZCcsXG4gICdsYWJlbCcsXG4gICdsZWdlbmQnLFxuICAnbGknLFxuICAnbWFpbicsXG4gICdtYXJrJyxcbiAgJ21lbnUnLFxuICAnbmF2JyxcbiAgJ29iamVjdCcsXG4gICdvbCcsXG4gICdvcHRncm91cCcsXG4gICdvcHRpb24nLFxuICAncCcsXG4gICdwaWN0dXJlJyxcbiAgJ3EnLFxuICAncXVvdGUnLFxuICAnc2FtcCcsXG4gICdzZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzb3VyY2UnLFxuICAnc3BhbicsXG4gICdzdHJvbmcnLFxuICAnc3VtbWFyeScsXG4gICdzdXAnLFxuICAndGFibGUnLFxuICAndGJvZHknLFxuICAndGQnLFxuICAndGV4dGFyZWEnLFxuICAndGZvb3QnLFxuICAndGgnLFxuICAndGhlYWQnLFxuICAndGltZScsXG4gICd0cicsXG4gICd1bCcsXG4gICd2YXInLFxuICAndmlkZW8nXG5dO1xuXG5jb25zdCBTVkdfVEFHUyA9IFtcbiAgJ2RlZnMnLFxuICAnZycsXG4gICdtYXJrZXInLFxuICAnbWFzaycsXG4gICdwYXR0ZXJuJyxcbiAgJ3N2ZycsXG4gICdzd2l0Y2gnLFxuICAnc3ltYm9sJyxcbiAgJ2ZlQmxlbmQnLFxuICAnZmVDb2xvck1hdHJpeCcsXG4gICdmZUNvbXBvbmVudFRyYW5zZmVyJyxcbiAgJ2ZlQ29tcG9zaXRlJyxcbiAgJ2ZlQ29udm9sdmVNYXRyaXgnLFxuICAnZmVEaWZmdXNlTGlnaHRpbmcnLFxuICAnZmVEaXNwbGFjZW1lbnRNYXAnLFxuICAnZmVGbG9vZCcsXG4gICdmZUdhdXNzaWFuQmx1cicsXG4gICdmZUltYWdlJyxcbiAgJ2ZlTWVyZ2UnLFxuICAnZmVNb3JwaG9sb2d5JyxcbiAgJ2ZlT2Zmc2V0JyxcbiAgJ2ZlU3BlY3VsYXJMaWdodGluZycsXG4gICdmZVRpbGUnLFxuICAnZmVUdXJidWxlbmNlJyxcbiAgJ2xpbmVhckdyYWRpZW50JyxcbiAgJ3JhZGlhbEdyYWRpZW50JyxcbiAgJ3N0b3AnLFxuICAnY2lyY2xlJyxcbiAgJ2VsbGlwc2UnLFxuICAnaW1hZ2UnLFxuICAnbGluZScsXG4gICdwYXRoJyxcbiAgJ3BvbHlnb24nLFxuICAncG9seWxpbmUnLFxuICAncmVjdCcsXG4gICd0ZXh0JyxcbiAgJ3VzZScsXG4gICd0ZXh0UGF0aCcsXG4gICd0c3BhbicsXG4gICdmb3JlaWduT2JqZWN0JyxcbiAgJ2NsaXBQYXRoJ1xuXTtcblxuY29uc3QgVEFHUyA9IFtcbiAgLi4uSFRNTF9UQUdTLFxuICAuLi5TVkdfVEFHUyxcbl07XG5cbi8vIFNvcnRpbmcsIHRoZW4gcmV2ZXJzaW5nIG1ha2VzIHN1cmUgbG9uZ2VyIGF0dHJpYnV0ZXMvZWxlbWVudHMgbGlrZVxuLy8gYGZvbnQtd2VpZ2h0YCBhcmUgbWF0Y2hlZCBmdWxseSBpbnN0ZWFkIG9mIGdldHRpbmcgZmFsc2UgcG9zaXRpdmVzIG9uIHNheSBgZm9udGBcblxuY29uc3QgTUVESUFfRkVBVFVSRVMgPSBbXG4gICdhbnktaG92ZXInLFxuICAnYW55LXBvaW50ZXInLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2NvbG9yJyxcbiAgJ2NvbG9yLWdhbXV0JyxcbiAgJ2NvbG9yLWluZGV4JyxcbiAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAnZGV2aWNlLWhlaWdodCcsXG4gICdkZXZpY2Utd2lkdGgnLFxuICAnZGlzcGxheS1tb2RlJyxcbiAgJ2ZvcmNlZC1jb2xvcnMnLFxuICAnZ3JpZCcsXG4gICdoZWlnaHQnLFxuICAnaG92ZXInLFxuICAnaW52ZXJ0ZWQtY29sb3JzJyxcbiAgJ21vbm9jaHJvbWUnLFxuICAnb3JpZW50YXRpb24nLFxuICAnb3ZlcmZsb3ctYmxvY2snLFxuICAnb3ZlcmZsb3ctaW5saW5lJyxcbiAgJ3BvaW50ZXInLFxuICAncHJlZmVycy1jb2xvci1zY2hlbWUnLFxuICAncHJlZmVycy1jb250cmFzdCcsXG4gICdwcmVmZXJzLXJlZHVjZWQtbW90aW9uJyxcbiAgJ3ByZWZlcnMtcmVkdWNlZC10cmFuc3BhcmVuY3knLFxuICAncmVzb2x1dGlvbicsXG4gICdzY2FuJyxcbiAgJ3NjcmlwdGluZycsXG4gICd1cGRhdGUnLFxuICAnd2lkdGgnLFxuICAvLyBUT0RPOiBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uP1xuICAnbWluLXdpZHRoJyxcbiAgJ21heC13aWR0aCcsXG4gICdtaW4taGVpZ2h0JyxcbiAgJ21heC1oZWlnaHQnXG5dLnNvcnQoKS5yZXZlcnNlKCk7XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Qc2V1ZG8tY2xhc3Nlc1xuY29uc3QgUFNFVURPX0NMQVNTRVMgPSBbXG4gICdhY3RpdmUnLFxuICAnYW55LWxpbmsnLFxuICAnYmxhbmsnLFxuICAnY2hlY2tlZCcsXG4gICdjdXJyZW50JyxcbiAgJ2RlZmF1bHQnLFxuICAnZGVmaW5lZCcsXG4gICdkaXInLCAvLyBkaXIoKVxuICAnZGlzYWJsZWQnLFxuICAnZHJvcCcsXG4gICdlbXB0eScsXG4gICdlbmFibGVkJyxcbiAgJ2ZpcnN0JyxcbiAgJ2ZpcnN0LWNoaWxkJyxcbiAgJ2ZpcnN0LW9mLXR5cGUnLFxuICAnZnVsbHNjcmVlbicsXG4gICdmdXR1cmUnLFxuICAnZm9jdXMnLFxuICAnZm9jdXMtdmlzaWJsZScsXG4gICdmb2N1cy13aXRoaW4nLFxuICAnaGFzJywgLy8gaGFzKClcbiAgJ2hvc3QnLCAvLyBob3N0IG9yIGhvc3QoKVxuICAnaG9zdC1jb250ZXh0JywgLy8gaG9zdC1jb250ZXh0KClcbiAgJ2hvdmVyJyxcbiAgJ2luZGV0ZXJtaW5hdGUnLFxuICAnaW4tcmFuZ2UnLFxuICAnaW52YWxpZCcsXG4gICdpcycsIC8vIGlzKClcbiAgJ2xhbmcnLCAvLyBsYW5nKClcbiAgJ2xhc3QtY2hpbGQnLFxuICAnbGFzdC1vZi10eXBlJyxcbiAgJ2xlZnQnLFxuICAnbGluaycsXG4gICdsb2NhbC1saW5rJyxcbiAgJ25vdCcsIC8vIG5vdCgpXG4gICdudGgtY2hpbGQnLCAvLyBudGgtY2hpbGQoKVxuICAnbnRoLWNvbCcsIC8vIG50aC1jb2woKVxuICAnbnRoLWxhc3QtY2hpbGQnLCAvLyBudGgtbGFzdC1jaGlsZCgpXG4gICdudGgtbGFzdC1jb2wnLCAvLyBudGgtbGFzdC1jb2woKVxuICAnbnRoLWxhc3Qtb2YtdHlwZScsIC8vbnRoLWxhc3Qtb2YtdHlwZSgpXG4gICdudGgtb2YtdHlwZScsIC8vbnRoLW9mLXR5cGUoKVxuICAnb25seS1jaGlsZCcsXG4gICdvbmx5LW9mLXR5cGUnLFxuICAnb3B0aW9uYWwnLFxuICAnb3V0LW9mLXJhbmdlJyxcbiAgJ3Bhc3QnLFxuICAncGxhY2Vob2xkZXItc2hvd24nLFxuICAncmVhZC1vbmx5JyxcbiAgJ3JlYWQtd3JpdGUnLFxuICAncmVxdWlyZWQnLFxuICAncmlnaHQnLFxuICAncm9vdCcsXG4gICdzY29wZScsXG4gICd0YXJnZXQnLFxuICAndGFyZ2V0LXdpdGhpbicsXG4gICd1c2VyLWludmFsaWQnLFxuICAndmFsaWQnLFxuICAndmlzaXRlZCcsXG4gICd3aGVyZScgLy8gd2hlcmUoKVxuXS5zb3J0KCkucmV2ZXJzZSgpO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvUHNldWRvLWVsZW1lbnRzXG5jb25zdCBQU0VVRE9fRUxFTUVOVFMgPSBbXG4gICdhZnRlcicsXG4gICdiYWNrZHJvcCcsXG4gICdiZWZvcmUnLFxuICAnY3VlJyxcbiAgJ2N1ZS1yZWdpb24nLFxuICAnZmlyc3QtbGV0dGVyJyxcbiAgJ2ZpcnN0LWxpbmUnLFxuICAnZ3JhbW1hci1lcnJvcicsXG4gICdtYXJrZXInLFxuICAncGFydCcsXG4gICdwbGFjZWhvbGRlcicsXG4gICdzZWxlY3Rpb24nLFxuICAnc2xvdHRlZCcsXG4gICdzcGVsbGluZy1lcnJvcidcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuY29uc3QgQVRUUklCVVRFUyA9IFtcbiAgJ2FjY2VudC1jb2xvcicsXG4gICdhbGlnbi1jb250ZW50JyxcbiAgJ2FsaWduLWl0ZW1zJyxcbiAgJ2FsaWduLXNlbGYnLFxuICAnYWxpZ25tZW50LWJhc2VsaW5lJyxcbiAgJ2FsbCcsXG4gICdhbmNob3ItbmFtZScsXG4gICdhbmltYXRpb24nLFxuICAnYW5pbWF0aW9uLWNvbXBvc2l0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kZWxheScsXG4gICdhbmltYXRpb24tZGlyZWN0aW9uJyxcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbicsXG4gICdhbmltYXRpb24tZmlsbC1tb2RlJyxcbiAgJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLFxuICAnYW5pbWF0aW9uLW5hbWUnLFxuICAnYW5pbWF0aW9uLXBsYXktc3RhdGUnLFxuICAnYW5pbWF0aW9uLXJhbmdlJyxcbiAgJ2FuaW1hdGlvbi1yYW5nZS1lbmQnLFxuICAnYW5pbWF0aW9uLXJhbmdlLXN0YXJ0JyxcbiAgJ2FuaW1hdGlvbi10aW1lbGluZScsXG4gICdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJyxcbiAgJ2FwcGVhcmFuY2UnLFxuICAnYXNwZWN0LXJhdGlvJyxcbiAgJ2JhY2tkcm9wLWZpbHRlcicsXG4gICdiYWNrZmFjZS12aXNpYmlsaXR5JyxcbiAgJ2JhY2tncm91bmQnLFxuICAnYmFja2dyb3VuZC1hdHRhY2htZW50JyxcbiAgJ2JhY2tncm91bmQtYmxlbmQtbW9kZScsXG4gICdiYWNrZ3JvdW5kLWNsaXAnLFxuICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICdiYWNrZ3JvdW5kLWltYWdlJyxcbiAgJ2JhY2tncm91bmQtb3JpZ2luJyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24nLFxuICAnYmFja2dyb3VuZC1wb3NpdGlvbi14JyxcbiAgJ2JhY2tncm91bmQtcG9zaXRpb24teScsXG4gICdiYWNrZ3JvdW5kLXJlcGVhdCcsXG4gICdiYWNrZ3JvdW5kLXNpemUnLFxuICAnYmFzZWxpbmUtc2hpZnQnLFxuICAnYmxvY2stc2l6ZScsXG4gICdib3JkZXInLFxuICAnYm9yZGVyLWJsb2NrJyxcbiAgJ2JvcmRlci1ibG9jay1jb2xvcicsXG4gICdib3JkZXItYmxvY2stZW5kJyxcbiAgJ2JvcmRlci1ibG9jay1lbmQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLWVuZC1zdHlsZScsXG4gICdib3JkZXItYmxvY2stZW5kLXdpZHRoJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydCcsXG4gICdib3JkZXItYmxvY2stc3RhcnQtY29sb3InLFxuICAnYm9yZGVyLWJsb2NrLXN0YXJ0LXN0eWxlJyxcbiAgJ2JvcmRlci1ibG9jay1zdGFydC13aWR0aCcsXG4gICdib3JkZXItYmxvY2stc3R5bGUnLFxuICAnYm9yZGVyLWJsb2NrLXdpZHRoJyxcbiAgJ2JvcmRlci1ib3R0b20nLFxuICAnYm9yZGVyLWJvdHRvbS1jb2xvcicsXG4gICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgJ2JvcmRlci1ib3R0b20tc3R5bGUnLFxuICAnYm9yZGVyLWJvdHRvbS13aWR0aCcsXG4gICdib3JkZXItY29sbGFwc2UnLFxuICAnYm9yZGVyLWNvbG9yJyxcbiAgJ2JvcmRlci1lbmQtZW5kLXJhZGl1cycsXG4gICdib3JkZXItZW5kLXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItaW1hZ2UnLFxuICAnYm9yZGVyLWltYWdlLW91dHNldCcsXG4gICdib3JkZXItaW1hZ2UtcmVwZWF0JyxcbiAgJ2JvcmRlci1pbWFnZS1zbGljZScsXG4gICdib3JkZXItaW1hZ2Utc291cmNlJyxcbiAgJ2JvcmRlci1pbWFnZS13aWR0aCcsXG4gICdib3JkZXItaW5saW5lJyxcbiAgJ2JvcmRlci1pbmxpbmUtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtY29sb3InLFxuICAnYm9yZGVyLWlubGluZS1lbmQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1lbmQtd2lkdGgnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydCcsXG4gICdib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yJyxcbiAgJ2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUnLFxuICAnYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCcsXG4gICdib3JkZXItaW5saW5lLXN0eWxlJyxcbiAgJ2JvcmRlci1pbmxpbmUtd2lkdGgnLFxuICAnYm9yZGVyLWxlZnQnLFxuICAnYm9yZGVyLWxlZnQtY29sb3InLFxuICAnYm9yZGVyLWxlZnQtc3R5bGUnLFxuICAnYm9yZGVyLWxlZnQtd2lkdGgnLFxuICAnYm9yZGVyLXJhZGl1cycsXG4gICdib3JkZXItcmlnaHQnLFxuICAnYm9yZGVyLXJpZ2h0LWNvbG9yJyxcbiAgJ2JvcmRlci1yaWdodC1zdHlsZScsXG4gICdib3JkZXItcmlnaHQtd2lkdGgnLFxuICAnYm9yZGVyLXNwYWNpbmcnLFxuICAnYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMnLFxuICAnYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1cycsXG4gICdib3JkZXItc3R5bGUnLFxuICAnYm9yZGVyLXRvcCcsXG4gICdib3JkZXItdG9wLWNvbG9yJyxcbiAgJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnLFxuICAnYm9yZGVyLXRvcC1zdHlsZScsXG4gICdib3JkZXItdG9wLXdpZHRoJyxcbiAgJ2JvcmRlci13aWR0aCcsXG4gICdib3R0b20nLFxuICAnYm94LWFsaWduJyxcbiAgJ2JveC1kZWNvcmF0aW9uLWJyZWFrJyxcbiAgJ2JveC1kaXJlY3Rpb24nLFxuICAnYm94LWZsZXgnLFxuICAnYm94LWZsZXgtZ3JvdXAnLFxuICAnYm94LWxpbmVzJyxcbiAgJ2JveC1vcmRpbmFsLWdyb3VwJyxcbiAgJ2JveC1vcmllbnQnLFxuICAnYm94LXBhY2snLFxuICAnYm94LXNoYWRvdycsXG4gICdib3gtc2l6aW5nJyxcbiAgJ2JyZWFrLWFmdGVyJyxcbiAgJ2JyZWFrLWJlZm9yZScsXG4gICdicmVhay1pbnNpZGUnLFxuICAnY2FwdGlvbi1zaWRlJyxcbiAgJ2NhcmV0LWNvbG9yJyxcbiAgJ2NsZWFyJyxcbiAgJ2NsaXAnLFxuICAnY2xpcC1wYXRoJyxcbiAgJ2NsaXAtcnVsZScsXG4gICdjb2xvcicsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJyxcbiAgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycycsXG4gICdjb2xvci1wcm9maWxlJyxcbiAgJ2NvbG9yLXJlbmRlcmluZycsXG4gICdjb2xvci1zY2hlbWUnLFxuICAnY29sdW1uLWNvdW50JyxcbiAgJ2NvbHVtbi1maWxsJyxcbiAgJ2NvbHVtbi1nYXAnLFxuICAnY29sdW1uLXJ1bGUnLFxuICAnY29sdW1uLXJ1bGUtY29sb3InLFxuICAnY29sdW1uLXJ1bGUtc3R5bGUnLFxuICAnY29sdW1uLXJ1bGUtd2lkdGgnLFxuICAnY29sdW1uLXNwYW4nLFxuICAnY29sdW1uLXdpZHRoJyxcbiAgJ2NvbHVtbnMnLFxuICAnY29udGFpbicsXG4gICdjb250YWluLWludHJpbnNpYy1ibG9jay1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLWhlaWdodCcsXG4gICdjb250YWluLWludHJpbnNpYy1pbmxpbmUtc2l6ZScsXG4gICdjb250YWluLWludHJpbnNpYy1zaXplJyxcbiAgJ2NvbnRhaW4taW50cmluc2ljLXdpZHRoJyxcbiAgJ2NvbnRhaW5lcicsXG4gICdjb250YWluZXItbmFtZScsXG4gICdjb250YWluZXItdHlwZScsXG4gICdjb250ZW50JyxcbiAgJ2NvbnRlbnQtdmlzaWJpbGl0eScsXG4gICdjb3VudGVyLWluY3JlbWVudCcsXG4gICdjb3VudGVyLXJlc2V0JyxcbiAgJ2NvdW50ZXItc2V0JyxcbiAgJ2N1ZScsXG4gICdjdWUtYWZ0ZXInLFxuICAnY3VlLWJlZm9yZScsXG4gICdjdXJzb3InLFxuICAnY3gnLFxuICAnY3knLFxuICAnZGlyZWN0aW9uJyxcbiAgJ2Rpc3BsYXknLFxuICAnZG9taW5hbnQtYmFzZWxpbmUnLFxuICAnZW1wdHktY2VsbHMnLFxuICAnZW5hYmxlLWJhY2tncm91bmQnLFxuICAnZmllbGQtc2l6aW5nJyxcbiAgJ2ZpbGwnLFxuICAnZmlsbC1vcGFjaXR5JyxcbiAgJ2ZpbGwtcnVsZScsXG4gICdmaWx0ZXInLFxuICAnZmxleCcsXG4gICdmbGV4LWJhc2lzJyxcbiAgJ2ZsZXgtZGlyZWN0aW9uJyxcbiAgJ2ZsZXgtZmxvdycsXG4gICdmbGV4LWdyb3cnLFxuICAnZmxleC1zaHJpbmsnLFxuICAnZmxleC13cmFwJyxcbiAgJ2Zsb2F0JyxcbiAgJ2Zsb29kLWNvbG9yJyxcbiAgJ2Zsb29kLW9wYWNpdHknLFxuICAnZmxvdycsXG4gICdmb250JyxcbiAgJ2ZvbnQtZGlzcGxheScsXG4gICdmb250LWZhbWlseScsXG4gICdmb250LWZlYXR1cmUtc2V0dGluZ3MnLFxuICAnZm9udC1rZXJuaW5nJyxcbiAgJ2ZvbnQtbGFuZ3VhZ2Utb3ZlcnJpZGUnLFxuICAnZm9udC1vcHRpY2FsLXNpemluZycsXG4gICdmb250LXBhbGV0dGUnLFxuICAnZm9udC1zaXplJyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnLFxuICAnZm9udC1zbW9vdGgnLFxuICAnZm9udC1zbW9vdGhpbmcnLFxuICAnZm9udC1zdHJldGNoJyxcbiAgJ2ZvbnQtc3R5bGUnLFxuICAnZm9udC1zeW50aGVzaXMnLFxuICAnZm9udC1zeW50aGVzaXMtcG9zaXRpb24nLFxuICAnZm9udC1zeW50aGVzaXMtc21hbGwtY2FwcycsXG4gICdmb250LXN5bnRoZXNpcy1zdHlsZScsXG4gICdmb250LXN5bnRoZXNpcy13ZWlnaHQnLFxuICAnZm9udC12YXJpYW50JyxcbiAgJ2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1jYXBzJyxcbiAgJ2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuJyxcbiAgJ2ZvbnQtdmFyaWFudC1lbW9qaScsXG4gICdmb250LXZhcmlhbnQtbGlnYXR1cmVzJyxcbiAgJ2ZvbnQtdmFyaWFudC1udW1lcmljJyxcbiAgJ2ZvbnQtdmFyaWFudC1wb3NpdGlvbicsXG4gICdmb250LXZhcmlhdGlvbi1zZXR0aW5ncycsXG4gICdmb250LXdlaWdodCcsXG4gICdmb3JjZWQtY29sb3ItYWRqdXN0JyxcbiAgJ2dhcCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsJyxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyxcbiAgJ2dyaWQnLFxuICAnZ3JpZC1hcmVhJyxcbiAgJ2dyaWQtYXV0by1jb2x1bW5zJyxcbiAgJ2dyaWQtYXV0by1mbG93JyxcbiAgJ2dyaWQtYXV0by1yb3dzJyxcbiAgJ2dyaWQtY29sdW1uJyxcbiAgJ2dyaWQtY29sdW1uLWVuZCcsXG4gICdncmlkLWNvbHVtbi1zdGFydCcsXG4gICdncmlkLWdhcCcsXG4gICdncmlkLXJvdycsXG4gICdncmlkLXJvdy1lbmQnLFxuICAnZ3JpZC1yb3ctc3RhcnQnLFxuICAnZ3JpZC10ZW1wbGF0ZScsXG4gICdncmlkLXRlbXBsYXRlLWFyZWFzJyxcbiAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsXG4gICdncmlkLXRlbXBsYXRlLXJvd3MnLFxuICAnaGFuZ2luZy1wdW5jdHVhdGlvbicsXG4gICdoZWlnaHQnLFxuICAnaHlwaGVuYXRlLWNoYXJhY3RlcicsXG4gICdoeXBoZW5hdGUtbGltaXQtY2hhcnMnLFxuICAnaHlwaGVucycsXG4gICdpY29uJyxcbiAgJ2ltYWdlLW9yaWVudGF0aW9uJyxcbiAgJ2ltYWdlLXJlbmRlcmluZycsXG4gICdpbWFnZS1yZXNvbHV0aW9uJyxcbiAgJ2ltZS1tb2RlJyxcbiAgJ2luaXRpYWwtbGV0dGVyJyxcbiAgJ2luaXRpYWwtbGV0dGVyLWFsaWduJyxcbiAgJ2lubGluZS1zaXplJyxcbiAgJ2luc2V0JyxcbiAgJ2luc2V0LWFyZWEnLFxuICAnaW5zZXQtYmxvY2snLFxuICAnaW5zZXQtYmxvY2stZW5kJyxcbiAgJ2luc2V0LWJsb2NrLXN0YXJ0JyxcbiAgJ2luc2V0LWlubGluZScsXG4gICdpbnNldC1pbmxpbmUtZW5kJyxcbiAgJ2luc2V0LWlubGluZS1zdGFydCcsXG4gICdpc29sYXRpb24nLFxuICAnanVzdGlmeS1jb250ZW50JyxcbiAgJ2p1c3RpZnktaXRlbXMnLFxuICAnanVzdGlmeS1zZWxmJyxcbiAgJ2tlcm5pbmcnLFxuICAnbGVmdCcsXG4gICdsZXR0ZXItc3BhY2luZycsXG4gICdsaWdodGluZy1jb2xvcicsXG4gICdsaW5lLWJyZWFrJyxcbiAgJ2xpbmUtaGVpZ2h0JyxcbiAgJ2xpbmUtaGVpZ2h0LXN0ZXAnLFxuICAnbGlzdC1zdHlsZScsXG4gICdsaXN0LXN0eWxlLWltYWdlJyxcbiAgJ2xpc3Qtc3R5bGUtcG9zaXRpb24nLFxuICAnbGlzdC1zdHlsZS10eXBlJyxcbiAgJ21hcmdpbicsXG4gICdtYXJnaW4tYmxvY2snLFxuICAnbWFyZ2luLWJsb2NrLWVuZCcsXG4gICdtYXJnaW4tYmxvY2stc3RhcnQnLFxuICAnbWFyZ2luLWJvdHRvbScsXG4gICdtYXJnaW4taW5saW5lJyxcbiAgJ21hcmdpbi1pbmxpbmUtZW5kJyxcbiAgJ21hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnbWFyZ2luLWxlZnQnLFxuICAnbWFyZ2luLXJpZ2h0JyxcbiAgJ21hcmdpbi10b3AnLFxuICAnbWFyZ2luLXRyaW0nLFxuICAnbWFya2VyJyxcbiAgJ21hcmtlci1lbmQnLFxuICAnbWFya2VyLW1pZCcsXG4gICdtYXJrZXItc3RhcnQnLFxuICAnbWFya3MnLFxuICAnbWFzaycsXG4gICdtYXNrLWJvcmRlcicsXG4gICdtYXNrLWJvcmRlci1tb2RlJyxcbiAgJ21hc2stYm9yZGVyLW91dHNldCcsXG4gICdtYXNrLWJvcmRlci1yZXBlYXQnLFxuICAnbWFzay1ib3JkZXItc2xpY2UnLFxuICAnbWFzay1ib3JkZXItc291cmNlJyxcbiAgJ21hc2stYm9yZGVyLXdpZHRoJyxcbiAgJ21hc2stY2xpcCcsXG4gICdtYXNrLWNvbXBvc2l0ZScsXG4gICdtYXNrLWltYWdlJyxcbiAgJ21hc2stbW9kZScsXG4gICdtYXNrLW9yaWdpbicsXG4gICdtYXNrLXBvc2l0aW9uJyxcbiAgJ21hc2stcmVwZWF0JyxcbiAgJ21hc2stc2l6ZScsXG4gICdtYXNrLXR5cGUnLFxuICAnbWFzb25yeS1hdXRvLWZsb3cnLFxuICAnbWF0aC1kZXB0aCcsXG4gICdtYXRoLXNoaWZ0JyxcbiAgJ21hdGgtc3R5bGUnLFxuICAnbWF4LWJsb2NrLXNpemUnLFxuICAnbWF4LWhlaWdodCcsXG4gICdtYXgtaW5saW5lLXNpemUnLFxuICAnbWF4LXdpZHRoJyxcbiAgJ21pbi1ibG9jay1zaXplJyxcbiAgJ21pbi1oZWlnaHQnLFxuICAnbWluLWlubGluZS1zaXplJyxcbiAgJ21pbi13aWR0aCcsXG4gICdtaXgtYmxlbmQtbW9kZScsXG4gICduYXYtZG93bicsXG4gICduYXYtaW5kZXgnLFxuICAnbmF2LWxlZnQnLFxuICAnbmF2LXJpZ2h0JyxcbiAgJ25hdi11cCcsXG4gICdub25lJyxcbiAgJ25vcm1hbCcsXG4gICdvYmplY3QtZml0JyxcbiAgJ29iamVjdC1wb3NpdGlvbicsXG4gICdvZmZzZXQnLFxuICAnb2Zmc2V0LWFuY2hvcicsXG4gICdvZmZzZXQtZGlzdGFuY2UnLFxuICAnb2Zmc2V0LXBhdGgnLFxuICAnb2Zmc2V0LXBvc2l0aW9uJyxcbiAgJ29mZnNldC1yb3RhdGUnLFxuICAnb3BhY2l0eScsXG4gICdvcmRlcicsXG4gICdvcnBoYW5zJyxcbiAgJ291dGxpbmUnLFxuICAnb3V0bGluZS1jb2xvcicsXG4gICdvdXRsaW5lLW9mZnNldCcsXG4gICdvdXRsaW5lLXN0eWxlJyxcbiAgJ291dGxpbmUtd2lkdGgnLFxuICAnb3ZlcmZsb3cnLFxuICAnb3ZlcmZsb3ctYW5jaG9yJyxcbiAgJ292ZXJmbG93LWJsb2NrJyxcbiAgJ292ZXJmbG93LWNsaXAtbWFyZ2luJyxcbiAgJ292ZXJmbG93LWlubGluZScsXG4gICdvdmVyZmxvdy13cmFwJyxcbiAgJ292ZXJmbG93LXgnLFxuICAnb3ZlcmZsb3cteScsXG4gICdvdmVybGF5JyxcbiAgJ292ZXJzY3JvbGwtYmVoYXZpb3InLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci1ibG9jaycsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLWlubGluZScsXG4gICdvdmVyc2Nyb2xsLWJlaGF2aW9yLXgnLFxuICAnb3ZlcnNjcm9sbC1iZWhhdmlvci15JyxcbiAgJ3BhZGRpbmcnLFxuICAncGFkZGluZy1ibG9jaycsXG4gICdwYWRkaW5nLWJsb2NrLWVuZCcsXG4gICdwYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3BhZGRpbmctYm90dG9tJyxcbiAgJ3BhZGRpbmctaW5saW5lJyxcbiAgJ3BhZGRpbmctaW5saW5lLWVuZCcsXG4gICdwYWRkaW5nLWlubGluZS1zdGFydCcsXG4gICdwYWRkaW5nLWxlZnQnLFxuICAncGFkZGluZy1yaWdodCcsXG4gICdwYWRkaW5nLXRvcCcsXG4gICdwYWdlJyxcbiAgJ3BhZ2UtYnJlYWstYWZ0ZXInLFxuICAncGFnZS1icmVhay1iZWZvcmUnLFxuICAncGFnZS1icmVhay1pbnNpZGUnLFxuICAncGFpbnQtb3JkZXInLFxuICAncGF1c2UnLFxuICAncGF1c2UtYWZ0ZXInLFxuICAncGF1c2UtYmVmb3JlJyxcbiAgJ3BlcnNwZWN0aXZlJyxcbiAgJ3BlcnNwZWN0aXZlLW9yaWdpbicsXG4gICdwbGFjZS1jb250ZW50JyxcbiAgJ3BsYWNlLWl0ZW1zJyxcbiAgJ3BsYWNlLXNlbGYnLFxuICAncG9pbnRlci1ldmVudHMnLFxuICAncG9zaXRpb24nLFxuICAncG9zaXRpb24tYW5jaG9yJyxcbiAgJ3Bvc2l0aW9uLXZpc2liaWxpdHknLFxuICAncHJpbnQtY29sb3ItYWRqdXN0JyxcbiAgJ3F1b3RlcycsXG4gICdyJyxcbiAgJ3Jlc2l6ZScsXG4gICdyZXN0JyxcbiAgJ3Jlc3QtYWZ0ZXInLFxuICAncmVzdC1iZWZvcmUnLFxuICAncmlnaHQnLFxuICAncm90YXRlJyxcbiAgJ3Jvdy1nYXAnLFxuICAncnVieS1hbGlnbicsXG4gICdydWJ5LXBvc2l0aW9uJyxcbiAgJ3NjYWxlJyxcbiAgJ3Njcm9sbC1iZWhhdmlvcicsXG4gICdzY3JvbGwtbWFyZ2luJyxcbiAgJ3Njcm9sbC1tYXJnaW4tYmxvY2snLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1ibG9jay1zdGFydCcsXG4gICdzY3JvbGwtbWFyZ2luLWJvdHRvbScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZScsXG4gICdzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQnLFxuICAnc2Nyb2xsLW1hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLW1hcmdpbi1sZWZ0JyxcbiAgJ3Njcm9sbC1tYXJnaW4tcmlnaHQnLFxuICAnc2Nyb2xsLW1hcmdpbi10b3AnLFxuICAnc2Nyb2xsLXBhZGRpbmcnLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2snLFxuICAnc2Nyb2xsLXBhZGRpbmctYmxvY2stZW5kJyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3Njcm9sbC1wYWRkaW5nLWJvdHRvbScsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUnLFxuICAnc2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCcsXG4gICdzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQnLFxuICAnc2Nyb2xsLXBhZGRpbmctbGVmdCcsXG4gICdzY3JvbGwtcGFkZGluZy1yaWdodCcsXG4gICdzY3JvbGwtcGFkZGluZy10b3AnLFxuICAnc2Nyb2xsLXNuYXAtYWxpZ24nLFxuICAnc2Nyb2xsLXNuYXAtc3RvcCcsXG4gICdzY3JvbGwtc25hcC10eXBlJyxcbiAgJ3Njcm9sbC10aW1lbGluZScsXG4gICdzY3JvbGwtdGltZWxpbmUtYXhpcycsXG4gICdzY3JvbGwtdGltZWxpbmUtbmFtZScsXG4gICdzY3JvbGxiYXItY29sb3InLFxuICAnc2Nyb2xsYmFyLWd1dHRlcicsXG4gICdzY3JvbGxiYXItd2lkdGgnLFxuICAnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJyxcbiAgJ3NoYXBlLW1hcmdpbicsXG4gICdzaGFwZS1vdXRzaWRlJyxcbiAgJ3NoYXBlLXJlbmRlcmluZycsXG4gICdzcGVhaycsXG4gICdzcGVhay1hcycsXG4gICdzcmMnLCAvLyBAZm9udC1mYWNlXG4gICdzdG9wLWNvbG9yJyxcbiAgJ3N0b3Atb3BhY2l0eScsXG4gICdzdHJva2UnLFxuICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICdzdHJva2UtZGFzaG9mZnNldCcsXG4gICdzdHJva2UtbGluZWNhcCcsXG4gICdzdHJva2UtbGluZWpvaW4nLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW9wYWNpdHknLFxuICAnc3Ryb2tlLXdpZHRoJyxcbiAgJ3RhYi1zaXplJyxcbiAgJ3RhYmxlLWxheW91dCcsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RleHQtYWxpZ24tYWxsJyxcbiAgJ3RleHQtYWxpZ24tbGFzdCcsXG4gICd0ZXh0LWFuY2hvcicsXG4gICd0ZXh0LWNvbWJpbmUtdXByaWdodCcsXG4gICd0ZXh0LWRlY29yYXRpb24nLFxuICAndGV4dC1kZWNvcmF0aW9uLWNvbG9yJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1saW5lJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwJyxcbiAgJ3RleHQtZGVjb3JhdGlvbi1za2lwLWluaycsXG4gICd0ZXh0LWRlY29yYXRpb24tc3R5bGUnLFxuICAndGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcycsXG4gICd0ZXh0LWVtcGhhc2lzJyxcbiAgJ3RleHQtZW1waGFzaXMtY29sb3InLFxuICAndGV4dC1lbXBoYXNpcy1wb3NpdGlvbicsXG4gICd0ZXh0LWVtcGhhc2lzLXN0eWxlJyxcbiAgJ3RleHQtaW5kZW50JyxcbiAgJ3RleHQtanVzdGlmeScsXG4gICd0ZXh0LW9yaWVudGF0aW9uJyxcbiAgJ3RleHQtb3ZlcmZsb3cnLFxuICAndGV4dC1yZW5kZXJpbmcnLFxuICAndGV4dC1zaGFkb3cnLFxuICAndGV4dC1zaXplLWFkanVzdCcsXG4gICd0ZXh0LXRyYW5zZm9ybScsXG4gICd0ZXh0LXVuZGVybGluZS1vZmZzZXQnLFxuICAndGV4dC11bmRlcmxpbmUtcG9zaXRpb24nLFxuICAndGV4dC13cmFwJyxcbiAgJ3RleHQtd3JhcC1tb2RlJyxcbiAgJ3RleHQtd3JhcC1zdHlsZScsXG4gICd0aW1lbGluZS1zY29wZScsXG4gICd0b3AnLFxuICAndG91Y2gtYWN0aW9uJyxcbiAgJ3RyYW5zZm9ybScsXG4gICd0cmFuc2Zvcm0tYm94JyxcbiAgJ3RyYW5zZm9ybS1vcmlnaW4nLFxuICAndHJhbnNmb3JtLXN0eWxlJyxcbiAgJ3RyYW5zaXRpb24nLFxuICAndHJhbnNpdGlvbi1iZWhhdmlvcicsXG4gICd0cmFuc2l0aW9uLWRlbGF5JyxcbiAgJ3RyYW5zaXRpb24tZHVyYXRpb24nLFxuICAndHJhbnNpdGlvbi1wcm9wZXJ0eScsXG4gICd0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbicsXG4gICd0cmFuc2xhdGUnLFxuICAndW5pY29kZS1iaWRpJyxcbiAgJ3VzZXItbW9kaWZ5JyxcbiAgJ3VzZXItc2VsZWN0JyxcbiAgJ3ZlY3Rvci1lZmZlY3QnLFxuICAndmVydGljYWwtYWxpZ24nLFxuICAndmlldy10aW1lbGluZScsXG4gICd2aWV3LXRpbWVsaW5lLWF4aXMnLFxuICAndmlldy10aW1lbGluZS1pbnNldCcsXG4gICd2aWV3LXRpbWVsaW5lLW5hbWUnLFxuICAndmlldy10cmFuc2l0aW9uLW5hbWUnLFxuICAndmlzaWJpbGl0eScsXG4gICd2b2ljZS1iYWxhbmNlJyxcbiAgJ3ZvaWNlLWR1cmF0aW9uJyxcbiAgJ3ZvaWNlLWZhbWlseScsXG4gICd2b2ljZS1waXRjaCcsXG4gICd2b2ljZS1yYW5nZScsXG4gICd2b2ljZS1yYXRlJyxcbiAgJ3ZvaWNlLXN0cmVzcycsXG4gICd2b2ljZS12b2x1bWUnLFxuICAnd2hpdGUtc3BhY2UnLFxuICAnd2hpdGUtc3BhY2UtY29sbGFwc2UnLFxuICAnd2lkb3dzJyxcbiAgJ3dpZHRoJyxcbiAgJ3dpbGwtY2hhbmdlJyxcbiAgJ3dvcmQtYnJlYWsnLFxuICAnd29yZC1zcGFjaW5nJyxcbiAgJ3dvcmQtd3JhcCcsXG4gICd3cml0aW5nLW1vZGUnLFxuICAneCcsXG4gICd5JyxcbiAgJ3otaW5kZXgnLFxuICAnem9vbSdcbl0uc29ydCgpLnJldmVyc2UoKTtcblxuLypcbkxhbmd1YWdlOiBTQ1NTXG5EZXNjcmlwdGlvbjogU2NzcyBpcyBhbiBleHRlbnNpb24gb2YgdGhlIHN5bnRheCBvZiBDU1MuXG5BdXRob3I6IEt1cnQgRW1jaCA8a3VydEBrdXJ0ZW1jaC5jb20+XG5XZWJzaXRlOiBodHRwczovL3Nhc3MtbGFuZy5jb21cbkNhdGVnb3J5OiBjb21tb24sIGNzcywgd2ViXG4qL1xuXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiBzY3NzKGhsanMpIHtcbiAgY29uc3QgbW9kZXMgPSBNT0RFUyhobGpzKTtcbiAgY29uc3QgUFNFVURPX0VMRU1FTlRTJDEgPSBQU0VVRE9fRUxFTUVOVFM7XG4gIGNvbnN0IFBTRVVET19DTEFTU0VTJDEgPSBQU0VVRE9fQ0xBU1NFUztcblxuICBjb25zdCBBVF9JREVOVElGSUVSID0gJ0BbYS16LV0rJzsgLy8gQGZvbnQtZmFjZVxuICBjb25zdCBBVF9NT0RJRklFUlMgPSBcImFuZCBvciBub3Qgb25seVwiO1xuICBjb25zdCBJREVOVF9SRSA9ICdbYS16QS1aLV1bYS16QS1aMC05Xy1dKic7XG4gIGNvbnN0IFZBUklBQkxFID0ge1xuICAgIGNsYXNzTmFtZTogJ3ZhcmlhYmxlJyxcbiAgICBiZWdpbjogJyhcXFxcJCcgKyBJREVOVF9SRSArICcpXFxcXGInLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1NDU1MnLFxuICAgIGNhc2VfaW5zZW5zaXRpdmU6IHRydWUsXG4gICAgaWxsZWdhbDogJ1s9L3xcXCddJyxcbiAgICBjb250YWluczogW1xuICAgICAgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0JMT0NLX0NPTU1FTlRfTU9ERSxcbiAgICAgIC8vIHRvIHJlY29nbml6ZSBrZXlmcmFtZSA0MCUgZXRjIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBzY29wZSBvZiBvdXJcbiAgICAgIC8vIGF0dHJpYnV0ZSB2YWx1ZSBtb2RlXG4gICAgICBtb2Rlcy5DU1NfTlVNQkVSX01PREUsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLWlkJyxcbiAgICAgICAgYmVnaW46ICcjW0EtWmEtejAtOV8tXSsnLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLWNsYXNzJyxcbiAgICAgICAgYmVnaW46ICdcXFxcLltBLVphLXowLTlfLV0rJyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgbW9kZXMuQVRUUklCVVRFX1NFTEVDVE9SX01PREUsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLXRhZycsXG4gICAgICAgIGJlZ2luOiAnXFxcXGIoJyArIFRBR1Muam9pbignfCcpICsgJylcXFxcYicsXG4gICAgICAgIC8vIHdhcyB0aGVyZSwgYmVmb3JlLCBidXQgd2h5P1xuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLXBzZXVkbycsXG4gICAgICAgIGJlZ2luOiAnOignICsgUFNFVURPX0NMQVNTRVMkMS5qb2luKCd8JykgKyAnKSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ3NlbGVjdG9yLXBzZXVkbycsXG4gICAgICAgIGJlZ2luOiAnOig6KT8oJyArIFBTRVVET19FTEVNRU5UUyQxLmpvaW4oJ3wnKSArICcpJ1xuICAgICAgfSxcbiAgICAgIFZBUklBQkxFLFxuICAgICAgeyAvLyBwc2V1ZG8tc2VsZWN0b3IgcGFyYW1zXG4gICAgICAgIGJlZ2luOiAvXFwoLyxcbiAgICAgICAgZW5kOiAvXFwpLyxcbiAgICAgICAgY29udGFpbnM6IFsgbW9kZXMuQ1NTX05VTUJFUl9NT0RFIF1cbiAgICAgIH0sXG4gICAgICBtb2Rlcy5DU1NfVkFSSUFCTEUsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZTogJ2F0dHJpYnV0ZScsXG4gICAgICAgIGJlZ2luOiAnXFxcXGIoJyArIEFUVFJJQlVURVMuam9pbignfCcpICsgJylcXFxcYidcbiAgICAgIH0sXG4gICAgICB7IGJlZ2luOiAnXFxcXGIod2hpdGVzcGFjZXx3YWl0fHctcmVzaXplfHZpc2libGV8dmVydGljYWwtdGV4dHx2ZXJ0aWNhbC1pZGVvZ3JhcGhpY3x1cHBlcmNhc2V8dXBwZXItcm9tYW58dXBwZXItYWxwaGF8dW5kZXJsaW5lfHRyYW5zcGFyZW50fHRvcHx0aGlufHRoaWNrfHRleHR8dGV4dC10b3B8dGV4dC1ib3R0b218dGItcmx8dGFibGUtaGVhZGVyLWdyb3VwfHRhYmxlLWZvb3Rlci1ncm91cHxzdy1yZXNpemV8c3VwZXJ8c3RyaWN0fHN0YXRpY3xzcXVhcmV8c29saWR8c21hbGwtY2Fwc3xzZXBhcmF0ZXxzZS1yZXNpemV8c2Nyb2xsfHMtcmVzaXplfHJ0bHxyb3ctcmVzaXplfHJpZGdlfHJpZ2h0fHJlcGVhdHxyZXBlYXQteXxyZXBlYXQteHxyZWxhdGl2ZXxwcm9ncmVzc3xwb2ludGVyfG92ZXJsaW5lfG91dHNpZGV8b3V0c2V0fG9ibGlxdWV8bm93cmFwfG5vdC1hbGxvd2VkfG5vcm1hbHxub25lfG53LXJlc2l6ZXxuby1yZXBlYXR8bm8tZHJvcHxuZXdzcGFwZXJ8bmUtcmVzaXplfG4tcmVzaXplfG1vdmV8bWlkZGxlfG1lZGl1bXxsdHJ8bHItdGJ8bG93ZXJjYXNlfGxvd2VyLXJvbWFufGxvd2VyLWFscGhhfGxvb3NlfGxpc3QtaXRlbXxsaW5lfGxpbmUtdGhyb3VnaHxsaW5lLWVkZ2V8bGlnaHRlcnxsZWZ0fGtlZXAtYWxsfGp1c3RpZnl8aXRhbGljfGludGVyLXdvcmR8aW50ZXItaWRlb2dyYXBofGluc2lkZXxpbnNldHxpbmxpbmV8aW5saW5lLWJsb2NrfGluaGVyaXR8aW5hY3RpdmV8aWRlb2dyYXBoLXNwYWNlfGlkZW9ncmFwaC1wYXJlbnRoZXNpc3xpZGVvZ3JhcGgtbnVtZXJpY3xpZGVvZ3JhcGgtYWxwaGF8aG9yaXpvbnRhbHxoaWRkZW58aGVscHxoYW5kfGdyb292ZXxmaXhlZHxlbGxpcHNpc3xlLXJlc2l6ZXxkb3VibGV8ZG90dGVkfGRpc3RyaWJ1dGV8ZGlzdHJpYnV0ZS1zcGFjZXxkaXN0cmlidXRlLWxldHRlcnxkaXN0cmlidXRlLWFsbC1saW5lc3xkaXNjfGRpc2FibGVkfGRlZmF1bHR8ZGVjaW1hbHxkYXNoZWR8Y3Jvc3NoYWlyfGNvbGxhcHNlfGNvbC1yZXNpemV8Y2lyY2xlfGNoYXJ8Y2VudGVyfGNhcGl0YWxpemV8YnJlYWstd29yZHxicmVhay1hbGx8Ym90dG9tfGJvdGh8Ym9sZGVyfGJvbGR8YmxvY2t8YmlkaS1vdmVycmlkZXxiZWxvd3xiYXNlbGluZXxhdXRvfGFsd2F5c3xhbGwtc2Nyb2xsfGFic29sdXRlfHRhYmxlfHRhYmxlLWNlbGwpXFxcXGInIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAvOi8sXG4gICAgICAgIGVuZDogL1s7fXtdLyxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIG1vZGVzLkJMT0NLX0NPTU1FTlQsXG4gICAgICAgICAgVkFSSUFCTEUsXG4gICAgICAgICAgbW9kZXMuSEVYQ09MT1IsXG4gICAgICAgICAgbW9kZXMuQ1NTX05VTUJFUl9NT0RFLFxuICAgICAgICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREUsXG4gICAgICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgICAgIG1vZGVzLklNUE9SVEFOVCxcbiAgICAgICAgICBtb2Rlcy5GVU5DVElPTl9ESVNQQVRDSFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgLy8gbWF0Y2hpbmcgdGhlc2UgaGVyZSBhbGxvd3MgdXMgdG8gdHJlYXQgdGhlbSBtb3JlIGxpa2UgcmVndWxhciBDU1NcbiAgICAgIC8vIHJ1bGVzIHNvIGV2ZXJ5dGhpbmcgYmV0d2VlbiB0aGUge30gZ2V0cyByZWd1bGFyIHJ1bGUgaGlnaGxpZ2h0aW5nLFxuICAgICAgLy8gd2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciBwYWdlIGFuZCBmb250LWZhY2VcbiAgICAgIHtcbiAgICAgICAgYmVnaW46ICdAKHBhZ2V8Zm9udC1mYWNlKScsXG4gICAgICAgIGtleXdvcmRzOiB7XG4gICAgICAgICAgJHBhdHRlcm46IEFUX0lERU5USUZJRVIsXG4gICAgICAgICAga2V5d29yZDogJ0BwYWdlIEBmb250LWZhY2UnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGJlZ2luOiAnQCcsXG4gICAgICAgIGVuZDogJ1t7O10nLFxuICAgICAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICAgICAga2V5d29yZHM6IHtcbiAgICAgICAgICAkcGF0dGVybjogL1thLXotXSsvLFxuICAgICAgICAgIGtleXdvcmQ6IEFUX01PRElGSUVSUyxcbiAgICAgICAgICBhdHRyaWJ1dGU6IE1FRElBX0ZFQVRVUkVTLmpvaW4oXCIgXCIpXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmVnaW46IEFUX0lERU5USUZJRVIsXG4gICAgICAgICAgICBjbGFzc05hbWU6IFwia2V5d29yZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBiZWdpbjogL1thLXotXSsoPz06KS8sXG4gICAgICAgICAgICBjbGFzc05hbWU6IFwiYXR0cmlidXRlXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFZBUklBQkxFLFxuICAgICAgICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREUsXG4gICAgICAgICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgICAgICAgIG1vZGVzLkhFWENPTE9SLFxuICAgICAgICAgIG1vZGVzLkNTU19OVU1CRVJfTU9ERVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgbW9kZXMuRlVOQ1RJT05fRElTUEFUQ0hcbiAgICBdXG4gIH07XG59XG5cbmV4cG9ydCB7IHNjc3MgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/scss.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/shell.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/shell.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ shell)\n/* harmony export */ });\n/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune \nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[/~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zaGVsbC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixJQUFJO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTRCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zaGVsbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFNoZWxsIFNlc3Npb25cblJlcXVpcmVzOiBiYXNoLmpzXG5BdXRob3I6IFRTVVlVU0FUTyBLaXRzdW5lIDxtYWtlLmp1c3Qub25AZ21haWwuY29tPlxuQ2F0ZWdvcnk6IGNvbW1vblxuQXVkaXQ6IDIwMjBcbiovXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiBzaGVsbChobGpzKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1NoZWxsIFNlc3Npb24nLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICdjb25zb2xlJyxcbiAgICAgICdzaGVsbHNlc3Npb24nXG4gICAgXSxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdtZXRhLnByb21wdCcsXG4gICAgICAgIC8vIFdlIGNhbm5vdCBhZGQgXFxzIChzcGFjZXMpIGluIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gb3RoZXJ3aXNlIGl0IHdpbGwgYmUgdG9vIGJyb2FkIGFuZCBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0LlxuICAgICAgICAvLyBGb3IgaW5zdGFuY2UsIGluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgaXQgd291bGQgbWF0Y2ggXCJlY2hvIC9wYXRoL3RvL2hvbWUgPlwiIGFzIGEgcHJvbXB0OlxuICAgICAgICAvLyBlY2hvIC9wYXRoL3RvL2hvbWUgPiB0LmV4ZVxuICAgICAgICBiZWdpbjogL15cXHN7MCwzfVsvflxcd1xcZFtcXF0oKUAtXSpbPiUkI11bIF0/LyxcbiAgICAgICAgc3RhcnRzOiB7XG4gICAgICAgICAgZW5kOiAvW15cXFxcXSg/PVxccyokKS8sXG4gICAgICAgICAgc3ViTGFuZ3VhZ2U6ICdiYXNoJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyBzaGVsbCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/shell.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/sql.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/sql.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ sql)\n/* harmony export */ });\n/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { match: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { match: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n scope: \"variable\",\n match: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n scope: \"operator\",\n match: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n match: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // turns a multi-word keyword combo into a regex that doesn't\n // care about extra whitespace etc.\n // input: \"START QUERY\"\n // output: /\\bSTART\\s+QUERY\\b/\n function kws_to_regex(list) {\n return regex.concat(\n /\\b/,\n regex.either(...list.map((kw) => {\n return kw.replace(/\\s+/, \"\\\\s+\")\n })),\n /\\b/\n )\n }\n\n const MULTI_WORD_KEYWORDS = {\n scope: \"keyword\",\n match: kws_to_regex(COMBOS),\n relevance: 0,\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ``\n illegal: /[{}]|<\\//,\n keywords: {\n $pattern: /\\b[\\w\\.]+/,\n keyword:\n reduceRelevancy(KEYWORDS, { when: (x) => x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n scope: \"type\",\n match: kws_to_regex(MULTI_WORD_TYPES)\n },\n MULTI_WORD_KEYWORDS,\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zcWwuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGNBQWM7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGNBQWM7QUFDaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUixrQkFBa0IsS0FBSztBQUN2QixRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQywyQkFBMkI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMEIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3NxbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIExhbmd1YWdlOiBTUUxcbiBXZWJzaXRlOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TUUxcbiBDYXRlZ29yeTogY29tbW9uLCBkYXRhYmFzZVxuICovXG5cbi8qXG5cbkdvYWxzOlxuXG5TUUwgaXMgaW50ZW5kZWQgdG8gaGlnaGxpZ2h0IGJhc2ljL2NvbW1vbiBTUUwga2V5d29yZHMgYW5kIGV4cHJlc3Npb25zXG5cbi0gSWYgcHJldHR5IG11Y2ggZXZlcnkgc2luZ2xlIFNRTCBzZXJ2ZXIgaW5jbHVkZXMgc3VwcG9ydHMsIHRoZW4gaXQncyBhIGNhbmlkYXRlLlxuLSBJdCBpcyBOT1QgaW50ZW5kZWQgdG8gaW5jbHVkZSB0b25zIG9mIHZlbmRvciBzcGVjaWZpYyBrZXl3b3JkcyAoT3JhY2xlLCBNeVNRTCxcbiAgUG9zdGdyZVNRTCkgYWx0aG91Z2ggdGhlIGxpc3Qgb2YgZGF0YSB0eXBlcyBpcyBwdXJwb3NlbHkgYSBiaXQgbW9yZSBleHBhbnNpdmUuXG4tIEZvciBtb3JlIHNwZWNpZmljIFNRTCBncmFtbWFycyBwbGVhc2Ugc2VlOlxuICAtIFBvc3RncmVTUUwgYW5kIFBML3BnU1FMIC0gY29yZVxuICAtIFQtU1FMIC0gaHR0cHM6Ly9naXRodWIuY29tL2hpZ2hsaWdodGpzL2hpZ2hsaWdodGpzLXRzcWxcbiAgLSBzcWxfbW9yZSAoY29yZSlcblxuICovXG5cbmZ1bmN0aW9uIHNxbChobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgY29uc3QgQ09NTUVOVF9NT0RFID0gaGxqcy5DT01NRU5UKCctLScsICckJyk7XG4gIGNvbnN0IFNUUklORyA9IHtcbiAgICBzY29wZTogJ3N0cmluZycsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC8nLyxcbiAgICAgICAgZW5kOiAvJy8sXG4gICAgICAgIGNvbnRhaW5zOiBbIHsgbWF0Y2g6IC8nJy8gfSBdXG4gICAgICB9XG4gICAgXVxuICB9O1xuICBjb25zdCBRVU9URURfSURFTlRJRklFUiA9IHtcbiAgICBiZWdpbjogL1wiLyxcbiAgICBlbmQ6IC9cIi8sXG4gICAgY29udGFpbnM6IFsgeyBtYXRjaDogL1wiXCIvIH0gXVxuICB9O1xuXG4gIGNvbnN0IExJVEVSQUxTID0gW1xuICAgIFwidHJ1ZVwiLFxuICAgIFwiZmFsc2VcIixcbiAgICAvLyBOb3Qgc3VyZSBpdCdzIGNvcnJlY3QgdG8gY2FsbCBOVUxMIGxpdGVyYWwsIGFuZCBjbGF1c2VzIGxpa2UgSVMgW05PVF0gTlVMTCBsb29rIHN0cmFuZ2UgdGhhdCB3YXkuXG4gICAgLy8gXCJudWxsXCIsXG4gICAgXCJ1bmtub3duXCJcbiAgXTtcblxuICBjb25zdCBNVUxUSV9XT1JEX1RZUEVTID0gW1xuICAgIFwiZG91YmxlIHByZWNpc2lvblwiLFxuICAgIFwibGFyZ2Ugb2JqZWN0XCIsXG4gICAgXCJ3aXRoIHRpbWV6b25lXCIsXG4gICAgXCJ3aXRob3V0IHRpbWV6b25lXCJcbiAgXTtcblxuICBjb25zdCBUWVBFUyA9IFtcbiAgICAnYmlnaW50JyxcbiAgICAnYmluYXJ5JyxcbiAgICAnYmxvYicsXG4gICAgJ2Jvb2xlYW4nLFxuICAgICdjaGFyJyxcbiAgICAnY2hhcmFjdGVyJyxcbiAgICAnY2xvYicsXG4gICAgJ2RhdGUnLFxuICAgICdkZWMnLFxuICAgICdkZWNmbG9hdCcsXG4gICAgJ2RlY2ltYWwnLFxuICAgICdmbG9hdCcsXG4gICAgJ2ludCcsXG4gICAgJ2ludGVnZXInLFxuICAgICdpbnRlcnZhbCcsXG4gICAgJ25jaGFyJyxcbiAgICAnbmNsb2InLFxuICAgICduYXRpb25hbCcsXG4gICAgJ251bWVyaWMnLFxuICAgICdyZWFsJyxcbiAgICAncm93JyxcbiAgICAnc21hbGxpbnQnLFxuICAgICd0aW1lJyxcbiAgICAndGltZXN0YW1wJyxcbiAgICAndmFyY2hhcicsXG4gICAgJ3ZhcnlpbmcnLCAvLyBtb2RpZmllciAoY2hhcmFjdGVyIHZhcnlpbmcpXG4gICAgJ3ZhcmJpbmFyeSdcbiAgXTtcblxuICBjb25zdCBOT05fUkVTRVJWRURfV09SRFMgPSBbXG4gICAgXCJhZGRcIixcbiAgICBcImFzY1wiLFxuICAgIFwiY29sbGF0aW9uXCIsXG4gICAgXCJkZXNjXCIsXG4gICAgXCJmaW5hbFwiLFxuICAgIFwiZmlyc3RcIixcbiAgICBcImxhc3RcIixcbiAgICBcInZpZXdcIlxuICBdO1xuXG4gIC8vIGh0dHBzOi8vamFrZXdoZWF0LmdpdGh1Yi5pby9zcWwtb3ZlcnZpZXcvc3FsLTIwMTYtZm91bmRhdGlvbi1ncmFtbWFyLmh0bWwjcmVzZXJ2ZWQtd29yZFxuICBjb25zdCBSRVNFUlZFRF9XT1JEUyA9IFtcbiAgICBcImFic1wiLFxuICAgIFwiYWNvc1wiLFxuICAgIFwiYWxsXCIsXG4gICAgXCJhbGxvY2F0ZVwiLFxuICAgIFwiYWx0ZXJcIixcbiAgICBcImFuZFwiLFxuICAgIFwiYW55XCIsXG4gICAgXCJhcmVcIixcbiAgICBcImFycmF5XCIsXG4gICAgXCJhcnJheV9hZ2dcIixcbiAgICBcImFycmF5X21heF9jYXJkaW5hbGl0eVwiLFxuICAgIFwiYXNcIixcbiAgICBcImFzZW5zaXRpdmVcIixcbiAgICBcImFzaW5cIixcbiAgICBcImFzeW1tZXRyaWNcIixcbiAgICBcImF0XCIsXG4gICAgXCJhdGFuXCIsXG4gICAgXCJhdG9taWNcIixcbiAgICBcImF1dGhvcml6YXRpb25cIixcbiAgICBcImF2Z1wiLFxuICAgIFwiYmVnaW5cIixcbiAgICBcImJlZ2luX2ZyYW1lXCIsXG4gICAgXCJiZWdpbl9wYXJ0aXRpb25cIixcbiAgICBcImJldHdlZW5cIixcbiAgICBcImJpZ2ludFwiLFxuICAgIFwiYmluYXJ5XCIsXG4gICAgXCJibG9iXCIsXG4gICAgXCJib29sZWFuXCIsXG4gICAgXCJib3RoXCIsXG4gICAgXCJieVwiLFxuICAgIFwiY2FsbFwiLFxuICAgIFwiY2FsbGVkXCIsXG4gICAgXCJjYXJkaW5hbGl0eVwiLFxuICAgIFwiY2FzY2FkZWRcIixcbiAgICBcImNhc2VcIixcbiAgICBcImNhc3RcIixcbiAgICBcImNlaWxcIixcbiAgICBcImNlaWxpbmdcIixcbiAgICBcImNoYXJcIixcbiAgICBcImNoYXJfbGVuZ3RoXCIsXG4gICAgXCJjaGFyYWN0ZXJcIixcbiAgICBcImNoYXJhY3Rlcl9sZW5ndGhcIixcbiAgICBcImNoZWNrXCIsXG4gICAgXCJjbGFzc2lmaWVyXCIsXG4gICAgXCJjbG9iXCIsXG4gICAgXCJjbG9zZVwiLFxuICAgIFwiY29hbGVzY2VcIixcbiAgICBcImNvbGxhdGVcIixcbiAgICBcImNvbGxlY3RcIixcbiAgICBcImNvbHVtblwiLFxuICAgIFwiY29tbWl0XCIsXG4gICAgXCJjb25kaXRpb25cIixcbiAgICBcImNvbm5lY3RcIixcbiAgICBcImNvbnN0cmFpbnRcIixcbiAgICBcImNvbnRhaW5zXCIsXG4gICAgXCJjb252ZXJ0XCIsXG4gICAgXCJjb3B5XCIsXG4gICAgXCJjb3JyXCIsXG4gICAgXCJjb3JyZXNwb25kaW5nXCIsXG4gICAgXCJjb3NcIixcbiAgICBcImNvc2hcIixcbiAgICBcImNvdW50XCIsXG4gICAgXCJjb3Zhcl9wb3BcIixcbiAgICBcImNvdmFyX3NhbXBcIixcbiAgICBcImNyZWF0ZVwiLFxuICAgIFwiY3Jvc3NcIixcbiAgICBcImN1YmVcIixcbiAgICBcImN1bWVfZGlzdFwiLFxuICAgIFwiY3VycmVudFwiLFxuICAgIFwiY3VycmVudF9jYXRhbG9nXCIsXG4gICAgXCJjdXJyZW50X2RhdGVcIixcbiAgICBcImN1cnJlbnRfZGVmYXVsdF90cmFuc2Zvcm1fZ3JvdXBcIixcbiAgICBcImN1cnJlbnRfcGF0aFwiLFxuICAgIFwiY3VycmVudF9yb2xlXCIsXG4gICAgXCJjdXJyZW50X3Jvd1wiLFxuICAgIFwiY3VycmVudF9zY2hlbWFcIixcbiAgICBcImN1cnJlbnRfdGltZVwiLFxuICAgIFwiY3VycmVudF90aW1lc3RhbXBcIixcbiAgICBcImN1cnJlbnRfcGF0aFwiLFxuICAgIFwiY3VycmVudF9yb2xlXCIsXG4gICAgXCJjdXJyZW50X3RyYW5zZm9ybV9ncm91cF9mb3JfdHlwZVwiLFxuICAgIFwiY3VycmVudF91c2VyXCIsXG4gICAgXCJjdXJzb3JcIixcbiAgICBcImN5Y2xlXCIsXG4gICAgXCJkYXRlXCIsXG4gICAgXCJkYXlcIixcbiAgICBcImRlYWxsb2NhdGVcIixcbiAgICBcImRlY1wiLFxuICAgIFwiZGVjaW1hbFwiLFxuICAgIFwiZGVjZmxvYXRcIixcbiAgICBcImRlY2xhcmVcIixcbiAgICBcImRlZmF1bHRcIixcbiAgICBcImRlZmluZVwiLFxuICAgIFwiZGVsZXRlXCIsXG4gICAgXCJkZW5zZV9yYW5rXCIsXG4gICAgXCJkZXJlZlwiLFxuICAgIFwiZGVzY3JpYmVcIixcbiAgICBcImRldGVybWluaXN0aWNcIixcbiAgICBcImRpc2Nvbm5lY3RcIixcbiAgICBcImRpc3RpbmN0XCIsXG4gICAgXCJkb3VibGVcIixcbiAgICBcImRyb3BcIixcbiAgICBcImR5bmFtaWNcIixcbiAgICBcImVhY2hcIixcbiAgICBcImVsZW1lbnRcIixcbiAgICBcImVsc2VcIixcbiAgICBcImVtcHR5XCIsXG4gICAgXCJlbmRcIixcbiAgICBcImVuZF9mcmFtZVwiLFxuICAgIFwiZW5kX3BhcnRpdGlvblwiLFxuICAgIFwiZW5kLWV4ZWNcIixcbiAgICBcImVxdWFsc1wiLFxuICAgIFwiZXNjYXBlXCIsXG4gICAgXCJldmVyeVwiLFxuICAgIFwiZXhjZXB0XCIsXG4gICAgXCJleGVjXCIsXG4gICAgXCJleGVjdXRlXCIsXG4gICAgXCJleGlzdHNcIixcbiAgICBcImV4cFwiLFxuICAgIFwiZXh0ZXJuYWxcIixcbiAgICBcImV4dHJhY3RcIixcbiAgICBcImZhbHNlXCIsXG4gICAgXCJmZXRjaFwiLFxuICAgIFwiZmlsdGVyXCIsXG4gICAgXCJmaXJzdF92YWx1ZVwiLFxuICAgIFwiZmxvYXRcIixcbiAgICBcImZsb29yXCIsXG4gICAgXCJmb3JcIixcbiAgICBcImZvcmVpZ25cIixcbiAgICBcImZyYW1lX3Jvd1wiLFxuICAgIFwiZnJlZVwiLFxuICAgIFwiZnJvbVwiLFxuICAgIFwiZnVsbFwiLFxuICAgIFwiZnVuY3Rpb25cIixcbiAgICBcImZ1c2lvblwiLFxuICAgIFwiZ2V0XCIsXG4gICAgXCJnbG9iYWxcIixcbiAgICBcImdyYW50XCIsXG4gICAgXCJncm91cFwiLFxuICAgIFwiZ3JvdXBpbmdcIixcbiAgICBcImdyb3Vwc1wiLFxuICAgIFwiaGF2aW5nXCIsXG4gICAgXCJob2xkXCIsXG4gICAgXCJob3VyXCIsXG4gICAgXCJpZGVudGl0eVwiLFxuICAgIFwiaW5cIixcbiAgICBcImluZGljYXRvclwiLFxuICAgIFwiaW5pdGlhbFwiLFxuICAgIFwiaW5uZXJcIixcbiAgICBcImlub3V0XCIsXG4gICAgXCJpbnNlbnNpdGl2ZVwiLFxuICAgIFwiaW5zZXJ0XCIsXG4gICAgXCJpbnRcIixcbiAgICBcImludGVnZXJcIixcbiAgICBcImludGVyc2VjdFwiLFxuICAgIFwiaW50ZXJzZWN0aW9uXCIsXG4gICAgXCJpbnRlcnZhbFwiLFxuICAgIFwiaW50b1wiLFxuICAgIFwiaXNcIixcbiAgICBcImpvaW5cIixcbiAgICBcImpzb25fYXJyYXlcIixcbiAgICBcImpzb25fYXJyYXlhZ2dcIixcbiAgICBcImpzb25fZXhpc3RzXCIsXG4gICAgXCJqc29uX29iamVjdFwiLFxuICAgIFwianNvbl9vYmplY3RhZ2dcIixcbiAgICBcImpzb25fcXVlcnlcIixcbiAgICBcImpzb25fdGFibGVcIixcbiAgICBcImpzb25fdGFibGVfcHJpbWl0aXZlXCIsXG4gICAgXCJqc29uX3ZhbHVlXCIsXG4gICAgXCJsYWdcIixcbiAgICBcImxhbmd1YWdlXCIsXG4gICAgXCJsYXJnZVwiLFxuICAgIFwibGFzdF92YWx1ZVwiLFxuICAgIFwibGF0ZXJhbFwiLFxuICAgIFwibGVhZFwiLFxuICAgIFwibGVhZGluZ1wiLFxuICAgIFwibGVmdFwiLFxuICAgIFwibGlrZVwiLFxuICAgIFwibGlrZV9yZWdleFwiLFxuICAgIFwibGlzdGFnZ1wiLFxuICAgIFwibG5cIixcbiAgICBcImxvY2FsXCIsXG4gICAgXCJsb2NhbHRpbWVcIixcbiAgICBcImxvY2FsdGltZXN0YW1wXCIsXG4gICAgXCJsb2dcIixcbiAgICBcImxvZzEwXCIsXG4gICAgXCJsb3dlclwiLFxuICAgIFwibWF0Y2hcIixcbiAgICBcIm1hdGNoX251bWJlclwiLFxuICAgIFwibWF0Y2hfcmVjb2duaXplXCIsXG4gICAgXCJtYXRjaGVzXCIsXG4gICAgXCJtYXhcIixcbiAgICBcIm1lbWJlclwiLFxuICAgIFwibWVyZ2VcIixcbiAgICBcIm1ldGhvZFwiLFxuICAgIFwibWluXCIsXG4gICAgXCJtaW51dGVcIixcbiAgICBcIm1vZFwiLFxuICAgIFwibW9kaWZpZXNcIixcbiAgICBcIm1vZHVsZVwiLFxuICAgIFwibW9udGhcIixcbiAgICBcIm11bHRpc2V0XCIsXG4gICAgXCJuYXRpb25hbFwiLFxuICAgIFwibmF0dXJhbFwiLFxuICAgIFwibmNoYXJcIixcbiAgICBcIm5jbG9iXCIsXG4gICAgXCJuZXdcIixcbiAgICBcIm5vXCIsXG4gICAgXCJub25lXCIsXG4gICAgXCJub3JtYWxpemVcIixcbiAgICBcIm5vdFwiLFxuICAgIFwibnRoX3ZhbHVlXCIsXG4gICAgXCJudGlsZVwiLFxuICAgIFwibnVsbFwiLFxuICAgIFwibnVsbGlmXCIsXG4gICAgXCJudW1lcmljXCIsXG4gICAgXCJvY3RldF9sZW5ndGhcIixcbiAgICBcIm9jY3VycmVuY2VzX3JlZ2V4XCIsXG4gICAgXCJvZlwiLFxuICAgIFwib2Zmc2V0XCIsXG4gICAgXCJvbGRcIixcbiAgICBcIm9taXRcIixcbiAgICBcIm9uXCIsXG4gICAgXCJvbmVcIixcbiAgICBcIm9ubHlcIixcbiAgICBcIm9wZW5cIixcbiAgICBcIm9yXCIsXG4gICAgXCJvcmRlclwiLFxuICAgIFwib3V0XCIsXG4gICAgXCJvdXRlclwiLFxuICAgIFwib3ZlclwiLFxuICAgIFwib3ZlcmxhcHNcIixcbiAgICBcIm92ZXJsYXlcIixcbiAgICBcInBhcmFtZXRlclwiLFxuICAgIFwicGFydGl0aW9uXCIsXG4gICAgXCJwYXR0ZXJuXCIsXG4gICAgXCJwZXJcIixcbiAgICBcInBlcmNlbnRcIixcbiAgICBcInBlcmNlbnRfcmFua1wiLFxuICAgIFwicGVyY2VudGlsZV9jb250XCIsXG4gICAgXCJwZXJjZW50aWxlX2Rpc2NcIixcbiAgICBcInBlcmlvZFwiLFxuICAgIFwicG9ydGlvblwiLFxuICAgIFwicG9zaXRpb25cIixcbiAgICBcInBvc2l0aW9uX3JlZ2V4XCIsXG4gICAgXCJwb3dlclwiLFxuICAgIFwicHJlY2VkZXNcIixcbiAgICBcInByZWNpc2lvblwiLFxuICAgIFwicHJlcGFyZVwiLFxuICAgIFwicHJpbWFyeVwiLFxuICAgIFwicHJvY2VkdXJlXCIsXG4gICAgXCJwdGZcIixcbiAgICBcInJhbmdlXCIsXG4gICAgXCJyYW5rXCIsXG4gICAgXCJyZWFkc1wiLFxuICAgIFwicmVhbFwiLFxuICAgIFwicmVjdXJzaXZlXCIsXG4gICAgXCJyZWZcIixcbiAgICBcInJlZmVyZW5jZXNcIixcbiAgICBcInJlZmVyZW5jaW5nXCIsXG4gICAgXCJyZWdyX2F2Z3hcIixcbiAgICBcInJlZ3JfYXZneVwiLFxuICAgIFwicmVncl9jb3VudFwiLFxuICAgIFwicmVncl9pbnRlcmNlcHRcIixcbiAgICBcInJlZ3JfcjJcIixcbiAgICBcInJlZ3Jfc2xvcGVcIixcbiAgICBcInJlZ3Jfc3h4XCIsXG4gICAgXCJyZWdyX3N4eVwiLFxuICAgIFwicmVncl9zeXlcIixcbiAgICBcInJlbGVhc2VcIixcbiAgICBcInJlc3VsdFwiLFxuICAgIFwicmV0dXJuXCIsXG4gICAgXCJyZXR1cm5zXCIsXG4gICAgXCJyZXZva2VcIixcbiAgICBcInJpZ2h0XCIsXG4gICAgXCJyb2xsYmFja1wiLFxuICAgIFwicm9sbHVwXCIsXG4gICAgXCJyb3dcIixcbiAgICBcInJvd19udW1iZXJcIixcbiAgICBcInJvd3NcIixcbiAgICBcInJ1bm5pbmdcIixcbiAgICBcInNhdmVwb2ludFwiLFxuICAgIFwic2NvcGVcIixcbiAgICBcInNjcm9sbFwiLFxuICAgIFwic2VhcmNoXCIsXG4gICAgXCJzZWNvbmRcIixcbiAgICBcInNlZWtcIixcbiAgICBcInNlbGVjdFwiLFxuICAgIFwic2Vuc2l0aXZlXCIsXG4gICAgXCJzZXNzaW9uX3VzZXJcIixcbiAgICBcInNldFwiLFxuICAgIFwic2hvd1wiLFxuICAgIFwic2ltaWxhclwiLFxuICAgIFwic2luXCIsXG4gICAgXCJzaW5oXCIsXG4gICAgXCJza2lwXCIsXG4gICAgXCJzbWFsbGludFwiLFxuICAgIFwic29tZVwiLFxuICAgIFwic3BlY2lmaWNcIixcbiAgICBcInNwZWNpZmljdHlwZVwiLFxuICAgIFwic3FsXCIsXG4gICAgXCJzcWxleGNlcHRpb25cIixcbiAgICBcInNxbHN0YXRlXCIsXG4gICAgXCJzcWx3YXJuaW5nXCIsXG4gICAgXCJzcXJ0XCIsXG4gICAgXCJzdGFydFwiLFxuICAgIFwic3RhdGljXCIsXG4gICAgXCJzdGRkZXZfcG9wXCIsXG4gICAgXCJzdGRkZXZfc2FtcFwiLFxuICAgIFwic3VibXVsdGlzZXRcIixcbiAgICBcInN1YnNldFwiLFxuICAgIFwic3Vic3RyaW5nXCIsXG4gICAgXCJzdWJzdHJpbmdfcmVnZXhcIixcbiAgICBcInN1Y2NlZWRzXCIsXG4gICAgXCJzdW1cIixcbiAgICBcInN5bW1ldHJpY1wiLFxuICAgIFwic3lzdGVtXCIsXG4gICAgXCJzeXN0ZW1fdGltZVwiLFxuICAgIFwic3lzdGVtX3VzZXJcIixcbiAgICBcInRhYmxlXCIsXG4gICAgXCJ0YWJsZXNhbXBsZVwiLFxuICAgIFwidGFuXCIsXG4gICAgXCJ0YW5oXCIsXG4gICAgXCJ0aGVuXCIsXG4gICAgXCJ0aW1lXCIsXG4gICAgXCJ0aW1lc3RhbXBcIixcbiAgICBcInRpbWV6b25lX2hvdXJcIixcbiAgICBcInRpbWV6b25lX21pbnV0ZVwiLFxuICAgIFwidG9cIixcbiAgICBcInRyYWlsaW5nXCIsXG4gICAgXCJ0cmFuc2xhdGVcIixcbiAgICBcInRyYW5zbGF0ZV9yZWdleFwiLFxuICAgIFwidHJhbnNsYXRpb25cIixcbiAgICBcInRyZWF0XCIsXG4gICAgXCJ0cmlnZ2VyXCIsXG4gICAgXCJ0cmltXCIsXG4gICAgXCJ0cmltX2FycmF5XCIsXG4gICAgXCJ0cnVlXCIsXG4gICAgXCJ0cnVuY2F0ZVwiLFxuICAgIFwidWVzY2FwZVwiLFxuICAgIFwidW5pb25cIixcbiAgICBcInVuaXF1ZVwiLFxuICAgIFwidW5rbm93blwiLFxuICAgIFwidW5uZXN0XCIsXG4gICAgXCJ1cGRhdGVcIixcbiAgICBcInVwcGVyXCIsXG4gICAgXCJ1c2VyXCIsXG4gICAgXCJ1c2luZ1wiLFxuICAgIFwidmFsdWVcIixcbiAgICBcInZhbHVlc1wiLFxuICAgIFwidmFsdWVfb2ZcIixcbiAgICBcInZhcl9wb3BcIixcbiAgICBcInZhcl9zYW1wXCIsXG4gICAgXCJ2YXJiaW5hcnlcIixcbiAgICBcInZhcmNoYXJcIixcbiAgICBcInZhcnlpbmdcIixcbiAgICBcInZlcnNpb25pbmdcIixcbiAgICBcIndoZW5cIixcbiAgICBcIndoZW5ldmVyXCIsXG4gICAgXCJ3aGVyZVwiLFxuICAgIFwid2lkdGhfYnVja2V0XCIsXG4gICAgXCJ3aW5kb3dcIixcbiAgICBcIndpdGhcIixcbiAgICBcIndpdGhpblwiLFxuICAgIFwid2l0aG91dFwiLFxuICAgIFwieWVhclwiLFxuICBdO1xuXG4gIC8vIHRoZXNlIGFyZSByZXNlcnZlZCB3b3JkcyB3ZSBoYXZlIGlkZW50aWZpZWQgdG8gYmUgZnVuY3Rpb25zXG4gIC8vIGFuZCBzaG91bGQgb25seSBiZSBoaWdobGlnaHRlZCBpbiBhIGRpc3BhdGNoLWxpa2UgY29udGV4dFxuICAvLyBpZSwgYXJyYXlfYWdnKC4uLiksIGV0Yy5cbiAgY29uc3QgUkVTRVJWRURfRlVOQ1RJT05TID0gW1xuICAgIFwiYWJzXCIsXG4gICAgXCJhY29zXCIsXG4gICAgXCJhcnJheV9hZ2dcIixcbiAgICBcImFzaW5cIixcbiAgICBcImF0YW5cIixcbiAgICBcImF2Z1wiLFxuICAgIFwiY2FzdFwiLFxuICAgIFwiY2VpbFwiLFxuICAgIFwiY2VpbGluZ1wiLFxuICAgIFwiY29hbGVzY2VcIixcbiAgICBcImNvcnJcIixcbiAgICBcImNvc1wiLFxuICAgIFwiY29zaFwiLFxuICAgIFwiY291bnRcIixcbiAgICBcImNvdmFyX3BvcFwiLFxuICAgIFwiY292YXJfc2FtcFwiLFxuICAgIFwiY3VtZV9kaXN0XCIsXG4gICAgXCJkZW5zZV9yYW5rXCIsXG4gICAgXCJkZXJlZlwiLFxuICAgIFwiZWxlbWVudFwiLFxuICAgIFwiZXhwXCIsXG4gICAgXCJleHRyYWN0XCIsXG4gICAgXCJmaXJzdF92YWx1ZVwiLFxuICAgIFwiZmxvb3JcIixcbiAgICBcImpzb25fYXJyYXlcIixcbiAgICBcImpzb25fYXJyYXlhZ2dcIixcbiAgICBcImpzb25fZXhpc3RzXCIsXG4gICAgXCJqc29uX29iamVjdFwiLFxuICAgIFwianNvbl9vYmplY3RhZ2dcIixcbiAgICBcImpzb25fcXVlcnlcIixcbiAgICBcImpzb25fdGFibGVcIixcbiAgICBcImpzb25fdGFibGVfcHJpbWl0aXZlXCIsXG4gICAgXCJqc29uX3ZhbHVlXCIsXG4gICAgXCJsYWdcIixcbiAgICBcImxhc3RfdmFsdWVcIixcbiAgICBcImxlYWRcIixcbiAgICBcImxpc3RhZ2dcIixcbiAgICBcImxuXCIsXG4gICAgXCJsb2dcIixcbiAgICBcImxvZzEwXCIsXG4gICAgXCJsb3dlclwiLFxuICAgIFwibWF4XCIsXG4gICAgXCJtaW5cIixcbiAgICBcIm1vZFwiLFxuICAgIFwibnRoX3ZhbHVlXCIsXG4gICAgXCJudGlsZVwiLFxuICAgIFwibnVsbGlmXCIsXG4gICAgXCJwZXJjZW50X3JhbmtcIixcbiAgICBcInBlcmNlbnRpbGVfY29udFwiLFxuICAgIFwicGVyY2VudGlsZV9kaXNjXCIsXG4gICAgXCJwb3NpdGlvblwiLFxuICAgIFwicG9zaXRpb25fcmVnZXhcIixcbiAgICBcInBvd2VyXCIsXG4gICAgXCJyYW5rXCIsXG4gICAgXCJyZWdyX2F2Z3hcIixcbiAgICBcInJlZ3JfYXZneVwiLFxuICAgIFwicmVncl9jb3VudFwiLFxuICAgIFwicmVncl9pbnRlcmNlcHRcIixcbiAgICBcInJlZ3JfcjJcIixcbiAgICBcInJlZ3Jfc2xvcGVcIixcbiAgICBcInJlZ3Jfc3h4XCIsXG4gICAgXCJyZWdyX3N4eVwiLFxuICAgIFwicmVncl9zeXlcIixcbiAgICBcInJvd19udW1iZXJcIixcbiAgICBcInNpblwiLFxuICAgIFwic2luaFwiLFxuICAgIFwic3FydFwiLFxuICAgIFwic3RkZGV2X3BvcFwiLFxuICAgIFwic3RkZGV2X3NhbXBcIixcbiAgICBcInN1YnN0cmluZ1wiLFxuICAgIFwic3Vic3RyaW5nX3JlZ2V4XCIsXG4gICAgXCJzdW1cIixcbiAgICBcInRhblwiLFxuICAgIFwidGFuaFwiLFxuICAgIFwidHJhbnNsYXRlXCIsXG4gICAgXCJ0cmFuc2xhdGVfcmVnZXhcIixcbiAgICBcInRyZWF0XCIsXG4gICAgXCJ0cmltXCIsXG4gICAgXCJ0cmltX2FycmF5XCIsXG4gICAgXCJ1bm5lc3RcIixcbiAgICBcInVwcGVyXCIsXG4gICAgXCJ2YWx1ZV9vZlwiLFxuICAgIFwidmFyX3BvcFwiLFxuICAgIFwidmFyX3NhbXBcIixcbiAgICBcIndpZHRoX2J1Y2tldFwiLFxuICBdO1xuXG4gIC8vIHRoZXNlIGZ1bmN0aW9ucyBjYW5cbiAgY29uc3QgUE9TU0lCTEVfV0lUSE9VVF9QQVJFTlMgPSBbXG4gICAgXCJjdXJyZW50X2NhdGFsb2dcIixcbiAgICBcImN1cnJlbnRfZGF0ZVwiLFxuICAgIFwiY3VycmVudF9kZWZhdWx0X3RyYW5zZm9ybV9ncm91cFwiLFxuICAgIFwiY3VycmVudF9wYXRoXCIsXG4gICAgXCJjdXJyZW50X3JvbGVcIixcbiAgICBcImN1cnJlbnRfc2NoZW1hXCIsXG4gICAgXCJjdXJyZW50X3RyYW5zZm9ybV9ncm91cF9mb3JfdHlwZVwiLFxuICAgIFwiY3VycmVudF91c2VyXCIsXG4gICAgXCJzZXNzaW9uX3VzZXJcIixcbiAgICBcInN5c3RlbV90aW1lXCIsXG4gICAgXCJzeXN0ZW1fdXNlclwiLFxuICAgIFwiY3VycmVudF90aW1lXCIsXG4gICAgXCJsb2NhbHRpbWVcIixcbiAgICBcImN1cnJlbnRfdGltZXN0YW1wXCIsXG4gICAgXCJsb2NhbHRpbWVzdGFtcFwiXG4gIF07XG5cbiAgLy8gdGhvc2UgZXhpc3QgdG8gYm9vc3QgcmVsZXZhbmNlIG1ha2luZyB0aGVzZSB2ZXJ5XG4gIC8vIFwiU1FMIGxpa2VcIiBrZXl3b3JkIGNvbWJvcyB3b3J0aCArMSBleHRyYSByZWxldmFuY2VcbiAgY29uc3QgQ09NQk9TID0gW1xuICAgIFwiY3JlYXRlIHRhYmxlXCIsXG4gICAgXCJpbnNlcnQgaW50b1wiLFxuICAgIFwicHJpbWFyeSBrZXlcIixcbiAgICBcImZvcmVpZ24ga2V5XCIsXG4gICAgXCJub3QgbnVsbFwiLFxuICAgIFwiYWx0ZXIgdGFibGVcIixcbiAgICBcImFkZCBjb25zdHJhaW50XCIsXG4gICAgXCJncm91cGluZyBzZXRzXCIsXG4gICAgXCJvbiBvdmVyZmxvd1wiLFxuICAgIFwiY2hhcmFjdGVyIHNldFwiLFxuICAgIFwicmVzcGVjdCBudWxsc1wiLFxuICAgIFwiaWdub3JlIG51bGxzXCIsXG4gICAgXCJudWxscyBmaXJzdFwiLFxuICAgIFwibnVsbHMgbGFzdFwiLFxuICAgIFwiZGVwdGggZmlyc3RcIixcbiAgICBcImJyZWFkdGggZmlyc3RcIlxuICBdO1xuXG4gIGNvbnN0IEZVTkNUSU9OUyA9IFJFU0VSVkVEX0ZVTkNUSU9OUztcblxuICBjb25zdCBLRVlXT1JEUyA9IFtcbiAgICAuLi5SRVNFUlZFRF9XT1JEUyxcbiAgICAuLi5OT05fUkVTRVJWRURfV09SRFNcbiAgXS5maWx0ZXIoKGtleXdvcmQpID0+IHtcbiAgICByZXR1cm4gIVJFU0VSVkVEX0ZVTkNUSU9OUy5pbmNsdWRlcyhrZXl3b3JkKTtcbiAgfSk7XG5cbiAgY29uc3QgVkFSSUFCTEUgPSB7XG4gICAgc2NvcGU6IFwidmFyaWFibGVcIixcbiAgICBtYXRjaDogL0BbYS16MC05XVthLXowLTlfXSovLFxuICB9O1xuXG4gIGNvbnN0IE9QRVJBVE9SID0ge1xuICAgIHNjb3BlOiBcIm9wZXJhdG9yXCIsXG4gICAgbWF0Y2g6IC9bLSsqLz0lXn5dfCYmP3xcXHxcXHw/fCE9P3w8KD86PT4/fDx8Pik/fD5bPj1dPy8sXG4gICAgcmVsZXZhbmNlOiAwLFxuICB9O1xuXG4gIGNvbnN0IEZVTkNUSU9OX0NBTEwgPSB7XG4gICAgbWF0Y2g6IHJlZ2V4LmNvbmNhdCgvXFxiLywgcmVnZXguZWl0aGVyKC4uLkZVTkNUSU9OUyksIC9cXHMqXFwoLyksXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIGtleXdvcmRzOiB7IGJ1aWx0X2luOiBGVU5DVElPTlMgfVxuICB9O1xuXG4gIC8vIHR1cm5zIGEgbXVsdGktd29yZCBrZXl3b3JkIGNvbWJvIGludG8gYSByZWdleCB0aGF0IGRvZXNuJ3RcbiAgLy8gY2FyZSBhYm91dCBleHRyYSB3aGl0ZXNwYWNlIGV0Yy5cbiAgLy8gaW5wdXQ6IFwiU1RBUlQgUVVFUllcIlxuICAvLyBvdXRwdXQ6IC9cXGJTVEFSVFxccytRVUVSWVxcYi9cbiAgZnVuY3Rpb24ga3dzX3RvX3JlZ2V4KGxpc3QpIHtcbiAgICByZXR1cm4gcmVnZXguY29uY2F0KFxuICAgICAgL1xcYi8sXG4gICAgICByZWdleC5laXRoZXIoLi4ubGlzdC5tYXAoKGt3KSA9PiB7XG4gICAgICAgIHJldHVybiBrdy5yZXBsYWNlKC9cXHMrLywgXCJcXFxccytcIilcbiAgICAgIH0pKSxcbiAgICAgIC9cXGIvXG4gICAgKVxuICB9XG5cbiAgY29uc3QgTVVMVElfV09SRF9LRVlXT1JEUyA9IHtcbiAgICBzY29wZTogXCJrZXl3b3JkXCIsXG4gICAgbWF0Y2g6IGt3c190b19yZWdleChDT01CT1MpLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgfTtcblxuICAvLyBrZXl3b3JkcyB3aXRoIGxlc3MgdGhhbiAzIGxldHRlcnMgYXJlIHJlZHVjZWQgaW4gcmVsZXZhbmN5XG4gIGZ1bmN0aW9uIHJlZHVjZVJlbGV2YW5jeShsaXN0LCB7XG4gICAgZXhjZXB0aW9ucywgd2hlblxuICB9ID0ge30pIHtcbiAgICBjb25zdCBxdWFsaWZ5Rm4gPSB3aGVuO1xuICAgIGV4Y2VwdGlvbnMgPSBleGNlcHRpb25zIHx8IFtdO1xuICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubWF0Y2goL1xcfFxcZCskLykgfHwgZXhjZXB0aW9ucy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0gZWxzZSBpZiAocXVhbGlmeUZuKGl0ZW0pKSB7XG4gICAgICAgIHJldHVybiBgJHtpdGVtfXwwYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnU1FMJyxcbiAgICBjYXNlX2luc2Vuc2l0aXZlOiB0cnVlLFxuICAgIC8vIGRvZXMgbm90IGluY2x1ZGUge30gb3IgSFRNTCB0YWdzIGA8L2BcbiAgICBpbGxlZ2FsOiAvW3t9XXw8XFwvLyxcbiAgICBrZXl3b3Jkczoge1xuICAgICAgJHBhdHRlcm46IC9cXGJbXFx3XFwuXSsvLFxuICAgICAga2V5d29yZDpcbiAgICAgICAgcmVkdWNlUmVsZXZhbmN5KEtFWVdPUkRTLCB7IHdoZW46ICh4KSA9PiB4Lmxlbmd0aCA8IDMgfSksXG4gICAgICBsaXRlcmFsOiBMSVRFUkFMUyxcbiAgICAgIHR5cGU6IFRZUEVTLFxuICAgICAgYnVpbHRfaW46IFBPU1NJQkxFX1dJVEhPVVRfUEFSRU5TXG4gICAgfSxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBzY29wZTogXCJ0eXBlXCIsXG4gICAgICAgIG1hdGNoOiBrd3NfdG9fcmVnZXgoTVVMVElfV09SRF9UWVBFUylcbiAgICAgIH0sXG4gICAgICBNVUxUSV9XT1JEX0tFWVdPUkRTLFxuICAgICAgRlVOQ1RJT05fQ0FMTCxcbiAgICAgIFZBUklBQkxFLFxuICAgICAgU1RSSU5HLFxuICAgICAgUVVPVEVEX0lERU5USUZJRVIsXG4gICAgICBobGpzLkNfTlVNQkVSX01PREUsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgQ09NTUVOVF9NT0RFLFxuICAgICAgT1BFUkFUT1JcbiAgICBdXG4gIH07XG59XG5cbmV4cG9ydCB7IHNxbCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/sql.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/swift.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/swift.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ swift)\n/* harmony export */ });\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n /\\b/,\n keyword,\n /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n 'Protocol', // contextual\n 'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n 'init',\n 'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n 'Any',\n 'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n // strings below will be fed into the regular `keywords` engine while regex\n // will result in additional modes being created to scan for those keywords to\n // avoid conflicts with other rules\n 'actor',\n 'any', // contextual\n 'associatedtype',\n 'async',\n 'await',\n /as\\?/, // operator\n /as!/, // operator\n 'as', // operator\n 'borrowing', // contextual\n 'break',\n 'case',\n 'catch',\n 'class',\n 'consume', // contextual\n 'consuming', // contextual\n 'continue',\n 'convenience', // contextual\n 'copy', // contextual\n 'default',\n 'defer',\n 'deinit',\n 'didSet', // contextual\n 'distributed',\n 'do',\n 'dynamic', // contextual\n 'each',\n 'else',\n 'enum',\n 'extension',\n 'fallthrough',\n /fileprivate\\(set\\)/,\n 'fileprivate',\n 'final', // contextual\n 'for',\n 'func',\n 'get', // contextual\n 'guard',\n 'if',\n 'import',\n 'indirect', // contextual\n 'infix', // contextual\n /init\\?/,\n /init!/,\n 'inout',\n /internal\\(set\\)/,\n 'internal',\n 'in',\n 'is', // operator\n 'isolated', // contextual\n 'nonisolated', // contextual\n 'lazy', // contextual\n 'let',\n 'macro',\n 'mutating', // contextual\n 'nonmutating', // contextual\n /open\\(set\\)/, // contextual\n 'open', // contextual\n 'operator',\n 'optional', // contextual\n 'override', // contextual\n 'package',\n 'postfix', // contextual\n 'precedencegroup',\n 'prefix', // contextual\n /private\\(set\\)/,\n 'private',\n 'protocol',\n /public\\(set\\)/,\n 'public',\n 'repeat',\n 'required', // contextual\n 'rethrows',\n 'return',\n 'set', // contextual\n 'some', // contextual\n 'static',\n 'struct',\n 'subscript',\n 'super',\n 'switch',\n 'throws',\n 'throw',\n /try\\?/, // operator\n /try!/, // operator\n 'try', // operator\n 'typealias',\n /unowned\\(safe\\)/, // contextual\n /unowned\\(unsafe\\)/, // contextual\n 'unowned', // contextual\n 'var',\n 'weak', // contextual\n 'where',\n 'while',\n 'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n 'false',\n 'nil',\n 'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n 'assignment',\n 'associativity',\n 'higherThan',\n 'left',\n 'lowerThan',\n 'none',\n 'right'\n];\n\n// Keywords that start with a number sign (#).\n// #(un)available is handled separately.\nconst numberSignKeywords = [\n '#colorLiteral',\n '#column',\n '#dsohandle',\n '#else',\n '#elseif',\n '#endif',\n '#error',\n '#file',\n '#fileID',\n '#fileLiteral',\n '#filePath',\n '#function',\n '#if',\n '#imageLiteral',\n '#keyPath',\n '#line',\n '#selector',\n '#sourceLocation',\n '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n 'abs',\n 'all',\n 'any',\n 'assert',\n 'assertionFailure',\n 'debugPrint',\n 'dump',\n 'fatalError',\n 'getVaList',\n 'isKnownUniquelyReferenced',\n 'max',\n 'min',\n 'numericCast',\n 'pointwiseMax',\n 'pointwiseMin',\n 'precondition',\n 'preconditionFailure',\n 'print',\n 'readLine',\n 'repeatElement',\n 'sequence',\n 'stride',\n 'swap',\n 'swift_unboxFromSwiftValueWithType',\n 'transcode',\n 'type',\n 'unsafeBitCast',\n 'unsafeDowncast',\n 'withExtendedLifetime',\n 'withUnsafeMutablePointer',\n 'withUnsafePointer',\n 'withVaList',\n 'withoutActuallyEscaping',\n 'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n /[/=\\-+!*%<>&|^~?]/,\n /[\\u00A1-\\u00A7]/,\n /[\\u00A9\\u00AB]/,\n /[\\u00AC\\u00AE]/,\n /[\\u00B0\\u00B1]/,\n /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n /[\\u2016-\\u2017]/,\n /[\\u2020-\\u2027]/,\n /[\\u2030-\\u203E]/,\n /[\\u2041-\\u2053]/,\n /[\\u2055-\\u205E]/,\n /[\\u2190-\\u23FF]/,\n /[\\u2500-\\u2775]/,\n /[\\u2794-\\u2BFF]/,\n /[\\u2E00-\\u2E7F]/,\n /[\\u3001-\\u3003]/,\n /[\\u3008-\\u3020]/,\n /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n operatorHead,\n /[\\u0300-\\u036F]/,\n /[\\u1DC0-\\u1DFF]/,\n /[\\u20D0-\\u20FF]/,\n /[\\uFE00-\\uFE0F]/,\n /[\\uFE20-\\uFE2F]/\n // TODO: The following characters are also allowed, but the regex isn't supported yet.\n // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n /[a-zA-Z_]/,\n /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n /[\\u1E00-\\u1FFF]/,\n /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n // The following characters are also allowed, but the regexes aren't supported yet.\n // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n identifierHead,\n /\\d/,\n /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\n// https://docs.swift.org/swift-book/documentation/the-swift-programming-language/attributes\nconst keywordAttributes = [\n 'attached',\n 'autoclosure',\n concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n 'discardableResult',\n 'dynamicCallable',\n 'dynamicMemberLookup',\n 'escaping',\n 'freestanding',\n 'frozen',\n 'GKInspectable',\n 'IBAction',\n 'IBDesignable',\n 'IBInspectable',\n 'IBOutlet',\n 'IBSegueAction',\n 'inlinable',\n 'main',\n 'nonobjc',\n 'NSApplicationMain',\n 'NSCopying',\n 'NSManaged',\n concat(/objc\\(/, identifier, /\\)/),\n 'objc',\n 'objcMembers',\n 'propertyWrapper',\n 'requires_stored_property_inits',\n 'resultBuilder',\n 'Sendable',\n 'testable',\n 'UIApplicationMain',\n 'unchecked',\n 'unknown',\n 'usableFromInline',\n 'warn_unqualified_access'\n];\n\n// Contextual keywords used in @available and #(un)available.\nconst availabilityKeywords = [\n 'iOS',\n 'iOSApplicationExtension',\n 'macOS',\n 'macOSApplicationExtension',\n 'macCatalyst',\n 'macCatalystApplicationExtension',\n 'watchOS',\n 'watchOSApplicationExtension',\n 'tvOS',\n 'tvOSApplicationExtension',\n 'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe \nContributors: Chris Eidhof , Nate Cook , Alexander Lichter , Richard Gibson \nWebsite: https://swift.org\nCategory: common, system\n*/\n\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n const WHITESPACE = {\n match: /\\s+/,\n relevance: 0\n };\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n const BLOCK_COMMENT = hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [ 'self' ] }\n );\n const COMMENTS = [\n hljs.C_LINE_COMMENT_MODE,\n BLOCK_COMMENT\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n const DOT_KEYWORD = {\n match: [\n /\\./,\n either(...dotKeywords, ...optionalDotKeywords)\n ],\n className: { 2: \"keyword\" }\n };\n const KEYWORD_GUARD = {\n // Consume .keyword to prevent highlighting properties and methods as keywords.\n match: concat(/\\./, either(...keywords)),\n relevance: 0\n };\n const PLAIN_KEYWORDS = keywords\n .filter(kw => typeof kw === 'string')\n .concat([ \"_|0\" ]); // seems common, so 0 relevance\n const REGEX_KEYWORDS = keywords\n .filter(kw => typeof kw !== 'string') // find regex\n .concat(keywordTypes)\n .map(keywordWrapper);\n const KEYWORD = { variants: [\n {\n className: 'keyword',\n match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n }\n ] };\n // find all the regular keywords\n const KEYWORDS = {\n $pattern: either(\n /\\b\\w+/, // regular keywords\n /#\\w+/ // number keywords\n ),\n keyword: PLAIN_KEYWORDS\n .concat(numberSignKeywords),\n literal: literals\n };\n const KEYWORD_MODES = [\n DOT_KEYWORD,\n KEYWORD_GUARD,\n KEYWORD\n ];\n\n // https://github.com/apple/swift/tree/main/stdlib/public/core\n const BUILT_IN_GUARD = {\n // Consume .built_in to prevent highlighting properties and methods.\n match: concat(/\\./, either(...builtIns)),\n relevance: 0\n };\n const BUILT_IN = {\n className: 'built_in',\n match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n };\n const BUILT_INS = [\n BUILT_IN_GUARD,\n BUILT_IN\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n const OPERATOR_GUARD = {\n // Prevent -> from being highlighting as an operator.\n match: /->/,\n relevance: 0\n };\n const OPERATOR = {\n className: 'operator',\n relevance: 0,\n variants: [\n { match: operator },\n {\n // dot-operator: only operators that start with a dot are allowed to use dots as\n // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n // characters that may also include dots.\n match: `\\\\.(\\\\.|${operatorCharacter})+` }\n ]\n };\n const OPERATORS = [\n OPERATOR_GUARD,\n OPERATOR\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n // TODO: Update for leading `-` after lookbehind is supported everywhere\n const decimalDigits = '([0-9]_*)+';\n const hexDigits = '([0-9a-fA-F]_*)+';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal floating-point-literal (subsumes decimal-literal)\n { match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b` },\n // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n { match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b` },\n // octal-literal\n { match: /\\b0o([0-7]_*)+\\b/ },\n // binary-literal\n { match: /\\b0b([01]_*)+\\b/ }\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n className: 'subst',\n variants: [\n { match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/) },\n { match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/) }\n ]\n });\n const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n className: 'subst',\n match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n });\n const INTERPOLATION = (rawDelimiter = \"\") => ({\n className: 'subst',\n label: \"interpol\",\n begin: concat(/\\\\/, rawDelimiter, /\\(/),\n end: /\\)/\n });\n const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"\"\"/),\n end: concat(/\"\"\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n ESCAPED_NEWLINE(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"/),\n end: concat(/\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const STRING = {\n className: 'string',\n variants: [\n MULTILINE_STRING(),\n MULTILINE_STRING(\"#\"),\n MULTILINE_STRING(\"##\"),\n MULTILINE_STRING(\"###\"),\n SINGLE_LINE_STRING(),\n SINGLE_LINE_STRING(\"#\"),\n SINGLE_LINE_STRING(\"##\"),\n SINGLE_LINE_STRING(\"###\")\n ]\n };\n\n const REGEXP_CONTENTS = [\n hljs.BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ];\n\n const BARE_REGEXP_LITERAL = {\n begin: /\\/[^\\s](?=[^/\\n]*\\/)/,\n end: /\\//,\n contains: REGEXP_CONTENTS\n };\n\n const EXTENDED_REGEXP_LITERAL = (rawDelimiter) => {\n const begin = concat(rawDelimiter, /\\//);\n const end = concat(/\\//, rawDelimiter);\n return {\n begin,\n end,\n contains: [\n ...REGEXP_CONTENTS,\n {\n scope: \"comment\",\n begin: `#(?!.*${end})`,\n end: /$/,\n },\n ],\n };\n };\n\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Regular-Expression-Literals\n const REGEXP = {\n scope: \"regexp\",\n variants: [\n EXTENDED_REGEXP_LITERAL('###'),\n EXTENDED_REGEXP_LITERAL('##'),\n EXTENDED_REGEXP_LITERAL('#'),\n BARE_REGEXP_LITERAL\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n const QUOTED_IDENTIFIER = { match: concat(/`/, identifier, /`/) };\n const IMPLICIT_PARAMETER = {\n className: 'variable',\n match: /\\$\\d+/\n };\n const PROPERTY_WRAPPER_PROJECTION = {\n className: 'variable',\n match: `\\\\$${identifierCharacter}+`\n };\n const IDENTIFIERS = [\n QUOTED_IDENTIFIER,\n IMPLICIT_PARAMETER,\n PROPERTY_WRAPPER_PROJECTION\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n const AVAILABLE_ATTRIBUTE = {\n match: /(@|#(un)?)available/,\n scope: 'keyword',\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: availabilityKeywords,\n contains: [\n ...OPERATORS,\n NUMBER,\n STRING\n ]\n }\n ] }\n };\n\n const KEYWORD_ATTRIBUTE = {\n scope: 'keyword',\n match: concat(/@/, either(...keywordAttributes), lookahead(either(/\\(/, /\\s+/))),\n };\n\n const USER_DEFINED_ATTRIBUTE = {\n scope: 'meta',\n match: concat(/@/, identifier)\n };\n\n const ATTRIBUTES = [\n AVAILABLE_ATTRIBUTE,\n KEYWORD_ATTRIBUTE,\n USER_DEFINED_ATTRIBUTE\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n const TYPE = {\n match: lookahead(/\\b[A-Z]/),\n relevance: 0,\n contains: [\n { // Common Apple frameworks, for relevance boost\n className: 'type',\n match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n },\n { // Type identifier\n className: 'type',\n match: typeIdentifier,\n relevance: 0\n },\n { // Optional type\n match: /[?!]+/,\n relevance: 0\n },\n { // Variadic parameter\n match: /\\.\\.\\./,\n relevance: 0\n },\n { // Protocol composition\n match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n relevance: 0\n }\n ]\n };\n const GENERIC_ARGUMENTS = {\n begin: /,\n end: />/,\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...ATTRIBUTES,\n OPERATOR_GUARD,\n TYPE\n ]\n };\n TYPE.contains.push(GENERIC_ARGUMENTS);\n\n // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n // Prevents element names from being highlighted as keywords.\n const TUPLE_ELEMENT_NAME = {\n match: concat(identifier, /\\s*:/),\n keywords: \"_|0\",\n relevance: 0\n };\n // Matches tuples as well as the parameter list of a function type.\n const TUPLE = {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n 'self',\n TUPLE_ELEMENT_NAME,\n ...COMMENTS,\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE\n ]\n };\n\n const GENERIC_PARAMETERS = {\n begin: /,\n end: />/,\n keywords: 'repeat each',\n contains: [\n ...COMMENTS,\n TYPE\n ]\n };\n const FUNCTION_PARAMETER_NAME = {\n begin: either(\n lookahead(concat(identifier, /\\s*:/)),\n lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n ),\n end: /:/,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n match: /\\b_\\b/\n },\n {\n className: 'params',\n match: identifier\n }\n ]\n };\n const FUNCTION_PARAMETERS = {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n FUNCTION_PARAMETER_NAME,\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ],\n endsParent: true,\n illegal: /[\"']/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Macro-Declaration\n const FUNCTION_OR_MACRO = {\n match: [\n /(func|macro)/,\n /\\s+/,\n either(QUOTED_IDENTIFIER.match, identifier, operator)\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: [\n /\\[/,\n /%/\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n const INIT_SUBSCRIPT = {\n match: [\n /\\b(?:subscript|init[?!]?)/,\n /\\s*(?=[<(])/,\n ],\n className: { 1: \"keyword\" },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: /\\[|%/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n const OPERATOR_DECLARATION = {\n match: [\n /operator/,\n /\\s+/,\n operator\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n }\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n const PRECEDENCEGROUP = {\n begin: [\n /precedencegroup/,\n /\\s+/,\n typeIdentifier\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n contains: [ TYPE ],\n keywords: [\n ...precedencegroupKeywords,\n ...literals\n ],\n end: /}/\n };\n\n const CLASS_FUNC_DECLARATION = {\n match: [\n /class\\b/, \n /\\s+/,\n /func\\b/,\n /\\s+/,\n /\\b[A-Za-z_][A-Za-z0-9_]*\\b/ \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\",\n 5: \"title.function\"\n }\n };\n\n const CLASS_VAR_DECLARATION = {\n match: [\n /class\\b/,\n /\\s+/, \n /var\\b/, \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\"\n }\n };\n\n const TYPE_DECLARATION = {\n begin: [\n /(struct|protocol|class|extension|enum|actor)/,\n /\\s+/,\n identifier,\n /\\s*/,\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n keywords: KEYWORDS,\n contains: [\n GENERIC_PARAMETERS,\n ...KEYWORD_MODES,\n {\n begin: /:/,\n end: /\\{/,\n keywords: KEYWORDS,\n contains: [\n {\n scope: \"title.class.inherited\",\n match: typeIdentifier,\n },\n ...KEYWORD_MODES,\n ],\n relevance: 0,\n },\n ]\n };\n\n // Add supported submodes to string interpolation.\n for (const variant of STRING.variants) {\n const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n // TODO: Interpolation can contain any expression, so there's room for improvement here.\n interpolation.keywords = KEYWORDS;\n const submodes = [\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS\n ];\n interpolation.contains = [\n ...submodes,\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n ...submodes\n ]\n }\n ];\n }\n\n return {\n name: 'Swift',\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n FUNCTION_OR_MACRO,\n INIT_SUBSCRIPT,\n CLASS_FUNC_DECLARATION,\n CLASS_VAR_DECLARATION,\n TYPE_DECLARATION,\n OPERATOR_DECLARATION,\n PRECEDENCEGROUP,\n {\n beginKeywords: 'import',\n end: /$/,\n contains: [ ...COMMENTS ],\n relevance: 0\n },\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zd2lmdC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSxXQUFXLFFBQVE7QUFDbkIsYUFBYTtBQUNiOztBQUVBO0FBQ0EsV0FBVyxrQkFBa0I7QUFDN0IsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLGtCQUFrQjtBQUM3QixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLHVCQUF1QjtBQUNsQyxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVksa0NBQWtDO0FBQzlDLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IscUJBQXFCOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsb0VBQW9FO0FBQy9FLGFBQWE7QUFDYjtBQUNBO0FBQ0EsY0FBYyxVQUFVLHNCQUFzQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLE1BQU0sSUFBSSxNQUFNO0FBQzFCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsTUFBTSxJQUFJLE1BQU0sR0FBRyxTQUFTLE1BQU0sR0FBRyxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNO0FBQ2xGLFVBQVUsTUFBTSxJQUFJLE1BQU0sR0FBRyxTQUFTLE1BQU0sR0FBRyxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNO0FBQ2xGLFVBQVUsTUFBTSxJQUFJLE1BQU0sR0FBRyxTQUFTLE1BQU0sR0FBRyxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNO0FBQ2xGLFVBQVUsTUFBTSxJQUFJLE1BQU0sR0FBRyxTQUFTLE1BQU07QUFDNUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxpQkFBaUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsa0JBQWtCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGNBQWMsY0FBYyxRQUFRLGNBQWMscUJBQXFCLGNBQWMsU0FBUztBQUN0RztBQUNBLFFBQVEsZ0JBQWdCLFVBQVUsUUFBUSxVQUFVLHFCQUFxQixjQUFjLFNBQVM7QUFDaEc7QUFDQSxRQUFRLDJCQUEyQjtBQUNuQztBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxpREFBaUQ7QUFDekQsUUFBUSxzQ0FBc0MsWUFBWSxJQUFJLEVBQUU7QUFDaEU7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixJQUFJO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxRQUFRO0FBQ1I7QUFDQTtBQUNBLE9BQU87QUFDUCxRQUFRO0FBQ1I7QUFDQTtBQUNBLE9BQU87QUFDUCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixjQUFjO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTRCIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy9zd2lmdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybnMge1JlZ0V4cH1cbiAqICovXG5cbi8qKlxuICogQHBhcmFtIHtSZWdFeHAgfCBzdHJpbmcgfSByZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24gc291cmNlKHJlKSB7XG4gIGlmICghcmUpIHJldHVybiBudWxsO1xuICBpZiAodHlwZW9mIHJlID09PSBcInN0cmluZ1wiKSByZXR1cm4gcmU7XG5cbiAgcmV0dXJuIHJlLnNvdXJjZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1JlZ0V4cCB8IHN0cmluZyB9IHJlXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBsb29rYWhlYWQocmUpIHtcbiAgcmV0dXJuIGNvbmNhdCgnKD89JywgcmUsICcpJyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHsuLi4oUmVnRXhwIHwgc3RyaW5nKSB9IGFyZ3NcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIGNvbmNhdCguLi5hcmdzKSB7XG4gIGNvbnN0IGpvaW5lZCA9IGFyZ3MubWFwKCh4KSA9PiBzb3VyY2UoeCkpLmpvaW4oXCJcIik7XG4gIHJldHVybiBqb2luZWQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHsgQXJyYXk8c3RyaW5nIHwgUmVnRXhwIHwgT2JqZWN0PiB9IGFyZ3NcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHN0cmlwT3B0aW9uc0Zyb21BcmdzKGFyZ3MpIHtcbiAgY29uc3Qgb3B0cyA9IGFyZ3NbYXJncy5sZW5ndGggLSAxXTtcblxuICBpZiAodHlwZW9mIG9wdHMgPT09ICdvYmplY3QnICYmIG9wdHMuY29uc3RydWN0b3IgPT09IE9iamVjdCkge1xuICAgIGFyZ3Muc3BsaWNlKGFyZ3MubGVuZ3RoIC0gMSwgMSk7XG4gICAgcmV0dXJuIG9wdHM7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbi8qKiBAdHlwZWRlZiB7IHtjYXB0dXJlPzogYm9vbGVhbn0gfSBSZWdleEVpdGhlck9wdGlvbnMgKi9cblxuLyoqXG4gKiBBbnkgb2YgdGhlIHBhc3NlZCBleHByZXNzc2lvbnMgbWF5IG1hdGNoXG4gKlxuICogQ3JlYXRlcyBhIGh1Z2UgdGhpcyB8IHRoaXMgfCB0aGF0IHwgdGhhdCBtYXRjaFxuICogQHBhcmFtIHsoUmVnRXhwIHwgc3RyaW5nKVtdIHwgWy4uLihSZWdFeHAgfCBzdHJpbmcpW10sIFJlZ2V4RWl0aGVyT3B0aW9uc119IGFyZ3NcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIGVpdGhlciguLi5hcmdzKSB7XG4gIC8qKiBAdHlwZSB7IG9iamVjdCAmIHtjYXB0dXJlPzogYm9vbGVhbn0gfSAgKi9cbiAgY29uc3Qgb3B0cyA9IHN0cmlwT3B0aW9uc0Zyb21BcmdzKGFyZ3MpO1xuICBjb25zdCBqb2luZWQgPSAnKCdcbiAgICArIChvcHRzLmNhcHR1cmUgPyBcIlwiIDogXCI/OlwiKVxuICAgICsgYXJncy5tYXAoKHgpID0+IHNvdXJjZSh4KSkuam9pbihcInxcIikgKyBcIilcIjtcbiAgcmV0dXJuIGpvaW5lZDtcbn1cblxuY29uc3Qga2V5d29yZFdyYXBwZXIgPSBrZXl3b3JkID0+IGNvbmNhdChcbiAgL1xcYi8sXG4gIGtleXdvcmQsXG4gIC9cXHckLy50ZXN0KGtleXdvcmQpID8gL1xcYi8gOiAvXFxCL1xuKTtcblxuLy8gS2V5d29yZHMgdGhhdCByZXF1aXJlIGEgbGVhZGluZyBkb3QuXG5jb25zdCBkb3RLZXl3b3JkcyA9IFtcbiAgJ1Byb3RvY29sJywgLy8gY29udGV4dHVhbFxuICAnVHlwZScgLy8gY29udGV4dHVhbFxuXS5tYXAoa2V5d29yZFdyYXBwZXIpO1xuXG4vLyBLZXl3b3JkcyB0aGF0IG1heSBoYXZlIGEgbGVhZGluZyBkb3QuXG5jb25zdCBvcHRpb25hbERvdEtleXdvcmRzID0gW1xuICAnaW5pdCcsXG4gICdzZWxmJ1xuXS5tYXAoa2V5d29yZFdyYXBwZXIpO1xuXG4vLyBzaG91bGQgcmVnaXN0ZXIgYXMga2V5d29yZCwgbm90IHR5cGVcbmNvbnN0IGtleXdvcmRUeXBlcyA9IFtcbiAgJ0FueScsXG4gICdTZWxmJ1xuXTtcblxuLy8gUmVndWxhciBrZXl3b3JkcyBhbmQgbGl0ZXJhbHMuXG5jb25zdCBrZXl3b3JkcyA9IFtcbiAgLy8gc3RyaW5ncyBiZWxvdyB3aWxsIGJlIGZlZCBpbnRvIHRoZSByZWd1bGFyIGBrZXl3b3Jkc2AgZW5naW5lIHdoaWxlIHJlZ2V4XG4gIC8vIHdpbGwgcmVzdWx0IGluIGFkZGl0aW9uYWwgbW9kZXMgYmVpbmcgY3JlYXRlZCB0byBzY2FuIGZvciB0aG9zZSBrZXl3b3JkcyB0b1xuICAvLyBhdm9pZCBjb25mbGljdHMgd2l0aCBvdGhlciBydWxlc1xuICAnYWN0b3InLFxuICAnYW55JywgLy8gY29udGV4dHVhbFxuICAnYXNzb2NpYXRlZHR5cGUnLFxuICAnYXN5bmMnLFxuICAnYXdhaXQnLFxuICAvYXNcXD8vLCAvLyBvcGVyYXRvclxuICAvYXMhLywgLy8gb3BlcmF0b3JcbiAgJ2FzJywgLy8gb3BlcmF0b3JcbiAgJ2JvcnJvd2luZycsIC8vIGNvbnRleHR1YWxcbiAgJ2JyZWFrJyxcbiAgJ2Nhc2UnLFxuICAnY2F0Y2gnLFxuICAnY2xhc3MnLFxuICAnY29uc3VtZScsIC8vIGNvbnRleHR1YWxcbiAgJ2NvbnN1bWluZycsIC8vIGNvbnRleHR1YWxcbiAgJ2NvbnRpbnVlJyxcbiAgJ2NvbnZlbmllbmNlJywgLy8gY29udGV4dHVhbFxuICAnY29weScsIC8vIGNvbnRleHR1YWxcbiAgJ2RlZmF1bHQnLFxuICAnZGVmZXInLFxuICAnZGVpbml0JyxcbiAgJ2RpZFNldCcsIC8vIGNvbnRleHR1YWxcbiAgJ2Rpc3RyaWJ1dGVkJyxcbiAgJ2RvJyxcbiAgJ2R5bmFtaWMnLCAvLyBjb250ZXh0dWFsXG4gICdlYWNoJyxcbiAgJ2Vsc2UnLFxuICAnZW51bScsXG4gICdleHRlbnNpb24nLFxuICAnZmFsbHRocm91Z2gnLFxuICAvZmlsZXByaXZhdGVcXChzZXRcXCkvLFxuICAnZmlsZXByaXZhdGUnLFxuICAnZmluYWwnLCAvLyBjb250ZXh0dWFsXG4gICdmb3InLFxuICAnZnVuYycsXG4gICdnZXQnLCAvLyBjb250ZXh0dWFsXG4gICdndWFyZCcsXG4gICdpZicsXG4gICdpbXBvcnQnLFxuICAnaW5kaXJlY3QnLCAvLyBjb250ZXh0dWFsXG4gICdpbmZpeCcsIC8vIGNvbnRleHR1YWxcbiAgL2luaXRcXD8vLFxuICAvaW5pdCEvLFxuICAnaW5vdXQnLFxuICAvaW50ZXJuYWxcXChzZXRcXCkvLFxuICAnaW50ZXJuYWwnLFxuICAnaW4nLFxuICAnaXMnLCAvLyBvcGVyYXRvclxuICAnaXNvbGF0ZWQnLCAvLyBjb250ZXh0dWFsXG4gICdub25pc29sYXRlZCcsIC8vIGNvbnRleHR1YWxcbiAgJ2xhenknLCAvLyBjb250ZXh0dWFsXG4gICdsZXQnLFxuICAnbWFjcm8nLFxuICAnbXV0YXRpbmcnLCAvLyBjb250ZXh0dWFsXG4gICdub25tdXRhdGluZycsIC8vIGNvbnRleHR1YWxcbiAgL29wZW5cXChzZXRcXCkvLCAvLyBjb250ZXh0dWFsXG4gICdvcGVuJywgLy8gY29udGV4dHVhbFxuICAnb3BlcmF0b3InLFxuICAnb3B0aW9uYWwnLCAvLyBjb250ZXh0dWFsXG4gICdvdmVycmlkZScsIC8vIGNvbnRleHR1YWxcbiAgJ3BhY2thZ2UnLFxuICAncG9zdGZpeCcsIC8vIGNvbnRleHR1YWxcbiAgJ3ByZWNlZGVuY2Vncm91cCcsXG4gICdwcmVmaXgnLCAvLyBjb250ZXh0dWFsXG4gIC9wcml2YXRlXFwoc2V0XFwpLyxcbiAgJ3ByaXZhdGUnLFxuICAncHJvdG9jb2wnLFxuICAvcHVibGljXFwoc2V0XFwpLyxcbiAgJ3B1YmxpYycsXG4gICdyZXBlYXQnLFxuICAncmVxdWlyZWQnLCAvLyBjb250ZXh0dWFsXG4gICdyZXRocm93cycsXG4gICdyZXR1cm4nLFxuICAnc2V0JywgLy8gY29udGV4dHVhbFxuICAnc29tZScsIC8vIGNvbnRleHR1YWxcbiAgJ3N0YXRpYycsXG4gICdzdHJ1Y3QnLFxuICAnc3Vic2NyaXB0JyxcbiAgJ3N1cGVyJyxcbiAgJ3N3aXRjaCcsXG4gICd0aHJvd3MnLFxuICAndGhyb3cnLFxuICAvdHJ5XFw/LywgLy8gb3BlcmF0b3JcbiAgL3RyeSEvLCAvLyBvcGVyYXRvclxuICAndHJ5JywgLy8gb3BlcmF0b3JcbiAgJ3R5cGVhbGlhcycsXG4gIC91bm93bmVkXFwoc2FmZVxcKS8sIC8vIGNvbnRleHR1YWxcbiAgL3Vub3duZWRcXCh1bnNhZmVcXCkvLCAvLyBjb250ZXh0dWFsXG4gICd1bm93bmVkJywgLy8gY29udGV4dHVhbFxuICAndmFyJyxcbiAgJ3dlYWsnLCAvLyBjb250ZXh0dWFsXG4gICd3aGVyZScsXG4gICd3aGlsZScsXG4gICd3aWxsU2V0JyAvLyBjb250ZXh0dWFsXG5dO1xuXG4vLyBOT1RFOiBDb250ZXh0dWFsIGtleXdvcmRzIGFyZSByZXNlcnZlZCBvbmx5IGluIHNwZWNpZmljIGNvbnRleHRzLlxuLy8gSWRlYWxseSwgdGhlc2Ugc2hvdWxkIGJlIG1hdGNoZWQgdXNpbmcgbW9kZXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzLlxuXG4vLyBMaXRlcmFscy5cbmNvbnN0IGxpdGVyYWxzID0gW1xuICAnZmFsc2UnLFxuICAnbmlsJyxcbiAgJ3RydWUnXG5dO1xuXG4vLyBLZXl3b3JkcyB1c2VkIGluIHByZWNlZGVuY2UgZ3JvdXBzLlxuY29uc3QgcHJlY2VkZW5jZWdyb3VwS2V5d29yZHMgPSBbXG4gICdhc3NpZ25tZW50JyxcbiAgJ2Fzc29jaWF0aXZpdHknLFxuICAnaGlnaGVyVGhhbicsXG4gICdsZWZ0JyxcbiAgJ2xvd2VyVGhhbicsXG4gICdub25lJyxcbiAgJ3JpZ2h0J1xuXTtcblxuLy8gS2V5d29yZHMgdGhhdCBzdGFydCB3aXRoIGEgbnVtYmVyIHNpZ24gKCMpLlxuLy8gIyh1bilhdmFpbGFibGUgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5LlxuY29uc3QgbnVtYmVyU2lnbktleXdvcmRzID0gW1xuICAnI2NvbG9yTGl0ZXJhbCcsXG4gICcjY29sdW1uJyxcbiAgJyNkc29oYW5kbGUnLFxuICAnI2Vsc2UnLFxuICAnI2Vsc2VpZicsXG4gICcjZW5kaWYnLFxuICAnI2Vycm9yJyxcbiAgJyNmaWxlJyxcbiAgJyNmaWxlSUQnLFxuICAnI2ZpbGVMaXRlcmFsJyxcbiAgJyNmaWxlUGF0aCcsXG4gICcjZnVuY3Rpb24nLFxuICAnI2lmJyxcbiAgJyNpbWFnZUxpdGVyYWwnLFxuICAnI2tleVBhdGgnLFxuICAnI2xpbmUnLFxuICAnI3NlbGVjdG9yJyxcbiAgJyNzb3VyY2VMb2NhdGlvbicsXG4gICcjd2FybmluZydcbl07XG5cbi8vIEdsb2JhbCBmdW5jdGlvbnMgaW4gdGhlIFN0YW5kYXJkIExpYnJhcnkuXG5jb25zdCBidWlsdElucyA9IFtcbiAgJ2FicycsXG4gICdhbGwnLFxuICAnYW55JyxcbiAgJ2Fzc2VydCcsXG4gICdhc3NlcnRpb25GYWlsdXJlJyxcbiAgJ2RlYnVnUHJpbnQnLFxuICAnZHVtcCcsXG4gICdmYXRhbEVycm9yJyxcbiAgJ2dldFZhTGlzdCcsXG4gICdpc0tub3duVW5pcXVlbHlSZWZlcmVuY2VkJyxcbiAgJ21heCcsXG4gICdtaW4nLFxuICAnbnVtZXJpY0Nhc3QnLFxuICAncG9pbnR3aXNlTWF4JyxcbiAgJ3BvaW50d2lzZU1pbicsXG4gICdwcmVjb25kaXRpb24nLFxuICAncHJlY29uZGl0aW9uRmFpbHVyZScsXG4gICdwcmludCcsXG4gICdyZWFkTGluZScsXG4gICdyZXBlYXRFbGVtZW50JyxcbiAgJ3NlcXVlbmNlJyxcbiAgJ3N0cmlkZScsXG4gICdzd2FwJyxcbiAgJ3N3aWZ0X3VuYm94RnJvbVN3aWZ0VmFsdWVXaXRoVHlwZScsXG4gICd0cmFuc2NvZGUnLFxuICAndHlwZScsXG4gICd1bnNhZmVCaXRDYXN0JyxcbiAgJ3Vuc2FmZURvd25jYXN0JyxcbiAgJ3dpdGhFeHRlbmRlZExpZmV0aW1lJyxcbiAgJ3dpdGhVbnNhZmVNdXRhYmxlUG9pbnRlcicsXG4gICd3aXRoVW5zYWZlUG9pbnRlcicsXG4gICd3aXRoVmFMaXN0JyxcbiAgJ3dpdGhvdXRBY3R1YWxseUVzY2FwaW5nJyxcbiAgJ3ppcCdcbl07XG5cbi8vIFZhbGlkIGZpcnN0IGNoYXJhY3RlcnMgZm9yIG9wZXJhdG9ycy5cbmNvbnN0IG9wZXJhdG9ySGVhZCA9IGVpdGhlcihcbiAgL1svPVxcLSshKiU8PiZ8Xn4/XS8sXG4gIC9bXFx1MDBBMS1cXHUwMEE3XS8sXG4gIC9bXFx1MDBBOVxcdTAwQUJdLyxcbiAgL1tcXHUwMEFDXFx1MDBBRV0vLFxuICAvW1xcdTAwQjBcXHUwMEIxXS8sXG4gIC9bXFx1MDBCNlxcdTAwQkJcXHUwMEJGXFx1MDBEN1xcdTAwRjddLyxcbiAgL1tcXHUyMDE2LVxcdTIwMTddLyxcbiAgL1tcXHUyMDIwLVxcdTIwMjddLyxcbiAgL1tcXHUyMDMwLVxcdTIwM0VdLyxcbiAgL1tcXHUyMDQxLVxcdTIwNTNdLyxcbiAgL1tcXHUyMDU1LVxcdTIwNUVdLyxcbiAgL1tcXHUyMTkwLVxcdTIzRkZdLyxcbiAgL1tcXHUyNTAwLVxcdTI3NzVdLyxcbiAgL1tcXHUyNzk0LVxcdTJCRkZdLyxcbiAgL1tcXHUyRTAwLVxcdTJFN0ZdLyxcbiAgL1tcXHUzMDAxLVxcdTMwMDNdLyxcbiAgL1tcXHUzMDA4LVxcdTMwMjBdLyxcbiAgL1tcXHUzMDMwXS9cbik7XG5cbi8vIFZhbGlkIGNoYXJhY3RlcnMgZm9yIG9wZXJhdG9ycy5cbmNvbnN0IG9wZXJhdG9yQ2hhcmFjdGVyID0gZWl0aGVyKFxuICBvcGVyYXRvckhlYWQsXG4gIC9bXFx1MDMwMC1cXHUwMzZGXS8sXG4gIC9bXFx1MURDMC1cXHUxREZGXS8sXG4gIC9bXFx1MjBEMC1cXHUyMEZGXS8sXG4gIC9bXFx1RkUwMC1cXHVGRTBGXS8sXG4gIC9bXFx1RkUyMC1cXHVGRTJGXS9cbiAgLy8gVE9ETzogVGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIGFyZSBhbHNvIGFsbG93ZWQsIGJ1dCB0aGUgcmVnZXggaXNuJ3Qgc3VwcG9ydGVkIHlldC5cbiAgLy8gL1tcXHV7RTAxMDB9LVxcdXtFMDFFRn1dL3Vcbik7XG5cbi8vIFZhbGlkIG9wZXJhdG9yLlxuY29uc3Qgb3BlcmF0b3IgPSBjb25jYXQob3BlcmF0b3JIZWFkLCBvcGVyYXRvckNoYXJhY3RlciwgJyonKTtcblxuLy8gVmFsaWQgZmlyc3QgY2hhcmFjdGVycyBmb3IgaWRlbnRpZmllcnMuXG5jb25zdCBpZGVudGlmaWVySGVhZCA9IGVpdGhlcihcbiAgL1thLXpBLVpfXS8sXG4gIC9bXFx1MDBBOFxcdTAwQUFcXHUwMEFEXFx1MDBBRlxcdTAwQjItXFx1MDBCNVxcdTAwQjctXFx1MDBCQV0vLFxuICAvW1xcdTAwQkMtXFx1MDBCRVxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDBGRl0vLFxuICAvW1xcdTAxMDAtXFx1MDJGRlxcdTAzNzAtXFx1MTY3RlxcdTE2ODEtXFx1MTgwRFxcdTE4MEYtXFx1MURCRl0vLFxuICAvW1xcdTFFMDAtXFx1MUZGRl0vLFxuICAvW1xcdTIwMEItXFx1MjAwRFxcdTIwMkEtXFx1MjAyRVxcdTIwM0YtXFx1MjA0MFxcdTIwNTRcXHUyMDYwLVxcdTIwNkZdLyxcbiAgL1tcXHUyMDcwLVxcdTIwQ0ZcXHUyMTAwLVxcdTIxOEZcXHUyNDYwLVxcdTI0RkZcXHUyNzc2LVxcdTI3OTNdLyxcbiAgL1tcXHUyQzAwLVxcdTJERkZcXHUyRTgwLVxcdTJGRkZdLyxcbiAgL1tcXHUzMDA0LVxcdTMwMDdcXHUzMDIxLVxcdTMwMkZcXHUzMDMxLVxcdTMwM0ZcXHUzMDQwLVxcdUQ3RkZdLyxcbiAgL1tcXHVGOTAwLVxcdUZEM0RcXHVGRDQwLVxcdUZEQ0ZcXHVGREYwLVxcdUZFMUZcXHVGRTMwLVxcdUZFNDRdLyxcbiAgL1tcXHVGRTQ3LVxcdUZFRkVcXHVGRjAwLVxcdUZGRkRdLyAvLyBTaG91bGQgYmUgL1tcXHVGRTQ3LVxcdUZGRkRdLywgYnV0IHdlIGhhdmUgdG8gZXhjbHVkZSBGRUZGLlxuICAvLyBUaGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgYXJlIGFsc28gYWxsb3dlZCwgYnV0IHRoZSByZWdleGVzIGFyZW4ndCBzdXBwb3J0ZWQgeWV0LlxuICAvLyAvW1xcdXsxMDAwMH0tXFx1ezFGRkZEfVxcdXsyMDAwMC1cXHV7MkZGRkR9XFx1ezMwMDAwfS1cXHV7M0ZGRkR9XFx1ezQwMDAwfS1cXHV7NEZGRkR9XS91LFxuICAvLyAvW1xcdXs1MDAwMH0tXFx1ezVGRkZEfVxcdXs2MDAwMC1cXHV7NkZGRkR9XFx1ezcwMDAwfS1cXHV7N0ZGRkR9XFx1ezgwMDAwfS1cXHV7OEZGRkR9XS91LFxuICAvLyAvW1xcdXs5MDAwMH0tXFx1ezlGRkZEfVxcdXtBMDAwMC1cXHV7QUZGRkR9XFx1e0IwMDAwfS1cXHV7QkZGRkR9XFx1e0MwMDAwfS1cXHV7Q0ZGRkR9XS91LFxuICAvLyAvW1xcdXtEMDAwMH0tXFx1e0RGRkZEfVxcdXtFMDAwMC1cXHV7RUZGRkR9XS91XG4pO1xuXG4vLyBWYWxpZCBjaGFyYWN0ZXJzIGZvciBpZGVudGlmaWVycy5cbmNvbnN0IGlkZW50aWZpZXJDaGFyYWN0ZXIgPSBlaXRoZXIoXG4gIGlkZW50aWZpZXJIZWFkLFxuICAvXFxkLyxcbiAgL1tcXHUwMzAwLVxcdTAzNkZcXHUxREMwLVxcdTFERkZcXHUyMEQwLVxcdTIwRkZcXHVGRTIwLVxcdUZFMkZdL1xuKTtcblxuLy8gVmFsaWQgaWRlbnRpZmllci5cbmNvbnN0IGlkZW50aWZpZXIgPSBjb25jYXQoaWRlbnRpZmllckhlYWQsIGlkZW50aWZpZXJDaGFyYWN0ZXIsICcqJyk7XG5cbi8vIFZhbGlkIHR5cGUgaWRlbnRpZmllci5cbmNvbnN0IHR5cGVJZGVudGlmaWVyID0gY29uY2F0KC9bQS1aXS8sIGlkZW50aWZpZXJDaGFyYWN0ZXIsICcqJyk7XG5cbi8vIEJ1aWx0LWluIGF0dHJpYnV0ZXMsIHdoaWNoIGFyZSBoaWdobGlnaHRlZCBhcyBrZXl3b3Jkcy5cbi8vIEBhdmFpbGFibGUgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5LlxuLy8gaHR0cHM6Ly9kb2NzLnN3aWZ0Lm9yZy9zd2lmdC1ib29rL2RvY3VtZW50YXRpb24vdGhlLXN3aWZ0LXByb2dyYW1taW5nLWxhbmd1YWdlL2F0dHJpYnV0ZXNcbmNvbnN0IGtleXdvcmRBdHRyaWJ1dGVzID0gW1xuICAnYXR0YWNoZWQnLFxuICAnYXV0b2Nsb3N1cmUnLFxuICBjb25jYXQoL2NvbnZlbnRpb25cXCgvLCBlaXRoZXIoJ3N3aWZ0JywgJ2Jsb2NrJywgJ2MnKSwgL1xcKS8pLFxuICAnZGlzY2FyZGFibGVSZXN1bHQnLFxuICAnZHluYW1pY0NhbGxhYmxlJyxcbiAgJ2R5bmFtaWNNZW1iZXJMb29rdXAnLFxuICAnZXNjYXBpbmcnLFxuICAnZnJlZXN0YW5kaW5nJyxcbiAgJ2Zyb3plbicsXG4gICdHS0luc3BlY3RhYmxlJyxcbiAgJ0lCQWN0aW9uJyxcbiAgJ0lCRGVzaWduYWJsZScsXG4gICdJQkluc3BlY3RhYmxlJyxcbiAgJ0lCT3V0bGV0JyxcbiAgJ0lCU2VndWVBY3Rpb24nLFxuICAnaW5saW5hYmxlJyxcbiAgJ21haW4nLFxuICAnbm9ub2JqYycsXG4gICdOU0FwcGxpY2F0aW9uTWFpbicsXG4gICdOU0NvcHlpbmcnLFxuICAnTlNNYW5hZ2VkJyxcbiAgY29uY2F0KC9vYmpjXFwoLywgaWRlbnRpZmllciwgL1xcKS8pLFxuICAnb2JqYycsXG4gICdvYmpjTWVtYmVycycsXG4gICdwcm9wZXJ0eVdyYXBwZXInLFxuICAncmVxdWlyZXNfc3RvcmVkX3Byb3BlcnR5X2luaXRzJyxcbiAgJ3Jlc3VsdEJ1aWxkZXInLFxuICAnU2VuZGFibGUnLFxuICAndGVzdGFibGUnLFxuICAnVUlBcHBsaWNhdGlvbk1haW4nLFxuICAndW5jaGVja2VkJyxcbiAgJ3Vua25vd24nLFxuICAndXNhYmxlRnJvbUlubGluZScsXG4gICd3YXJuX3VucXVhbGlmaWVkX2FjY2Vzcydcbl07XG5cbi8vIENvbnRleHR1YWwga2V5d29yZHMgdXNlZCBpbiBAYXZhaWxhYmxlIGFuZCAjKHVuKWF2YWlsYWJsZS5cbmNvbnN0IGF2YWlsYWJpbGl0eUtleXdvcmRzID0gW1xuICAnaU9TJyxcbiAgJ2lPU0FwcGxpY2F0aW9uRXh0ZW5zaW9uJyxcbiAgJ21hY09TJyxcbiAgJ21hY09TQXBwbGljYXRpb25FeHRlbnNpb24nLFxuICAnbWFjQ2F0YWx5c3QnLFxuICAnbWFjQ2F0YWx5c3RBcHBsaWNhdGlvbkV4dGVuc2lvbicsXG4gICd3YXRjaE9TJyxcbiAgJ3dhdGNoT1NBcHBsaWNhdGlvbkV4dGVuc2lvbicsXG4gICd0dk9TJyxcbiAgJ3R2T1NBcHBsaWNhdGlvbkV4dGVuc2lvbicsXG4gICdzd2lmdCdcbl07XG5cbi8qXG5MYW5ndWFnZTogU3dpZnRcbkRlc2NyaXB0aW9uOiBTd2lmdCBpcyBhIGdlbmVyYWwtcHVycG9zZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBidWlsdCB1c2luZyBhIG1vZGVybiBhcHByb2FjaCB0byBzYWZldHksIHBlcmZvcm1hbmNlLCBhbmQgc29mdHdhcmUgZGVzaWduIHBhdHRlcm5zLlxuQXV0aG9yOiBTdGV2ZW4gVmFuIEltcGUgPHN0ZXZlbi52YW5pbXBlQGljbG91ZC5jb20+XG5Db250cmlidXRvcnM6IENocmlzIEVpZGhvZiA8Y2hyaXNAZWlkaG9mLm5sPiwgTmF0ZSBDb29rIDxuYXRlY29va0BnbWFpbC5jb20+LCBBbGV4YW5kZXIgTGljaHRlciA8bWFubmlMQGdteC5uZXQ+LCBSaWNoYXJkIEdpYnNvbiA8Z2lic29uMDQyQGdpdGh1Yj5cbldlYnNpdGU6IGh0dHBzOi8vc3dpZnQub3JnXG5DYXRlZ29yeTogY29tbW9uLCBzeXN0ZW1cbiovXG5cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIHN3aWZ0KGhsanMpIHtcbiAgY29uc3QgV0hJVEVTUEFDRSA9IHtcbiAgICBtYXRjaDogL1xccysvLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0xleGljYWxTdHJ1Y3R1cmUuaHRtbCNJRDQxMVxuICBjb25zdCBCTE9DS19DT01NRU5UID0gaGxqcy5DT01NRU5UKFxuICAgICcvXFxcXConLFxuICAgICdcXFxcKi8nLFxuICAgIHsgY29udGFpbnM6IFsgJ3NlbGYnIF0gfVxuICApO1xuICBjb25zdCBDT01NRU5UUyA9IFtcbiAgICBobGpzLkNfTElORV9DT01NRU5UX01PREUsXG4gICAgQkxPQ0tfQ09NTUVOVFxuICBdO1xuXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9SZWZlcmVuY2VNYW51YWwvTGV4aWNhbFN0cnVjdHVyZS5odG1sI0lENDEzXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9SZWZlcmVuY2VNYW51YWwvenpTdW1tYXJ5T2ZUaGVHcmFtbWFyLmh0bWxcbiAgY29uc3QgRE9UX0tFWVdPUkQgPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC9cXC4vLFxuICAgICAgZWl0aGVyKC4uLmRvdEtleXdvcmRzLCAuLi5vcHRpb25hbERvdEtleXdvcmRzKVxuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7IDI6IFwia2V5d29yZFwiIH1cbiAgfTtcbiAgY29uc3QgS0VZV09SRF9HVUFSRCA9IHtcbiAgICAvLyBDb25zdW1lIC5rZXl3b3JkIHRvIHByZXZlbnQgaGlnaGxpZ2h0aW5nIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgYXMga2V5d29yZHMuXG4gICAgbWF0Y2g6IGNvbmNhdCgvXFwuLywgZWl0aGVyKC4uLmtleXdvcmRzKSksXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG4gIGNvbnN0IFBMQUlOX0tFWVdPUkRTID0ga2V5d29yZHNcbiAgICAuZmlsdGVyKGt3ID0+IHR5cGVvZiBrdyA9PT0gJ3N0cmluZycpXG4gICAgLmNvbmNhdChbIFwiX3wwXCIgXSk7IC8vIHNlZW1zIGNvbW1vbiwgc28gMCByZWxldmFuY2VcbiAgY29uc3QgUkVHRVhfS0VZV09SRFMgPSBrZXl3b3Jkc1xuICAgIC5maWx0ZXIoa3cgPT4gdHlwZW9mIGt3ICE9PSAnc3RyaW5nJykgLy8gZmluZCByZWdleFxuICAgIC5jb25jYXQoa2V5d29yZFR5cGVzKVxuICAgIC5tYXAoa2V5d29yZFdyYXBwZXIpO1xuICBjb25zdCBLRVlXT1JEID0geyB2YXJpYW50czogW1xuICAgIHtcbiAgICAgIGNsYXNzTmFtZTogJ2tleXdvcmQnLFxuICAgICAgbWF0Y2g6IGVpdGhlciguLi5SRUdFWF9LRVlXT1JEUywgLi4ub3B0aW9uYWxEb3RLZXl3b3JkcylcbiAgICB9XG4gIF0gfTtcbiAgLy8gZmluZCBhbGwgdGhlIHJlZ3VsYXIga2V5d29yZHNcbiAgY29uc3QgS0VZV09SRFMgPSB7XG4gICAgJHBhdHRlcm46IGVpdGhlcihcbiAgICAgIC9cXGJcXHcrLywgLy8gcmVndWxhciBrZXl3b3Jkc1xuICAgICAgLyNcXHcrLyAvLyBudW1iZXIga2V5d29yZHNcbiAgICApLFxuICAgIGtleXdvcmQ6IFBMQUlOX0tFWVdPUkRTXG4gICAgICAuY29uY2F0KG51bWJlclNpZ25LZXl3b3JkcyksXG4gICAgbGl0ZXJhbDogbGl0ZXJhbHNcbiAgfTtcbiAgY29uc3QgS0VZV09SRF9NT0RFUyA9IFtcbiAgICBET1RfS0VZV09SRCxcbiAgICBLRVlXT1JEX0dVQVJELFxuICAgIEtFWVdPUkRcbiAgXTtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXBwbGUvc3dpZnQvdHJlZS9tYWluL3N0ZGxpYi9wdWJsaWMvY29yZVxuICBjb25zdCBCVUlMVF9JTl9HVUFSRCA9IHtcbiAgICAvLyBDb25zdW1lIC5idWlsdF9pbiB0byBwcmV2ZW50IGhpZ2hsaWdodGluZyBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxuICAgIG1hdGNoOiBjb25jYXQoL1xcLi8sIGVpdGhlciguLi5idWlsdElucykpLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICBjb25zdCBCVUlMVF9JTiA9IHtcbiAgICBjbGFzc05hbWU6ICdidWlsdF9pbicsXG4gICAgbWF0Y2g6IGNvbmNhdCgvXFxiLywgZWl0aGVyKC4uLmJ1aWx0SW5zKSwgLyg/PVxcKCkvKVxuICB9O1xuICBjb25zdCBCVUlMVF9JTlMgPSBbXG4gICAgQlVJTFRfSU5fR1VBUkQsXG4gICAgQlVJTFRfSU5cbiAgXTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0xleGljYWxTdHJ1Y3R1cmUuaHRtbCNJRDQxOFxuICBjb25zdCBPUEVSQVRPUl9HVUFSRCA9IHtcbiAgICAvLyBQcmV2ZW50IC0+IGZyb20gYmVpbmcgaGlnaGxpZ2h0aW5nIGFzIGFuIG9wZXJhdG9yLlxuICAgIG1hdGNoOiAvLT4vLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuICBjb25zdCBPUEVSQVRPUiA9IHtcbiAgICBjbGFzc05hbWU6ICdvcGVyYXRvcicsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7IG1hdGNoOiBvcGVyYXRvciB9LFxuICAgICAge1xuICAgICAgICAvLyBkb3Qtb3BlcmF0b3I6IG9ubHkgb3BlcmF0b3JzIHRoYXQgc3RhcnQgd2l0aCBhIGRvdCBhcmUgYWxsb3dlZCB0byB1c2UgZG90cyBhc1xuICAgICAgICAvLyBjaGFyYWN0ZXJzICguLi4sIC4uLjwsIC4qLCBldGMpLiBTbyB0aGVyZSBydWxlIGhlcmUgaXM6IGEgZG90IGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlXG4gICAgICAgIC8vIGNoYXJhY3RlcnMgdGhhdCBtYXkgYWxzbyBpbmNsdWRlIGRvdHMuXG4gICAgICAgIG1hdGNoOiBgXFxcXC4oXFxcXC58JHtvcGVyYXRvckNoYXJhY3Rlcn0pK2AgfVxuICAgIF1cbiAgfTtcbiAgY29uc3QgT1BFUkFUT1JTID0gW1xuICAgIE9QRVJBVE9SX0dVQVJELFxuICAgIE9QRVJBVE9SXG4gIF07XG5cbiAgLy8gaHR0cHM6Ly9kb2NzLnN3aWZ0Lm9yZy9zd2lmdC1ib29rL1JlZmVyZW5jZU1hbnVhbC9MZXhpY2FsU3RydWN0dXJlLmh0bWwjZ3JhbW1hcl9udW1lcmljLWxpdGVyYWxcbiAgLy8gVE9ETzogVXBkYXRlIGZvciBsZWFkaW5nIGAtYCBhZnRlciBsb29rYmVoaW5kIGlzIHN1cHBvcnRlZCBldmVyeXdoZXJlXG4gIGNvbnN0IGRlY2ltYWxEaWdpdHMgPSAnKFswLTldXyopKyc7XG4gIGNvbnN0IGhleERpZ2l0cyA9ICcoWzAtOWEtZkEtRl1fKikrJztcbiAgY29uc3QgTlVNQkVSID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyBkZWNpbWFsIGZsb2F0aW5nLXBvaW50LWxpdGVyYWwgKHN1YnN1bWVzIGRlY2ltYWwtbGl0ZXJhbClcbiAgICAgIHsgbWF0Y2g6IGBcXFxcYigke2RlY2ltYWxEaWdpdHN9KShcXFxcLigke2RlY2ltYWxEaWdpdHN9KSk/YCArIGAoW2VFXVsrLV0/KCR7ZGVjaW1hbERpZ2l0c30pKT9cXFxcYmAgfSxcbiAgICAgIC8vIGhleGFkZWNpbWFsIGZsb2F0aW5nLXBvaW50LWxpdGVyYWwgKHN1YnN1bWVzIGhleGFkZWNpbWFsLWxpdGVyYWwpXG4gICAgICB7IG1hdGNoOiBgXFxcXGIweCgke2hleERpZ2l0c30pKFxcXFwuKCR7aGV4RGlnaXRzfSkpP2AgKyBgKFtwUF1bKy1dPygke2RlY2ltYWxEaWdpdHN9KSk/XFxcXGJgIH0sXG4gICAgICAvLyBvY3RhbC1saXRlcmFsXG4gICAgICB7IG1hdGNoOiAvXFxiMG8oWzAtN11fKikrXFxiLyB9LFxuICAgICAgLy8gYmluYXJ5LWxpdGVyYWxcbiAgICAgIHsgbWF0Y2g6IC9cXGIwYihbMDFdXyopK1xcYi8gfVxuICAgIF1cbiAgfTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0xleGljYWxTdHJ1Y3R1cmUuaHRtbCNncmFtbWFyX3N0cmluZy1saXRlcmFsXG4gIGNvbnN0IEVTQ0FQRURfQ0hBUkFDVEVSID0gKHJhd0RlbGltaXRlciA9IFwiXCIpID0+ICh7XG4gICAgY2xhc3NOYW1lOiAnc3Vic3QnLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7IG1hdGNoOiBjb25jYXQoL1xcXFwvLCByYXdEZWxpbWl0ZXIsIC9bMFxcXFx0bnJcIiddLykgfSxcbiAgICAgIHsgbWF0Y2g6IGNvbmNhdCgvXFxcXC8sIHJhd0RlbGltaXRlciwgL3VcXHtbMC05YS1mQS1GXXsxLDh9XFx9LykgfVxuICAgIF1cbiAgfSk7XG4gIGNvbnN0IEVTQ0FQRURfTkVXTElORSA9IChyYXdEZWxpbWl0ZXIgPSBcIlwiKSA9PiAoe1xuICAgIGNsYXNzTmFtZTogJ3N1YnN0JyxcbiAgICBtYXRjaDogY29uY2F0KC9cXFxcLywgcmF3RGVsaW1pdGVyLCAvW1xcdCBdKig/OltcXHJcXG5dfFxcclxcbikvKVxuICB9KTtcbiAgY29uc3QgSU5URVJQT0xBVElPTiA9IChyYXdEZWxpbWl0ZXIgPSBcIlwiKSA9PiAoe1xuICAgIGNsYXNzTmFtZTogJ3N1YnN0JyxcbiAgICBsYWJlbDogXCJpbnRlcnBvbFwiLFxuICAgIGJlZ2luOiBjb25jYXQoL1xcXFwvLCByYXdEZWxpbWl0ZXIsIC9cXCgvKSxcbiAgICBlbmQ6IC9cXCkvXG4gIH0pO1xuICBjb25zdCBNVUxUSUxJTkVfU1RSSU5HID0gKHJhd0RlbGltaXRlciA9IFwiXCIpID0+ICh7XG4gICAgYmVnaW46IGNvbmNhdChyYXdEZWxpbWl0ZXIsIC9cIlwiXCIvKSxcbiAgICBlbmQ6IGNvbmNhdCgvXCJcIlwiLywgcmF3RGVsaW1pdGVyKSxcbiAgICBjb250YWluczogW1xuICAgICAgRVNDQVBFRF9DSEFSQUNURVIocmF3RGVsaW1pdGVyKSxcbiAgICAgIEVTQ0FQRURfTkVXTElORShyYXdEZWxpbWl0ZXIpLFxuICAgICAgSU5URVJQT0xBVElPTihyYXdEZWxpbWl0ZXIpXG4gICAgXVxuICB9KTtcbiAgY29uc3QgU0lOR0xFX0xJTkVfU1RSSU5HID0gKHJhd0RlbGltaXRlciA9IFwiXCIpID0+ICh7XG4gICAgYmVnaW46IGNvbmNhdChyYXdEZWxpbWl0ZXIsIC9cIi8pLFxuICAgIGVuZDogY29uY2F0KC9cIi8sIHJhd0RlbGltaXRlciksXG4gICAgY29udGFpbnM6IFtcbiAgICAgIEVTQ0FQRURfQ0hBUkFDVEVSKHJhd0RlbGltaXRlciksXG4gICAgICBJTlRFUlBPTEFUSU9OKHJhd0RlbGltaXRlcilcbiAgICBdXG4gIH0pO1xuICBjb25zdCBTVFJJTkcgPSB7XG4gICAgY2xhc3NOYW1lOiAnc3RyaW5nJyxcbiAgICB2YXJpYW50czogW1xuICAgICAgTVVMVElMSU5FX1NUUklORygpLFxuICAgICAgTVVMVElMSU5FX1NUUklORyhcIiNcIiksXG4gICAgICBNVUxUSUxJTkVfU1RSSU5HKFwiIyNcIiksXG4gICAgICBNVUxUSUxJTkVfU1RSSU5HKFwiIyMjXCIpLFxuICAgICAgU0lOR0xFX0xJTkVfU1RSSU5HKCksXG4gICAgICBTSU5HTEVfTElORV9TVFJJTkcoXCIjXCIpLFxuICAgICAgU0lOR0xFX0xJTkVfU1RSSU5HKFwiIyNcIiksXG4gICAgICBTSU5HTEVfTElORV9TVFJJTkcoXCIjIyNcIilcbiAgICBdXG4gIH07XG5cbiAgY29uc3QgUkVHRVhQX0NPTlRFTlRTID0gW1xuICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICB7XG4gICAgICBiZWdpbjogL1xcWy8sXG4gICAgICBlbmQ6IC9cXF0vLFxuICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgY29udGFpbnM6IFsgaGxqcy5CQUNLU0xBU0hfRVNDQVBFIF1cbiAgICB9XG4gIF07XG5cbiAgY29uc3QgQkFSRV9SRUdFWFBfTElURVJBTCA9IHtcbiAgICBiZWdpbjogL1xcL1teXFxzXSg/PVteL1xcbl0qXFwvKS8sXG4gICAgZW5kOiAvXFwvLyxcbiAgICBjb250YWluczogUkVHRVhQX0NPTlRFTlRTXG4gIH07XG5cbiAgY29uc3QgRVhURU5ERURfUkVHRVhQX0xJVEVSQUwgPSAocmF3RGVsaW1pdGVyKSA9PiB7XG4gICAgY29uc3QgYmVnaW4gPSBjb25jYXQocmF3RGVsaW1pdGVyLCAvXFwvLyk7XG4gICAgY29uc3QgZW5kID0gY29uY2F0KC9cXC8vLCByYXdEZWxpbWl0ZXIpO1xuICAgIHJldHVybiB7XG4gICAgICBiZWdpbixcbiAgICAgIGVuZCxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIC4uLlJFR0VYUF9DT05URU5UUyxcbiAgICAgICAge1xuICAgICAgICAgIHNjb3BlOiBcImNvbW1lbnRcIixcbiAgICAgICAgICBiZWdpbjogYCMoPyEuKiR7ZW5kfSlgLFxuICAgICAgICAgIGVuZDogLyQvLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9O1xuXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9kb2N1bWVudGF0aW9uL3RoZS1zd2lmdC1wcm9ncmFtbWluZy1sYW5ndWFnZS9sZXhpY2Fsc3RydWN0dXJlLyNSZWd1bGFyLUV4cHJlc3Npb24tTGl0ZXJhbHNcbiAgY29uc3QgUkVHRVhQID0ge1xuICAgIHNjb3BlOiBcInJlZ2V4cFwiLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICBFWFRFTkRFRF9SRUdFWFBfTElURVJBTCgnIyMjJyksXG4gICAgICBFWFRFTkRFRF9SRUdFWFBfTElURVJBTCgnIyMnKSxcbiAgICAgIEVYVEVOREVEX1JFR0VYUF9MSVRFUkFMKCcjJyksXG4gICAgICBCQVJFX1JFR0VYUF9MSVRFUkFMXG4gICAgXVxuICB9O1xuXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9SZWZlcmVuY2VNYW51YWwvTGV4aWNhbFN0cnVjdHVyZS5odG1sI0lENDEyXG4gIGNvbnN0IFFVT1RFRF9JREVOVElGSUVSID0geyBtYXRjaDogY29uY2F0KC9gLywgaWRlbnRpZmllciwgL2AvKSB9O1xuICBjb25zdCBJTVBMSUNJVF9QQVJBTUVURVIgPSB7XG4gICAgY2xhc3NOYW1lOiAndmFyaWFibGUnLFxuICAgIG1hdGNoOiAvXFwkXFxkKy9cbiAgfTtcbiAgY29uc3QgUFJPUEVSVFlfV1JBUFBFUl9QUk9KRUNUSU9OID0ge1xuICAgIGNsYXNzTmFtZTogJ3ZhcmlhYmxlJyxcbiAgICBtYXRjaDogYFxcXFwkJHtpZGVudGlmaWVyQ2hhcmFjdGVyfStgXG4gIH07XG4gIGNvbnN0IElERU5USUZJRVJTID0gW1xuICAgIFFVT1RFRF9JREVOVElGSUVSLFxuICAgIElNUExJQ0lUX1BBUkFNRVRFUixcbiAgICBQUk9QRVJUWV9XUkFQUEVSX1BST0pFQ1RJT05cbiAgXTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0F0dHJpYnV0ZXMuaHRtbFxuICBjb25zdCBBVkFJTEFCTEVfQVRUUklCVVRFID0ge1xuICAgIG1hdGNoOiAvKEB8Iyh1bik/KWF2YWlsYWJsZS8sXG4gICAgc2NvcGU6ICdrZXl3b3JkJyxcbiAgICBzdGFydHM6IHsgY29udGFpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBrZXl3b3JkczogYXZhaWxhYmlsaXR5S2V5d29yZHMsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgLi4uT1BFUkFUT1JTLFxuICAgICAgICAgIE5VTUJFUixcbiAgICAgICAgICBTVFJJTkdcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF0gfVxuICB9O1xuXG4gIGNvbnN0IEtFWVdPUkRfQVRUUklCVVRFID0ge1xuICAgIHNjb3BlOiAna2V5d29yZCcsXG4gICAgbWF0Y2g6IGNvbmNhdCgvQC8sIGVpdGhlciguLi5rZXl3b3JkQXR0cmlidXRlcyksIGxvb2thaGVhZChlaXRoZXIoL1xcKC8sIC9cXHMrLykpKSxcbiAgfTtcblxuICBjb25zdCBVU0VSX0RFRklORURfQVRUUklCVVRFID0ge1xuICAgIHNjb3BlOiAnbWV0YScsXG4gICAgbWF0Y2g6IGNvbmNhdCgvQC8sIGlkZW50aWZpZXIpXG4gIH07XG5cbiAgY29uc3QgQVRUUklCVVRFUyA9IFtcbiAgICBBVkFJTEFCTEVfQVRUUklCVVRFLFxuICAgIEtFWVdPUkRfQVRUUklCVVRFLFxuICAgIFVTRVJfREVGSU5FRF9BVFRSSUJVVEVcbiAgXTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL1R5cGVzLmh0bWxcbiAgY29uc3QgVFlQRSA9IHtcbiAgICBtYXRjaDogbG9va2FoZWFkKC9cXGJbQS1aXS8pLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICBjb250YWluczogW1xuICAgICAgeyAvLyBDb21tb24gQXBwbGUgZnJhbWV3b3JrcywgZm9yIHJlbGV2YW5jZSBib29zdFxuICAgICAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICAgICAgbWF0Y2g6IGNvbmNhdCgvKEFWfENBfENGfENHfENJfENMfENNfENOfENUfE1LfE1QfE1US3xNVEx8TlN8U0NOfFNLfFVJfFdLfFhDKS8sIGlkZW50aWZpZXJDaGFyYWN0ZXIsICcrJylcbiAgICAgIH0sXG4gICAgICB7IC8vIFR5cGUgaWRlbnRpZmllclxuICAgICAgICBjbGFzc05hbWU6ICd0eXBlJyxcbiAgICAgICAgbWF0Y2g6IHR5cGVJZGVudGlmaWVyLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICB7IC8vIE9wdGlvbmFsIHR5cGVcbiAgICAgICAgbWF0Y2g6IC9bPyFdKy8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHsgLy8gVmFyaWFkaWMgcGFyYW1ldGVyXG4gICAgICAgIG1hdGNoOiAvXFwuXFwuXFwuLyxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgeyAvLyBQcm90b2NvbCBjb21wb3NpdGlvblxuICAgICAgICBtYXRjaDogY29uY2F0KC9cXHMrJlxccysvLCBsb29rYWhlYWQodHlwZUlkZW50aWZpZXIpKSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9XG4gICAgXVxuICB9O1xuICBjb25zdCBHRU5FUklDX0FSR1VNRU5UUyA9IHtcbiAgICBiZWdpbjogLzwvLFxuICAgIGVuZDogLz4vLFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICBjb250YWluczogW1xuICAgICAgLi4uQ09NTUVOVFMsXG4gICAgICAuLi5LRVlXT1JEX01PREVTLFxuICAgICAgLi4uQVRUUklCVVRFUyxcbiAgICAgIE9QRVJBVE9SX0dVQVJELFxuICAgICAgVFlQRVxuICAgIF1cbiAgfTtcbiAgVFlQRS5jb250YWlucy5wdXNoKEdFTkVSSUNfQVJHVU1FTlRTKTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0V4cHJlc3Npb25zLmh0bWwjSUQ1NTJcbiAgLy8gUHJldmVudHMgZWxlbWVudCBuYW1lcyBmcm9tIGJlaW5nIGhpZ2hsaWdodGVkIGFzIGtleXdvcmRzLlxuICBjb25zdCBUVVBMRV9FTEVNRU5UX05BTUUgPSB7XG4gICAgbWF0Y2g6IGNvbmNhdChpZGVudGlmaWVyLCAvXFxzKjovKSxcbiAgICBrZXl3b3JkczogXCJffDBcIixcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcbiAgLy8gTWF0Y2hlcyB0dXBsZXMgYXMgd2VsbCBhcyB0aGUgcGFyYW1ldGVyIGxpc3Qgb2YgYSBmdW5jdGlvbiB0eXBlLlxuICBjb25zdCBUVVBMRSA9IHtcbiAgICBiZWdpbjogL1xcKC8sXG4gICAgZW5kOiAvXFwpLyxcbiAgICByZWxldmFuY2U6IDAsXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICAnc2VsZicsXG4gICAgICBUVVBMRV9FTEVNRU5UX05BTUUsXG4gICAgICAuLi5DT01NRU5UUyxcbiAgICAgIFJFR0VYUCxcbiAgICAgIC4uLktFWVdPUkRfTU9ERVMsXG4gICAgICAuLi5CVUlMVF9JTlMsXG4gICAgICAuLi5PUEVSQVRPUlMsXG4gICAgICBOVU1CRVIsXG4gICAgICBTVFJJTkcsXG4gICAgICAuLi5JREVOVElGSUVSUyxcbiAgICAgIC4uLkFUVFJJQlVURVMsXG4gICAgICBUWVBFXG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IEdFTkVSSUNfUEFSQU1FVEVSUyA9IHtcbiAgICBiZWdpbjogLzwvLFxuICAgIGVuZDogLz4vLFxuICAgIGtleXdvcmRzOiAncmVwZWF0IGVhY2gnLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICAuLi5DT01NRU5UUyxcbiAgICAgIFRZUEVcbiAgICBdXG4gIH07XG4gIGNvbnN0IEZVTkNUSU9OX1BBUkFNRVRFUl9OQU1FID0ge1xuICAgIGJlZ2luOiBlaXRoZXIoXG4gICAgICBsb29rYWhlYWQoY29uY2F0KGlkZW50aWZpZXIsIC9cXHMqOi8pKSxcbiAgICAgIGxvb2thaGVhZChjb25jYXQoaWRlbnRpZmllciwgL1xccysvLCBpZGVudGlmaWVyLCAvXFxzKjovKSlcbiAgICApLFxuICAgIGVuZDogLzovLFxuICAgIHJlbGV2YW5jZTogMCxcbiAgICBjb250YWluczogW1xuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgbWF0Y2g6IC9cXGJfXFxiL1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiAncGFyYW1zJyxcbiAgICAgICAgbWF0Y2g6IGlkZW50aWZpZXJcbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIGNvbnN0IEZVTkNUSU9OX1BBUkFNRVRFUlMgPSB7XG4gICAgYmVnaW46IC9cXCgvLFxuICAgIGVuZDogL1xcKS8sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBGVU5DVElPTl9QQVJBTUVURVJfTkFNRSxcbiAgICAgIC4uLkNPTU1FTlRTLFxuICAgICAgLi4uS0VZV09SRF9NT0RFUyxcbiAgICAgIC4uLk9QRVJBVE9SUyxcbiAgICAgIE5VTUJFUixcbiAgICAgIFNUUklORyxcbiAgICAgIC4uLkFUVFJJQlVURVMsXG4gICAgICBUWVBFLFxuICAgICAgVFVQTEVcbiAgICBdLFxuICAgIGVuZHNQYXJlbnQ6IHRydWUsXG4gICAgaWxsZWdhbDogL1tcIiddL1xuICB9O1xuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0RlY2xhcmF0aW9ucy5odG1sI0lEMzYyXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9kb2N1bWVudGF0aW9uL3RoZS1zd2lmdC1wcm9ncmFtbWluZy1sYW5ndWFnZS9kZWNsYXJhdGlvbnMvI01hY3JvLURlY2xhcmF0aW9uXG4gIGNvbnN0IEZVTkNUSU9OX09SX01BQ1JPID0ge1xuICAgIG1hdGNoOiBbXG4gICAgICAvKGZ1bmN8bWFjcm8pLyxcbiAgICAgIC9cXHMrLyxcbiAgICAgIGVpdGhlcihRVU9URURfSURFTlRJRklFUi5tYXRjaCwgaWRlbnRpZmllciwgb3BlcmF0b3IpXG4gICAgXSxcbiAgICBjbGFzc05hbWU6IHtcbiAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgMzogXCJ0aXRsZS5mdW5jdGlvblwiXG4gICAgfSxcbiAgICBjb250YWluczogW1xuICAgICAgR0VORVJJQ19QQVJBTUVURVJTLFxuICAgICAgRlVOQ1RJT05fUEFSQU1FVEVSUyxcbiAgICAgIFdISVRFU1BBQ0VcbiAgICBdLFxuICAgIGlsbGVnYWw6IFtcbiAgICAgIC9cXFsvLFxuICAgICAgLyUvXG4gICAgXVxuICB9O1xuXG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9SZWZlcmVuY2VNYW51YWwvRGVjbGFyYXRpb25zLmh0bWwjSUQzNzVcbiAgLy8gaHR0cHM6Ly9kb2NzLnN3aWZ0Lm9yZy9zd2lmdC1ib29rL1JlZmVyZW5jZU1hbnVhbC9EZWNsYXJhdGlvbnMuaHRtbCNJRDM3OVxuICBjb25zdCBJTklUX1NVQlNDUklQVCA9IHtcbiAgICBtYXRjaDogW1xuICAgICAgL1xcYig/OnN1YnNjcmlwdHxpbml0Wz8hXT8pLyxcbiAgICAgIC9cXHMqKD89WzwoXSkvLFxuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7IDE6IFwia2V5d29yZFwiIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIEdFTkVSSUNfUEFSQU1FVEVSUyxcbiAgICAgIEZVTkNUSU9OX1BBUkFNRVRFUlMsXG4gICAgICBXSElURVNQQUNFXG4gICAgXSxcbiAgICBpbGxlZ2FsOiAvXFxbfCUvXG4gIH07XG4gIC8vIGh0dHBzOi8vZG9jcy5zd2lmdC5vcmcvc3dpZnQtYm9vay9SZWZlcmVuY2VNYW51YWwvRGVjbGFyYXRpb25zLmh0bWwjSUQzODBcbiAgY29uc3QgT1BFUkFUT1JfREVDTEFSQVRJT04gPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC9vcGVyYXRvci8sXG4gICAgICAvXFxzKy8sXG4gICAgICBvcGVyYXRvclxuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwidGl0bGVcIlxuICAgIH1cbiAgfTtcblxuICAvLyBodHRwczovL2RvY3Muc3dpZnQub3JnL3N3aWZ0LWJvb2svUmVmZXJlbmNlTWFudWFsL0RlY2xhcmF0aW9ucy5odG1sI0lENTUwXG4gIGNvbnN0IFBSRUNFREVOQ0VHUk9VUCA9IHtcbiAgICBiZWdpbjogW1xuICAgICAgL3ByZWNlZGVuY2Vncm91cC8sXG4gICAgICAvXFxzKy8sXG4gICAgICB0eXBlSWRlbnRpZmllclxuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwidGl0bGVcIlxuICAgIH0sXG4gICAgY29udGFpbnM6IFsgVFlQRSBdLFxuICAgIGtleXdvcmRzOiBbXG4gICAgICAuLi5wcmVjZWRlbmNlZ3JvdXBLZXl3b3JkcyxcbiAgICAgIC4uLmxpdGVyYWxzXG4gICAgXSxcbiAgICBlbmQ6IC99L1xuICB9O1xuXG4gIGNvbnN0IENMQVNTX0ZVTkNfREVDTEFSQVRJT04gPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC9jbGFzc1xcYi8sICAgICAgICAgIFxuICAgICAgL1xccysvLFxuICAgICAgL2Z1bmNcXGIvLFxuICAgICAgL1xccysvLFxuICAgICAgL1xcYltBLVphLXpfXVtBLVphLXowLTlfXSpcXGIvIFxuICAgIF0sXG4gICAgc2NvcGU6IHtcbiAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgMzogXCJrZXl3b3JkXCIsXG4gICAgICA1OiBcInRpdGxlLmZ1bmN0aW9uXCJcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgQ0xBU1NfVkFSX0RFQ0xBUkFUSU9OID0ge1xuICAgIG1hdGNoOiBbXG4gICAgICAvY2xhc3NcXGIvLFxuICAgICAgL1xccysvLCAgICAgICAgICBcbiAgICAgIC92YXJcXGIvLCBcbiAgICBdLFxuICAgIHNjb3BlOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwia2V5d29yZFwiXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IFRZUEVfREVDTEFSQVRJT04gPSB7XG4gICAgYmVnaW46IFtcbiAgICAgIC8oc3RydWN0fHByb3RvY29sfGNsYXNzfGV4dGVuc2lvbnxlbnVtfGFjdG9yKS8sXG4gICAgICAvXFxzKy8sXG4gICAgICBpZGVudGlmaWVyLFxuICAgICAgL1xccyovLFxuICAgIF0sXG4gICAgYmVnaW5TY29wZToge1xuICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAzOiBcInRpdGxlLmNsYXNzXCJcbiAgICB9LFxuICAgIGtleXdvcmRzOiBLRVlXT1JEUyxcbiAgICBjb250YWluczogW1xuICAgICAgR0VORVJJQ19QQVJBTUVURVJTLFxuICAgICAgLi4uS0VZV09SRF9NT0RFUyxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC86LyxcbiAgICAgICAgZW5kOiAvXFx7LyxcbiAgICAgICAga2V5d29yZHM6IEtFWVdPUkRTLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNjb3BlOiBcInRpdGxlLmNsYXNzLmluaGVyaXRlZFwiLFxuICAgICAgICAgICAgbWF0Y2g6IHR5cGVJZGVudGlmaWVyLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uS0VZV09SRF9NT0RFUyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgfSxcbiAgICBdXG4gIH07XG5cbiAgLy8gQWRkIHN1cHBvcnRlZCBzdWJtb2RlcyB0byBzdHJpbmcgaW50ZXJwb2xhdGlvbi5cbiAgZm9yIChjb25zdCB2YXJpYW50IG9mIFNUUklORy52YXJpYW50cykge1xuICAgIGNvbnN0IGludGVycG9sYXRpb24gPSB2YXJpYW50LmNvbnRhaW5zLmZpbmQobW9kZSA9PiBtb2RlLmxhYmVsID09PSBcImludGVycG9sXCIpO1xuICAgIC8vIFRPRE86IEludGVycG9sYXRpb24gY2FuIGNvbnRhaW4gYW55IGV4cHJlc3Npb24sIHNvIHRoZXJlJ3Mgcm9vbSBmb3IgaW1wcm92ZW1lbnQgaGVyZS5cbiAgICBpbnRlcnBvbGF0aW9uLmtleXdvcmRzID0gS0VZV09SRFM7XG4gICAgY29uc3Qgc3VibW9kZXMgPSBbXG4gICAgICAuLi5LRVlXT1JEX01PREVTLFxuICAgICAgLi4uQlVJTFRfSU5TLFxuICAgICAgLi4uT1BFUkFUT1JTLFxuICAgICAgTlVNQkVSLFxuICAgICAgU1RSSU5HLFxuICAgICAgLi4uSURFTlRJRklFUlNcbiAgICBdO1xuICAgIGludGVycG9sYXRpb24uY29udGFpbnMgPSBbXG4gICAgICAuLi5zdWJtb2RlcyxcbiAgICAgIHtcbiAgICAgICAgYmVnaW46IC9cXCgvLFxuICAgICAgICBlbmQ6IC9cXCkvLFxuICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICdzZWxmJyxcbiAgICAgICAgICAuLi5zdWJtb2Rlc1xuICAgICAgICBdXG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1N3aWZ0JyxcbiAgICBrZXl3b3JkczogS0VZV09SRFMsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIC4uLkNPTU1FTlRTLFxuICAgICAgRlVOQ1RJT05fT1JfTUFDUk8sXG4gICAgICBJTklUX1NVQlNDUklQVCxcbiAgICAgIENMQVNTX0ZVTkNfREVDTEFSQVRJT04sXG4gICAgICBDTEFTU19WQVJfREVDTEFSQVRJT04sXG4gICAgICBUWVBFX0RFQ0xBUkFUSU9OLFxuICAgICAgT1BFUkFUT1JfREVDTEFSQVRJT04sXG4gICAgICBQUkVDRURFTkNFR1JPVVAsXG4gICAgICB7XG4gICAgICAgIGJlZ2luS2V5d29yZHM6ICdpbXBvcnQnLFxuICAgICAgICBlbmQ6IC8kLyxcbiAgICAgICAgY29udGFpbnM6IFsgLi4uQ09NTUVOVFMgXSxcbiAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICB9LFxuICAgICAgUkVHRVhQLFxuICAgICAgLi4uS0VZV09SRF9NT0RFUyxcbiAgICAgIC4uLkJVSUxUX0lOUyxcbiAgICAgIC4uLk9QRVJBVE9SUyxcbiAgICAgIE5VTUJFUixcbiAgICAgIFNUUklORyxcbiAgICAgIC4uLklERU5USUZJRVJTLFxuICAgICAgLi4uQVRUUklCVVRFUyxcbiAgICAgIFRZUEUsXG4gICAgICBUVVBMRVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsgc3dpZnQgYXMgZGVmYXVsdCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/swift.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/typescript.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/typescript.js ***!
\******************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ typescript)\n/* harmony export */ });\nconst IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti \nContributors: Ike Ku \nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy90eXBlc2NyaXB0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxrQkFBa0I7QUFDL0IsY0FBYyxlQUFlO0FBQzdCO0FBQ0Esa0NBQWtDLE9BQU87QUFDekM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDLGVBQWUsa0JBQWtCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0Msd0JBQXdCO0FBQzVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0IsY0FBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZUFBZSxlQUFlLEtBQUssS0FBSyxXQUFXLEtBQUs7QUFDaEUscUJBQXFCLGNBQWMsT0FBTztBQUMxQyxRQUFRLGNBQWMsZUFBZSxRQUFRLEtBQUssY0FBYyxLQUFLLE9BQU87O0FBRTVFO0FBQ0EsUUFBUSxxQ0FBcUM7O0FBRTdDO0FBQ0EsUUFBUSxtREFBbUQ7QUFDM0QsUUFBUSx1Q0FBdUM7QUFDL0MsUUFBUSx1Q0FBdUM7O0FBRS9DO0FBQ0E7QUFDQSxRQUFRLDBCQUEwQjtBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLHlCQUF5QjtBQUN6Qix1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxnQkFBZ0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQSxnQkFBZ0I7QUFDaEIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsR0FBRztBQUNsQjtBQUNBLGVBQWUsR0FBRztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixFQUFFO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0NBQWtDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGdCQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsWUFBWTtBQUNaO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFlBQVk7QUFDWjtBQUNBLGdCQUFnQiwwQ0FBMEM7QUFDMUQsZ0JBQWdCLHlCQUF5QjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsZ0RBQWdEO0FBQzFGO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxxQkFBcUIscUJBQXFCO0FBQzFDO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUNBQXFDLFlBQVk7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRWlDIiwic291cmNlcyI6WyIvaG9tZS9uaWNob2xhaS9Eb2N1bWVudHMvZGV2L211bHRpLWFnZW50X2NoYXRfaW50ZXJmYWNlL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy90eXBlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IElERU5UX1JFID0gJ1tBLVphLXokX11bMC05QS1aYS16JF9dKic7XG5jb25zdCBLRVlXT1JEUyA9IFtcbiAgXCJhc1wiLCAvLyBmb3IgZXhwb3J0c1xuICBcImluXCIsXG4gIFwib2ZcIixcbiAgXCJpZlwiLFxuICBcImZvclwiLFxuICBcIndoaWxlXCIsXG4gIFwiZmluYWxseVwiLFxuICBcInZhclwiLFxuICBcIm5ld1wiLFxuICBcImZ1bmN0aW9uXCIsXG4gIFwiZG9cIixcbiAgXCJyZXR1cm5cIixcbiAgXCJ2b2lkXCIsXG4gIFwiZWxzZVwiLFxuICBcImJyZWFrXCIsXG4gIFwiY2F0Y2hcIixcbiAgXCJpbnN0YW5jZW9mXCIsXG4gIFwid2l0aFwiLFxuICBcInRocm93XCIsXG4gIFwiY2FzZVwiLFxuICBcImRlZmF1bHRcIixcbiAgXCJ0cnlcIixcbiAgXCJzd2l0Y2hcIixcbiAgXCJjb250aW51ZVwiLFxuICBcInR5cGVvZlwiLFxuICBcImRlbGV0ZVwiLFxuICBcImxldFwiLFxuICBcInlpZWxkXCIsXG4gIFwiY29uc3RcIixcbiAgXCJjbGFzc1wiLFxuICAvLyBKUyBoYW5kbGVzIHRoZXNlIHdpdGggYSBzcGVjaWFsIHJ1bGVcbiAgLy8gXCJnZXRcIixcbiAgLy8gXCJzZXRcIixcbiAgXCJkZWJ1Z2dlclwiLFxuICBcImFzeW5jXCIsXG4gIFwiYXdhaXRcIixcbiAgXCJzdGF0aWNcIixcbiAgXCJpbXBvcnRcIixcbiAgXCJmcm9tXCIsXG4gIFwiZXhwb3J0XCIsXG4gIFwiZXh0ZW5kc1wiLFxuICAvLyBJdCdzIHJlYWNoZWQgc3RhZ2UgMywgd2hpY2ggaXMgXCJyZWNvbW1lbmRlZCBmb3IgaW1wbGVtZW50YXRpb25cIjpcbiAgXCJ1c2luZ1wiXG5dO1xuY29uc3QgTElURVJBTFMgPSBbXG4gIFwidHJ1ZVwiLFxuICBcImZhbHNlXCIsXG4gIFwibnVsbFwiLFxuICBcInVuZGVmaW5lZFwiLFxuICBcIk5hTlwiLFxuICBcIkluZmluaXR5XCJcbl07XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzXG5jb25zdCBUWVBFUyA9IFtcbiAgLy8gRnVuZGFtZW50YWwgb2JqZWN0c1xuICBcIk9iamVjdFwiLFxuICBcIkZ1bmN0aW9uXCIsXG4gIFwiQm9vbGVhblwiLFxuICBcIlN5bWJvbFwiLFxuICAvLyBudW1iZXJzIGFuZCBkYXRlc1xuICBcIk1hdGhcIixcbiAgXCJEYXRlXCIsXG4gIFwiTnVtYmVyXCIsXG4gIFwiQmlnSW50XCIsXG4gIC8vIHRleHRcbiAgXCJTdHJpbmdcIixcbiAgXCJSZWdFeHBcIixcbiAgLy8gSW5kZXhlZCBjb2xsZWN0aW9uc1xuICBcIkFycmF5XCIsXG4gIFwiRmxvYXQzMkFycmF5XCIsXG4gIFwiRmxvYXQ2NEFycmF5XCIsXG4gIFwiSW50OEFycmF5XCIsXG4gIFwiVWludDhBcnJheVwiLFxuICBcIlVpbnQ4Q2xhbXBlZEFycmF5XCIsXG4gIFwiSW50MTZBcnJheVwiLFxuICBcIkludDMyQXJyYXlcIixcbiAgXCJVaW50MTZBcnJheVwiLFxuICBcIlVpbnQzMkFycmF5XCIsXG4gIFwiQmlnSW50NjRBcnJheVwiLFxuICBcIkJpZ1VpbnQ2NEFycmF5XCIsXG4gIC8vIEtleWVkIGNvbGxlY3Rpb25zXG4gIFwiU2V0XCIsXG4gIFwiTWFwXCIsXG4gIFwiV2Vha1NldFwiLFxuICBcIldlYWtNYXBcIixcbiAgLy8gU3RydWN0dXJlZCBkYXRhXG4gIFwiQXJyYXlCdWZmZXJcIixcbiAgXCJTaGFyZWRBcnJheUJ1ZmZlclwiLFxuICBcIkF0b21pY3NcIixcbiAgXCJEYXRhVmlld1wiLFxuICBcIkpTT05cIixcbiAgLy8gQ29udHJvbCBhYnN0cmFjdGlvbiBvYmplY3RzXG4gIFwiUHJvbWlzZVwiLFxuICBcIkdlbmVyYXRvclwiLFxuICBcIkdlbmVyYXRvckZ1bmN0aW9uXCIsXG4gIFwiQXN5bmNGdW5jdGlvblwiLFxuICAvLyBSZWZsZWN0aW9uXG4gIFwiUmVmbGVjdFwiLFxuICBcIlByb3h5XCIsXG4gIC8vIEludGVybmF0aW9uYWxpemF0aW9uXG4gIFwiSW50bFwiLFxuICAvLyBXZWJBc3NlbWJseVxuICBcIldlYkFzc2VtYmx5XCJcbl07XG5cbmNvbnN0IEVSUk9SX1RZUEVTID0gW1xuICBcIkVycm9yXCIsXG4gIFwiRXZhbEVycm9yXCIsXG4gIFwiSW50ZXJuYWxFcnJvclwiLFxuICBcIlJhbmdlRXJyb3JcIixcbiAgXCJSZWZlcmVuY2VFcnJvclwiLFxuICBcIlN5bnRheEVycm9yXCIsXG4gIFwiVHlwZUVycm9yXCIsXG4gIFwiVVJJRXJyb3JcIlxuXTtcblxuY29uc3QgQlVJTFRfSU5fR0xPQkFMUyA9IFtcbiAgXCJzZXRJbnRlcnZhbFwiLFxuICBcInNldFRpbWVvdXRcIixcbiAgXCJjbGVhckludGVydmFsXCIsXG4gIFwiY2xlYXJUaW1lb3V0XCIsXG5cbiAgXCJyZXF1aXJlXCIsXG4gIFwiZXhwb3J0c1wiLFxuXG4gIFwiZXZhbFwiLFxuICBcImlzRmluaXRlXCIsXG4gIFwiaXNOYU5cIixcbiAgXCJwYXJzZUZsb2F0XCIsXG4gIFwicGFyc2VJbnRcIixcbiAgXCJkZWNvZGVVUklcIixcbiAgXCJkZWNvZGVVUklDb21wb25lbnRcIixcbiAgXCJlbmNvZGVVUklcIixcbiAgXCJlbmNvZGVVUklDb21wb25lbnRcIixcbiAgXCJlc2NhcGVcIixcbiAgXCJ1bmVzY2FwZVwiXG5dO1xuXG5jb25zdCBCVUlMVF9JTl9WQVJJQUJMRVMgPSBbXG4gIFwiYXJndW1lbnRzXCIsXG4gIFwidGhpc1wiLFxuICBcInN1cGVyXCIsXG4gIFwiY29uc29sZVwiLFxuICBcIndpbmRvd1wiLFxuICBcImRvY3VtZW50XCIsXG4gIFwibG9jYWxTdG9yYWdlXCIsXG4gIFwic2Vzc2lvblN0b3JhZ2VcIixcbiAgXCJtb2R1bGVcIixcbiAgXCJnbG9iYWxcIiAvLyBOb2RlLmpzXG5dO1xuXG5jb25zdCBCVUlMVF9JTlMgPSBbXS5jb25jYXQoXG4gIEJVSUxUX0lOX0dMT0JBTFMsXG4gIFRZUEVTLFxuICBFUlJPUl9UWVBFU1xuKTtcblxuLypcbkxhbmd1YWdlOiBKYXZhU2NyaXB0XG5EZXNjcmlwdGlvbjogSmF2YVNjcmlwdCAoSlMpIGlzIGEgbGlnaHR3ZWlnaHQsIGludGVycHJldGVkLCBvciBqdXN0LWluLXRpbWUgY29tcGlsZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugd2l0aCBmaXJzdC1jbGFzcyBmdW5jdGlvbnMuXG5DYXRlZ29yeTogY29tbW9uLCBzY3JpcHRpbmcsIHdlYlxuV2Vic2l0ZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdFxuKi9cblxuXG4vKiogQHR5cGUgTGFuZ3VhZ2VGbiAqL1xuZnVuY3Rpb24gamF2YXNjcmlwdChobGpzKSB7XG4gIGNvbnN0IHJlZ2V4ID0gaGxqcy5yZWdleDtcbiAgLyoqXG4gICAqIFRha2VzIGEgc3RyaW5nIGxpa2UgXCI8Qm9vZ2VyXCIgYW5kIGNoZWNrcyB0byBzZWVcbiAgICogaWYgd2UgY2FuIGZpbmQgYSBtYXRjaGluZyBcIjwvQm9vZ2VyXCIgbGF0ZXIgaW4gdGhlXG4gICAqIGNvbnRlbnQuXG4gICAqIEBwYXJhbSB7UmVnRXhwTWF0Y2hBcnJheX0gbWF0Y2hcbiAgICogQHBhcmFtIHt7YWZ0ZXI6bnVtYmVyfX0gcGFyYW0xXG4gICAqL1xuICBjb25zdCBoYXNDbG9zaW5nVGFnID0gKG1hdGNoLCB7IGFmdGVyIH0pID0+IHtcbiAgICBjb25zdCB0YWcgPSBcIjwvXCIgKyBtYXRjaFswXS5zbGljZSgxKTtcbiAgICBjb25zdCBwb3MgPSBtYXRjaC5pbnB1dC5pbmRleE9mKHRhZywgYWZ0ZXIpO1xuICAgIHJldHVybiBwb3MgIT09IC0xO1xuICB9O1xuXG4gIGNvbnN0IElERU5UX1JFJDEgPSBJREVOVF9SRTtcbiAgY29uc3QgRlJBR01FTlQgPSB7XG4gICAgYmVnaW46ICc8PicsXG4gICAgZW5kOiAnPC8+J1xuICB9O1xuICAvLyB0byBhdm9pZCBzb21lIHNwZWNpYWwgY2FzZXMgaW5zaWRlIGlzVHJ1bHlPcGVuaW5nVGFnXG4gIGNvbnN0IFhNTF9TRUxGX0NMT1NJTkcgPSAvPFtBLVphLXowLTlcXFxcLl86LV0rXFxzKlxcLz4vO1xuICBjb25zdCBYTUxfVEFHID0ge1xuICAgIGJlZ2luOiAvPFtBLVphLXowLTlcXFxcLl86LV0rLyxcbiAgICBlbmQ6IC9cXC9bQS1aYS16MC05XFxcXC5fOi1dKz58XFwvPi8sXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtSZWdFeHBNYXRjaEFycmF5fSBtYXRjaFxuICAgICAqIEBwYXJhbSB7Q2FsbGJhY2tSZXNwb25zZX0gcmVzcG9uc2VcbiAgICAgKi9cbiAgICBpc1RydWx5T3BlbmluZ1RhZzogKG1hdGNoLCByZXNwb25zZSkgPT4ge1xuICAgICAgY29uc3QgYWZ0ZXJNYXRjaEluZGV4ID0gbWF0Y2hbMF0ubGVuZ3RoICsgbWF0Y2guaW5kZXg7XG4gICAgICBjb25zdCBuZXh0Q2hhciA9IG1hdGNoLmlucHV0W2FmdGVyTWF0Y2hJbmRleF07XG4gICAgICBpZiAoXG4gICAgICAgIC8vIEhUTUwgc2hvdWxkIG5vdCBpbmNsdWRlIGFub3RoZXIgcmF3IGA8YCBpbnNpZGUgYSB0YWdcbiAgICAgICAgLy8gbmVzdGVkIHR5cGU/XG4gICAgICAgIC8vIGA8QXJyYXk8QXJyYXk8bnVtYmVyPj5gLCBldGMuXG4gICAgICAgIG5leHRDaGFyID09PSBcIjxcIiB8fFxuICAgICAgICAvLyB0aGUgLCBnaXZlcyBhd2F5IHRoYXQgdGhpcyBpcyBub3QgSFRNTFxuICAgICAgICAvLyBgPFQsIEEgZXh0ZW5kcyBrZXlvZiBULCBWPmBcbiAgICAgICAgbmV4dENoYXIgPT09IFwiLFwiXG4gICAgICAgICkge1xuICAgICAgICByZXNwb25zZS5pZ25vcmVNYXRjaCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGA8c29tZXRoaW5nPmBcbiAgICAgIC8vIFF1aXRlIHBvc3NpYmx5IGEgdGFnLCBsZXRzIGxvb2sgZm9yIGEgbWF0Y2hpbmcgY2xvc2luZyB0YWcuLi5cbiAgICAgIGlmIChuZXh0Q2hhciA9PT0gXCI+XCIpIHtcbiAgICAgICAgLy8gaWYgd2UgY2Fubm90IGZpbmQgYSBtYXRjaGluZyBjbG9zaW5nIHRhZywgdGhlbiB3ZVxuICAgICAgICAvLyB3aWxsIGlnbm9yZSBpdFxuICAgICAgICBpZiAoIWhhc0Nsb3NpbmdUYWcobWF0Y2gsIHsgYWZ0ZXI6IGFmdGVyTWF0Y2hJbmRleCB9KSkge1xuICAgICAgICAgIHJlc3BvbnNlLmlnbm9yZU1hdGNoKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYDxibGFoIC8+YCAoc2VsZi1jbG9zaW5nKVxuICAgICAgLy8gaGFuZGxlZCBieSBzaW1wbGVTZWxmQ2xvc2luZyBydWxlXG5cbiAgICAgIGxldCBtO1xuICAgICAgY29uc3QgYWZ0ZXJNYXRjaCA9IG1hdGNoLmlucHV0LnN1YnN0cmluZyhhZnRlck1hdGNoSW5kZXgpO1xuXG4gICAgICAvLyBzb21lIG1vcmUgdGVtcGxhdGUgdHlwaW5nIHN0dWZmXG4gICAgICAvLyAgPFQgPSBhbnk+KGtleT86IHN0cmluZykgPT4gTW9kaWZ5PFxuICAgICAgaWYgKChtID0gYWZ0ZXJNYXRjaC5tYXRjaCgvXlxccyo9LykpKSB7XG4gICAgICAgIHJlc3BvbnNlLmlnbm9yZU1hdGNoKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gYDxGcm9tIGV4dGVuZHMgc3RyaW5nPmBcbiAgICAgIC8vIHRlY2huaWNhbGx5IHRoaXMgY291bGQgYmUgSFRNTCwgYnV0IGl0IHNtZWxscyBsaWtlIGEgdHlwZVxuICAgICAgLy8gTk9URTogVGhpcyBpcyB1Z2gsIGJ1dCBhZGRlZCBzcGVjaWZpY2FsbHkgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9oaWdobGlnaHRqcy9oaWdobGlnaHQuanMvaXNzdWVzLzMyNzZcbiAgICAgIGlmICgobSA9IGFmdGVyTWF0Y2gubWF0Y2goL15cXHMrZXh0ZW5kc1xccysvKSkpIHtcbiAgICAgICAgaWYgKG0uaW5kZXggPT09IDApIHtcbiAgICAgICAgICByZXNwb25zZS5pZ25vcmVNYXRjaCgpO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLXJldHVyblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgY29uc3QgS0VZV09SRFMkMSA9IHtcbiAgICAkcGF0dGVybjogSURFTlRfUkUsXG4gICAga2V5d29yZDogS0VZV09SRFMsXG4gICAgbGl0ZXJhbDogTElURVJBTFMsXG4gICAgYnVpbHRfaW46IEJVSUxUX0lOUyxcbiAgICBcInZhcmlhYmxlLmxhbmd1YWdlXCI6IEJVSUxUX0lOX1ZBUklBQkxFU1xuICB9O1xuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtbGl0ZXJhbHMtbnVtZXJpYy1saXRlcmFsc1xuICBjb25zdCBkZWNpbWFsRGlnaXRzID0gJ1swLTldKF8/WzAtOV0pKic7XG4gIGNvbnN0IGZyYWMgPSBgXFxcXC4oJHtkZWNpbWFsRGlnaXRzfSlgO1xuICAvLyBEZWNpbWFsSW50ZWdlckxpdGVyYWwsIGluY2x1ZGluZyBBbm5leCBCIE5vbk9jdGFsRGVjaW1hbEludGVnZXJMaXRlcmFsXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtYWRkaXRpb25hbC1zeW50YXgtbnVtZXJpYy1saXRlcmFsc1xuICBjb25zdCBkZWNpbWFsSW50ZWdlciA9IGAwfFsxLTldKF8/WzAtOV0pKnwwWzAtN10qWzg5XVswLTldKmA7XG4gIGNvbnN0IE5VTUJFUiA9IHtcbiAgICBjbGFzc05hbWU6ICdudW1iZXInLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICAvLyBEZWNpbWFsTGl0ZXJhbFxuICAgICAgeyBiZWdpbjogYChcXFxcYigke2RlY2ltYWxJbnRlZ2VyfSkoKCR7ZnJhY30pfFxcXFwuKT98KCR7ZnJhY30pKWAgK1xuICAgICAgICBgW2VFXVsrLV0/KCR7ZGVjaW1hbERpZ2l0c30pXFxcXGJgIH0sXG4gICAgICB7IGJlZ2luOiBgXFxcXGIoJHtkZWNpbWFsSW50ZWdlcn0pXFxcXGIoKCR7ZnJhY30pXFxcXGJ8XFxcXC4pP3woJHtmcmFjfSlcXFxcYmAgfSxcblxuICAgICAgLy8gRGVjaW1hbEJpZ0ludGVnZXJMaXRlcmFsXG4gICAgICB7IGJlZ2luOiBgXFxcXGIoMHxbMS05XShfP1swLTldKSopblxcXFxiYCB9LFxuXG4gICAgICAvLyBOb25EZWNpbWFsSW50ZWdlckxpdGVyYWxcbiAgICAgIHsgYmVnaW46IFwiXFxcXGIwW3hYXVswLTlhLWZBLUZdKF8/WzAtOWEtZkEtRl0pKm4/XFxcXGJcIiB9LFxuICAgICAgeyBiZWdpbjogXCJcXFxcYjBbYkJdWzAtMV0oXz9bMC0xXSkqbj9cXFxcYlwiIH0sXG4gICAgICB7IGJlZ2luOiBcIlxcXFxiMFtvT11bMC03XShfP1swLTddKSpuP1xcXFxiXCIgfSxcblxuICAgICAgLy8gTGVnYWN5T2N0YWxJbnRlZ2VyTGl0ZXJhbCAoZG9lcyBub3QgaW5jbHVkZSB1bmRlcnNjb3JlIHNlcGFyYXRvcnMpXG4gICAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFkZGl0aW9uYWwtc3ludGF4LW51bWVyaWMtbGl0ZXJhbHNcbiAgICAgIHsgYmVnaW46IFwiXFxcXGIwWzAtN10rbj9cXFxcYlwiIH0sXG4gICAgXSxcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBTVUJTVCA9IHtcbiAgICBjbGFzc05hbWU6ICdzdWJzdCcsXG4gICAgYmVnaW46ICdcXFxcJFxcXFx7JyxcbiAgICBlbmQ6ICdcXFxcfScsXG4gICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgY29udGFpbnM6IFtdIC8vIGRlZmluZWQgbGF0ZXJcbiAgfTtcbiAgY29uc3QgSFRNTF9URU1QTEFURSA9IHtcbiAgICBiZWdpbjogJ1xcLj9odG1sYCcsXG4gICAgZW5kOiAnJyxcbiAgICBzdGFydHM6IHtcbiAgICAgIGVuZDogJ2AnLFxuICAgICAgcmV0dXJuRW5kOiBmYWxzZSxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgICAgU1VCU1RcbiAgICAgIF0sXG4gICAgICBzdWJMYW5ndWFnZTogJ3htbCdcbiAgICB9XG4gIH07XG4gIGNvbnN0IENTU19URU1QTEFURSA9IHtcbiAgICBiZWdpbjogJ1xcLj9jc3NgJyxcbiAgICBlbmQ6ICcnLFxuICAgIHN0YXJ0czoge1xuICAgICAgZW5kOiAnYCcsXG4gICAgICByZXR1cm5FbmQ6IGZhbHNlLFxuICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICBTVUJTVFxuICAgICAgXSxcbiAgICAgIHN1Ykxhbmd1YWdlOiAnY3NzJ1xuICAgIH1cbiAgfTtcbiAgY29uc3QgR1JBUEhRTF9URU1QTEFURSA9IHtcbiAgICBiZWdpbjogJ1xcLj9ncWxgJyxcbiAgICBlbmQ6ICcnLFxuICAgIHN0YXJ0czoge1xuICAgICAgZW5kOiAnYCcsXG4gICAgICByZXR1cm5FbmQ6IGZhbHNlLFxuICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgaGxqcy5CQUNLU0xBU0hfRVNDQVBFLFxuICAgICAgICBTVUJTVFxuICAgICAgXSxcbiAgICAgIHN1Ykxhbmd1YWdlOiAnZ3JhcGhxbCdcbiAgICB9XG4gIH07XG4gIGNvbnN0IFRFTVBMQVRFX1NUUklORyA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIGJlZ2luOiAnYCcsXG4gICAgZW5kOiAnYCcsXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuQkFDS1NMQVNIX0VTQ0FQRSxcbiAgICAgIFNVQlNUXG4gICAgXVxuICB9O1xuICBjb25zdCBKU0RPQ19DT01NRU5UID0gaGxqcy5DT01NRU5UKFxuICAgIC9cXC9cXCpcXCooPyFcXC8pLyxcbiAgICAnXFxcXCovJyxcbiAgICB7XG4gICAgICByZWxldmFuY2U6IDAsXG4gICAgICBjb250YWluczogW1xuICAgICAgICB7XG4gICAgICAgICAgYmVnaW46ICcoPz1AW0EtWmEtel0rKScsXG4gICAgICAgICAgcmVsZXZhbmNlOiAwLFxuICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogJ2RvY3RhZycsXG4gICAgICAgICAgICAgIGJlZ2luOiAnQFtBLVphLXpdKydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogJ3R5cGUnLFxuICAgICAgICAgICAgICBiZWdpbjogJ1xcXFx7JyxcbiAgICAgICAgICAgICAgZW5kOiAnXFxcXH0nLFxuICAgICAgICAgICAgICBleGNsdWRlRW5kOiB0cnVlLFxuICAgICAgICAgICAgICBleGNsdWRlQmVnaW46IHRydWUsXG4gICAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiAndmFyaWFibGUnLFxuICAgICAgICAgICAgICBiZWdpbjogSURFTlRfUkUkMSArICcoPz1cXFxccyooLSl8JCknLFxuICAgICAgICAgICAgICBlbmRzUGFyZW50OiB0cnVlLFxuICAgICAgICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBlYXQgc3BhY2VzIChub3QgbmV3bGluZXMpIHNvIHdlIGNhbiBmaW5kXG4gICAgICAgICAgICAvLyB0eXBlcyBvciB2YXJpYWJsZXNcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmVnaW46IC8oPz1bXlxcbl0pXFxzLyxcbiAgICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICApO1xuICBjb25zdCBDT01NRU5UID0ge1xuICAgIGNsYXNzTmFtZTogXCJjb21tZW50XCIsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIEpTRE9DX0NPTU1FTlQsXG4gICAgICBobGpzLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLFxuICAgICAgaGxqcy5DX0xJTkVfQ09NTUVOVF9NT0RFXG4gICAgXVxuICB9O1xuICBjb25zdCBTVUJTVF9JTlRFUk5BTFMgPSBbXG4gICAgaGxqcy5BUE9TX1NUUklOR19NT0RFLFxuICAgIGhsanMuUVVPVEVfU1RSSU5HX01PREUsXG4gICAgSFRNTF9URU1QTEFURSxcbiAgICBDU1NfVEVNUExBVEUsXG4gICAgR1JBUEhRTF9URU1QTEFURSxcbiAgICBURU1QTEFURV9TVFJJTkcsXG4gICAgLy8gU2tpcCBudW1iZXJzIHdoZW4gdGhleSBhcmUgcGFydCBvZiBhIHZhcmlhYmxlIG5hbWVcbiAgICB7IG1hdGNoOiAvXFwkXFxkKy8gfSxcbiAgICBOVU1CRVIsXG4gICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbDpcbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2hpZ2hsaWdodGpzL2hpZ2hsaWdodC5qcy9pc3N1ZXMvMzI4OFxuICAgIC8vIGhsanMuUkVHRVhQX01PREVcbiAgXTtcbiAgU1VCU1QuY29udGFpbnMgPSBTVUJTVF9JTlRFUk5BTFNcbiAgICAuY29uY2F0KHtcbiAgICAgIC8vIHdlIG5lZWQgdG8gcGFpciB1cCB7fSBpbnNpZGUgb3VyIHN1YnN0IHRvIHByZXZlbnRcbiAgICAgIC8vIGl0IGZyb20gZW5kaW5nIHRvbyBlYXJseSBieSBtYXRjaGluZyBhbm90aGVyIH1cbiAgICAgIGJlZ2luOiAvXFx7LyxcbiAgICAgIGVuZDogL1xcfS8sXG4gICAgICBrZXl3b3JkczogS0VZV09SRFMkMSxcbiAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgIFwic2VsZlwiXG4gICAgICBdLmNvbmNhdChTVUJTVF9JTlRFUk5BTFMpXG4gICAgfSk7XG4gIGNvbnN0IFNVQlNUX0FORF9DT01NRU5UUyA9IFtdLmNvbmNhdChDT01NRU5ULCBTVUJTVC5jb250YWlucyk7XG4gIGNvbnN0IFBBUkFNU19DT05UQUlOUyA9IFNVQlNUX0FORF9DT01NRU5UUy5jb25jYXQoW1xuICAgIC8vIGVhdCByZWN1cnNpdmUgcGFyZW5zIGluIHN1YiBleHByZXNzaW9uc1xuICAgIHtcbiAgICAgIGJlZ2luOiAvKFxccyopXFwoLyxcbiAgICAgIGVuZDogL1xcKS8sXG4gICAgICBrZXl3b3JkczogS0VZV09SRFMkMSxcbiAgICAgIGNvbnRhaW5zOiBbXCJzZWxmXCJdLmNvbmNhdChTVUJTVF9BTkRfQ09NTUVOVFMpXG4gICAgfVxuICBdKTtcbiAgY29uc3QgUEFSQU1TID0ge1xuICAgIGNsYXNzTmFtZTogJ3BhcmFtcycsXG4gICAgLy8gY29udmVydCB0aGlzIHRvIG5lZ2F0aXZlIGxvb2tiZWhpbmQgaW4gdjEyXG4gICAgYmVnaW46IC8oXFxzKilcXCgvLCAvLyB0byBtYXRjaCB0aGUgcGFybXMgd2l0aFxuICAgIGVuZDogL1xcKS8sXG4gICAgZXhjbHVkZUJlZ2luOiB0cnVlLFxuICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgY29udGFpbnM6IFBBUkFNU19DT05UQUlOU1xuICB9O1xuXG4gIC8vIEVTNiBjbGFzc2VzXG4gIGNvbnN0IENMQVNTX09SX0VYVEVORFMgPSB7XG4gICAgdmFyaWFudHM6IFtcbiAgICAgIC8vIGNsYXNzIENhciBleHRlbmRzIHZlaGljbGVcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvY2xhc3MvLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBJREVOVF9SRSQxLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICAvZXh0ZW5kcy8sXG4gICAgICAgICAgL1xccysvLFxuICAgICAgICAgIHJlZ2V4LmNvbmNhdChJREVOVF9SRSQxLCBcIihcIiwgcmVnZXguY29uY2F0KC9cXC4vLCBJREVOVF9SRSQxKSwgXCIpKlwiKVxuICAgICAgICBdLFxuICAgICAgICBzY29wZToge1xuICAgICAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgICAgIDM6IFwidGl0bGUuY2xhc3NcIixcbiAgICAgICAgICA1OiBcImtleXdvcmRcIixcbiAgICAgICAgICA3OiBcInRpdGxlLmNsYXNzLmluaGVyaXRlZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBjbGFzcyBDYXJcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvY2xhc3MvLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBJREVOVF9SRSQxXG4gICAgICAgIF0sXG4gICAgICAgIHNjb3BlOiB7XG4gICAgICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAgICAgMzogXCJ0aXRsZS5jbGFzc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICBdXG4gIH07XG5cbiAgY29uc3QgQ0xBU1NfUkVGRVJFTkNFID0ge1xuICAgIHJlbGV2YW5jZTogMCxcbiAgICBtYXRjaDpcbiAgICByZWdleC5laXRoZXIoXG4gICAgICAvLyBIYXJkIGNvZGVkIGV4Y2VwdGlvbnNcbiAgICAgIC9cXGJKU09OLyxcbiAgICAgIC8vIEZsb2F0MzJBcnJheSwgT3V0VFxuICAgICAgL1xcYltBLVpdW2Etel0rKFtBLVpdW2Etel0qfFxcZCkqLyxcbiAgICAgIC8vIENTU0ZhY3RvcnksIENTU0ZhY3RvcnlUXG4gICAgICAvXFxiW0EtWl17Mix9KFtBLVpdW2Etel0rfFxcZCkrKFtBLVpdW2Etel0qKSovLFxuICAgICAgLy8gRlBzLCBGUHNUXG4gICAgICAvXFxiW0EtWl17Mix9W2Etel0rKFtBLVpdW2Etel0rfFxcZCkqKFtBLVpdW2Etel0qKSovLFxuICAgICAgLy8gUFxuICAgICAgLy8gc2luZ2xlIGxldHRlcnMgYXJlIG5vdCBoaWdobGlnaHRlZFxuICAgICAgLy8gQkxBSFxuICAgICAgLy8gdGhpcyB3aWxsIGJlIGZsYWdnZWQgYXMgYSBVUFBFUl9DQVNFX0NPTlNUQU5UIGluc3RlYWRcbiAgICApLFxuICAgIGNsYXNzTmFtZTogXCJ0aXRsZS5jbGFzc1wiLFxuICAgIGtleXdvcmRzOiB7XG4gICAgICBfOiBbXG4gICAgICAgIC8vIHNlIHdlIHN0aWxsIGdldCByZWxldmFuY2UgY3JlZGl0IGZvciBKUyBsaWJyYXJ5IGNsYXNzZXNcbiAgICAgICAgLi4uVFlQRVMsXG4gICAgICAgIC4uLkVSUk9SX1RZUEVTXG4gICAgICBdXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IFVTRV9TVFJJQ1QgPSB7XG4gICAgbGFiZWw6IFwidXNlX3N0cmljdFwiLFxuICAgIGNsYXNzTmFtZTogJ21ldGEnLFxuICAgIHJlbGV2YW5jZTogMTAsXG4gICAgYmVnaW46IC9eXFxzKlsnXCJddXNlIChzdHJpY3R8YXNtKVsnXCJdL1xuICB9O1xuXG4gIGNvbnN0IEZVTkNUSU9OX0RFRklOSVRJT04gPSB7XG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFtcbiAgICAgICAgICAvZnVuY3Rpb24vLFxuICAgICAgICAgIC9cXHMrLyxcbiAgICAgICAgICBJREVOVF9SRSQxLFxuICAgICAgICAgIC8oPz1cXHMqXFwoKS9cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIC8vIGFub255bW91cyBmdW5jdGlvblxuICAgICAge1xuICAgICAgICBtYXRjaDogW1xuICAgICAgICAgIC9mdW5jdGlvbi8sXG4gICAgICAgICAgL1xccyooPz1cXCgpL1xuICAgICAgICBdXG4gICAgICB9XG4gICAgXSxcbiAgICBjbGFzc05hbWU6IHtcbiAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgMzogXCJ0aXRsZS5mdW5jdGlvblwiXG4gICAgfSxcbiAgICBsYWJlbDogXCJmdW5jLmRlZlwiLFxuICAgIGNvbnRhaW5zOiBbIFBBUkFNUyBdLFxuICAgIGlsbGVnYWw6IC8lL1xuICB9O1xuXG4gIGNvbnN0IFVQUEVSX0NBU0VfQ09OU1RBTlQgPSB7XG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIG1hdGNoOiAvXFxiW0EtWl1bQS1aXzAtOV0rXFxiLyxcbiAgICBjbGFzc05hbWU6IFwidmFyaWFibGUuY29uc3RhbnRcIlxuICB9O1xuXG4gIGZ1bmN0aW9uIG5vbmVPZihsaXN0KSB7XG4gICAgcmV0dXJuIHJlZ2V4LmNvbmNhdChcIig/IVwiLCBsaXN0LmpvaW4oXCJ8XCIpLCBcIilcIik7XG4gIH1cblxuICBjb25zdCBGVU5DVElPTl9DQUxMID0ge1xuICAgIG1hdGNoOiByZWdleC5jb25jYXQoXG4gICAgICAvXFxiLyxcbiAgICAgIG5vbmVPZihbXG4gICAgICAgIC4uLkJVSUxUX0lOX0dMT0JBTFMsXG4gICAgICAgIFwic3VwZXJcIixcbiAgICAgICAgXCJpbXBvcnRcIlxuICAgICAgXS5tYXAoeCA9PiBgJHt4fVxcXFxzKlxcXFwoYCkpLFxuICAgICAgSURFTlRfUkUkMSwgcmVnZXgubG9va2FoZWFkKC9cXHMqXFwoLykpLFxuICAgIGNsYXNzTmFtZTogXCJ0aXRsZS5mdW5jdGlvblwiLFxuICAgIHJlbGV2YW5jZTogMFxuICB9O1xuXG4gIGNvbnN0IFBST1BFUlRZX0FDQ0VTUyA9IHtcbiAgICBiZWdpbjogcmVnZXguY29uY2F0KC9cXC4vLCByZWdleC5sb29rYWhlYWQoXG4gICAgICByZWdleC5jb25jYXQoSURFTlRfUkUkMSwgLyg/IVswLTlBLVphLXokXyhdKS8pXG4gICAgKSksXG4gICAgZW5kOiBJREVOVF9SRSQxLFxuICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICBrZXl3b3JkczogXCJwcm90b3R5cGVcIixcbiAgICBjbGFzc05hbWU6IFwicHJvcGVydHlcIixcbiAgICByZWxldmFuY2U6IDBcbiAgfTtcblxuICBjb25zdCBHRVRURVJfT1JfU0VUVEVSID0ge1xuICAgIG1hdGNoOiBbXG4gICAgICAvZ2V0fHNldC8sXG4gICAgICAvXFxzKy8sXG4gICAgICBJREVOVF9SRSQxLFxuICAgICAgLyg/PVxcKCkvXG4gICAgXSxcbiAgICBjbGFzc05hbWU6IHtcbiAgICAgIDE6IFwia2V5d29yZFwiLFxuICAgICAgMzogXCJ0aXRsZS5mdW5jdGlvblwiXG4gICAgfSxcbiAgICBjb250YWluczogW1xuICAgICAgeyAvLyBlYXQgdG8gYXZvaWQgZW1wdHkgcGFyYW1zXG4gICAgICAgIGJlZ2luOiAvXFwoXFwpL1xuICAgICAgfSxcbiAgICAgIFBBUkFNU1xuICAgIF1cbiAgfTtcblxuICBjb25zdCBGVU5DX0xFQURfSU5fUkUgPSAnKFxcXFwoJyArXG4gICAgJ1teKCldKihcXFxcKCcgK1xuICAgICdbXigpXSooXFxcXCgnICtcbiAgICAnW14oKV0qJyArXG4gICAgJ1xcXFwpW14oKV0qKSonICtcbiAgICAnXFxcXClbXigpXSopKicgK1xuICAgICdcXFxcKXwnICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICsgJylcXFxccyo9Pic7XG5cbiAgY29uc3QgRlVOQ1RJT05fVkFSSUFCTEUgPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC9jb25zdHx2YXJ8bGV0LywgL1xccysvLFxuICAgICAgSURFTlRfUkUkMSwgL1xccyovLFxuICAgICAgLz1cXHMqLyxcbiAgICAgIC8oYXN5bmNcXHMqKT8vLCAvLyBhc3luYyBpcyBvcHRpb25hbFxuICAgICAgcmVnZXgubG9va2FoZWFkKEZVTkNfTEVBRF9JTl9SRSlcbiAgICBdLFxuICAgIGtleXdvcmRzOiBcImFzeW5jXCIsXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwidGl0bGUuZnVuY3Rpb25cIlxuICAgIH0sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIFBBUkFNU1xuICAgIF1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdKYXZhU2NyaXB0JyxcbiAgICBhbGlhc2VzOiBbJ2pzJywgJ2pzeCcsICdtanMnLCAnY2pzJ10sXG4gICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgLy8gdGhpcyB3aWxsIGJlIGV4dGVuZGVkIGJ5IFR5cGVTY3JpcHRcbiAgICBleHBvcnRzOiB7IFBBUkFNU19DT05UQUlOUywgQ0xBU1NfUkVGRVJFTkNFIH0sXG4gICAgaWxsZWdhbDogLyMoPyFbJF9BLXpdKS8sXG4gICAgY29udGFpbnM6IFtcbiAgICAgIGhsanMuU0hFQkFORyh7XG4gICAgICAgIGxhYmVsOiBcInNoZWJhbmdcIixcbiAgICAgICAgYmluYXJ5OiBcIm5vZGVcIixcbiAgICAgICAgcmVsZXZhbmNlOiA1XG4gICAgICB9KSxcbiAgICAgIFVTRV9TVFJJQ1QsXG4gICAgICBobGpzLkFQT1NfU1RSSU5HX01PREUsXG4gICAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgICAgSFRNTF9URU1QTEFURSxcbiAgICAgIENTU19URU1QTEFURSxcbiAgICAgIEdSQVBIUUxfVEVNUExBVEUsXG4gICAgICBURU1QTEFURV9TVFJJTkcsXG4gICAgICBDT01NRU5ULFxuICAgICAgLy8gU2tpcCBudW1iZXJzIHdoZW4gdGhleSBhcmUgcGFydCBvZiBhIHZhcmlhYmxlIG5hbWVcbiAgICAgIHsgbWF0Y2g6IC9cXCRcXGQrLyB9LFxuICAgICAgTlVNQkVSLFxuICAgICAgQ0xBU1NfUkVGRVJFTkNFLFxuICAgICAge1xuICAgICAgICBzY29wZTogJ2F0dHInLFxuICAgICAgICBtYXRjaDogSURFTlRfUkUkMSArIHJlZ2V4Lmxvb2thaGVhZCgnOicpLFxuICAgICAgICByZWxldmFuY2U6IDBcbiAgICAgIH0sXG4gICAgICBGVU5DVElPTl9WQVJJQUJMRSxcbiAgICAgIHsgLy8gXCJ2YWx1ZVwiIGNvbnRhaW5lclxuICAgICAgICBiZWdpbjogJygnICsgaGxqcy5SRV9TVEFSVEVSU19SRSArICd8XFxcXGIoY2FzZXxyZXR1cm58dGhyb3cpXFxcXGIpXFxcXHMqJyxcbiAgICAgICAga2V5d29yZHM6ICdyZXR1cm4gdGhyb3cgY2FzZScsXG4gICAgICAgIHJlbGV2YW5jZTogMCxcbiAgICAgICAgY29udGFpbnM6IFtcbiAgICAgICAgICBDT01NRU5ULFxuICAgICAgICAgIGhsanMuUkVHRVhQX01PREUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgLy8gd2UgaGF2ZSB0byBjb3VudCB0aGUgcGFyZW5zIHRvIG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBoYXZlIHRoZVxuICAgICAgICAgICAgLy8gY29ycmVjdCBib3VuZGluZyAoICkgYmVmb3JlIHRoZSA9Pi4gIFRoZXJlIGNvdWxkIGJlIGFueSBudW1iZXIgb2ZcbiAgICAgICAgICAgIC8vIHN1Yi1leHByZXNzaW9ucyBpbnNpZGUgYWxzbyBzdXJyb3VuZGVkIGJ5IHBhcmVucy5cbiAgICAgICAgICAgIGJlZ2luOiBGVU5DX0xFQURfSU5fUkUsXG4gICAgICAgICAgICByZXR1cm5CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgIGVuZDogJ1xcXFxzKj0+JyxcbiAgICAgICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdwYXJhbXMnLFxuICAgICAgICAgICAgICAgIHZhcmlhbnRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBobGpzLlVOREVSU0NPUkVfSURFTlRfUkUsXG4gICAgICAgICAgICAgICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBiZWdpbjogL1xcKFxccypcXCkvLFxuICAgICAgICAgICAgICAgICAgICBza2lwOiB0cnVlXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogLyhcXHMqKVxcKC8sXG4gICAgICAgICAgICAgICAgICAgIGVuZDogL1xcKS8sXG4gICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGVCZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXhjbHVkZUVuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAga2V5d29yZHM6IEtFWVdPUkRTJDEsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zOiBQQVJBTVNfQ09OVEFJTlNcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgLy8gY291bGQgYmUgYSBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBwYXJhbXMgdG8gYSBmdW5jdGlvbiBjYWxsXG4gICAgICAgICAgICBiZWdpbjogLywvLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtYXRjaDogL1xccysvLFxuICAgICAgICAgICAgcmVsZXZhbmNlOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC8vIEpTWFxuICAgICAgICAgICAgdmFyaWFudHM6IFtcbiAgICAgICAgICAgICAgeyBiZWdpbjogRlJBR01FTlQuYmVnaW4sIGVuZDogRlJBR01FTlQuZW5kIH0sXG4gICAgICAgICAgICAgIHsgbWF0Y2g6IFhNTF9TRUxGX0NMT1NJTkcgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJlZ2luOiBYTUxfVEFHLmJlZ2luLFxuICAgICAgICAgICAgICAgIC8vIHdlIGNhcmVmdWxseSBjaGVjayB0aGUgb3BlbmluZyB0YWcgdG8gc2VlIGlmIGl0IHRydWx5XG4gICAgICAgICAgICAgICAgLy8gaXMgYSB0YWcgYW5kIG5vdCBhIGZhbHNlIHBvc2l0aXZlXG4gICAgICAgICAgICAgICAgJ29uOmJlZ2luJzogWE1MX1RBRy5pc1RydWx5T3BlbmluZ1RhZyxcbiAgICAgICAgICAgICAgICBlbmQ6IFhNTF9UQUcuZW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBzdWJMYW5ndWFnZTogJ3htbCcsXG4gICAgICAgICAgICBjb250YWluczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmVnaW46IFhNTF9UQUcuYmVnaW4sXG4gICAgICAgICAgICAgICAgZW5kOiBYTUxfVEFHLmVuZCxcbiAgICAgICAgICAgICAgICBza2lwOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5zOiBbJ3NlbGYnXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIEZVTkNUSU9OX0RFRklOSVRJT04sXG4gICAgICB7XG4gICAgICAgIC8vIHByZXZlbnQgdGhpcyBmcm9tIGdldHRpbmcgc3dhbGxvd2VkIHVwIGJ5IGZ1bmN0aW9uXG4gICAgICAgIC8vIHNpbmNlIHRoZXkgYXBwZWFyIFwiZnVuY3Rpb24gbGlrZVwiXG4gICAgICAgIGJlZ2luS2V5d29yZHM6IFwid2hpbGUgaWYgc3dpdGNoIGNhdGNoIGZvclwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyB3ZSBoYXZlIHRvIGNvdW50IHRoZSBwYXJlbnMgdG8gbWFrZSBzdXJlIHdlIGFjdHVhbGx5IGhhdmUgdGhlIGNvcnJlY3RcbiAgICAgICAgLy8gYm91bmRpbmcgKCApLiAgVGhlcmUgY291bGQgYmUgYW55IG51bWJlciBvZiBzdWItZXhwcmVzc2lvbnMgaW5zaWRlXG4gICAgICAgIC8vIGFsc28gc3Vycm91bmRlZCBieSBwYXJlbnMuXG4gICAgICAgIGJlZ2luOiAnXFxcXGIoPyFmdW5jdGlvbiknICsgaGxqcy5VTkRFUlNDT1JFX0lERU5UX1JFICtcbiAgICAgICAgICAnXFxcXCgnICsgLy8gZmlyc3QgcGFyZW5zXG4gICAgICAgICAgJ1teKCldKihcXFxcKCcgK1xuICAgICAgICAgICAgJ1teKCldKihcXFxcKCcgK1xuICAgICAgICAgICAgICAnW14oKV0qJyArXG4gICAgICAgICAgICAnXFxcXClbXigpXSopKicgK1xuICAgICAgICAgICdcXFxcKVteKCldKikqJyArXG4gICAgICAgICAgJ1xcXFwpXFxcXHMqXFxcXHsnLCAvLyBlbmQgcGFyZW5zXG4gICAgICAgIHJldHVybkJlZ2luOnRydWUsXG4gICAgICAgIGxhYmVsOiBcImZ1bmMuZGVmXCIsXG4gICAgICAgIGNvbnRhaW5zOiBbXG4gICAgICAgICAgUEFSQU1TLFxuICAgICAgICAgIGhsanMuaW5oZXJpdChobGpzLlRJVExFX01PREUsIHsgYmVnaW46IElERU5UX1JFJDEsIGNsYXNzTmFtZTogXCJ0aXRsZS5mdW5jdGlvblwiIH0pXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICAvLyBjYXRjaCAuLi4gc28gaXQgd29uJ3QgdHJpZ2dlciB0aGUgcHJvcGVydHkgcnVsZSBiZWxvd1xuICAgICAge1xuICAgICAgICBtYXRjaDogL1xcLlxcLlxcLi8sXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIFBST1BFUlRZX0FDQ0VTUyxcbiAgICAgIC8vIGhhY2s6IHByZXZlbnRzIGRldGVjdGlvbiBvZiBrZXl3b3JkcyBpbiBzb21lIGNpcmN1bXN0YW5jZXNcbiAgICAgIC8vIC5rZXl3b3JkKClcbiAgICAgIC8vICRrZXl3b3JkID0geFxuICAgICAge1xuICAgICAgICBtYXRjaDogJ1xcXFwkJyArIElERU5UX1JFJDEsXG4gICAgICAgIHJlbGV2YW5jZTogMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbWF0Y2g6IFsgL1xcYmNvbnN0cnVjdG9yKD89XFxzKlxcKCkvIF0sXG4gICAgICAgIGNsYXNzTmFtZTogeyAxOiBcInRpdGxlLmZ1bmN0aW9uXCIgfSxcbiAgICAgICAgY29udGFpbnM6IFsgUEFSQU1TIF1cbiAgICAgIH0sXG4gICAgICBGVU5DVElPTl9DQUxMLFxuICAgICAgVVBQRVJfQ0FTRV9DT05TVEFOVCxcbiAgICAgIENMQVNTX09SX0VYVEVORFMsXG4gICAgICBHRVRURVJfT1JfU0VUVEVSLFxuICAgICAge1xuICAgICAgICBtYXRjaDogL1xcJFsoLl0vIC8vIHJlbGV2YW5jZSBib29zdGVyIGZvciBhIHBhdHRlcm4gY29tbW9uIHRvIEpTIGxpYnM6IGAkKHNvbWV0aGluZylgIGFuZCBgJC5zb21ldGhpbmdgXG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG4vKlxuTGFuZ3VhZ2U6IFR5cGVTY3JpcHRcbkF1dGhvcjogUGFudSBIb3JzbWFsYWh0aSA8cGFudS5ob3JzbWFsYWh0aUBpa2kuZmk+XG5Db250cmlidXRvcnM6IElrZSBLdSA8ZGVtcGZpQHlhaG9vLmNvbT5cbkRlc2NyaXB0aW9uOiBUeXBlU2NyaXB0IGlzIGEgc3RyaWN0IHN1cGVyc2V0IG9mIEphdmFTY3JpcHRcbldlYnNpdGU6IGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZ1xuQ2F0ZWdvcnk6IGNvbW1vbiwgc2NyaXB0aW5nXG4qL1xuXG5cbi8qKiBAdHlwZSBMYW5ndWFnZUZuICovXG5mdW5jdGlvbiB0eXBlc2NyaXB0KGhsanMpIHtcbiAgY29uc3QgcmVnZXggPSBobGpzLnJlZ2V4O1xuICBjb25zdCB0c0xhbmd1YWdlID0gamF2YXNjcmlwdChobGpzKTtcblxuICBjb25zdCBJREVOVF9SRSQxID0gSURFTlRfUkU7XG4gIGNvbnN0IFRZUEVTID0gW1xuICAgIFwiYW55XCIsXG4gICAgXCJ2b2lkXCIsXG4gICAgXCJudW1iZXJcIixcbiAgICBcImJvb2xlYW5cIixcbiAgICBcInN0cmluZ1wiLFxuICAgIFwib2JqZWN0XCIsXG4gICAgXCJuZXZlclwiLFxuICAgIFwic3ltYm9sXCIsXG4gICAgXCJiaWdpbnRcIixcbiAgICBcInVua25vd25cIlxuICBdO1xuICBjb25zdCBOQU1FU1BBQ0UgPSB7XG4gICAgYmVnaW46IFtcbiAgICAgIC9uYW1lc3BhY2UvLFxuICAgICAgL1xccysvLFxuICAgICAgaGxqcy5JREVOVF9SRVxuICAgIF0sXG4gICAgYmVnaW5TY29wZToge1xuICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAzOiBcInRpdGxlLmNsYXNzXCJcbiAgICB9XG4gIH07XG4gIGNvbnN0IElOVEVSRkFDRSA9IHtcbiAgICBiZWdpbktleXdvcmRzOiAnaW50ZXJmYWNlJyxcbiAgICBlbmQ6IC9cXHsvLFxuICAgIGV4Y2x1ZGVFbmQ6IHRydWUsXG4gICAga2V5d29yZHM6IHtcbiAgICAgIGtleXdvcmQ6ICdpbnRlcmZhY2UgZXh0ZW5kcycsXG4gICAgICBidWlsdF9pbjogVFlQRVNcbiAgICB9LFxuICAgIGNvbnRhaW5zOiBbIHRzTGFuZ3VhZ2UuZXhwb3J0cy5DTEFTU19SRUZFUkVOQ0UgXVxuICB9O1xuICBjb25zdCBVU0VfU1RSSUNUID0ge1xuICAgIGNsYXNzTmFtZTogJ21ldGEnLFxuICAgIHJlbGV2YW5jZTogMTAsXG4gICAgYmVnaW46IC9eXFxzKlsnXCJddXNlIHN0cmljdFsnXCJdL1xuICB9O1xuICBjb25zdCBUU19TUEVDSUZJQ19LRVlXT1JEUyA9IFtcbiAgICBcInR5cGVcIixcbiAgICAvLyBcIm5hbWVzcGFjZVwiLFxuICAgIFwiaW50ZXJmYWNlXCIsXG4gICAgXCJwdWJsaWNcIixcbiAgICBcInByaXZhdGVcIixcbiAgICBcInByb3RlY3RlZFwiLFxuICAgIFwiaW1wbGVtZW50c1wiLFxuICAgIFwiZGVjbGFyZVwiLFxuICAgIFwiYWJzdHJhY3RcIixcbiAgICBcInJlYWRvbmx5XCIsXG4gICAgXCJlbnVtXCIsXG4gICAgXCJvdmVycmlkZVwiLFxuICAgIFwic2F0aXNmaWVzXCJcbiAgXTtcbiAgLypcbiAgICBuYW1lc3BhY2UgaXMgYSBUUyBrZXl3b3JkIGJ1dCBpdCdzIGZpbmUgdG8gdXNlIGl0IGFzIGEgdmFyaWFibGUgbmFtZSB0b28uXG4gICAgY29uc3QgbWVzc2FnZSA9ICdmb28nO1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9ICdiYXInO1xuICAqL1xuICBjb25zdCBLRVlXT1JEUyQxID0ge1xuICAgICRwYXR0ZXJuOiBJREVOVF9SRSxcbiAgICBrZXl3b3JkOiBLRVlXT1JEUy5jb25jYXQoVFNfU1BFQ0lGSUNfS0VZV09SRFMpLFxuICAgIGxpdGVyYWw6IExJVEVSQUxTLFxuICAgIGJ1aWx0X2luOiBCVUlMVF9JTlMuY29uY2F0KFRZUEVTKSxcbiAgICBcInZhcmlhYmxlLmxhbmd1YWdlXCI6IEJVSUxUX0lOX1ZBUklBQkxFU1xuICB9O1xuXG4gIGNvbnN0IERFQ09SQVRPUiA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICBiZWdpbjogJ0AnICsgSURFTlRfUkUkMSxcbiAgfTtcblxuICBjb25zdCBzd2FwTW9kZSA9IChtb2RlLCBsYWJlbCwgcmVwbGFjZW1lbnQpID0+IHtcbiAgICBjb25zdCBpbmR4ID0gbW9kZS5jb250YWlucy5maW5kSW5kZXgobSA9PiBtLmxhYmVsID09PSBsYWJlbCk7XG4gICAgaWYgKGluZHggPT09IC0xKSB7IHRocm93IG5ldyBFcnJvcihcImNhbiBub3QgZmluZCBtb2RlIHRvIHJlcGxhY2VcIik7IH1cblxuICAgIG1vZGUuY29udGFpbnMuc3BsaWNlKGluZHgsIDEsIHJlcGxhY2VtZW50KTtcbiAgfTtcblxuXG4gIC8vIHRoaXMgc2hvdWxkIHVwZGF0ZSBhbnl3aGVyZSBrZXl3b3JkcyBpcyB1c2VkIHNpbmNlXG4gIC8vIGl0IHdpbGwgYmUgdGhlIHNhbWUgYWN0dWFsIEpTIG9iamVjdFxuICBPYmplY3QuYXNzaWduKHRzTGFuZ3VhZ2Uua2V5d29yZHMsIEtFWVdPUkRTJDEpO1xuXG4gIHRzTGFuZ3VhZ2UuZXhwb3J0cy5QQVJBTVNfQ09OVEFJTlMucHVzaChERUNPUkFUT1IpO1xuXG4gIC8vIGhpZ2hsaWdodCB0aGUgZnVuY3Rpb24gcGFyYW1zXG4gIGNvbnN0IEFUVFJJQlVURV9ISUdITElHSFQgPSB0c0xhbmd1YWdlLmNvbnRhaW5zLmZpbmQoYyA9PiBjLnNjb3BlID09PSBcImF0dHJcIik7XG5cbiAgLy8gdGFrZSBkZWZhdWx0IGF0dHIgcnVsZSBhbmQgZXh0ZW5kIGl0IHRvIHN1cHBvcnQgb3B0aW9uYWxzXG4gIGNvbnN0IE9QVElPTkFMX0tFWV9PUl9BUkdVTUVOVCA9IE9iamVjdC5hc3NpZ24oe30sXG4gICAgQVRUUklCVVRFX0hJR0hMSUdIVCxcbiAgICB7IG1hdGNoOiByZWdleC5jb25jYXQoSURFTlRfUkUkMSwgcmVnZXgubG9va2FoZWFkKC9cXHMqXFw/Oi8pKSB9XG4gICk7XG4gIHRzTGFuZ3VhZ2UuZXhwb3J0cy5QQVJBTVNfQ09OVEFJTlMucHVzaChbXG4gICAgdHNMYW5ndWFnZS5leHBvcnRzLkNMQVNTX1JFRkVSRU5DRSwgLy8gY2xhc3MgcmVmZXJlbmNlIGZvciBoaWdobGlnaHRpbmcgdGhlIHBhcmFtcyB0eXBlc1xuICAgIEFUVFJJQlVURV9ISUdITElHSFQsIC8vIGhpZ2hsaWdodCB0aGUgcGFyYW1zIGtleVxuICAgIE9QVElPTkFMX0tFWV9PUl9BUkdVTUVOVCwgLy8gQWRkZWQgZm9yIG9wdGlvbmFsIHByb3BlcnR5IGFzc2lnbm1lbnQgaGlnaGxpZ2h0aW5nXG4gIF0pO1xuXG4gIC8vIEFkZCB0aGUgb3B0aW9uYWwgcHJvcGVydHkgYXNzaWdubWVudCBoaWdobGlnaHRpbmcgZm9yIG9iamVjdHMgb3IgY2xhc3Nlc1xuICB0c0xhbmd1YWdlLmNvbnRhaW5zID0gdHNMYW5ndWFnZS5jb250YWlucy5jb25jYXQoW1xuICAgIERFQ09SQVRPUixcbiAgICBOQU1FU1BBQ0UsXG4gICAgSU5URVJGQUNFLFxuICAgIE9QVElPTkFMX0tFWV9PUl9BUkdVTUVOVCwgLy8gQWRkZWQgZm9yIG9wdGlvbmFsIHByb3BlcnR5IGFzc2lnbm1lbnQgaGlnaGxpZ2h0aW5nXG4gIF0pO1xuXG4gIC8vIFRTIGdldHMgYSBzaW1wbGVyIHNoZWJhbmcgcnVsZSB0aGFuIEpTXG4gIHN3YXBNb2RlKHRzTGFuZ3VhZ2UsIFwic2hlYmFuZ1wiLCBobGpzLlNIRUJBTkcoKSk7XG4gIC8vIEpTIHVzZSBzdHJpY3QgcnVsZSBwdXJwb3NlbHkgZXhjbHVkZXMgYGFzbWAgd2hpY2ggbWFrZXMgbm8gc2Vuc2VcbiAgc3dhcE1vZGUodHNMYW5ndWFnZSwgXCJ1c2Vfc3RyaWN0XCIsIFVTRV9TVFJJQ1QpO1xuXG4gIGNvbnN0IGZ1bmN0aW9uRGVjbGFyYXRpb24gPSB0c0xhbmd1YWdlLmNvbnRhaW5zLmZpbmQobSA9PiBtLmxhYmVsID09PSBcImZ1bmMuZGVmXCIpO1xuICBmdW5jdGlvbkRlY2xhcmF0aW9uLnJlbGV2YW5jZSA9IDA7IC8vICgpID0+IHt9IGlzIG1vcmUgdHlwaWNhbCBpbiBUeXBlU2NyaXB0XG5cbiAgT2JqZWN0LmFzc2lnbih0c0xhbmd1YWdlLCB7XG4gICAgbmFtZTogJ1R5cGVTY3JpcHQnLFxuICAgIGFsaWFzZXM6IFtcbiAgICAgICd0cycsXG4gICAgICAndHN4JyxcbiAgICAgICdtdHMnLFxuICAgICAgJ2N0cydcbiAgICBdXG4gIH0pO1xuXG4gIHJldHVybiB0c0xhbmd1YWdlO1xufVxuXG5leHBvcnQgeyB0eXBlc2NyaXB0IGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/typescript.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/vbnet.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/vbnet.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ vbnet)\n/* harmony export */ });\n/*\nLanguage: Visual Basic .NET\nDescription: Visual Basic .NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework.\nAuthors: Poren Chiang , Jan Pilzer\nWebsite: https://docs.microsoft.com/dotnet/visual-basic/getting-started\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction vbnet(hljs) {\n const regex = hljs.regex;\n /**\n * Character Literal\n * Either a single character (\"a\"C) or an escaped double quote (\"\"\"\"C).\n */\n const CHARACTER = {\n className: 'string',\n begin: /\"(\"\"|[^/n])\"C\\b/\n };\n\n const STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n contains: [\n {\n // double quote escape\n begin: /\"\"/ }\n ]\n };\n\n /** Date Literals consist of a date, a time, or both separated by whitespace, surrounded by # */\n const MM_DD_YYYY = /\\d{1,2}\\/\\d{1,2}\\/\\d{4}/;\n const YYYY_MM_DD = /\\d{4}-\\d{1,2}-\\d{1,2}/;\n const TIME_12H = /(\\d|1[012])(:\\d+){0,2} *(AM|PM)/;\n const TIME_24H = /\\d{1,2}(:\\d{1,2}){1,2}/;\n const DATE = {\n className: 'literal',\n variants: [\n {\n // #YYYY-MM-DD# (ISO-Date) or #M/D/YYYY# (US-Date)\n begin: regex.concat(/# */, regex.either(YYYY_MM_DD, MM_DD_YYYY), / *#/) },\n {\n // #H:mm[:ss]# (24h Time)\n begin: regex.concat(/# */, TIME_24H, / *#/) },\n {\n // #h[:mm[:ss]] A# (12h Time)\n begin: regex.concat(/# */, TIME_12H, / *#/) },\n {\n // date plus time\n begin: regex.concat(\n /# */,\n regex.either(YYYY_MM_DD, MM_DD_YYYY),\n / +/,\n regex.either(TIME_12H, TIME_24H),\n / *#/\n ) }\n ]\n };\n\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n {\n // Float\n begin: /\\b\\d[\\d_]*((\\.[\\d_]+(E[+-]?[\\d_]+)?)|(E[+-]?[\\d_]+))[RFD@!#]?/ },\n {\n // Integer (base 10)\n begin: /\\b\\d[\\d_]*((U?[SIL])|[%&])?/ },\n {\n // Integer (base 16)\n begin: /&H[\\dA-F_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 8)\n begin: /&O[0-7_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 2)\n begin: /&B[01_]+((U?[SIL])|[%&])?/ }\n ]\n };\n\n const LABEL = {\n className: 'label',\n begin: /^\\w+:/\n };\n\n const DOC_COMMENT = hljs.COMMENT(/'''/, /$/, { contains: [\n {\n className: 'doctag',\n begin: /<\\/?/,\n end: />/\n }\n ] });\n\n const COMMENT = hljs.COMMENT(null, /$/, { variants: [\n { begin: /'/ },\n {\n // TODO: Use multi-class for leading spaces\n begin: /([\\t ]|^)REM(?=\\s)/ }\n ] });\n\n const DIRECTIVES = {\n className: 'meta',\n // TODO: Use multi-class for indentation once available\n begin: /[\\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\\b/,\n end: /$/,\n keywords: { keyword:\n 'const disable else elseif enable end externalsource if region then' },\n contains: [ COMMENT ]\n };\n\n return {\n name: 'Visual Basic .NET',\n aliases: [ 'vb' ],\n case_insensitive: true,\n classNameAliases: { label: 'symbol' },\n keywords: {\n keyword:\n 'addhandler alias aggregate ansi as async assembly auto binary by byref byval ' /* a-b */\n + 'call case catch class compare const continue custom declare default delegate dim distinct do ' /* c-d */\n + 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' /* e-f */\n + 'get global goto group handles if implements imports in inherits interface into iterator ' /* g-i */\n + 'join key let lib loop me mid module mustinherit mustoverride mybase myclass ' /* j-m */\n + 'namespace narrowing new next notinheritable notoverridable ' /* n */\n + 'of off on operator option optional order overloads overridable overrides ' /* o */\n + 'paramarray partial preserve private property protected public ' /* p */\n + 'raiseevent readonly redim removehandler resume return ' /* r */\n + 'select set shadows shared skip static step stop structure strict sub synclock ' /* s */\n + 'take text then throw to try unicode until using when where while widening with withevents writeonly yield' /* t-y */,\n built_in:\n // Operators https://docs.microsoft.com/dotnet/visual-basic/language-reference/operators\n 'addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor '\n // Type Conversion Functions https://docs.microsoft.com/dotnet/visual-basic/language-reference/functions/type-conversion-functions\n + 'cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort',\n type:\n // Data types https://docs.microsoft.com/dotnet/visual-basic/language-reference/data-types\n 'boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort',\n literal: 'true false nothing'\n },\n illegal:\n '//|\\\\{|\\\\}|endif|gosub|variant|wend|^\\\\$ ' /* reserved deprecated keywords */,\n contains: [\n CHARACTER,\n STRING,\n DATE,\n NUMBER,\n LABEL,\n DOC_COMMENT,\n COMMENT,\n DIRECTIVES\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy92Ym5ldC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCLElBQUksS0FBSyxJQUFJLEtBQUssRUFBRTtBQUM3Qyx5QkFBeUIsRUFBRSxJQUFJLElBQUksSUFBSSxJQUFJO0FBQzNDLHNDQUFzQyxLQUFLO0FBQzNDLHVCQUF1QixJQUFJLEtBQUssSUFBSSxFQUFFLElBQUk7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlGQUFpRjtBQUNqRjtBQUNBO0FBQ0EscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQSxxREFBcUQ7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUwsNENBQTRDO0FBQzVDLE1BQU0sWUFBWTtBQUNsQjtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsOEVBQThFO0FBQzlFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsYUFBYSxJQUFJO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNEIiLCJzb3VyY2VzIjpbIi9ob21lL25pY2hvbGFpL0RvY3VtZW50cy9kZXYvbXVsdGktYWdlbnRfY2hhdF9pbnRlcmZhY2Uvbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvZXMvbGFuZ3VhZ2VzL3ZibmV0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5MYW5ndWFnZTogVmlzdWFsIEJhc2ljIC5ORVRcbkRlc2NyaXB0aW9uOiBWaXN1YWwgQmFzaWMgLk5FVCAoVkIuTkVUKSBpcyBhIG11bHRpLXBhcmFkaWdtLCBvYmplY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIGltcGxlbWVudGVkIG9uIHRoZSAuTkVUIEZyYW1ld29yay5cbkF1dGhvcnM6IFBvcmVuIENoaWFuZyA8cmVuLmNoaWFuZ0BnbWFpbC5jb20+LCBKYW4gUGlsemVyXG5XZWJzaXRlOiBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9kb3RuZXQvdmlzdWFsLWJhc2ljL2dldHRpbmctc3RhcnRlZFxuQ2F0ZWdvcnk6IGNvbW1vblxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIHZibmV0KGhsanMpIHtcbiAgY29uc3QgcmVnZXggPSBobGpzLnJlZ2V4O1xuICAvKipcbiAgICogQ2hhcmFjdGVyIExpdGVyYWxcbiAgICogRWl0aGVyIGEgc2luZ2xlIGNoYXJhY3RlciAoXCJhXCJDKSBvciBhbiBlc2NhcGVkIGRvdWJsZSBxdW90ZSAoXCJcIlwiXCJDKS5cbiAgICovXG4gIGNvbnN0IENIQVJBQ1RFUiA9IHtcbiAgICBjbGFzc05hbWU6ICdzdHJpbmcnLFxuICAgIGJlZ2luOiAvXCIoXCJcInxbXi9uXSlcIkNcXGIvXG4gIH07XG5cbiAgY29uc3QgU1RSSU5HID0ge1xuICAgIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gICAgYmVnaW46IC9cIi8sXG4gICAgZW5kOiAvXCIvLFxuICAgIGlsbGVnYWw6IC9cXG4vLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICB7XG4gICAgICAgIC8vIGRvdWJsZSBxdW90ZSBlc2NhcGVcbiAgICAgICAgYmVnaW46IC9cIlwiLyB9XG4gICAgXVxuICB9O1xuXG4gIC8qKiBEYXRlIExpdGVyYWxzIGNvbnNpc3Qgb2YgYSBkYXRlLCBhIHRpbWUsIG9yIGJvdGggc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UsIHN1cnJvdW5kZWQgYnkgIyAqL1xuICBjb25zdCBNTV9ERF9ZWVlZID0gL1xcZHsxLDJ9XFwvXFxkezEsMn1cXC9cXGR7NH0vO1xuICBjb25zdCBZWVlZX01NX0REID0gL1xcZHs0fS1cXGR7MSwyfS1cXGR7MSwyfS87XG4gIGNvbnN0IFRJTUVfMTJIID0gLyhcXGR8MVswMTJdKSg6XFxkKyl7MCwyfSAqKEFNfFBNKS87XG4gIGNvbnN0IFRJTUVfMjRIID0gL1xcZHsxLDJ9KDpcXGR7MSwyfSl7MSwyfS87XG4gIGNvbnN0IERBVEUgPSB7XG4gICAgY2xhc3NOYW1lOiAnbGl0ZXJhbCcsXG4gICAgdmFyaWFudHM6IFtcbiAgICAgIHtcbiAgICAgICAgLy8gI1lZWVktTU0tREQjIChJU08tRGF0ZSkgb3IgI00vRC9ZWVlZIyAoVVMtRGF0ZSlcbiAgICAgICAgYmVnaW46IHJlZ2V4LmNvbmNhdCgvIyAqLywgcmVnZXguZWl0aGVyKFlZWVlfTU1fREQsIE1NX0REX1lZWVkpLCAvICojLykgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gI0g6bW1bOnNzXSMgKDI0aCBUaW1lKVxuICAgICAgICBiZWdpbjogcmVnZXguY29uY2F0KC8jICovLCBUSU1FXzI0SCwgLyAqIy8pIH0sXG4gICAgICB7XG4gICAgICAgIC8vICNoWzptbVs6c3NdXSBBIyAoMTJoIFRpbWUpXG4gICAgICAgIGJlZ2luOiByZWdleC5jb25jYXQoLyMgKi8sIFRJTUVfMTJILCAvICojLykgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gZGF0ZSBwbHVzIHRpbWVcbiAgICAgICAgYmVnaW46IHJlZ2V4LmNvbmNhdChcbiAgICAgICAgICAvIyAqLyxcbiAgICAgICAgICByZWdleC5laXRoZXIoWVlZWV9NTV9ERCwgTU1fRERfWVlZWSksXG4gICAgICAgICAgLyArLyxcbiAgICAgICAgICByZWdleC5laXRoZXIoVElNRV8xMkgsIFRJTUVfMjRIKSxcbiAgICAgICAgICAvICojL1xuICAgICAgICApIH1cbiAgICBdXG4gIH07XG5cbiAgY29uc3QgTlVNQkVSID0ge1xuICAgIGNsYXNzTmFtZTogJ251bWJlcicsXG4gICAgcmVsZXZhbmNlOiAwLFxuICAgIHZhcmlhbnRzOiBbXG4gICAgICB7XG4gICAgICAgIC8vIEZsb2F0XG4gICAgICAgIGJlZ2luOiAvXFxiXFxkW1xcZF9dKigoXFwuW1xcZF9dKyhFWystXT9bXFxkX10rKT8pfChFWystXT9bXFxkX10rKSlbUkZEQCEjXT8vIH0sXG4gICAgICB7XG4gICAgICAgIC8vIEludGVnZXIgKGJhc2UgMTApXG4gICAgICAgIGJlZ2luOiAvXFxiXFxkW1xcZF9dKigoVT9bU0lMXSl8WyUmXSk/LyB9LFxuICAgICAge1xuICAgICAgICAvLyBJbnRlZ2VyIChiYXNlIDE2KVxuICAgICAgICBiZWdpbjogLyZIW1xcZEEtRl9dKygoVT9bU0lMXSl8WyUmXSk/LyB9LFxuICAgICAge1xuICAgICAgICAvLyBJbnRlZ2VyIChiYXNlIDgpXG4gICAgICAgIGJlZ2luOiAvJk9bMC03X10rKChVP1tTSUxdKXxbJSZdKT8vIH0sXG4gICAgICB7XG4gICAgICAgIC8vIEludGVnZXIgKGJhc2UgMilcbiAgICAgICAgYmVnaW46IC8mQlswMV9dKygoVT9bU0lMXSl8WyUmXSk/LyB9XG4gICAgXVxuICB9O1xuXG4gIGNvbnN0IExBQkVMID0ge1xuICAgIGNsYXNzTmFtZTogJ2xhYmVsJyxcbiAgICBiZWdpbjogL15cXHcrOi9cbiAgfTtcblxuICBjb25zdCBET0NfQ09NTUVOVCA9IGhsanMuQ09NTUVOVCgvJycnLywgLyQvLCB7IGNvbnRhaW5zOiBbXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiAnZG9jdGFnJyxcbiAgICAgIGJlZ2luOiAvPFxcLz8vLFxuICAgICAgZW5kOiAvPi9cbiAgICB9XG4gIF0gfSk7XG5cbiAgY29uc3QgQ09NTUVOVCA9IGhsanMuQ09NTUVOVChudWxsLCAvJC8sIHsgdmFyaWFudHM6IFtcbiAgICB7IGJlZ2luOiAvJy8gfSxcbiAgICB7XG4gICAgICAvLyBUT0RPOiBVc2UgbXVsdGktY2xhc3MgZm9yIGxlYWRpbmcgc3BhY2VzXG4gICAgICBiZWdpbjogLyhbXFx0IF18XilSRU0oPz1cXHMpLyB9XG4gIF0gfSk7XG5cbiAgY29uc3QgRElSRUNUSVZFUyA9IHtcbiAgICBjbGFzc05hbWU6ICdtZXRhJyxcbiAgICAvLyBUT0RPOiBVc2UgbXVsdGktY2xhc3MgZm9yIGluZGVudGF0aW9uIG9uY2UgYXZhaWxhYmxlXG4gICAgYmVnaW46IC9bXFx0IF0qIyhjb25zdHxkaXNhYmxlfGVsc2V8ZWxzZWlmfGVuYWJsZXxlbmR8ZXh0ZXJuYWxzb3VyY2V8aWZ8cmVnaW9uKVxcYi8sXG4gICAgZW5kOiAvJC8sXG4gICAga2V5d29yZHM6IHsga2V5d29yZDpcbiAgICAgICAgJ2NvbnN0IGRpc2FibGUgZWxzZSBlbHNlaWYgZW5hYmxlIGVuZCBleHRlcm5hbHNvdXJjZSBpZiByZWdpb24gdGhlbicgfSxcbiAgICBjb250YWluczogWyBDT01NRU5UIF1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdWaXN1YWwgQmFzaWMgLk5FVCcsXG4gICAgYWxpYXNlczogWyAndmInIF0sXG4gICAgY2FzZV9pbnNlbnNpdGl2ZTogdHJ1ZSxcbiAgICBjbGFzc05hbWVBbGlhc2VzOiB7IGxhYmVsOiAnc3ltYm9sJyB9LFxuICAgIGtleXdvcmRzOiB7XG4gICAgICBrZXl3b3JkOlxuICAgICAgICAnYWRkaGFuZGxlciBhbGlhcyBhZ2dyZWdhdGUgYW5zaSBhcyBhc3luYyBhc3NlbWJseSBhdXRvIGJpbmFyeSBieSBieXJlZiBieXZhbCAnIC8qIGEtYiAqL1xuICAgICAgICArICdjYWxsIGNhc2UgY2F0Y2ggY2xhc3MgY29tcGFyZSBjb25zdCBjb250aW51ZSBjdXN0b20gZGVjbGFyZSBkZWZhdWx0IGRlbGVnYXRlIGRpbSBkaXN0aW5jdCBkbyAnIC8qIGMtZCAqL1xuICAgICAgICArICdlYWNoIGVxdWFscyBlbHNlIGVsc2VpZiBlbmQgZW51bSBlcmFzZSBlcnJvciBldmVudCBleGl0IGV4cGxpY2l0IGZpbmFsbHkgZm9yIGZyaWVuZCBmcm9tIGZ1bmN0aW9uICcgLyogZS1mICovXG4gICAgICAgICsgJ2dldCBnbG9iYWwgZ290byBncm91cCBoYW5kbGVzIGlmIGltcGxlbWVudHMgaW1wb3J0cyBpbiBpbmhlcml0cyBpbnRlcmZhY2UgaW50byBpdGVyYXRvciAnIC8qIGctaSAqL1xuICAgICAgICArICdqb2luIGtleSBsZXQgbGliIGxvb3AgbWUgbWlkIG1vZHVsZSBtdXN0aW5oZXJpdCBtdXN0b3ZlcnJpZGUgbXliYXNlIG15Y2xhc3MgJyAvKiBqLW0gKi9cbiAgICAgICAgKyAnbmFtZXNwYWNlIG5hcnJvd2luZyBuZXcgbmV4dCBub3Rpbmhlcml0YWJsZSBub3RvdmVycmlkYWJsZSAnIC8qIG4gKi9cbiAgICAgICAgKyAnb2Ygb2ZmIG9uIG9wZXJhdG9yIG9wdGlvbiBvcHRpb25hbCBvcmRlciBvdmVybG9hZHMgb3ZlcnJpZGFibGUgb3ZlcnJpZGVzICcgLyogbyAqL1xuICAgICAgICArICdwYXJhbWFycmF5IHBhcnRpYWwgcHJlc2VydmUgcHJpdmF0ZSBwcm9wZXJ0eSBwcm90ZWN0ZWQgcHVibGljICcgLyogcCAqL1xuICAgICAgICArICdyYWlzZWV2ZW50IHJlYWRvbmx5IHJlZGltIHJlbW92ZWhhbmRsZXIgcmVzdW1lIHJldHVybiAnIC8qIHIgKi9cbiAgICAgICAgKyAnc2VsZWN0IHNldCBzaGFkb3dzIHNoYXJlZCBza2lwIHN0YXRpYyBzdGVwIHN0b3Agc3RydWN0dXJlIHN0cmljdCBzdWIgc3luY2xvY2sgJyAvKiBzICovXG4gICAgICAgICsgJ3Rha2UgdGV4dCB0aGVuIHRocm93IHRvIHRyeSB1bmljb2RlIHVudGlsIHVzaW5nIHdoZW4gd2hlcmUgd2hpbGUgd2lkZW5pbmcgd2l0aCB3aXRoZXZlbnRzIHdyaXRlb25seSB5aWVsZCcgLyogdC15ICovLFxuICAgICAgYnVpbHRfaW46XG4gICAgICAgIC8vIE9wZXJhdG9ycyBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9kb3RuZXQvdmlzdWFsLWJhc2ljL2xhbmd1YWdlLXJlZmVyZW5jZS9vcGVyYXRvcnNcbiAgICAgICAgJ2FkZHJlc3NvZiBhbmQgYW5kYWxzbyBhd2FpdCBkaXJlY3RjYXN0IGdldHR5cGUgZ2V0eG1sbmFtZXNwYWNlIGlzIGlzZmFsc2UgaXNub3QgaXN0cnVlIGxpa2UgbW9kIG5hbWVvZiBuZXcgbm90IG9yIG9yZWxzZSB0cnljYXN0IHR5cGVvZiB4b3IgJ1xuICAgICAgICAvLyBUeXBlIENvbnZlcnNpb24gRnVuY3Rpb25zIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2RvdG5ldC92aXN1YWwtYmFzaWMvbGFuZ3VhZ2UtcmVmZXJlbmNlL2Z1bmN0aW9ucy90eXBlLWNvbnZlcnNpb24tZnVuY3Rpb25zXG4gICAgICAgICsgJ2Nib29sIGNieXRlIGNjaGFyIGNkYXRlIGNkYmwgY2RlYyBjaW50IGNsbmcgY29iaiBjc2J5dGUgY3Nob3J0IGNzbmcgY3N0ciBjdWludCBjdWxuZyBjdXNob3J0JyxcbiAgICAgIHR5cGU6XG4gICAgICAgIC8vIERhdGEgdHlwZXMgaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZG90bmV0L3Zpc3VhbC1iYXNpYy9sYW5ndWFnZS1yZWZlcmVuY2UvZGF0YS10eXBlc1xuICAgICAgICAnYm9vbGVhbiBieXRlIGNoYXIgZGF0ZSBkZWNpbWFsIGRvdWJsZSBpbnRlZ2VyIGxvbmcgb2JqZWN0IHNieXRlIHNob3J0IHNpbmdsZSBzdHJpbmcgdWludGVnZXIgdWxvbmcgdXNob3J0JyxcbiAgICAgIGxpdGVyYWw6ICd0cnVlIGZhbHNlIG5vdGhpbmcnXG4gICAgfSxcbiAgICBpbGxlZ2FsOlxuICAgICAgJy8vfFxcXFx7fFxcXFx9fGVuZGlmfGdvc3VifHZhcmlhbnR8d2VuZHxeXFxcXCQgJyAvKiByZXNlcnZlZCBkZXByZWNhdGVkIGtleXdvcmRzICovLFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBDSEFSQUNURVIsXG4gICAgICBTVFJJTkcsXG4gICAgICBEQVRFLFxuICAgICAgTlVNQkVSLFxuICAgICAgTEFCRUwsXG4gICAgICBET0NfQ09NTUVOVCxcbiAgICAgIENPTU1FTlQsXG4gICAgICBESVJFQ1RJVkVTXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgeyB2Ym5ldCBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/vbnet.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/wasm.js":
/*!************************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/wasm.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ wasm)\n/* harmony export */ });\n/*\nLanguage: WebAssembly\nWebsite: https://webassembly.org\nDescription: Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.\nCategory: web, common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction wasm(hljs) {\n hljs.regex;\n const BLOCK_COMMENT = hljs.COMMENT(/\\(;/, /;\\)/);\n BLOCK_COMMENT.contains.push(\"self\");\n const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);\n\n const KWS = [\n \"anyfunc\",\n \"block\",\n \"br\",\n \"br_if\",\n \"br_table\",\n \"call\",\n \"call_indirect\",\n \"data\",\n \"drop\",\n \"elem\",\n \"else\",\n \"end\",\n \"export\",\n \"func\",\n \"global.get\",\n \"global.set\",\n \"local.get\",\n \"local.set\",\n \"local.tee\",\n \"get_global\",\n \"get_local\",\n \"global\",\n \"if\",\n \"import\",\n \"local\",\n \"loop\",\n \"memory\",\n \"memory.grow\",\n \"memory.size\",\n \"module\",\n \"mut\",\n \"nop\",\n \"offset\",\n \"param\",\n \"result\",\n \"return\",\n \"select\",\n \"set_global\",\n \"set_local\",\n \"start\",\n \"table\",\n \"tee_local\",\n \"then\",\n \"type\",\n \"unreachable\"\n ];\n\n const FUNCTION_REFERENCE = {\n begin: [\n /(?:func|call|call_indirect)/,\n /\\s+/,\n /\\$[^\\s)]+/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n };\n\n const ARGUMENT = {\n className: \"variable\",\n begin: /\\$[\\w_]+/\n };\n\n const PARENS = {\n match: /(\\((?!;)|\\))+/,\n className: \"punctuation\",\n relevance: 0\n };\n\n const NUMBER = {\n className: \"number\",\n relevance: 0,\n // borrowed from Prism, TODO: split out into variants\n match: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/\n };\n\n const TYPE = {\n // look-ahead prevents us from gobbling up opcodes\n match: /(i32|i64|f32|f64)(?!\\.)/,\n className: \"type\"\n };\n\n const MATH_OPERATIONS = {\n className: \"keyword\",\n // borrowed from Prism, TODO: split out into variants\n match: /\\b(f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))\\b/\n };\n\n const OFFSET_ALIGN = {\n match: [\n /(?:offset|align)/,\n /\\s*/,\n /=/\n ],\n className: {\n 1: \"keyword\",\n 3: \"operator\"\n }\n };\n\n return {\n name: 'WebAssembly',\n keywords: {\n $pattern: /[\\w.]+/,\n keyword: KWS\n },\n contains: [\n LINE_COMMENT,\n BLOCK_COMMENT,\n OFFSET_ALIGN,\n ARGUMENT,\n PARENS,\n FUNCTION_REFERENCE,\n hljs.QUOTE_STRING_MODE,\n TYPE,\n MATH_OPERATIONS,\n NUMBER\n ]\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9oaWdobGlnaHQuanNAMTEuMTEuMS9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL2VzL2xhbmd1YWdlcy93YXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsS0FBSztBQUM5QztBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUyQiIsInNvdXJjZXMiOlsiL2hvbWUvbmljaG9sYWkvRG9jdW1lbnRzL2Rldi9tdWx0aS1hZ2VudF9jaGF0X2ludGVyZmFjZS9ub2RlX21vZHVsZXMvLnBucG0vaGlnaGxpZ2h0LmpzQDExLjExLjEvbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9lcy9sYW5ndWFnZXMvd2FzbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTGFuZ3VhZ2U6IFdlYkFzc2VtYmx5XG5XZWJzaXRlOiBodHRwczovL3dlYmFzc2VtYmx5Lm9yZ1xuRGVzY3JpcHRpb246ICBXYXNtIGlzIGRlc2lnbmVkIGFzIGEgcG9ydGFibGUgY29tcGlsYXRpb24gdGFyZ2V0IGZvciBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIGVuYWJsaW5nIGRlcGxveW1lbnQgb24gdGhlIHdlYiBmb3IgY2xpZW50IGFuZCBzZXJ2ZXIgYXBwbGljYXRpb25zLlxuQ2F0ZWdvcnk6IHdlYiwgY29tbW9uXG5BdWRpdDogMjAyMFxuKi9cblxuLyoqIEB0eXBlIExhbmd1YWdlRm4gKi9cbmZ1bmN0aW9uIHdhc20oaGxqcykge1xuICBobGpzLnJlZ2V4O1xuICBjb25zdCBCTE9DS19DT01NRU5UID0gaGxqcy5DT01NRU5UKC9cXCg7LywgLztcXCkvKTtcbiAgQkxPQ0tfQ09NTUVOVC5jb250YWlucy5wdXNoKFwic2VsZlwiKTtcbiAgY29uc3QgTElORV9DT01NRU5UID0gaGxqcy5DT01NRU5UKC87Oy8sIC8kLyk7XG5cbiAgY29uc3QgS1dTID0gW1xuICAgIFwiYW55ZnVuY1wiLFxuICAgIFwiYmxvY2tcIixcbiAgICBcImJyXCIsXG4gICAgXCJicl9pZlwiLFxuICAgIFwiYnJfdGFibGVcIixcbiAgICBcImNhbGxcIixcbiAgICBcImNhbGxfaW5kaXJlY3RcIixcbiAgICBcImRhdGFcIixcbiAgICBcImRyb3BcIixcbiAgICBcImVsZW1cIixcbiAgICBcImVsc2VcIixcbiAgICBcImVuZFwiLFxuICAgIFwiZXhwb3J0XCIsXG4gICAgXCJmdW5jXCIsXG4gICAgXCJnbG9iYWwuZ2V0XCIsXG4gICAgXCJnbG9iYWwuc2V0XCIsXG4gICAgXCJsb2NhbC5nZXRcIixcbiAgICBcImxvY2FsLnNldFwiLFxuICAgIFwibG9jYWwudGVlXCIsXG4gICAgXCJnZXRfZ2xvYmFsXCIsXG4gICAgXCJnZXRfbG9jYWxcIixcbiAgICBcImdsb2JhbFwiLFxuICAgIFwiaWZcIixcbiAgICBcImltcG9ydFwiLFxuICAgIFwibG9jYWxcIixcbiAgICBcImxvb3BcIixcbiAgICBcIm1lbW9yeVwiLFxuICAgIFwibWVtb3J5Lmdyb3dcIixcbiAgICBcIm1lbW9yeS5zaXplXCIsXG4gICAgXCJtb2R1bGVcIixcbiAgICBcIm11dFwiLFxuICAgIFwibm9wXCIsXG4gICAgXCJvZmZzZXRcIixcbiAgICBcInBhcmFtXCIsXG4gICAgXCJyZXN1bHRcIixcbiAgICBcInJldHVyblwiLFxuICAgIFwic2VsZWN0XCIsXG4gICAgXCJzZXRfZ2xvYmFsXCIsXG4gICAgXCJzZXRfbG9jYWxcIixcbiAgICBcInN0YXJ0XCIsXG4gICAgXCJ0YWJsZVwiLFxuICAgIFwidGVlX2xvY2FsXCIsXG4gICAgXCJ0aGVuXCIsXG4gICAgXCJ0eXBlXCIsXG4gICAgXCJ1bnJlYWNoYWJsZVwiXG4gIF07XG5cbiAgY29uc3QgRlVOQ1RJT05fUkVGRVJFTkNFID0ge1xuICAgIGJlZ2luOiBbXG4gICAgICAvKD86ZnVuY3xjYWxsfGNhbGxfaW5kaXJlY3QpLyxcbiAgICAgIC9cXHMrLyxcbiAgICAgIC9cXCRbXlxccyldKy9cbiAgICBdLFxuICAgIGNsYXNzTmFtZToge1xuICAgICAgMTogXCJrZXl3b3JkXCIsXG4gICAgICAzOiBcInRpdGxlLmZ1bmN0aW9uXCJcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgQVJHVU1FTlQgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZhcmlhYmxlXCIsXG4gICAgYmVnaW46IC9cXCRbXFx3X10rL1xuICB9O1xuXG4gIGNvbnN0IFBBUkVOUyA9IHtcbiAgICBtYXRjaDogLyhcXCgoPyE7KXxcXCkpKy8sXG4gICAgY2xhc3NOYW1lOiBcInB1bmN0dWF0aW9uXCIsXG4gICAgcmVsZXZhbmNlOiAwXG4gIH07XG5cbiAgY29uc3QgTlVNQkVSID0ge1xuICAgIGNsYXNzTmFtZTogXCJudW1iZXJcIixcbiAgICByZWxldmFuY2U6IDAsXG4gICAgLy8gYm9ycm93ZWQgZnJvbSBQcmlzbSwgVE9ETzogc3BsaXQgb3V0IGludG8gdmFyaWFudHNcbiAgICBtYXRjaDogL1srLV0/XFxiKD86XFxkKD86Xz9cXGQpKig/OlxcLlxcZCg/Ol8/XFxkKSopPyg/OltlRV1bKy1dP1xcZCg/Ol8/XFxkKSopP3wweFtcXGRhLWZBLUZdKD86Xz9bXFxkYS1mQS1GXSkqKD86XFwuW1xcZGEtZkEtRl0oPzpfP1tcXGRhLWZBLURdKSopPyg/OltwUF1bKy1dP1xcZCg/Ol8/XFxkKSopPylcXGJ8XFxiaW5mXFxifFxcYm5hbig/OjoweFtcXGRhLWZBLUZdKD86Xz9bXFxkYS1mQS1EXSkqKT9cXGIvXG4gIH07XG5cbiAgY29uc3QgVFlQRSA9IHtcbiAgICAvLyBsb29rLWFoZWFkIHByZXZlbnRzIHVzIGZyb20gZ29iYmxpbmcgdXAgb3Bjb2Rlc1xuICAgIG1hdGNoOiAvKGkzMnxpNjR8ZjMyfGY2NCkoPyFcXC4pLyxcbiAgICBjbGFzc05hbWU6IFwidHlwZVwiXG4gIH07XG5cbiAgY29uc3QgTUFUSF9PUEVSQVRJT05TID0ge1xuICAgIGNsYXNzTmFtZTogXCJrZXl3b3JkXCIsXG4gICAgLy8gYm9ycm93ZWQgZnJvbSBQcmlzbSwgVE9ETzogc3BsaXQgb3V0IGludG8gdmFyaWFudHNcbiAgICBtYXRjaDogL1xcYihmMzJ8ZjY0fGkzMnxpNjQpKD86XFwuKD86YWJzfGFkZHxhbmR8Y2VpbHxjbHp8Y29uc3R8Y29udmVydF9bc3VdXFwvaSg/OjMyfDY0KXxjb3B5c2lnbnxjdHp8ZGVtb3RlXFwvZjY0fGRpdig/Ol9bc3VdKT98ZXF6P3xleHRlbmRfW3N1XVxcL2kzMnxmbG9vcnxnZSg/Ol9bc3VdKT98Z3QoPzpfW3N1XSk/fGxlKD86X1tzdV0pP3xsb2FkKD86KD86OHwxNnwzMilfW3N1XSk/fGx0KD86X1tzdV0pP3xtYXh8bWlufG11bHxuZWFyZXN0fG5lZz98b3J8cG9wY250fHByb21vdGVcXC9mMzJ8cmVpbnRlcnByZXRcXC9bZmldKD86MzJ8NjQpfHJlbV9bc3VdfHJvdFtscl18c2hsfHNocl9bc3VdfHN0b3JlKD86OHwxNnwzMik/fHNxcnR8c3VifHRydW5jKD86X1tzdV1cXC9mKD86MzJ8NjQpKT98d3JhcFxcL2k2NHx4b3IpKVxcYi9cbiAgfTtcblxuICBjb25zdCBPRkZTRVRfQUxJR04gPSB7XG4gICAgbWF0Y2g6IFtcbiAgICAgIC8oPzpvZmZzZXR8YWxpZ24pLyxcbiAgICAgIC9cXHMqLyxcbiAgICAgIC89L1xuICAgIF0sXG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICAxOiBcImtleXdvcmRcIixcbiAgICAgIDM6IFwib3BlcmF0b3JcIlxuICAgIH1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdXZWJBc3NlbWJseScsXG4gICAga2V5d29yZHM6IHtcbiAgICAgICRwYXR0ZXJuOiAvW1xcdy5dKy8sXG4gICAgICBrZXl3b3JkOiBLV1NcbiAgICB9LFxuICAgIGNvbnRhaW5zOiBbXG4gICAgICBMSU5FX0NPTU1FTlQsXG4gICAgICBCTE9DS19DT01NRU5ULFxuICAgICAgT0ZGU0VUX0FMSUdOLFxuICAgICAgQVJHVU1FTlQsXG4gICAgICBQQVJFTlMsXG4gICAgICBGVU5DVElPTl9SRUZFUkVOQ0UsXG4gICAgICBobGpzLlFVT1RFX1NUUklOR19NT0RFLFxuICAgICAgVFlQRSxcbiAgICAgIE1BVEhfT1BFUkFUSU9OUyxcbiAgICAgIE5VTUJFUlxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IHsgd2FzbSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/wasm.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/xml.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/xml.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ xml)\n/* harmony export */ });\n/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|[0-9]+;|[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /,\n relevance: 0,\n contains: [\n {\n className: 'attr',\n begin: XML_IDENT_RE,\n relevance: 0\n },\n {\n begin: /=\\s*/,\n relevance: 0,\n contains: [\n {\n className: 'string',\n endsParent: true,\n variants: [\n {\n begin: /\"/,\n end: /\"/,\n contains: [ XML_ENTITIES ]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [ XML_ENTITIES ]\n },\n { begin: /[^\\s\"'=<>`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n '