ember-repl 7.0.1 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/services/known-modules.d.ts.map +1 -1
- package/dist/{babel-8wMrbxkT.js → babel-DbH-RlNa.js} +62593 -66125
- package/dist/babel-DbH-RlNa.js.map +1 -0
- package/dist/compile/state.js.map +1 -1
- package/dist/{index-C4AyeeIa.js → index-Bm1Y84Cu.js} +2 -2
- package/dist/{index-C4AyeeIa.js.map → index-Bm1Y84Cu.js.map} +1 -1
- package/dist/{index-CCcIVEUK.js → index-Bo3xsMqx.js} +8 -7
- package/dist/index-Bo3xsMqx.js.map +1 -0
- package/dist/{index-DejgrVqh.js → index-C-twRw93.js} +16 -1327
- package/dist/index-C-twRw93.js.map +1 -0
- package/dist/{index-C8S2G0FH.js → index-CGDqu098.js} +111 -139
- package/dist/index-CGDqu098.js.map +1 -0
- package/dist/index-DIRpUv6Z.js +2 -0
- package/dist/index-DIRpUv6Z.js.map +1 -0
- package/dist/{index-DBBNT106.js → index-DMSCybEq.js} +7 -11
- package/dist/index-DMSCybEq.js.map +1 -0
- package/dist/{index-DxolpiGq.js → index-F3Sr0JFE.js} +57 -54
- package/dist/index-F3Sr0JFE.js.map +1 -0
- package/dist/services/compiler.js +2 -3
- package/dist/services/compiler.js.map +1 -1
- package/dist/services/known-modules.js +9 -11
- package/dist/services/known-modules.js.map +1 -1
- package/package.json +39 -39
- package/src/services/compiler.ts +1 -1
- package/src/services/known-modules.ts +5 -4
- package/dist/babel-8wMrbxkT.js.map +0 -1
- package/dist/index-C8S2G0FH.js.map +0 -1
- package/dist/index-CCcIVEUK.js.map +0 -1
- package/dist/index-D8szzCn3.js +0 -2
- package/dist/index-D8szzCn3.js.map +0 -1
- package/dist/index-DBBNT106.js.map +0 -1
- package/dist/index-DejgrVqh.js.map +0 -1
- package/dist/index-DxolpiGq.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DejgrVqh.js","sources":["../../../node_modules/.pnpm/hast-util-parse-selector@4.0.0/node_modules/hast-util-parse-selector/lib/index.js","../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/create-h.js","../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js","../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/index.js","../../../node_modules/.pnpm/vfile-location@5.0.3/node_modules/vfile-location/lib/index.js","../../../node_modules/.pnpm/web-namespaces@2.0.1/node_modules/web-namespaces/index.js","../../../node_modules/.pnpm/hast-util-from-parse5@8.0.3/node_modules/hast-util-from-parse5/lib/index.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/schema.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/merge.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/normalize.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/info.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/types.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/defined-info.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/create.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xlink.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xml.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xmlns.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/aria.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/html.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/svg.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/find.js","../../../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/index.js","../../../node_modules/.pnpm/hast-util-to-parse5@8.0.0/node_modules/hast-util-to-parse5/lib/index.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/unicode.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/preprocessor.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.js","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-html.js","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode-codepoint.js","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/default.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/doctype.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.js","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.js","../../../node_modules/.pnpm/hast-util-raw@9.1.0/node_modules/hast-util-raw/lib/index.js","../../../node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js"],"sourcesContent":["/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n */\n\n/**\n * @template {string} SimpleSelector\n * Selector type.\n * @template {string} DefaultTagName\n * Default tag name.\n * @typedef {(\n * SimpleSelector extends ''\n * ? DefaultTagName\n * : SimpleSelector extends `${infer TagName}.${infer Rest}`\n * ? ExtractTagName<TagName, DefaultTagName>\n * : SimpleSelector extends `${infer TagName}#${infer Rest}`\n * ? ExtractTagName<TagName, DefaultTagName>\n * : SimpleSelector extends string\n * ? SimpleSelector\n * : DefaultTagName\n * )} ExtractTagName\n * Extract tag name from a simple selector.\n */\n\nconst search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @template {string} Selector\n * Type of selector.\n * @template {string} [DefaultTagName='div']\n * Type of default tag name (default: `'div'`).\n * @param {Selector | null | undefined} [selector]\n * Simple CSS selector (optional).\n *\n * Can contain a tag name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param {DefaultTagName | null | undefined} [defaultTagName='div']\n * Tag name to use if `selector` does not specify one (default: `'div'`).\n * @returns {Element & {tagName: ExtractTagName<Selector, DefaultTagName>}}\n * Built element.\n */\nexport function parseSelector(selector, defaultTagName) {\n const value = selector || ''\n /** @type {Properties} */\n const props = {}\n let start = 0\n /** @type {string | undefined} */\n let previous\n /** @type {string | undefined} */\n let tagName\n\n while (start < value.length) {\n search.lastIndex = start\n const match = search.exec(value)\n const subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n tagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n // @ts-expect-error: tag name is parsed.\n tagName: tagName || defaultTagName || 'div',\n properties: props,\n children: []\n }\n}\n","/**\n * @import {Element, Nodes, RootContent, Root} from 'hast'\n * @import {Info, Schema} from 'property-information'\n */\n\n/**\n * @typedef {Array<Nodes | PrimitiveChild>} ArrayChildNested\n * List of children (deep).\n */\n\n/**\n * @typedef {Array<ArrayChildNested | Nodes | PrimitiveChild>} ArrayChild\n * List of children.\n */\n\n/**\n * @typedef {Array<number | string>} ArrayValue\n * List of property values for space- or comma separated values (such as `className`).\n */\n\n/**\n * @typedef {ArrayChild | Nodes | PrimitiveChild} Child\n * Acceptable child value.\n */\n\n/**\n * @typedef {number | string | null | undefined} PrimitiveChild\n * Primitive children, either ignored (nullish), or turned into text nodes.\n */\n\n/**\n * @typedef {boolean | number | string | null | undefined} PrimitiveValue\n * Primitive property value.\n */\n\n/**\n * @typedef {Record<string, PropertyValue | Style>} Properties\n * Acceptable value for element properties.\n */\n\n/**\n * @typedef {ArrayValue | PrimitiveValue} PropertyValue\n * Primitive value or list value.\n */\n\n/**\n * @typedef {Element | Root} Result\n * Result from a `h` (or `s`) call.\n */\n\n/**\n * @typedef {number | string} StyleValue\n * Value for a CSS style field.\n */\n\n/**\n * @typedef {Record<string, StyleValue>} Style\n * Supported value of a `style` prop.\n */\n\nimport {parse as parseCommas} from 'comma-separated-tokens'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {find, normalize} from 'property-information'\nimport {parse as parseSpaces} from 'space-separated-tokens'\n\n/**\n * @param {Schema} schema\n * Schema to use.\n * @param {string} defaultTagName\n * Default tag name.\n * @param {ReadonlyArray<string> | undefined} [caseSensitive]\n * Case-sensitive tag names (default: `undefined`).\n * @returns\n * `h`.\n */\nexport function createH(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive ? createAdjustMap(caseSensitive) : undefined\n\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @overload\n * @param {null | undefined} [selector]\n * @param {...Child} children\n * @returns {Root}\n *\n * @overload\n * @param {string} selector\n * @param {Properties} properties\n * @param {...Child} children\n * @returns {Element}\n *\n * @overload\n * @param {string} selector\n * @param {...Child} children\n * @returns {Element}\n *\n * @param {string | null | undefined} [selector]\n * Selector.\n * @param {Child | Properties | null | undefined} [properties]\n * Properties (or first child) (default: `undefined`).\n * @param {...Child} children\n * Children.\n * @returns {Result}\n * Result.\n */\n function h(selector, properties, ...children) {\n /** @type {Result} */\n let node\n\n if (selector === null || selector === undefined) {\n node = {type: 'root', children: []}\n // Properties are not supported for roots.\n const child = /** @type {Child} */ (properties)\n children.unshift(child)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n const lower = node.tagName.toLowerCase()\n const adjusted = adjust ? adjust.get(lower) : undefined\n node.tagName = adjusted || lower\n\n // Handle properties.\n if (isChild(properties)) {\n children.unshift(properties)\n } else {\n for (const [key, value] of Object.entries(properties)) {\n addProperty(schema, node.properties, key, value)\n }\n }\n }\n\n // Handle children.\n for (const child of children) {\n addChild(node.children, child)\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n return h\n}\n\n/**\n * Check if something is properties or a child.\n *\n * @param {Child | Properties} value\n * Value to check.\n * @returns {value is Child}\n * Whether `value` is definitely a child.\n */\nfunction isChild(value) {\n // Never properties if not an object.\n if (value === null || typeof value !== 'object' || Array.isArray(value)) {\n return true\n }\n\n // Never node without `type`; that’s the main discriminator.\n if (typeof value.type !== 'string') return false\n\n // Slower check: never property value if object or array with\n // non-number/strings.\n const record = /** @type {Record<string, unknown>} */ (value)\n const keys = Object.keys(value)\n\n for (const key of keys) {\n const value = record[key]\n\n if (value && typeof value === 'object') {\n if (!Array.isArray(value)) return true\n\n const list = /** @type {ReadonlyArray<unknown>} */ (value)\n\n for (const item of list) {\n if (typeof item !== 'number' && typeof item !== 'string') {\n return true\n }\n }\n }\n }\n\n // Also see empty `children` as a node.\n if ('children' in value && Array.isArray(value.children)) {\n return true\n }\n\n // Default to properties, someone can always pass an empty object,\n // put `data: {}` in a node,\n // or wrap it in an array.\n return false\n}\n\n/**\n * @param {Schema} schema\n * Schema.\n * @param {Properties} properties\n * Properties object.\n * @param {string} key\n * Property name.\n * @param {PropertyValue | Style} value\n * Property value.\n * @returns {undefined}\n * Nothing.\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n /** @type {PropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = parseSpaces(value)\n } else if (info.commaSeparated) {\n result = parseCommas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = parseSpaces(parseCommas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = [...value]\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array<number | string>} */\n const finalResult = []\n\n for (const item of result) {\n // Assume no booleans in array.\n finalResult.push(\n /** @type {number | string} */ (\n parsePrimitive(info, info.property, item)\n )\n )\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // Assume no booleans in `className`.\n result = properties.className.concat(\n /** @type {Array<number | string> | number | string} */ (result)\n )\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array<RootContent>} nodes\n * Children.\n * @param {Child} value\n * Child.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChild(nodes, value) {\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'number' || typeof value === 'string') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n for (const child of value) {\n addChild(nodes, child)\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * Property information.\n * @param {string} name\n * Property name.\n * @param {PrimitiveValue} value\n * Property value.\n * @returns {PrimitiveValue}\n * Property value.\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * Serialize a `style` object as a string.\n *\n * @param {Style} styles\n * Style object.\n * @returns {string}\n * CSS string.\n */\nfunction style(styles) {\n /** @type {Array<string>} */\n const result = []\n\n for (const [key, value] of Object.entries(styles)) {\n result.push([key, value].join(': '))\n }\n\n return result.join('; ')\n}\n\n/**\n * Create a map to adjust casing.\n *\n * @param {ReadonlyArray<string>} values\n * List of properly cased keys.\n * @returns {Map<string, string>}\n * Map of lowercase keys to uppercase keys.\n */\nfunction createAdjustMap(values) {\n /** @type {Map<string, string>} */\n const result = new Map()\n\n for (const value of values) {\n result.set(value.toLowerCase(), value)\n }\n\n return result\n}\n","/**\n * List of case-sensitive SVG tag names.\n *\n * @type {ReadonlyArray<string>}\n */\nexport const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","// Register the JSX namespace on `h`.\n/**\n * @typedef {import('./jsx-classic.js').Element} h.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} h.JSX.IntrinsicElements\n */\n\n// Register the JSX namespace on `s`.\n/**\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n */\n\nimport {html, svg} from 'property-information'\nimport {createH} from './create-h.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType<createH>} */\nexport const h = createH(html, 'div')\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType<createH>} */\nexport const s = createH(svg, 'g', svgCaseSensitiveTagNames)\n","/**\n * @import {VFile, Value} from 'vfile'\n * @import {Location} from 'vfile-location'\n */\n\n/**\n * Create an index of the given document to translate between line/column and\n * offset based positional info.\n *\n * Also implemented in Rust in [`wooorm/markdown-rs`][markdown-rs].\n *\n * [markdown-rs]: https://github.com/wooorm/markdown-rs/blob/main/src/util/location.rs\n *\n * @param {VFile | Value} file\n * File to index.\n * @returns {Location}\n * Accessors for index.\n */\nexport function location(file) {\n const value = String(file)\n /**\n * List, where each index is a line number (0-based), and each value is the\n * byte index *after* where the line ends.\n *\n * @type {Array<number>}\n */\n const indices = []\n\n return {toOffset, toPoint}\n\n /** @type {Location['toPoint']} */\n function toPoint(offset) {\n if (typeof offset === 'number' && offset > -1 && offset <= value.length) {\n let index = 0\n\n while (true) {\n let end = indices[index]\n\n if (end === undefined) {\n const eol = next(value, indices[index - 1])\n end = eol === -1 ? value.length + 1 : eol + 1\n indices[index] = end\n }\n\n if (end > offset) {\n return {\n line: index + 1,\n column: offset - (index > 0 ? indices[index - 1] : 0) + 1,\n offset\n }\n }\n\n index++\n }\n }\n }\n\n /** @type {Location['toOffset']} */\n function toOffset(point) {\n if (\n point &&\n typeof point.line === 'number' &&\n typeof point.column === 'number' &&\n !Number.isNaN(point.line) &&\n !Number.isNaN(point.column)\n ) {\n while (indices.length < point.line) {\n const from = indices[indices.length - 1]\n const eol = next(value, from)\n const end = eol === -1 ? value.length + 1 : eol + 1\n if (from === end) break\n indices.push(end)\n }\n\n const offset =\n (point.line > 1 ? indices[point.line - 2] : 0) + point.column - 1\n // The given `column` could not exist on this line.\n if (offset < indices[point.line - 1]) return offset\n }\n }\n}\n\n/**\n * @param {string} value\n * @param {number} from\n */\nfunction next(value, from) {\n const cr = value.indexOf('\\r', from)\n const lf = value.indexOf('\\n', from)\n if (lf === -1) return cr\n if (cr === -1 || cr + 1 === lf) return lf\n return cr < lf ? cr : lf\n}\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @import {ElementData, Element, Nodes, RootContent, Root} from 'hast'\n * @import {DefaultTreeAdapterMap, Token} from 'parse5'\n * @import {Schema} from 'property-information'\n * @import {Point, Position} from 'unist'\n * @import {VFile} from 'vfile'\n * @import {Options} from 'hast-util-from-parse5'\n */\n\n/**\n * @typedef State\n * Info passed around about the current state.\n * @property {VFile | undefined} file\n * Corresponding file.\n * @property {boolean} location\n * Whether location info was found.\n * @property {Schema} schema\n * Current schema.\n * @property {boolean | undefined} verbose\n * Add extra positional info.\n */\n\nimport {ok as assert} from 'devlop'\nimport {h, s} from 'hastscript'\nimport {find, html, svg} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n/** @type {unknown} */\n// type-coverage:ignore-next-line\nconst proto = Object.prototype\n\n/**\n * Transform a `parse5` AST to hast.\n *\n * @param {DefaultTreeAdapterMap['node']} tree\n * `parse5` tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Nodes}\n * hast tree.\n */\nexport function fromParse5(tree, options) {\n const settings = options || {}\n\n return one(\n {\n file: settings.file || undefined,\n location: false,\n schema: settings.space === 'svg' ? svg : html,\n verbose: settings.verbose || false\n },\n tree\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {DefaultTreeAdapterMap['node']} node\n * p5 node.\n * @returns {Nodes}\n * hast node.\n */\nfunction one(state, node) {\n /** @type {Nodes} */\n let result\n\n switch (node.nodeName) {\n case '#comment': {\n const reference = /** @type {DefaultTreeAdapterMap['commentNode']} */ (\n node\n )\n result = {type: 'comment', value: reference.data}\n patch(state, reference, result)\n return result\n }\n\n case '#document':\n case '#document-fragment': {\n const reference =\n /** @type {DefaultTreeAdapterMap['document'] | DefaultTreeAdapterMap['documentFragment']} */ (\n node\n )\n const quirksMode =\n 'mode' in reference\n ? reference.mode === 'quirks' || reference.mode === 'limited-quirks'\n : false\n\n result = {\n type: 'root',\n children: all(state, node.childNodes),\n data: {quirksMode}\n }\n\n if (state.file && state.location) {\n const document = String(state.file)\n const loc = location(document)\n const start = loc.toPoint(0)\n const end = loc.toPoint(document.length)\n // Always defined as we give valid input.\n assert(start, 'expected `start`')\n assert(end, 'expected `end`')\n result.position = {start, end}\n }\n\n return result\n }\n\n case '#documentType': {\n const reference = /** @type {DefaultTreeAdapterMap['documentType']} */ (\n node\n )\n result = {type: 'doctype'}\n patch(state, reference, result)\n return result\n }\n\n case '#text': {\n const reference = /** @type {DefaultTreeAdapterMap['textNode']} */ (node)\n result = {type: 'text', value: reference.value}\n patch(state, reference, result)\n return result\n }\n\n // Element.\n default: {\n const reference = /** @type {DefaultTreeAdapterMap['element']} */ (node)\n result = element(state, reference)\n return result\n }\n }\n}\n\n/**\n * Transform children.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Array<DefaultTreeAdapterMap['node']>} nodes\n * Nodes.\n * @returns {Array<RootContent>}\n * hast nodes.\n */\nfunction all(state, nodes) {\n let index = -1\n /** @type {Array<RootContent>} */\n const results = []\n\n while (++index < nodes.length) {\n // Assume no roots in `nodes`.\n const result = /** @type {RootContent} */ (one(state, nodes[index]))\n results.push(result)\n }\n\n return results\n}\n\n/**\n * Transform an element.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {DefaultTreeAdapterMap['element']} node\n * `parse5` node to transform.\n * @returns {Element}\n * hast node.\n */\nfunction element(state, node) {\n const schema = state.schema\n\n state.schema = node.namespaceURI === webNamespaces.svg ? svg : html\n\n // Props.\n let index = -1\n /** @type {Record<string, string>} */\n const properties = {}\n\n while (++index < node.attrs.length) {\n const attribute = node.attrs[index]\n const name =\n (attribute.prefix ? attribute.prefix + ':' : '') + attribute.name\n if (!own.call(proto, name)) {\n properties[name] = attribute.value\n }\n }\n\n // Build.\n const x = state.schema.space === 'svg' ? s : h\n const result = x(node.tagName, properties, all(state, node.childNodes))\n patch(state, node, result)\n\n // Switch content.\n if (result.tagName === 'template') {\n const reference = /** @type {DefaultTreeAdapterMap['template']} */ (node)\n const pos = reference.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n // Root in, root out.\n const content = /** @type {Root} */ (one(state, reference.content))\n\n if (startTag && endTag && state.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n state.schema = schema\n\n return result\n}\n\n/**\n * Patch positional info from `from` onto `to`.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {DefaultTreeAdapterMap['node']} from\n * p5 node.\n * @param {Nodes} to\n * hast node.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(state, from, to) {\n if ('sourceCodeLocation' in from && from.sourceCodeLocation && state.file) {\n const position = createLocation(state, to, from.sourceCodeLocation)\n\n if (position) {\n state.location = true\n to.position = position\n }\n }\n}\n\n/**\n * Create clean positional information.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Nodes} node\n * hast node.\n * @param {Token.ElementLocation} location\n * p5 location info.\n * @returns {Position | undefined}\n * Position, or nothing.\n */\nfunction createLocation(state, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: <https://github.com/inikulin/parse5/issues/109>.\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (state.verbose) {\n /** @type {Record<string, Position | undefined>} */\n const properties = {}\n /** @type {string} */\n let key\n\n if (location.attrs) {\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n properties[find(state.schema, key).property] = position(\n location.attrs[key]\n )\n }\n }\n }\n\n assert(location.startTag, 'a start tag should exist')\n const opening = position(location.startTag)\n const closing = location.endTag ? position(location.endTag) : undefined\n /** @type {ElementData['position']} */\n const data = {opening}\n if (closing) data.closing = closing\n data.properties = properties\n\n node.data = {position: data}\n }\n }\n\n return result\n}\n\n/**\n * Turn a p5 location into a position.\n *\n * @param {Token.Location} loc\n * Location.\n * @returns {Position | undefined}\n * Position or nothing.\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n\n // @ts-expect-error: we do use `undefined` for points if one or the other\n // exists.\n return start || end ? {start, end} : undefined\n}\n\n/**\n * Filter out invalid points.\n *\n * @param {Point} point\n * Point with potentially `undefined` values.\n * @returns {Point | undefined}\n * Point or nothing.\n */\nfunction point(point) {\n return point.line && point.column ? point : undefined\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Doctype} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').RootContent} RootContent\n * @typedef {import('hast').Text} Text\n *\n * @typedef {import('parse5').DefaultTreeAdapterMap['document']} Parse5Document\n * @typedef {import('parse5').DefaultTreeAdapterMap['documentFragment']} Parse5Fragment\n * @typedef {import('parse5').DefaultTreeAdapterMap['element']} Parse5Element\n * @typedef {import('parse5').DefaultTreeAdapterMap['node']} Parse5Nodes\n * @typedef {import('parse5').DefaultTreeAdapterMap['documentType']} Parse5Doctype\n * @typedef {import('parse5').DefaultTreeAdapterMap['commentNode']} Parse5Comment\n * @typedef {import('parse5').DefaultTreeAdapterMap['textNode']} Parse5Text\n * @typedef {import('parse5').DefaultTreeAdapterMap['parentNode']} Parse5Parent\n * @typedef {import('parse5').Token.Attribute} Parse5Attribute\n *\n * @typedef {import('property-information').Schema} Schema\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in (default: `'html'`).\n *\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n *\n * @typedef {Exclude<Parse5Nodes, Parse5Document | Parse5Fragment>} Parse5Content\n *\n * @typedef {'html' | 'svg'} Space\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {find, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\nconst own = {}.hasOwnProperty\n\nconst one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a hast tree to a `parse5` AST.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Parse5Nodes}\n * `parse5` node.\n */\nexport function toParse5(tree, options) {\n const settings = options || emptyOptions\n const space = settings.space\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Document}\n * Parse5 node.\n */\nfunction root(node, schema) {\n /** @type {Parse5Document} */\n const result = {\n nodeName: '#document',\n // @ts-expect-error: `parse5` uses enums, which are actually strings.\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Fragment}\n * Parse5 node.\n */\nfunction fragment(node, schema) {\n /** @type {Parse5Fragment} */\n const result = {nodeName: '#document-fragment', childNodes: []}\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Doctype} node\n * Node (hast) to transform.\n * @returns {Parse5Doctype}\n * Parse5 node.\n */\nfunction doctype(node) {\n /** @type {Parse5Doctype} */\n const result = {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: null\n }\n\n patch(node, result)\n return result\n}\n\n/**\n * @param {Text} node\n * Node (hast) to transform.\n * @returns {Parse5Text}\n * Parse5 node.\n */\nfunction text(node) {\n /** @type {Parse5Text} */\n const result = {\n nodeName: '#text',\n value: node.value,\n parentNode: null\n }\n patch(node, result)\n return result\n}\n\n/**\n * @param {Comment} node\n * Node (hast) to transform.\n * @returns {Parse5Comment}\n * Parse5 node.\n */\nfunction comment(node) {\n /** @type {Parse5Comment} */\n const result = {\n nodeName: '#comment',\n data: node.value,\n parentNode: null\n }\n\n patch(node, result)\n\n return result\n}\n\n/**\n * @param {Element} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Element}\n * Parse5 node.\n */\nfunction element(node, schema) {\n const parentSchema = schema\n let currentSchema = parentSchema\n\n if (\n node.type === 'element' &&\n node.tagName.toLowerCase() === 'svg' &&\n parentSchema.space === 'html'\n ) {\n currentSchema = svg\n }\n\n /** @type {Array<Parse5Attribute>} */\n const attrs = []\n /** @type {string} */\n let prop\n\n if (node.properties) {\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(\n currentSchema,\n prop,\n node.properties[prop]\n )\n\n if (result) {\n attrs.push(result)\n }\n }\n }\n }\n\n const space = currentSchema.space\n // `html` and `svg` both have a space.\n assert(space)\n\n /** @type {Parse5Element} */\n const result = {\n nodeName: node.tagName,\n tagName: node.tagName,\n attrs,\n // @ts-expect-error: `parse5` types are wrong.\n namespaceURI: webNamespaces[space],\n childNodes: [],\n parentNode: null\n }\n result.childNodes = all(node.children, result, currentSchema)\n patch(node, result)\n\n if (node.tagName === 'template' && node.content) {\n // @ts-expect-error: `parse5` types are wrong.\n result.content = fragment(node.content, currentSchema)\n }\n\n return result\n}\n\n/**\n * Handle a property.\n *\n * @param {Schema} schema\n * Current schema.\n * @param {string} prop\n * Key.\n * @param {Array<number | string> | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Parse5Attribute | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(schema, prop, value) {\n const info = find(schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === false ||\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (!value && info.boolean)\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n /** @type {Parse5Attribute} */\n const attribute = {\n name: info.attribute,\n value: value === true ? '' : String(value)\n }\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n const index = attribute.name.indexOf(':')\n\n if (index < 0) {\n attribute.prefix = ''\n } else {\n attribute.name = attribute.name.slice(index + 1)\n attribute.prefix = info.attribute.slice(0, index)\n }\n\n attribute.namespace = webNamespaces[info.space]\n }\n\n return attribute\n}\n\n/**\n * Transform all hast nodes.\n *\n * @param {Array<RootContent>} children\n * List of children.\n * @param {Parse5Parent} parentNode\n * `parse5` parent node.\n * @param {Schema} schema\n * Current schema.\n * @returns {Array<Parse5Content>}\n * Transformed children.\n */\nfunction all(children, parentNode, schema) {\n let index = -1\n /** @type {Array<Parse5Content>} */\n const results = []\n\n if (children) {\n while (++index < children.length) {\n /** @type {Parse5Content} */\n const child = one(children[index], schema)\n\n child.parentNode = parentNode\n\n results.push(child)\n }\n }\n\n return results\n}\n\n/**\n * Add position info from `from` to `to`.\n *\n * @param {Nodes} from\n * hast node.\n * @param {Parse5Nodes} to\n * `parse5` node.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n const position = from.position\n\n if (position && position.start && position.end) {\n assert(typeof position.start.offset === 'number')\n assert(typeof position.end.offset === 'number')\n\n to.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n}\n","const UNDEFINED_CODE_POINTS = new Set([\n 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214,\n 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894,\n 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574,\n 1048575, 1114110, 1114111,\n]);\nexport const REPLACEMENT_CHARACTER = '\\uFFFD';\nexport var CODE_POINTS;\n(function (CODE_POINTS) {\n CODE_POINTS[CODE_POINTS[\"EOF\"] = -1] = \"EOF\";\n CODE_POINTS[CODE_POINTS[\"NULL\"] = 0] = \"NULL\";\n CODE_POINTS[CODE_POINTS[\"TABULATION\"] = 9] = \"TABULATION\";\n CODE_POINTS[CODE_POINTS[\"CARRIAGE_RETURN\"] = 13] = \"CARRIAGE_RETURN\";\n CODE_POINTS[CODE_POINTS[\"LINE_FEED\"] = 10] = \"LINE_FEED\";\n CODE_POINTS[CODE_POINTS[\"FORM_FEED\"] = 12] = \"FORM_FEED\";\n CODE_POINTS[CODE_POINTS[\"SPACE\"] = 32] = \"SPACE\";\n CODE_POINTS[CODE_POINTS[\"EXCLAMATION_MARK\"] = 33] = \"EXCLAMATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"QUOTATION_MARK\"] = 34] = \"QUOTATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"AMPERSAND\"] = 38] = \"AMPERSAND\";\n CODE_POINTS[CODE_POINTS[\"APOSTROPHE\"] = 39] = \"APOSTROPHE\";\n CODE_POINTS[CODE_POINTS[\"HYPHEN_MINUS\"] = 45] = \"HYPHEN_MINUS\";\n CODE_POINTS[CODE_POINTS[\"SOLIDUS\"] = 47] = \"SOLIDUS\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_0\"] = 48] = \"DIGIT_0\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_9\"] = 57] = \"DIGIT_9\";\n CODE_POINTS[CODE_POINTS[\"SEMICOLON\"] = 59] = \"SEMICOLON\";\n CODE_POINTS[CODE_POINTS[\"LESS_THAN_SIGN\"] = 60] = \"LESS_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"EQUALS_SIGN\"] = 61] = \"EQUALS_SIGN\";\n CODE_POINTS[CODE_POINTS[\"GREATER_THAN_SIGN\"] = 62] = \"GREATER_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"QUESTION_MARK\"] = 63] = \"QUESTION_MARK\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_A\"] = 65] = \"LATIN_CAPITAL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_Z\"] = 90] = \"LATIN_CAPITAL_Z\";\n CODE_POINTS[CODE_POINTS[\"RIGHT_SQUARE_BRACKET\"] = 93] = \"RIGHT_SQUARE_BRACKET\";\n CODE_POINTS[CODE_POINTS[\"GRAVE_ACCENT\"] = 96] = \"GRAVE_ACCENT\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_A\"] = 97] = \"LATIN_SMALL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_Z\"] = 122] = \"LATIN_SMALL_Z\";\n})(CODE_POINTS || (CODE_POINTS = {}));\nexport const SEQUENCES = {\n DASH_DASH: '--',\n CDATA_START: '[CDATA[',\n DOCTYPE: 'doctype',\n SCRIPT: 'script',\n PUBLIC: 'public',\n SYSTEM: 'system',\n};\n//Surrogates\nexport function isSurrogate(cp) {\n return cp >= 55296 && cp <= 57343;\n}\nexport function isSurrogatePair(cp) {\n return cp >= 56320 && cp <= 57343;\n}\nexport function getSurrogatePairCodePoint(cp1, cp2) {\n return (cp1 - 55296) * 1024 + 9216 + cp2;\n}\n//NOTE: excluding NULL and ASCII whitespace\nexport function isControlCodePoint(cp) {\n return ((cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f));\n}\nexport function isUndefinedCodePoint(cp) {\n return (cp >= 64976 && cp <= 65007) || UNDEFINED_CODE_POINTS.has(cp);\n}\n","export var ERR;\n(function (ERR) {\n ERR[\"controlCharacterInInputStream\"] = \"control-character-in-input-stream\";\n ERR[\"noncharacterInInputStream\"] = \"noncharacter-in-input-stream\";\n ERR[\"surrogateInInputStream\"] = \"surrogate-in-input-stream\";\n ERR[\"nonVoidHtmlElementStartTagWithTrailingSolidus\"] = \"non-void-html-element-start-tag-with-trailing-solidus\";\n ERR[\"endTagWithAttributes\"] = \"end-tag-with-attributes\";\n ERR[\"endTagWithTrailingSolidus\"] = \"end-tag-with-trailing-solidus\";\n ERR[\"unexpectedSolidusInTag\"] = \"unexpected-solidus-in-tag\";\n ERR[\"unexpectedNullCharacter\"] = \"unexpected-null-character\";\n ERR[\"unexpectedQuestionMarkInsteadOfTagName\"] = \"unexpected-question-mark-instead-of-tag-name\";\n ERR[\"invalidFirstCharacterOfTagName\"] = \"invalid-first-character-of-tag-name\";\n ERR[\"unexpectedEqualsSignBeforeAttributeName\"] = \"unexpected-equals-sign-before-attribute-name\";\n ERR[\"missingEndTagName\"] = \"missing-end-tag-name\";\n ERR[\"unexpectedCharacterInAttributeName\"] = \"unexpected-character-in-attribute-name\";\n ERR[\"unknownNamedCharacterReference\"] = \"unknown-named-character-reference\";\n ERR[\"missingSemicolonAfterCharacterReference\"] = \"missing-semicolon-after-character-reference\";\n ERR[\"unexpectedCharacterAfterDoctypeSystemIdentifier\"] = \"unexpected-character-after-doctype-system-identifier\";\n ERR[\"unexpectedCharacterInUnquotedAttributeValue\"] = \"unexpected-character-in-unquoted-attribute-value\";\n ERR[\"eofBeforeTagName\"] = \"eof-before-tag-name\";\n ERR[\"eofInTag\"] = \"eof-in-tag\";\n ERR[\"missingAttributeValue\"] = \"missing-attribute-value\";\n ERR[\"missingWhitespaceBetweenAttributes\"] = \"missing-whitespace-between-attributes\";\n ERR[\"missingWhitespaceAfterDoctypePublicKeyword\"] = \"missing-whitespace-after-doctype-public-keyword\";\n ERR[\"missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers\"] = \"missing-whitespace-between-doctype-public-and-system-identifiers\";\n ERR[\"missingWhitespaceAfterDoctypeSystemKeyword\"] = \"missing-whitespace-after-doctype-system-keyword\";\n ERR[\"missingQuoteBeforeDoctypePublicIdentifier\"] = \"missing-quote-before-doctype-public-identifier\";\n ERR[\"missingQuoteBeforeDoctypeSystemIdentifier\"] = \"missing-quote-before-doctype-system-identifier\";\n ERR[\"missingDoctypePublicIdentifier\"] = \"missing-doctype-public-identifier\";\n ERR[\"missingDoctypeSystemIdentifier\"] = \"missing-doctype-system-identifier\";\n ERR[\"abruptDoctypePublicIdentifier\"] = \"abrupt-doctype-public-identifier\";\n ERR[\"abruptDoctypeSystemIdentifier\"] = \"abrupt-doctype-system-identifier\";\n ERR[\"cdataInHtmlContent\"] = \"cdata-in-html-content\";\n ERR[\"incorrectlyOpenedComment\"] = \"incorrectly-opened-comment\";\n ERR[\"eofInScriptHtmlCommentLikeText\"] = \"eof-in-script-html-comment-like-text\";\n ERR[\"eofInDoctype\"] = \"eof-in-doctype\";\n ERR[\"nestedComment\"] = \"nested-comment\";\n ERR[\"abruptClosingOfEmptyComment\"] = \"abrupt-closing-of-empty-comment\";\n ERR[\"eofInComment\"] = \"eof-in-comment\";\n ERR[\"incorrectlyClosedComment\"] = \"incorrectly-closed-comment\";\n ERR[\"eofInCdata\"] = \"eof-in-cdata\";\n ERR[\"absenceOfDigitsInNumericCharacterReference\"] = \"absence-of-digits-in-numeric-character-reference\";\n ERR[\"nullCharacterReference\"] = \"null-character-reference\";\n ERR[\"surrogateCharacterReference\"] = \"surrogate-character-reference\";\n ERR[\"characterReferenceOutsideUnicodeRange\"] = \"character-reference-outside-unicode-range\";\n ERR[\"controlCharacterReference\"] = \"control-character-reference\";\n ERR[\"noncharacterCharacterReference\"] = \"noncharacter-character-reference\";\n ERR[\"missingWhitespaceBeforeDoctypeName\"] = \"missing-whitespace-before-doctype-name\";\n ERR[\"missingDoctypeName\"] = \"missing-doctype-name\";\n ERR[\"invalidCharacterSequenceAfterDoctypeName\"] = \"invalid-character-sequence-after-doctype-name\";\n ERR[\"duplicateAttribute\"] = \"duplicate-attribute\";\n ERR[\"nonConformingDoctype\"] = \"non-conforming-doctype\";\n ERR[\"missingDoctype\"] = \"missing-doctype\";\n ERR[\"misplacedDoctype\"] = \"misplaced-doctype\";\n ERR[\"endTagWithoutMatchingOpenElement\"] = \"end-tag-without-matching-open-element\";\n ERR[\"closingOfElementWithOpenChildElements\"] = \"closing-of-element-with-open-child-elements\";\n ERR[\"disallowedContentInNoscriptInHead\"] = \"disallowed-content-in-noscript-in-head\";\n ERR[\"openElementsLeftAfterEof\"] = \"open-elements-left-after-eof\";\n ERR[\"abandonedHeadElementChild\"] = \"abandoned-head-element-child\";\n ERR[\"misplacedStartTagForHeadElement\"] = \"misplaced-start-tag-for-head-element\";\n ERR[\"nestedNoscriptInHead\"] = \"nested-noscript-in-head\";\n ERR[\"eofInElementThatCanContainOnlyText\"] = \"eof-in-element-that-can-contain-only-text\";\n})(ERR || (ERR = {}));\n","import { CODE_POINTS as $, getSurrogatePairCodePoint, isControlCodePoint, isSurrogate, isSurrogatePair, isUndefinedCodePoint, } from '../common/unicode.js';\nimport { ERR } from '../common/error-codes.js';\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nexport class Preprocessor {\n constructor(handler) {\n this.handler = handler;\n this.html = '';\n this.pos = -1;\n // NOTE: Initial `lastGapPos` is -2, to ensure `col` on initialisation is 0\n this.lastGapPos = -2;\n this.gapStack = [];\n this.skipNextNewLine = false;\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n this.line = 1;\n //NOTE: avoid reporting errors twice on advance/retreat\n this.lastErrOffset = -1;\n }\n /** The column on the current line. If we just saw a gap (eg. a surrogate pair), return the index before. */\n get col() {\n return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos);\n }\n get offset() {\n return this.droppedBufferSize + this.pos;\n }\n getError(code, cpOffset) {\n const { line, col, offset } = this;\n const startCol = col + cpOffset;\n const startOffset = offset + cpOffset;\n return {\n code,\n startLine: line,\n endLine: line,\n startCol,\n endCol: startCol,\n startOffset,\n endOffset: startOffset,\n };\n }\n _err(code) {\n if (this.handler.onParseError && this.lastErrOffset !== this.offset) {\n this.lastErrOffset = this.offset;\n this.handler.onParseError(this.getError(code, 0));\n }\n }\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.html.length - 1) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n if (isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n //NOTE: add a gap that should be avoided during retreat\n this._addGap();\n return getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n //NOTE: we are at the end of a chunk, therefore we can't infer the surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n return cp;\n }\n willDropParsedChunk() {\n return this.pos > this.bufferWaterline;\n }\n dropParsedChunk() {\n if (this.willDropParsedChunk()) {\n this.html = this.html.substring(this.pos);\n this.lineStartPos -= this.pos;\n this.droppedBufferSize += this.pos;\n this.pos = 0;\n this.lastGapPos = -2;\n this.gapStack.length = 0;\n }\n }\n write(chunk, isLastChunk) {\n if (this.html.length > 0) {\n this.html += chunk;\n }\n else {\n this.html = chunk;\n }\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1);\n this.endOfChunkHit = false;\n }\n startsWith(pattern, caseSensitive) {\n // Check if our buffer has enough characters\n if (this.pos + pattern.length > this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return false;\n }\n if (caseSensitive) {\n return this.html.startsWith(pattern, this.pos);\n }\n for (let i = 0; i < pattern.length; i++) {\n const cp = this.html.charCodeAt(this.pos + i) | 0x20;\n if (cp !== pattern.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n }\n peek(offset) {\n const pos = this.pos + offset;\n if (pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n const code = this.html.charCodeAt(pos);\n return code === $.CARRIAGE_RETURN ? $.LINE_FEED : code;\n }\n advance() {\n this.pos++;\n //NOTE: LF should be in the last column of the line\n if (this.isEol) {\n this.isEol = false;\n this.line++;\n this.lineStartPos = this.pos;\n }\n if (this.pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n let cp = this.html.charCodeAt(this.pos);\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.isEol = true;\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (cp === $.LINE_FEED) {\n this.isEol = true;\n if (this.skipNextNewLine) {\n // `line` will be bumped again in the recursive call.\n this.line--;\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n }\n this.skipNextNewLine = false;\n if (isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange = this.handler.onParseError === null ||\n (cp > 0x1f && cp < 0x7f) ||\n cp === $.LINE_FEED ||\n cp === $.CARRIAGE_RETURN ||\n (cp > 0x9f && cp < 64976);\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n return cp;\n }\n _checkForProblematicCharacters(cp) {\n if (isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n }\n else if (isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n retreat(count) {\n this.pos -= count;\n while (this.pos < this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n this.isEol = false;\n }\n}\n","export var TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"CHARACTER\"] = 0] = \"CHARACTER\";\n TokenType[TokenType[\"NULL_CHARACTER\"] = 1] = \"NULL_CHARACTER\";\n TokenType[TokenType[\"WHITESPACE_CHARACTER\"] = 2] = \"WHITESPACE_CHARACTER\";\n TokenType[TokenType[\"START_TAG\"] = 3] = \"START_TAG\";\n TokenType[TokenType[\"END_TAG\"] = 4] = \"END_TAG\";\n TokenType[TokenType[\"COMMENT\"] = 5] = \"COMMENT\";\n TokenType[TokenType[\"DOCTYPE\"] = 6] = \"DOCTYPE\";\n TokenType[TokenType[\"EOF\"] = 7] = \"EOF\";\n TokenType[TokenType[\"HIBERNATION\"] = 8] = \"HIBERNATION\";\n})(TokenType || (TokenType = {}));\nexport function getTokenAttr(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n return null;\n}\n","// Generated using scripts/write-decode-map.ts\nexport const htmlDecodeTree = /* #__PURE__ */ new Uint16Array(\n// prettier-ignore\n/* #__PURE__ */ \"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map((c) => c.charCodeAt(0)));\n//# sourceMappingURL=decode-data-html.js.map","// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nconst decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexport const fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n let output = \"\";\n if (codePoint > 65535) {\n codePoint -= 65536;\n output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296);\n codePoint = 56320 | (codePoint & 1023);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nexport function replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 55296 && codePoint <= 57343) ||\n codePoint > 1114111) {\n return 65533;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nexport function decodeCodePoint(codePoint) {\n return fromCodePoint(replaceCodePoint(codePoint));\n}\n//# sourceMappingURL=decode-codepoint.js.map","import { htmlDecodeTree } from \"./generated/decode-data-html.js\";\nimport { xmlDecodeTree } from \"./generated/decode-data-xml.js\";\nimport { replaceCodePoint, fromCodePoint } from \"./decode-codepoint.js\";\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nconst TO_LOWER_BIT = 32;\nexport var BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags || (BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nexport var DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode || (DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nexport class EntityDecoder {\n constructor(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n startEntity(decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n }\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n write(input, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (input.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(input, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(input, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(input, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(input, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(input, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(input, offset);\n }\n }\n }\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericStart(input, offset) {\n if (offset >= input.length) {\n return -1;\n }\n if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(input, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(input, offset);\n }\n addToNumericResult(input, start, end, base) {\n if (start !== end) {\n const digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n Number.parseInt(input.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n }\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericHex(input, offset) {\n const startIndex = offset;\n while (offset < input.length) {\n const char = input.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(input, startIndex, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(input, startIndex, offset, 16);\n return -1;\n }\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericDecimal(input, offset) {\n const startIndex = offset;\n while (offset < input.length) {\n const char = input.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(input, startIndex, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(input, startIndex, offset, 10);\n return -1;\n }\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n emitNumericEntity(lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint(replaceCodePoint(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n }\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNamedEntity(input, offset) {\n const { decodeTree } = this;\n let current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < input.length; offset++, this.excess++) {\n const char = input.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n }\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n emitNotTerminatedNamedEntity() {\n var _a;\n const { result, decodeTree } = this;\n const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n }\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n emitNamedEntityData(result, valueLength, consumed) {\n const { decodeTree } = this;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n }\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n end() {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n }\n}\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n let returnValue = \"\";\n const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += fromCodePoint(data)));\n return function decodeWithTrie(input, decodeMode) {\n let lastIndex = 0;\n let offset = 0;\n while ((offset = input.indexOf(\"&\", offset)) >= 0) {\n returnValue += input.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n const length = decoder.write(input, \n // Skip the \"&\"\n offset + 1);\n if (length < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + length;\n // If `length` is 0, skip the current `&` and continue.\n offset = length === 0 ? lastIndex + 1 : lastIndex;\n }\n const result = returnValue + input.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n returnValue = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nexport function determineBranch(decodeTree, current, nodeIndex, char) {\n const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n const jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n const value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIndex + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n let lo = nodeIndex;\n let hi = lo + branchCount - 1;\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midValue = decodeTree[mid];\n if (midValue < char) {\n lo = mid + 1;\n }\n else if (midValue > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nconst htmlDecoder = /* #__PURE__ */ getDecoder(htmlDecodeTree);\nconst xmlDecoder = /* #__PURE__ */ getDecoder(xmlDecodeTree);\n/**\n * Decodes an HTML string.\n *\n * @param htmlString The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nexport function decodeHTML(htmlString, mode = DecodingMode.Legacy) {\n return htmlDecoder(htmlString, mode);\n}\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param htmlAttribute The string to decode.\n * @returns The decoded string.\n */\nexport function decodeHTMLAttribute(htmlAttribute) {\n return htmlDecoder(htmlAttribute, DecodingMode.Attribute);\n}\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param htmlString The string to decode.\n * @returns The decoded string.\n */\nexport function decodeHTMLStrict(htmlString) {\n return htmlDecoder(htmlString, DecodingMode.Strict);\n}\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param xmlString The string to decode.\n * @returns The decoded string.\n */\nexport function decodeXML(xmlString) {\n return xmlDecoder(xmlString, DecodingMode.Strict);\n}\n// Re-export for use by eg. htmlparser2\nexport { htmlDecodeTree } from \"./generated/decode-data-html.js\";\nexport { xmlDecodeTree } from \"./generated/decode-data-xml.js\";\nexport { decodeCodePoint, replaceCodePoint, fromCodePoint, } from \"./decode-codepoint.js\";\n//# sourceMappingURL=decode.js.map","/** All valid namespaces in HTML. */\nexport var NS;\n(function (NS) {\n NS[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\n NS[\"MATHML\"] = \"http://www.w3.org/1998/Math/MathML\";\n NS[\"SVG\"] = \"http://www.w3.org/2000/svg\";\n NS[\"XLINK\"] = \"http://www.w3.org/1999/xlink\";\n NS[\"XML\"] = \"http://www.w3.org/XML/1998/namespace\";\n NS[\"XMLNS\"] = \"http://www.w3.org/2000/xmlns/\";\n})(NS || (NS = {}));\nexport var ATTRS;\n(function (ATTRS) {\n ATTRS[\"TYPE\"] = \"type\";\n ATTRS[\"ACTION\"] = \"action\";\n ATTRS[\"ENCODING\"] = \"encoding\";\n ATTRS[\"PROMPT\"] = \"prompt\";\n ATTRS[\"NAME\"] = \"name\";\n ATTRS[\"COLOR\"] = \"color\";\n ATTRS[\"FACE\"] = \"face\";\n ATTRS[\"SIZE\"] = \"size\";\n})(ATTRS || (ATTRS = {}));\n/**\n * The mode of the document.\n *\n * @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}\n */\nexport var DOCUMENT_MODE;\n(function (DOCUMENT_MODE) {\n DOCUMENT_MODE[\"NO_QUIRKS\"] = \"no-quirks\";\n DOCUMENT_MODE[\"QUIRKS\"] = \"quirks\";\n DOCUMENT_MODE[\"LIMITED_QUIRKS\"] = \"limited-quirks\";\n})(DOCUMENT_MODE || (DOCUMENT_MODE = {}));\nexport var TAG_NAMES;\n(function (TAG_NAMES) {\n TAG_NAMES[\"A\"] = \"a\";\n TAG_NAMES[\"ADDRESS\"] = \"address\";\n TAG_NAMES[\"ANNOTATION_XML\"] = \"annotation-xml\";\n TAG_NAMES[\"APPLET\"] = \"applet\";\n TAG_NAMES[\"AREA\"] = \"area\";\n TAG_NAMES[\"ARTICLE\"] = \"article\";\n TAG_NAMES[\"ASIDE\"] = \"aside\";\n TAG_NAMES[\"B\"] = \"b\";\n TAG_NAMES[\"BASE\"] = \"base\";\n TAG_NAMES[\"BASEFONT\"] = \"basefont\";\n TAG_NAMES[\"BGSOUND\"] = \"bgsound\";\n TAG_NAMES[\"BIG\"] = \"big\";\n TAG_NAMES[\"BLOCKQUOTE\"] = \"blockquote\";\n TAG_NAMES[\"BODY\"] = \"body\";\n TAG_NAMES[\"BR\"] = \"br\";\n TAG_NAMES[\"BUTTON\"] = \"button\";\n TAG_NAMES[\"CAPTION\"] = \"caption\";\n TAG_NAMES[\"CENTER\"] = \"center\";\n TAG_NAMES[\"CODE\"] = \"code\";\n TAG_NAMES[\"COL\"] = \"col\";\n TAG_NAMES[\"COLGROUP\"] = \"colgroup\";\n TAG_NAMES[\"DD\"] = \"dd\";\n TAG_NAMES[\"DESC\"] = \"desc\";\n TAG_NAMES[\"DETAILS\"] = \"details\";\n TAG_NAMES[\"DIALOG\"] = \"dialog\";\n TAG_NAMES[\"DIR\"] = \"dir\";\n TAG_NAMES[\"DIV\"] = \"div\";\n TAG_NAMES[\"DL\"] = \"dl\";\n TAG_NAMES[\"DT\"] = \"dt\";\n TAG_NAMES[\"EM\"] = \"em\";\n TAG_NAMES[\"EMBED\"] = \"embed\";\n TAG_NAMES[\"FIELDSET\"] = \"fieldset\";\n TAG_NAMES[\"FIGCAPTION\"] = \"figcaption\";\n TAG_NAMES[\"FIGURE\"] = \"figure\";\n TAG_NAMES[\"FONT\"] = \"font\";\n TAG_NAMES[\"FOOTER\"] = \"footer\";\n TAG_NAMES[\"FOREIGN_OBJECT\"] = \"foreignObject\";\n TAG_NAMES[\"FORM\"] = \"form\";\n TAG_NAMES[\"FRAME\"] = \"frame\";\n TAG_NAMES[\"FRAMESET\"] = \"frameset\";\n TAG_NAMES[\"H1\"] = \"h1\";\n TAG_NAMES[\"H2\"] = \"h2\";\n TAG_NAMES[\"H3\"] = \"h3\";\n TAG_NAMES[\"H4\"] = \"h4\";\n TAG_NAMES[\"H5\"] = \"h5\";\n TAG_NAMES[\"H6\"] = \"h6\";\n TAG_NAMES[\"HEAD\"] = \"head\";\n TAG_NAMES[\"HEADER\"] = \"header\";\n TAG_NAMES[\"HGROUP\"] = \"hgroup\";\n TAG_NAMES[\"HR\"] = \"hr\";\n TAG_NAMES[\"HTML\"] = \"html\";\n TAG_NAMES[\"I\"] = \"i\";\n TAG_NAMES[\"IMG\"] = \"img\";\n TAG_NAMES[\"IMAGE\"] = \"image\";\n TAG_NAMES[\"INPUT\"] = \"input\";\n TAG_NAMES[\"IFRAME\"] = \"iframe\";\n TAG_NAMES[\"KEYGEN\"] = \"keygen\";\n TAG_NAMES[\"LABEL\"] = \"label\";\n TAG_NAMES[\"LI\"] = \"li\";\n TAG_NAMES[\"LINK\"] = \"link\";\n TAG_NAMES[\"LISTING\"] = \"listing\";\n TAG_NAMES[\"MAIN\"] = \"main\";\n TAG_NAMES[\"MALIGNMARK\"] = \"malignmark\";\n TAG_NAMES[\"MARQUEE\"] = \"marquee\";\n TAG_NAMES[\"MATH\"] = \"math\";\n TAG_NAMES[\"MENU\"] = \"menu\";\n TAG_NAMES[\"META\"] = \"meta\";\n TAG_NAMES[\"MGLYPH\"] = \"mglyph\";\n TAG_NAMES[\"MI\"] = \"mi\";\n TAG_NAMES[\"MO\"] = \"mo\";\n TAG_NAMES[\"MN\"] = \"mn\";\n TAG_NAMES[\"MS\"] = \"ms\";\n TAG_NAMES[\"MTEXT\"] = \"mtext\";\n TAG_NAMES[\"NAV\"] = \"nav\";\n TAG_NAMES[\"NOBR\"] = \"nobr\";\n TAG_NAMES[\"NOFRAMES\"] = \"noframes\";\n TAG_NAMES[\"NOEMBED\"] = \"noembed\";\n TAG_NAMES[\"NOSCRIPT\"] = \"noscript\";\n TAG_NAMES[\"OBJECT\"] = \"object\";\n TAG_NAMES[\"OL\"] = \"ol\";\n TAG_NAMES[\"OPTGROUP\"] = \"optgroup\";\n TAG_NAMES[\"OPTION\"] = \"option\";\n TAG_NAMES[\"P\"] = \"p\";\n TAG_NAMES[\"PARAM\"] = \"param\";\n TAG_NAMES[\"PLAINTEXT\"] = \"plaintext\";\n TAG_NAMES[\"PRE\"] = \"pre\";\n TAG_NAMES[\"RB\"] = \"rb\";\n TAG_NAMES[\"RP\"] = \"rp\";\n TAG_NAMES[\"RT\"] = \"rt\";\n TAG_NAMES[\"RTC\"] = \"rtc\";\n TAG_NAMES[\"RUBY\"] = \"ruby\";\n TAG_NAMES[\"S\"] = \"s\";\n TAG_NAMES[\"SCRIPT\"] = \"script\";\n TAG_NAMES[\"SEARCH\"] = \"search\";\n TAG_NAMES[\"SECTION\"] = \"section\";\n TAG_NAMES[\"SELECT\"] = \"select\";\n TAG_NAMES[\"SOURCE\"] = \"source\";\n TAG_NAMES[\"SMALL\"] = \"small\";\n TAG_NAMES[\"SPAN\"] = \"span\";\n TAG_NAMES[\"STRIKE\"] = \"strike\";\n TAG_NAMES[\"STRONG\"] = \"strong\";\n TAG_NAMES[\"STYLE\"] = \"style\";\n TAG_NAMES[\"SUB\"] = \"sub\";\n TAG_NAMES[\"SUMMARY\"] = \"summary\";\n TAG_NAMES[\"SUP\"] = \"sup\";\n TAG_NAMES[\"TABLE\"] = \"table\";\n TAG_NAMES[\"TBODY\"] = \"tbody\";\n TAG_NAMES[\"TEMPLATE\"] = \"template\";\n TAG_NAMES[\"TEXTAREA\"] = \"textarea\";\n TAG_NAMES[\"TFOOT\"] = \"tfoot\";\n TAG_NAMES[\"TD\"] = \"td\";\n TAG_NAMES[\"TH\"] = \"th\";\n TAG_NAMES[\"THEAD\"] = \"thead\";\n TAG_NAMES[\"TITLE\"] = \"title\";\n TAG_NAMES[\"TR\"] = \"tr\";\n TAG_NAMES[\"TRACK\"] = \"track\";\n TAG_NAMES[\"TT\"] = \"tt\";\n TAG_NAMES[\"U\"] = \"u\";\n TAG_NAMES[\"UL\"] = \"ul\";\n TAG_NAMES[\"SVG\"] = \"svg\";\n TAG_NAMES[\"VAR\"] = \"var\";\n TAG_NAMES[\"WBR\"] = \"wbr\";\n TAG_NAMES[\"XMP\"] = \"xmp\";\n})(TAG_NAMES || (TAG_NAMES = {}));\n/**\n * Tag IDs are numeric IDs for known tag names.\n *\n * We use tag IDs to improve the performance of tag name comparisons.\n */\nexport var TAG_ID;\n(function (TAG_ID) {\n TAG_ID[TAG_ID[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n TAG_ID[TAG_ID[\"A\"] = 1] = \"A\";\n TAG_ID[TAG_ID[\"ADDRESS\"] = 2] = \"ADDRESS\";\n TAG_ID[TAG_ID[\"ANNOTATION_XML\"] = 3] = \"ANNOTATION_XML\";\n TAG_ID[TAG_ID[\"APPLET\"] = 4] = \"APPLET\";\n TAG_ID[TAG_ID[\"AREA\"] = 5] = \"AREA\";\n TAG_ID[TAG_ID[\"ARTICLE\"] = 6] = \"ARTICLE\";\n TAG_ID[TAG_ID[\"ASIDE\"] = 7] = \"ASIDE\";\n TAG_ID[TAG_ID[\"B\"] = 8] = \"B\";\n TAG_ID[TAG_ID[\"BASE\"] = 9] = \"BASE\";\n TAG_ID[TAG_ID[\"BASEFONT\"] = 10] = \"BASEFONT\";\n TAG_ID[TAG_ID[\"BGSOUND\"] = 11] = \"BGSOUND\";\n TAG_ID[TAG_ID[\"BIG\"] = 12] = \"BIG\";\n TAG_ID[TAG_ID[\"BLOCKQUOTE\"] = 13] = \"BLOCKQUOTE\";\n TAG_ID[TAG_ID[\"BODY\"] = 14] = \"BODY\";\n TAG_ID[TAG_ID[\"BR\"] = 15] = \"BR\";\n TAG_ID[TAG_ID[\"BUTTON\"] = 16] = \"BUTTON\";\n TAG_ID[TAG_ID[\"CAPTION\"] = 17] = \"CAPTION\";\n TAG_ID[TAG_ID[\"CENTER\"] = 18] = \"CENTER\";\n TAG_ID[TAG_ID[\"CODE\"] = 19] = \"CODE\";\n TAG_ID[TAG_ID[\"COL\"] = 20] = \"COL\";\n TAG_ID[TAG_ID[\"COLGROUP\"] = 21] = \"COLGROUP\";\n TAG_ID[TAG_ID[\"DD\"] = 22] = \"DD\";\n TAG_ID[TAG_ID[\"DESC\"] = 23] = \"DESC\";\n TAG_ID[TAG_ID[\"DETAILS\"] = 24] = \"DETAILS\";\n TAG_ID[TAG_ID[\"DIALOG\"] = 25] = \"DIALOG\";\n TAG_ID[TAG_ID[\"DIR\"] = 26] = \"DIR\";\n TAG_ID[TAG_ID[\"DIV\"] = 27] = \"DIV\";\n TAG_ID[TAG_ID[\"DL\"] = 28] = \"DL\";\n TAG_ID[TAG_ID[\"DT\"] = 29] = \"DT\";\n TAG_ID[TAG_ID[\"EM\"] = 30] = \"EM\";\n TAG_ID[TAG_ID[\"EMBED\"] = 31] = \"EMBED\";\n TAG_ID[TAG_ID[\"FIELDSET\"] = 32] = \"FIELDSET\";\n TAG_ID[TAG_ID[\"FIGCAPTION\"] = 33] = \"FIGCAPTION\";\n TAG_ID[TAG_ID[\"FIGURE\"] = 34] = \"FIGURE\";\n TAG_ID[TAG_ID[\"FONT\"] = 35] = \"FONT\";\n TAG_ID[TAG_ID[\"FOOTER\"] = 36] = \"FOOTER\";\n TAG_ID[TAG_ID[\"FOREIGN_OBJECT\"] = 37] = \"FOREIGN_OBJECT\";\n TAG_ID[TAG_ID[\"FORM\"] = 38] = \"FORM\";\n TAG_ID[TAG_ID[\"FRAME\"] = 39] = \"FRAME\";\n TAG_ID[TAG_ID[\"FRAMESET\"] = 40] = \"FRAMESET\";\n TAG_ID[TAG_ID[\"H1\"] = 41] = \"H1\";\n TAG_ID[TAG_ID[\"H2\"] = 42] = \"H2\";\n TAG_ID[TAG_ID[\"H3\"] = 43] = \"H3\";\n TAG_ID[TAG_ID[\"H4\"] = 44] = \"H4\";\n TAG_ID[TAG_ID[\"H5\"] = 45] = \"H5\";\n TAG_ID[TAG_ID[\"H6\"] = 46] = \"H6\";\n TAG_ID[TAG_ID[\"HEAD\"] = 47] = \"HEAD\";\n TAG_ID[TAG_ID[\"HEADER\"] = 48] = \"HEADER\";\n TAG_ID[TAG_ID[\"HGROUP\"] = 49] = \"HGROUP\";\n TAG_ID[TAG_ID[\"HR\"] = 50] = \"HR\";\n TAG_ID[TAG_ID[\"HTML\"] = 51] = \"HTML\";\n TAG_ID[TAG_ID[\"I\"] = 52] = \"I\";\n TAG_ID[TAG_ID[\"IMG\"] = 53] = \"IMG\";\n TAG_ID[TAG_ID[\"IMAGE\"] = 54] = \"IMAGE\";\n TAG_ID[TAG_ID[\"INPUT\"] = 55] = \"INPUT\";\n TAG_ID[TAG_ID[\"IFRAME\"] = 56] = \"IFRAME\";\n TAG_ID[TAG_ID[\"KEYGEN\"] = 57] = \"KEYGEN\";\n TAG_ID[TAG_ID[\"LABEL\"] = 58] = \"LABEL\";\n TAG_ID[TAG_ID[\"LI\"] = 59] = \"LI\";\n TAG_ID[TAG_ID[\"LINK\"] = 60] = \"LINK\";\n TAG_ID[TAG_ID[\"LISTING\"] = 61] = \"LISTING\";\n TAG_ID[TAG_ID[\"MAIN\"] = 62] = \"MAIN\";\n TAG_ID[TAG_ID[\"MALIGNMARK\"] = 63] = \"MALIGNMARK\";\n TAG_ID[TAG_ID[\"MARQUEE\"] = 64] = \"MARQUEE\";\n TAG_ID[TAG_ID[\"MATH\"] = 65] = \"MATH\";\n TAG_ID[TAG_ID[\"MENU\"] = 66] = \"MENU\";\n TAG_ID[TAG_ID[\"META\"] = 67] = \"META\";\n TAG_ID[TAG_ID[\"MGLYPH\"] = 68] = \"MGLYPH\";\n TAG_ID[TAG_ID[\"MI\"] = 69] = \"MI\";\n TAG_ID[TAG_ID[\"MO\"] = 70] = \"MO\";\n TAG_ID[TAG_ID[\"MN\"] = 71] = \"MN\";\n TAG_ID[TAG_ID[\"MS\"] = 72] = \"MS\";\n TAG_ID[TAG_ID[\"MTEXT\"] = 73] = \"MTEXT\";\n TAG_ID[TAG_ID[\"NAV\"] = 74] = \"NAV\";\n TAG_ID[TAG_ID[\"NOBR\"] = 75] = \"NOBR\";\n TAG_ID[TAG_ID[\"NOFRAMES\"] = 76] = \"NOFRAMES\";\n TAG_ID[TAG_ID[\"NOEMBED\"] = 77] = \"NOEMBED\";\n TAG_ID[TAG_ID[\"NOSCRIPT\"] = 78] = \"NOSCRIPT\";\n TAG_ID[TAG_ID[\"OBJECT\"] = 79] = \"OBJECT\";\n TAG_ID[TAG_ID[\"OL\"] = 80] = \"OL\";\n TAG_ID[TAG_ID[\"OPTGROUP\"] = 81] = \"OPTGROUP\";\n TAG_ID[TAG_ID[\"OPTION\"] = 82] = \"OPTION\";\n TAG_ID[TAG_ID[\"P\"] = 83] = \"P\";\n TAG_ID[TAG_ID[\"PARAM\"] = 84] = \"PARAM\";\n TAG_ID[TAG_ID[\"PLAINTEXT\"] = 85] = \"PLAINTEXT\";\n TAG_ID[TAG_ID[\"PRE\"] = 86] = \"PRE\";\n TAG_ID[TAG_ID[\"RB\"] = 87] = \"RB\";\n TAG_ID[TAG_ID[\"RP\"] = 88] = \"RP\";\n TAG_ID[TAG_ID[\"RT\"] = 89] = \"RT\";\n TAG_ID[TAG_ID[\"RTC\"] = 90] = \"RTC\";\n TAG_ID[TAG_ID[\"RUBY\"] = 91] = \"RUBY\";\n TAG_ID[TAG_ID[\"S\"] = 92] = \"S\";\n TAG_ID[TAG_ID[\"SCRIPT\"] = 93] = \"SCRIPT\";\n TAG_ID[TAG_ID[\"SEARCH\"] = 94] = \"SEARCH\";\n TAG_ID[TAG_ID[\"SECTION\"] = 95] = \"SECTION\";\n TAG_ID[TAG_ID[\"SELECT\"] = 96] = \"SELECT\";\n TAG_ID[TAG_ID[\"SOURCE\"] = 97] = \"SOURCE\";\n TAG_ID[TAG_ID[\"SMALL\"] = 98] = \"SMALL\";\n TAG_ID[TAG_ID[\"SPAN\"] = 99] = \"SPAN\";\n TAG_ID[TAG_ID[\"STRIKE\"] = 100] = \"STRIKE\";\n TAG_ID[TAG_ID[\"STRONG\"] = 101] = \"STRONG\";\n TAG_ID[TAG_ID[\"STYLE\"] = 102] = \"STYLE\";\n TAG_ID[TAG_ID[\"SUB\"] = 103] = \"SUB\";\n TAG_ID[TAG_ID[\"SUMMARY\"] = 104] = \"SUMMARY\";\n TAG_ID[TAG_ID[\"SUP\"] = 105] = \"SUP\";\n TAG_ID[TAG_ID[\"TABLE\"] = 106] = \"TABLE\";\n TAG_ID[TAG_ID[\"TBODY\"] = 107] = \"TBODY\";\n TAG_ID[TAG_ID[\"TEMPLATE\"] = 108] = \"TEMPLATE\";\n TAG_ID[TAG_ID[\"TEXTAREA\"] = 109] = \"TEXTAREA\";\n TAG_ID[TAG_ID[\"TFOOT\"] = 110] = \"TFOOT\";\n TAG_ID[TAG_ID[\"TD\"] = 111] = \"TD\";\n TAG_ID[TAG_ID[\"TH\"] = 112] = \"TH\";\n TAG_ID[TAG_ID[\"THEAD\"] = 113] = \"THEAD\";\n TAG_ID[TAG_ID[\"TITLE\"] = 114] = \"TITLE\";\n TAG_ID[TAG_ID[\"TR\"] = 115] = \"TR\";\n TAG_ID[TAG_ID[\"TRACK\"] = 116] = \"TRACK\";\n TAG_ID[TAG_ID[\"TT\"] = 117] = \"TT\";\n TAG_ID[TAG_ID[\"U\"] = 118] = \"U\";\n TAG_ID[TAG_ID[\"UL\"] = 119] = \"UL\";\n TAG_ID[TAG_ID[\"SVG\"] = 120] = \"SVG\";\n TAG_ID[TAG_ID[\"VAR\"] = 121] = \"VAR\";\n TAG_ID[TAG_ID[\"WBR\"] = 122] = \"WBR\";\n TAG_ID[TAG_ID[\"XMP\"] = 123] = \"XMP\";\n})(TAG_ID || (TAG_ID = {}));\nconst TAG_NAME_TO_ID = new Map([\n [TAG_NAMES.A, TAG_ID.A],\n [TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],\n [TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],\n [TAG_NAMES.APPLET, TAG_ID.APPLET],\n [TAG_NAMES.AREA, TAG_ID.AREA],\n [TAG_NAMES.ARTICLE, TAG_ID.ARTICLE],\n [TAG_NAMES.ASIDE, TAG_ID.ASIDE],\n [TAG_NAMES.B, TAG_ID.B],\n [TAG_NAMES.BASE, TAG_ID.BASE],\n [TAG_NAMES.BASEFONT, TAG_ID.BASEFONT],\n [TAG_NAMES.BGSOUND, TAG_ID.BGSOUND],\n [TAG_NAMES.BIG, TAG_ID.BIG],\n [TAG_NAMES.BLOCKQUOTE, TAG_ID.BLOCKQUOTE],\n [TAG_NAMES.BODY, TAG_ID.BODY],\n [TAG_NAMES.BR, TAG_ID.BR],\n [TAG_NAMES.BUTTON, TAG_ID.BUTTON],\n [TAG_NAMES.CAPTION, TAG_ID.CAPTION],\n [TAG_NAMES.CENTER, TAG_ID.CENTER],\n [TAG_NAMES.CODE, TAG_ID.CODE],\n [TAG_NAMES.COL, TAG_ID.COL],\n [TAG_NAMES.COLGROUP, TAG_ID.COLGROUP],\n [TAG_NAMES.DD, TAG_ID.DD],\n [TAG_NAMES.DESC, TAG_ID.DESC],\n [TAG_NAMES.DETAILS, TAG_ID.DETAILS],\n [TAG_NAMES.DIALOG, TAG_ID.DIALOG],\n [TAG_NAMES.DIR, TAG_ID.DIR],\n [TAG_NAMES.DIV, TAG_ID.DIV],\n [TAG_NAMES.DL, TAG_ID.DL],\n [TAG_NAMES.DT, TAG_ID.DT],\n [TAG_NAMES.EM, TAG_ID.EM],\n [TAG_NAMES.EMBED, TAG_ID.EMBED],\n [TAG_NAMES.FIELDSET, TAG_ID.FIELDSET],\n [TAG_NAMES.FIGCAPTION, TAG_ID.FIGCAPTION],\n [TAG_NAMES.FIGURE, TAG_ID.FIGURE],\n [TAG_NAMES.FONT, TAG_ID.FONT],\n [TAG_NAMES.FOOTER, TAG_ID.FOOTER],\n [TAG_NAMES.FOREIGN_OBJECT, TAG_ID.FOREIGN_OBJECT],\n [TAG_NAMES.FORM, TAG_ID.FORM],\n [TAG_NAMES.FRAME, TAG_ID.FRAME],\n [TAG_NAMES.FRAMESET, TAG_ID.FRAMESET],\n [TAG_NAMES.H1, TAG_ID.H1],\n [TAG_NAMES.H2, TAG_ID.H2],\n [TAG_NAMES.H3, TAG_ID.H3],\n [TAG_NAMES.H4, TAG_ID.H4],\n [TAG_NAMES.H5, TAG_ID.H5],\n [TAG_NAMES.H6, TAG_ID.H6],\n [TAG_NAMES.HEAD, TAG_ID.HEAD],\n [TAG_NAMES.HEADER, TAG_ID.HEADER],\n [TAG_NAMES.HGROUP, TAG_ID.HGROUP],\n [TAG_NAMES.HR, TAG_ID.HR],\n [TAG_NAMES.HTML, TAG_ID.HTML],\n [TAG_NAMES.I, TAG_ID.I],\n [TAG_NAMES.IMG, TAG_ID.IMG],\n [TAG_NAMES.IMAGE, TAG_ID.IMAGE],\n [TAG_NAMES.INPUT, TAG_ID.INPUT],\n [TAG_NAMES.IFRAME, TAG_ID.IFRAME],\n [TAG_NAMES.KEYGEN, TAG_ID.KEYGEN],\n [TAG_NAMES.LABEL, TAG_ID.LABEL],\n [TAG_NAMES.LI, TAG_ID.LI],\n [TAG_NAMES.LINK, TAG_ID.LINK],\n [TAG_NAMES.LISTING, TAG_ID.LISTING],\n [TAG_NAMES.MAIN, TAG_ID.MAIN],\n [TAG_NAMES.MALIGNMARK, TAG_ID.MALIGNMARK],\n [TAG_NAMES.MARQUEE, TAG_ID.MARQUEE],\n [TAG_NAMES.MATH, TAG_ID.MATH],\n [TAG_NAMES.MENU, TAG_ID.MENU],\n [TAG_NAMES.META, TAG_ID.META],\n [TAG_NAMES.MGLYPH, TAG_ID.MGLYPH],\n [TAG_NAMES.MI, TAG_ID.MI],\n [TAG_NAMES.MO, TAG_ID.MO],\n [TAG_NAMES.MN, TAG_ID.MN],\n [TAG_NAMES.MS, TAG_ID.MS],\n [TAG_NAMES.MTEXT, TAG_ID.MTEXT],\n [TAG_NAMES.NAV, TAG_ID.NAV],\n [TAG_NAMES.NOBR, TAG_ID.NOBR],\n [TAG_NAMES.NOFRAMES, TAG_ID.NOFRAMES],\n [TAG_NAMES.NOEMBED, TAG_ID.NOEMBED],\n [TAG_NAMES.NOSCRIPT, TAG_ID.NOSCRIPT],\n [TAG_NAMES.OBJECT, TAG_ID.OBJECT],\n [TAG_NAMES.OL, TAG_ID.OL],\n [TAG_NAMES.OPTGROUP, TAG_ID.OPTGROUP],\n [TAG_NAMES.OPTION, TAG_ID.OPTION],\n [TAG_NAMES.P, TAG_ID.P],\n [TAG_NAMES.PARAM, TAG_ID.PARAM],\n [TAG_NAMES.PLAINTEXT, TAG_ID.PLAINTEXT],\n [TAG_NAMES.PRE, TAG_ID.PRE],\n [TAG_NAMES.RB, TAG_ID.RB],\n [TAG_NAMES.RP, TAG_ID.RP],\n [TAG_NAMES.RT, TAG_ID.RT],\n [TAG_NAMES.RTC, TAG_ID.RTC],\n [TAG_NAMES.RUBY, TAG_ID.RUBY],\n [TAG_NAMES.S, TAG_ID.S],\n [TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],\n [TAG_NAMES.SEARCH, TAG_ID.SEARCH],\n [TAG_NAMES.SECTION, TAG_ID.SECTION],\n [TAG_NAMES.SELECT, TAG_ID.SELECT],\n [TAG_NAMES.SOURCE, TAG_ID.SOURCE],\n [TAG_NAMES.SMALL, TAG_ID.SMALL],\n [TAG_NAMES.SPAN, TAG_ID.SPAN],\n [TAG_NAMES.STRIKE, TAG_ID.STRIKE],\n [TAG_NAMES.STRONG, TAG_ID.STRONG],\n [TAG_NAMES.STYLE, TAG_ID.STYLE],\n [TAG_NAMES.SUB, TAG_ID.SUB],\n [TAG_NAMES.SUMMARY, TAG_ID.SUMMARY],\n [TAG_NAMES.SUP, TAG_ID.SUP],\n [TAG_NAMES.TABLE, TAG_ID.TABLE],\n [TAG_NAMES.TBODY, TAG_ID.TBODY],\n [TAG_NAMES.TEMPLATE, TAG_ID.TEMPLATE],\n [TAG_NAMES.TEXTAREA, TAG_ID.TEXTAREA],\n [TAG_NAMES.TFOOT, TAG_ID.TFOOT],\n [TAG_NAMES.TD, TAG_ID.TD],\n [TAG_NAMES.TH, TAG_ID.TH],\n [TAG_NAMES.THEAD, TAG_ID.THEAD],\n [TAG_NAMES.TITLE, TAG_ID.TITLE],\n [TAG_NAMES.TR, TAG_ID.TR],\n [TAG_NAMES.TRACK, TAG_ID.TRACK],\n [TAG_NAMES.TT, TAG_ID.TT],\n [TAG_NAMES.U, TAG_ID.U],\n [TAG_NAMES.UL, TAG_ID.UL],\n [TAG_NAMES.SVG, TAG_ID.SVG],\n [TAG_NAMES.VAR, TAG_ID.VAR],\n [TAG_NAMES.WBR, TAG_ID.WBR],\n [TAG_NAMES.XMP, TAG_ID.XMP],\n]);\nexport function getTagID(tagName) {\n var _a;\n return (_a = TAG_NAME_TO_ID.get(tagName)) !== null && _a !== void 0 ? _a : TAG_ID.UNKNOWN;\n}\nconst $ = TAG_ID;\nexport const SPECIAL_ELEMENTS = {\n [NS.HTML]: new Set([\n $.ADDRESS,\n $.APPLET,\n $.AREA,\n $.ARTICLE,\n $.ASIDE,\n $.BASE,\n $.BASEFONT,\n $.BGSOUND,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.BUTTON,\n $.CAPTION,\n $.CENTER,\n $.COL,\n $.COLGROUP,\n $.DD,\n $.DETAILS,\n $.DIR,\n $.DIV,\n $.DL,\n $.DT,\n $.EMBED,\n $.FIELDSET,\n $.FIGCAPTION,\n $.FIGURE,\n $.FOOTER,\n $.FORM,\n $.FRAME,\n $.FRAMESET,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HEADER,\n $.HGROUP,\n $.HR,\n $.HTML,\n $.IFRAME,\n $.IMG,\n $.INPUT,\n $.LI,\n $.LINK,\n $.LISTING,\n $.MAIN,\n $.MARQUEE,\n $.MENU,\n $.META,\n $.NAV,\n $.NOEMBED,\n $.NOFRAMES,\n $.NOSCRIPT,\n $.OBJECT,\n $.OL,\n $.P,\n $.PARAM,\n $.PLAINTEXT,\n $.PRE,\n $.SCRIPT,\n $.SECTION,\n $.SELECT,\n $.SOURCE,\n $.STYLE,\n $.SUMMARY,\n $.TABLE,\n $.TBODY,\n $.TD,\n $.TEMPLATE,\n $.TEXTAREA,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TITLE,\n $.TR,\n $.TRACK,\n $.UL,\n $.WBR,\n $.XMP,\n ]),\n [NS.MATHML]: new Set([$.MI, $.MO, $.MN, $.MS, $.MTEXT, $.ANNOTATION_XML]),\n [NS.SVG]: new Set([$.TITLE, $.FOREIGN_OBJECT, $.DESC]),\n [NS.XLINK]: new Set(),\n [NS.XML]: new Set(),\n [NS.XMLNS]: new Set(),\n};\nexport const NUMBERED_HEADERS = new Set([$.H1, $.H2, $.H3, $.H4, $.H5, $.H6]);\nconst UNESCAPED_TEXT = new Set([\n TAG_NAMES.STYLE,\n TAG_NAMES.SCRIPT,\n TAG_NAMES.XMP,\n TAG_NAMES.IFRAME,\n TAG_NAMES.NOEMBED,\n TAG_NAMES.NOFRAMES,\n TAG_NAMES.PLAINTEXT,\n]);\nexport function hasUnescapedText(tn, scriptingEnabled) {\n return UNESCAPED_TEXT.has(tn) || (scriptingEnabled && tn === TAG_NAMES.NOSCRIPT);\n}\n","import { Preprocessor } from './preprocessor.js';\nimport { CODE_POINTS as $, SEQUENCES as $$, REPLACEMENT_CHARACTER, isSurrogate, isUndefinedCodePoint, isControlCodePoint, } from '../common/unicode.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\nimport { htmlDecodeTree, EntityDecoder, DecodingMode } from 'entities/decode';\nimport { ERR } from '../common/error-codes.js';\nimport { TAG_ID, getTagID } from '../common/html.js';\n//States\nvar State;\n(function (State) {\n State[State[\"DATA\"] = 0] = \"DATA\";\n State[State[\"RCDATA\"] = 1] = \"RCDATA\";\n State[State[\"RAWTEXT\"] = 2] = \"RAWTEXT\";\n State[State[\"SCRIPT_DATA\"] = 3] = \"SCRIPT_DATA\";\n State[State[\"PLAINTEXT\"] = 4] = \"PLAINTEXT\";\n State[State[\"TAG_OPEN\"] = 5] = \"TAG_OPEN\";\n State[State[\"END_TAG_OPEN\"] = 6] = \"END_TAG_OPEN\";\n State[State[\"TAG_NAME\"] = 7] = \"TAG_NAME\";\n State[State[\"RCDATA_LESS_THAN_SIGN\"] = 8] = \"RCDATA_LESS_THAN_SIGN\";\n State[State[\"RCDATA_END_TAG_OPEN\"] = 9] = \"RCDATA_END_TAG_OPEN\";\n State[State[\"RCDATA_END_TAG_NAME\"] = 10] = \"RCDATA_END_TAG_NAME\";\n State[State[\"RAWTEXT_LESS_THAN_SIGN\"] = 11] = \"RAWTEXT_LESS_THAN_SIGN\";\n State[State[\"RAWTEXT_END_TAG_OPEN\"] = 12] = \"RAWTEXT_END_TAG_OPEN\";\n State[State[\"RAWTEXT_END_TAG_NAME\"] = 13] = \"RAWTEXT_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_LESS_THAN_SIGN\"] = 14] = \"SCRIPT_DATA_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_END_TAG_OPEN\"] = 15] = \"SCRIPT_DATA_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_END_TAG_NAME\"] = 16] = \"SCRIPT_DATA_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_ESCAPE_START\"] = 17] = \"SCRIPT_DATA_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_ESCAPE_START_DASH\"] = 18] = \"SCRIPT_DATA_ESCAPE_START_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED\"] = 19] = \"SCRIPT_DATA_ESCAPED\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH\"] = 20] = \"SCRIPT_DATA_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH_DASH\"] = 21] = \"SCRIPT_DATA_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\"] = 22] = \"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\"] = 23] = \"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_NAME\"] = 24] = \"SCRIPT_DATA_ESCAPED_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_START\"] = 25] = \"SCRIPT_DATA_DOUBLE_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED\"] = 26] = \"SCRIPT_DATA_DOUBLE_ESCAPED\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\"] = 27] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\"] = 28] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\"] = 29] = \"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_END\"] = 30] = \"SCRIPT_DATA_DOUBLE_ESCAPE_END\";\n State[State[\"BEFORE_ATTRIBUTE_NAME\"] = 31] = \"BEFORE_ATTRIBUTE_NAME\";\n State[State[\"ATTRIBUTE_NAME\"] = 32] = \"ATTRIBUTE_NAME\";\n State[State[\"AFTER_ATTRIBUTE_NAME\"] = 33] = \"AFTER_ATTRIBUTE_NAME\";\n State[State[\"BEFORE_ATTRIBUTE_VALUE\"] = 34] = \"BEFORE_ATTRIBUTE_VALUE\";\n State[State[\"ATTRIBUTE_VALUE_DOUBLE_QUOTED\"] = 35] = \"ATTRIBUTE_VALUE_DOUBLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_SINGLE_QUOTED\"] = 36] = \"ATTRIBUTE_VALUE_SINGLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_UNQUOTED\"] = 37] = \"ATTRIBUTE_VALUE_UNQUOTED\";\n State[State[\"AFTER_ATTRIBUTE_VALUE_QUOTED\"] = 38] = \"AFTER_ATTRIBUTE_VALUE_QUOTED\";\n State[State[\"SELF_CLOSING_START_TAG\"] = 39] = \"SELF_CLOSING_START_TAG\";\n State[State[\"BOGUS_COMMENT\"] = 40] = \"BOGUS_COMMENT\";\n State[State[\"MARKUP_DECLARATION_OPEN\"] = 41] = \"MARKUP_DECLARATION_OPEN\";\n State[State[\"COMMENT_START\"] = 42] = \"COMMENT_START\";\n State[State[\"COMMENT_START_DASH\"] = 43] = \"COMMENT_START_DASH\";\n State[State[\"COMMENT\"] = 44] = \"COMMENT\";\n State[State[\"COMMENT_LESS_THAN_SIGN\"] = 45] = \"COMMENT_LESS_THAN_SIGN\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG\"] = 46] = \"COMMENT_LESS_THAN_SIGN_BANG\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH\"] = 47] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\"] = 48] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\";\n State[State[\"COMMENT_END_DASH\"] = 49] = \"COMMENT_END_DASH\";\n State[State[\"COMMENT_END\"] = 50] = \"COMMENT_END\";\n State[State[\"COMMENT_END_BANG\"] = 51] = \"COMMENT_END_BANG\";\n State[State[\"DOCTYPE\"] = 52] = \"DOCTYPE\";\n State[State[\"BEFORE_DOCTYPE_NAME\"] = 53] = \"BEFORE_DOCTYPE_NAME\";\n State[State[\"DOCTYPE_NAME\"] = 54] = \"DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_NAME\"] = 55] = \"AFTER_DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_KEYWORD\"] = 56] = \"AFTER_DOCTYPE_PUBLIC_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\"] = 57] = \"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\"] = 58] = \"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\"] = 59] = \"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\"] = 60] = \"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\"] = 61] = \"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_KEYWORD\"] = 62] = \"AFTER_DOCTYPE_SYSTEM_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\"] = 63] = \"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\"] = 64] = \"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\"] = 65] = \"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\"] = 66] = \"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"BOGUS_DOCTYPE\"] = 67] = \"BOGUS_DOCTYPE\";\n State[State[\"CDATA_SECTION\"] = 68] = \"CDATA_SECTION\";\n State[State[\"CDATA_SECTION_BRACKET\"] = 69] = \"CDATA_SECTION_BRACKET\";\n State[State[\"CDATA_SECTION_END\"] = 70] = \"CDATA_SECTION_END\";\n State[State[\"CHARACTER_REFERENCE\"] = 71] = \"CHARACTER_REFERENCE\";\n State[State[\"AMBIGUOUS_AMPERSAND\"] = 72] = \"AMBIGUOUS_AMPERSAND\";\n})(State || (State = {}));\n//Tokenizer initial states for different modes\nexport const TokenizerMode = {\n DATA: State.DATA,\n RCDATA: State.RCDATA,\n RAWTEXT: State.RAWTEXT,\n SCRIPT_DATA: State.SCRIPT_DATA,\n PLAINTEXT: State.PLAINTEXT,\n CDATA_SECTION: State.CDATA_SECTION,\n};\n//Utils\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\nfunction toAsciiLower(cp) {\n return cp + 32;\n}\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\nfunction isScriptDataDoubleEscapeSequenceEnd(cp) {\n return isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN;\n}\nfunction getErrorForNumericCharacterReference(code) {\n if (code === $.NULL) {\n return ERR.nullCharacterReference;\n }\n else if (code > 1114111) {\n return ERR.characterReferenceOutsideUnicodeRange;\n }\n else if (isSurrogate(code)) {\n return ERR.surrogateCharacterReference;\n }\n else if (isUndefinedCodePoint(code)) {\n return ERR.noncharacterCharacterReference;\n }\n else if (isControlCodePoint(code) || code === $.CARRIAGE_RETURN) {\n return ERR.controlCharacterReference;\n }\n return null;\n}\n//Tokenizer\nexport class Tokenizer {\n constructor(options, handler) {\n this.options = options;\n this.handler = handler;\n this.paused = false;\n /** Ensures that the parsing loop isn't run multiple times at once. */\n this.inLoop = false;\n /**\n * Indicates that the current adjusted node exists, is not an element in the HTML namespace,\n * and that it is not an integration point for either MathML or HTML.\n *\n * @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction}\n */\n this.inForeignNode = false;\n this.lastStartTagName = '';\n this.active = false;\n this.state = State.DATA;\n this.returnState = State.DATA;\n this.entityStartPos = 0;\n this.consumedAfterSnapshot = -1;\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = { name: '', value: '' };\n this.preprocessor = new Preprocessor(handler);\n this.currentLocation = this.getCurrentLocation(-1);\n this.entityDecoder = new EntityDecoder(htmlDecodeTree, (cp, consumed) => {\n // Note: Set `pos` _before_ flushing, as flushing might drop\n // the current chunk and invalidate `entityStartPos`.\n this.preprocessor.pos = this.entityStartPos + consumed - 1;\n this._flushCodePointConsumedAsCharacterReference(cp);\n }, handler.onParseError\n ? {\n missingSemicolonAfterCharacterReference: () => {\n this._err(ERR.missingSemicolonAfterCharacterReference, 1);\n },\n absenceOfDigitsInNumericCharacterReference: (consumed) => {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference, this.entityStartPos - this.preprocessor.pos + consumed);\n },\n validateNumericCharacterReference: (code) => {\n const error = getErrorForNumericCharacterReference(code);\n if (error)\n this._err(error, 1);\n },\n }\n : undefined);\n }\n //Errors\n _err(code, cpOffset = 0) {\n var _a, _b;\n (_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code, cpOffset));\n }\n // NOTE: `offset` may never run across line boundaries.\n getCurrentLocation(offset) {\n if (!this.options.sourceCodeLocationInfo) {\n return null;\n }\n return {\n startLine: this.preprocessor.line,\n startCol: this.preprocessor.col - offset,\n startOffset: this.preprocessor.offset - offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n };\n }\n _runParsingLoop() {\n if (this.inLoop)\n return;\n this.inLoop = true;\n while (this.active && !this.paused) {\n this.consumedAfterSnapshot = 0;\n const cp = this._consume();\n if (!this._ensureHibernation()) {\n this._callState(cp);\n }\n }\n this.inLoop = false;\n }\n //API\n pause() {\n this.paused = true;\n }\n resume(writeCallback) {\n if (!this.paused) {\n throw new Error('Parser was already resumed');\n }\n this.paused = false;\n // Necessary for synchronous resume.\n if (this.inLoop)\n return;\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n write(chunk, isLastChunk, writeCallback) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n this._runParsingLoop();\n }\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n this.preprocessor.retreat(this.consumedAfterSnapshot);\n this.consumedAfterSnapshot = 0;\n this.active = false;\n return true;\n }\n return false;\n }\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n _advanceBy(count) {\n this.consumedAfterSnapshot += count;\n for (let i = 0; i < count; i++) {\n this.preprocessor.advance();\n }\n }\n _consumeSequenceIfMatch(pattern, caseSensitive) {\n if (this.preprocessor.startsWith(pattern, caseSensitive)) {\n // We will already have consumed one character before calling this method.\n this._advanceBy(pattern.length - 1);\n return true;\n }\n return false;\n }\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: TokenType.START_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(1),\n };\n }\n _createEndTagToken() {\n this.currentToken = {\n type: TokenType.END_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(2),\n };\n }\n _createCommentToken(offset) {\n this.currentToken = {\n type: TokenType.COMMENT,\n data: '',\n location: this.getCurrentLocation(offset),\n };\n }\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: TokenType.DOCTYPE,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null,\n location: this.currentLocation,\n };\n }\n _createCharacterToken(type, chars) {\n this.currentCharacterToken = {\n type,\n chars,\n location: this.currentLocation,\n };\n }\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: '',\n };\n this.currentLocation = this.getCurrentLocation(0);\n }\n _leaveAttrName() {\n var _a;\n var _b;\n const token = this.currentToken;\n if (getTokenAttr(token, this.currentAttr.name) === null) {\n token.attrs.push(this.currentAttr);\n if (token.location && this.currentLocation) {\n const attrLocations = ((_a = (_b = token.location).attrs) !== null && _a !== void 0 ? _a : (_b.attrs = Object.create(null)));\n attrLocations[this.currentAttr.name] = this.currentLocation;\n // Set end location\n this._leaveAttrValue();\n }\n }\n else {\n this._err(ERR.duplicateAttribute);\n }\n }\n _leaveAttrValue() {\n if (this.currentLocation) {\n this.currentLocation.endLine = this.preprocessor.line;\n this.currentLocation.endCol = this.preprocessor.col;\n this.currentLocation.endOffset = this.preprocessor.offset;\n }\n }\n //Token emission\n prepareToken(ct) {\n this._emitCurrentCharacterToken(ct.location);\n this.currentToken = null;\n if (ct.location) {\n ct.location.endLine = this.preprocessor.line;\n ct.location.endCol = this.preprocessor.col + 1;\n ct.location.endOffset = this.preprocessor.offset + 1;\n }\n this.currentLocation = this.getCurrentLocation(-1);\n }\n emitCurrentTagToken() {\n const ct = this.currentToken;\n this.prepareToken(ct);\n ct.tagID = getTagID(ct.tagName);\n if (ct.type === TokenType.START_TAG) {\n this.lastStartTagName = ct.tagName;\n this.handler.onStartTag(ct);\n }\n else {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n this.handler.onEndTag(ct);\n }\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentComment(ct) {\n this.prepareToken(ct);\n this.handler.onComment(ct);\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentDoctype(ct) {\n this.prepareToken(ct);\n this.handler.onDoctype(ct);\n this.preprocessor.dropParsedChunk();\n }\n _emitCurrentCharacterToken(nextLocation) {\n if (this.currentCharacterToken) {\n //NOTE: if we have a pending character token, make it's end location equal to the\n //current token's start location.\n if (nextLocation && this.currentCharacterToken.location) {\n this.currentCharacterToken.location.endLine = nextLocation.startLine;\n this.currentCharacterToken.location.endCol = nextLocation.startCol;\n this.currentCharacterToken.location.endOffset = nextLocation.startOffset;\n }\n switch (this.currentCharacterToken.type) {\n case TokenType.CHARACTER: {\n this.handler.onCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.NULL_CHARACTER: {\n this.handler.onNullCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n this.handler.onWhitespaceCharacter(this.currentCharacterToken);\n break;\n }\n }\n this.currentCharacterToken = null;\n }\n }\n _emitEOFToken() {\n const location = this.getCurrentLocation(0);\n if (location) {\n location.endLine = location.startLine;\n location.endCol = location.startCol;\n location.endOffset = location.startOffset;\n }\n this._emitCurrentCharacterToken(location);\n this.handler.onEof({ type: TokenType.EOF, location });\n this.active = false;\n }\n //Characters emission\n //OPTIMIZATION: The specification uses only one type of character token (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, the parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)TokenType.NULL_CHARACTER - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)TokenType.WHITESPACE_CHARACTER - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)TokenType.CHARACTER - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken) {\n if (this.currentCharacterToken.type === type) {\n this.currentCharacterToken.chars += ch;\n return;\n }\n else {\n this.currentLocation = this.getCurrentLocation(0);\n this._emitCurrentCharacterToken(this.currentLocation);\n this.preprocessor.dropParsedChunk();\n }\n }\n this._createCharacterToken(type, ch);\n }\n _emitCodePoint(cp) {\n const type = isWhitespace(cp)\n ? TokenType.WHITESPACE_CHARACTER\n : cp === $.NULL\n ? TokenType.NULL_CHARACTER\n : TokenType.CHARACTER;\n this._appendCharToCurrentCharacterToken(type, String.fromCodePoint(cp));\n }\n //NOTE: used when we emit characters explicitly.\n //This is always for non-whitespace and non-null characters, which allows us to avoid additional checks.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(TokenType.CHARACTER, ch);\n }\n // Character reference helpers\n _startCharacterReference() {\n this.returnState = this.state;\n this.state = State.CHARACTER_REFERENCE;\n this.entityStartPos = this.preprocessor.pos;\n this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute() ? DecodingMode.Attribute : DecodingMode.Legacy);\n }\n _isCharacterReferenceInAttribute() {\n return (this.returnState === State.ATTRIBUTE_VALUE_DOUBLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_SINGLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_UNQUOTED);\n }\n _flushCodePointConsumedAsCharacterReference(cp) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n else {\n this._emitCodePoint(cp);\n }\n }\n // Calling states this way turns out to be much faster than any other approach.\n _callState(cp) {\n switch (this.state) {\n case State.DATA: {\n this._stateData(cp);\n break;\n }\n case State.RCDATA: {\n this._stateRcdata(cp);\n break;\n }\n case State.RAWTEXT: {\n this._stateRawtext(cp);\n break;\n }\n case State.SCRIPT_DATA: {\n this._stateScriptData(cp);\n break;\n }\n case State.PLAINTEXT: {\n this._statePlaintext(cp);\n break;\n }\n case State.TAG_OPEN: {\n this._stateTagOpen(cp);\n break;\n }\n case State.END_TAG_OPEN: {\n this._stateEndTagOpen(cp);\n break;\n }\n case State.TAG_NAME: {\n this._stateTagName(cp);\n break;\n }\n case State.RCDATA_LESS_THAN_SIGN: {\n this._stateRcdataLessThanSign(cp);\n break;\n }\n case State.RCDATA_END_TAG_OPEN: {\n this._stateRcdataEndTagOpen(cp);\n break;\n }\n case State.RCDATA_END_TAG_NAME: {\n this._stateRcdataEndTagName(cp);\n break;\n }\n case State.RAWTEXT_LESS_THAN_SIGN: {\n this._stateRawtextLessThanSign(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_OPEN: {\n this._stateRawtextEndTagOpen(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_NAME: {\n this._stateRawtextEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_LESS_THAN_SIGN: {\n this._stateScriptDataLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_OPEN: {\n this._stateScriptDataEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_NAME: {\n this._stateScriptDataEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START: {\n this._stateScriptDataEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START_DASH: {\n this._stateScriptDataEscapeStartDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED: {\n this._stateScriptDataEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH: {\n this._stateScriptDataEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH_DASH: {\n this._stateScriptDataEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: {\n this._stateScriptDataEscapedEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_NAME: {\n this._stateScriptDataEscapedEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_START: {\n this._stateScriptDataDoubleEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED: {\n this._stateScriptDataDoubleEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {\n this._stateScriptDataDoubleEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {\n this._stateScriptDataDoubleEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataDoubleEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_END: {\n this._stateScriptDataDoubleEscapeEnd(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_NAME: {\n this._stateBeforeAttributeName(cp);\n break;\n }\n case State.ATTRIBUTE_NAME: {\n this._stateAttributeName(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_NAME: {\n this._stateAfterAttributeName(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_VALUE: {\n this._stateBeforeAttributeValue(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_DOUBLE_QUOTED: {\n this._stateAttributeValueDoubleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_SINGLE_QUOTED: {\n this._stateAttributeValueSingleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_UNQUOTED: {\n this._stateAttributeValueUnquoted(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_VALUE_QUOTED: {\n this._stateAfterAttributeValueQuoted(cp);\n break;\n }\n case State.SELF_CLOSING_START_TAG: {\n this._stateSelfClosingStartTag(cp);\n break;\n }\n case State.BOGUS_COMMENT: {\n this._stateBogusComment(cp);\n break;\n }\n case State.MARKUP_DECLARATION_OPEN: {\n this._stateMarkupDeclarationOpen(cp);\n break;\n }\n case State.COMMENT_START: {\n this._stateCommentStart(cp);\n break;\n }\n case State.COMMENT_START_DASH: {\n this._stateCommentStartDash(cp);\n break;\n }\n case State.COMMENT: {\n this._stateComment(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN: {\n this._stateCommentLessThanSign(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG: {\n this._stateCommentLessThanSignBang(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH: {\n this._stateCommentLessThanSignBangDash(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: {\n this._stateCommentLessThanSignBangDashDash(cp);\n break;\n }\n case State.COMMENT_END_DASH: {\n this._stateCommentEndDash(cp);\n break;\n }\n case State.COMMENT_END: {\n this._stateCommentEnd(cp);\n break;\n }\n case State.COMMENT_END_BANG: {\n this._stateCommentEndBang(cp);\n break;\n }\n case State.DOCTYPE: {\n this._stateDoctype(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_NAME: {\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case State.DOCTYPE_NAME: {\n this._stateDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_NAME: {\n this._stateAfterDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_KEYWORD: {\n this._stateAfterDoctypePublicKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateBeforeDoctypePublicIdentifier(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypePublicIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypePublicIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateAfterDoctypePublicIdentifier(cp);\n break;\n }\n case State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {\n this._stateBetweenDoctypePublicAndSystemIdentifiers(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_KEYWORD: {\n this._stateAfterDoctypeSystemKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateBeforeDoctypeSystemIdentifier(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypeSystemIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypeSystemIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateAfterDoctypeSystemIdentifier(cp);\n break;\n }\n case State.BOGUS_DOCTYPE: {\n this._stateBogusDoctype(cp);\n break;\n }\n case State.CDATA_SECTION: {\n this._stateCdataSection(cp);\n break;\n }\n case State.CDATA_SECTION_BRACKET: {\n this._stateCdataSectionBracket(cp);\n break;\n }\n case State.CDATA_SECTION_END: {\n this._stateCdataSectionEnd(cp);\n break;\n }\n case State.CHARACTER_REFERENCE: {\n this._stateCharacterReference();\n break;\n }\n case State.AMBIGUOUS_AMPERSAND: {\n this._stateAmbiguousAmpersand(cp);\n break;\n }\n default: {\n throw new Error('Unknown state');\n }\n }\n }\n // State machine\n // Data state\n //------------------------------------------------------------------\n _stateData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.TAG_OPEN;\n break;\n }\n case $.AMPERSAND: {\n this._startCharacterReference();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RCDATA state\n //------------------------------------------------------------------\n _stateRcdata(cp) {\n switch (cp) {\n case $.AMPERSAND: {\n this._startCharacterReference();\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.RCDATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RAWTEXT state\n //------------------------------------------------------------------\n _stateRawtext(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.RAWTEXT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data state\n //------------------------------------------------------------------\n _stateScriptData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // PLAINTEXT state\n //------------------------------------------------------------------\n _statePlaintext(cp) {\n switch (cp) {\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Tag open state\n //------------------------------------------------------------------\n _stateTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n this.state = State.MARKUP_DECLARATION_OPEN;\n break;\n }\n case $.SOLIDUS: {\n this.state = State.END_TAG_OPEN;\n break;\n }\n case $.QUESTION_MARK: {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken(1);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this.state = State.DATA;\n this._stateData(cp);\n }\n }\n }\n // End tag open state\n //------------------------------------------------------------------\n _stateEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingEndTagName);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('</');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n }\n // Tag name state\n //------------------------------------------------------------------\n _stateTagName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.tagName += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n token.tagName += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // RCDATA less-than sign state\n //------------------------------------------------------------------\n _stateRcdataLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.RCDATA_END_TAG_OPEN;\n }\n else {\n this._emitChars('<');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n // RCDATA end tag open state\n //------------------------------------------------------------------\n _stateRcdataEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.RCDATA_END_TAG_NAME;\n this._stateRcdataEndTagName(cp);\n }\n else {\n this._emitChars('</');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n handleSpecialEndTag(_cp) {\n if (!this.preprocessor.startsWith(this.lastStartTagName, false)) {\n return !this._ensureHibernation();\n }\n this._createEndTagToken();\n const token = this.currentToken;\n token.tagName = this.lastStartTagName;\n const cp = this.preprocessor.peek(this.lastStartTagName.length);\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._advanceBy(this.lastStartTagName.length);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n return false;\n }\n case $.SOLIDUS: {\n this._advanceBy(this.lastStartTagName.length);\n this.state = State.SELF_CLOSING_START_TAG;\n return false;\n }\n case $.GREATER_THAN_SIGN: {\n this._advanceBy(this.lastStartTagName.length);\n this.emitCurrentTagToken();\n this.state = State.DATA;\n return false;\n }\n default: {\n return !this._ensureHibernation();\n }\n }\n }\n // RCDATA end tag name state\n //------------------------------------------------------------------\n _stateRcdataEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars('</');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n // RAWTEXT less-than sign state\n //------------------------------------------------------------------\n _stateRawtextLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.RAWTEXT_END_TAG_OPEN;\n }\n else {\n this._emitChars('<');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // RAWTEXT end tag open state\n //------------------------------------------------------------------\n _stateRawtextEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.RAWTEXT_END_TAG_NAME;\n this._stateRawtextEndTagName(cp);\n }\n else {\n this._emitChars('</');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // RAWTEXT end tag name state\n //------------------------------------------------------------------\n _stateRawtextEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars('</');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // Script data less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataLessThanSign(cp) {\n switch (cp) {\n case $.SOLIDUS: {\n this.state = State.SCRIPT_DATA_END_TAG_OPEN;\n break;\n }\n case $.EXCLAMATION_MARK: {\n this.state = State.SCRIPT_DATA_ESCAPE_START;\n this._emitChars('<!');\n break;\n }\n default: {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n }\n // Script data end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_END_TAG_NAME;\n this._stateScriptDataEndTagName(cp);\n }\n else {\n this._emitChars('</');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data end tag name state\n //------------------------------------------------------------------\n _stateScriptDataEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars('</');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escape start state\n //------------------------------------------------------------------\n _stateScriptDataEscapeStart(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.SCRIPT_DATA_ESCAPE_START_DASH;\n this._emitChars('-');\n }\n else {\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escape start dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapeStartDash(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH_DASH;\n this._emitChars('-');\n }\n else {\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escaped state\n //------------------------------------------------------------------\n _stateScriptDataEscaped(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH;\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapedDash(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH_DASH;\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped dash dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapedDashDash(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.SCRIPT_DATA;\n this._emitChars('>');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;\n }\n else if (isAsciiLetter(cp)) {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_START;\n this._stateScriptDataDoubleEscapeStart(cp);\n }\n else {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_NAME;\n this._stateScriptDataEscapedEndTagName(cp);\n }\n else {\n this._emitChars('</');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag name state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars('</');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data double escape start state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeStart(cp) {\n if (this.preprocessor.startsWith($$.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek($$.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < $$.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data double escaped state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscaped(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH;\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars('<');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped dash state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedDash(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH;\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars('<');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped dash dash state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedDashDash(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this._emitChars('-');\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars('<');\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.SCRIPT_DATA;\n this._emitChars('>');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_END;\n this._emitChars('/');\n }\n else {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Script data double escape end state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeEnd(cp) {\n if (this.preprocessor.startsWith($$.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek($$.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < $$.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Before attribute name state\n //------------------------------------------------------------------\n _stateBeforeAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = State.ATTRIBUTE_NAME;\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Attribute name state\n //------------------------------------------------------------------\n _stateAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED:\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this._leaveAttrName();\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._leaveAttrName();\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN: {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += String.fromCodePoint(cp);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n this.currentAttr.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After attribute name state\n //------------------------------------------------------------------\n _stateAfterAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.EQUALS_SIGN: {\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Before attribute value state\n //------------------------------------------------------------------\n _stateBeforeAttributeValue(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n this.state = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this.state = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingAttributeValue);\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n default: {\n this.state = State.ATTRIBUTE_VALUE_UNQUOTED;\n this._stateAttributeValueUnquoted(cp);\n }\n }\n }\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueDoubleQuoted(cp) {\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this._startCharacterReference();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueSingleQuoted(cp) {\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this._startCharacterReference();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n _stateAttributeValueUnquoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.AMPERSAND: {\n this._startCharacterReference();\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN:\n case $.EQUALS_SIGN:\n case $.GRAVE_ACCENT: {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += String.fromCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n _stateAfterAttributeValueQuoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.SOLIDUS: {\n this._leaveAttrValue();\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Self-closing start tag state\n //------------------------------------------------------------------\n _stateSelfClosingStartTag(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n const token = this.currentToken;\n token.selfClosing = true;\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedSolidusInTag);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Bogus comment state\n //------------------------------------------------------------------\n _stateBogusComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Markup declaration open state\n //------------------------------------------------------------------\n _stateMarkupDeclarationOpen(cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH, true)) {\n this._createCommentToken($$.DASH_DASH.length + 1);\n this.state = State.COMMENT_START;\n }\n else if (this._consumeSequenceIfMatch($$.DOCTYPE, false)) {\n // NOTE: Doctypes tokens are created without fixed offsets. We keep track of the moment a doctype *might* start here.\n this.currentLocation = this.getCurrentLocation($$.DOCTYPE.length + 1);\n this.state = State.DOCTYPE;\n }\n else if (this._consumeSequenceIfMatch($$.CDATA_START, true)) {\n if (this.inForeignNode) {\n this.state = State.CDATA_SECTION;\n }\n else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken($$.CDATA_START.length + 1);\n this.currentToken.data = '[CDATA[';\n this.state = State.BOGUS_COMMENT;\n }\n }\n //NOTE: Sequence lookups can be abrupted by hibernation. In that case, lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n // Comment start state\n //------------------------------------------------------------------\n _stateCommentStart(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_START_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n const token = this.currentToken;\n this.emitCurrentComment(token);\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment start dash state\n //------------------------------------------------------------------\n _stateCommentStartDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment state\n //------------------------------------------------------------------\n _stateComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n this.state = State.COMMENT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Comment less-than sign state\n //------------------------------------------------------------------\n _stateCommentLessThanSign(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n token.data += '!';\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBang(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH;\n }\n else {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDash(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH;\n }\n else {\n this.state = State.COMMENT_END_DASH;\n this._stateCommentEndDash(cp);\n }\n }\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDashDash(cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n this.state = State.COMMENT_END;\n this._stateCommentEnd(cp);\n }\n // Comment end dash state\n //------------------------------------------------------------------\n _stateCommentEndDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end state\n //------------------------------------------------------------------\n _stateCommentEnd(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EXCLAMATION_MARK: {\n this.state = State.COMMENT_END_BANG;\n break;\n }\n case $.HYPHEN_MINUS: {\n token.data += '-';\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end bang state\n //------------------------------------------------------------------\n _stateCommentEndBang(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n token.data += '--!';\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.incorrectlyClosedComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--!';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // DOCTYPE state\n //------------------------------------------------------------------\n _stateDoctype(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n }\n }\n }\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n _stateBeforeDoctypeName(cp) {\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(String.fromCharCode(toAsciiLower(cp)));\n this.state = State.DOCTYPE_NAME;\n }\n else\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(REPLACEMENT_CHARACTER);\n this.state = State.DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createDoctypeToken(String.fromCodePoint(cp));\n this.state = State.DOCTYPE_NAME;\n }\n }\n }\n // DOCTYPE name state\n //------------------------------------------------------------------\n _stateDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.AFTER_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.name += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After DOCTYPE name state\n //------------------------------------------------------------------\n _stateAfterDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n if (this._consumeSequenceIfMatch($$.PUBLIC, false)) {\n this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;\n }\n else if (this._consumeSequenceIfMatch($$.SYSTEM, false)) {\n this.state = State.AFTER_DOCTYPE_SYSTEM_KEYWORD;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n }\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n _stateBetweenDoctypePublicAndSystemIdentifiers(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n _stateBogusDoctype(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n break;\n }\n case $.EOF: {\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default:\n // Do nothing\n }\n }\n // CDATA section state\n //------------------------------------------------------------------\n _stateCdataSection(cp) {\n switch (cp) {\n case $.RIGHT_SQUARE_BRACKET: {\n this.state = State.CDATA_SECTION_BRACKET;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // CDATA section bracket state\n //------------------------------------------------------------------\n _stateCdataSectionBracket(cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = State.CDATA_SECTION_END;\n }\n else {\n this._emitChars(']');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n // CDATA section end state\n //------------------------------------------------------------------\n _stateCdataSectionEnd(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n break;\n }\n case $.RIGHT_SQUARE_BRACKET: {\n this._emitChars(']');\n break;\n }\n default: {\n this._emitChars(']]');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n }\n // Character reference state\n //------------------------------------------------------------------\n _stateCharacterReference() {\n let length = this.entityDecoder.write(this.preprocessor.html, this.preprocessor.pos);\n if (length < 0) {\n if (this.preprocessor.lastChunkWritten) {\n length = this.entityDecoder.end();\n }\n else {\n // Wait for the rest of the entity.\n this.active = false;\n // Mark the entire buffer as read.\n this.preprocessor.pos = this.preprocessor.html.length - 1;\n this.consumedAfterSnapshot = 0;\n this.preprocessor.endOfChunkHit = true;\n return;\n }\n }\n if (length === 0) {\n // This was not a valid entity. Go back to the beginning, and\n // figure out what to do.\n this.preprocessor.pos = this.entityStartPos;\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this.state =\n !this._isCharacterReferenceInAttribute() && isAsciiAlphaNumeric(this.preprocessor.peek(1))\n ? State.AMBIGUOUS_AMPERSAND\n : this.returnState;\n }\n else {\n // We successfully parsed an entity. Switch to the return state.\n this.state = this.returnState;\n }\n }\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n _stateAmbiguousAmpersand(cp) {\n if (isAsciiAlphaNumeric(cp)) {\n this._flushCodePointConsumedAsCharacterReference(cp);\n }\n else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n this.state = this.returnState;\n this._callState(cp);\n }\n }\n}\n","import { TAG_ID as $, NS, NUMBERED_HEADERS } from '../common/html.js';\n//Element utils\nconst IMPLICIT_END_TAG_REQUIRED = new Set([$.DD, $.DT, $.LI, $.OPTGROUP, $.OPTION, $.P, $.RB, $.RP, $.RT, $.RTC]);\nconst IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([\n ...IMPLICIT_END_TAG_REQUIRED,\n $.CAPTION,\n $.COLGROUP,\n $.TBODY,\n $.TD,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TR,\n]);\nconst SCOPING_ELEMENTS_HTML = new Set([\n $.APPLET,\n $.CAPTION,\n $.HTML,\n $.MARQUEE,\n $.OBJECT,\n $.TABLE,\n $.TD,\n $.TEMPLATE,\n $.TH,\n]);\nconst SCOPING_ELEMENTS_HTML_LIST = new Set([...SCOPING_ELEMENTS_HTML, $.OL, $.UL]);\nconst SCOPING_ELEMENTS_HTML_BUTTON = new Set([...SCOPING_ELEMENTS_HTML, $.BUTTON]);\nconst SCOPING_ELEMENTS_MATHML = new Set([$.ANNOTATION_XML, $.MI, $.MN, $.MO, $.MS, $.MTEXT]);\nconst SCOPING_ELEMENTS_SVG = new Set([$.DESC, $.FOREIGN_OBJECT, $.TITLE]);\nconst TABLE_ROW_CONTEXT = new Set([$.TR, $.TEMPLATE, $.HTML]);\nconst TABLE_BODY_CONTEXT = new Set([$.TBODY, $.TFOOT, $.THEAD, $.TEMPLATE, $.HTML]);\nconst TABLE_CONTEXT = new Set([$.TABLE, $.TEMPLATE, $.HTML]);\nconst TABLE_CELLS = new Set([$.TD, $.TH]);\n//Stack of open elements\nexport class OpenElementStack {\n get currentTmplContentOrNode() {\n return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;\n }\n constructor(document, treeAdapter, handler) {\n this.treeAdapter = treeAdapter;\n this.handler = handler;\n this.items = [];\n this.tagIDs = [];\n this.stackTop = -1;\n this.tmplCount = 0;\n this.currentTagId = $.UNKNOWN;\n this.current = document;\n }\n //Index of element\n _indexOf(element) {\n return this.items.lastIndexOf(element, this.stackTop);\n }\n //Update current element\n _isInTemplate() {\n return this.currentTagId === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagId = this.tagIDs[this.stackTop];\n }\n //Mutations\n push(element, tagID) {\n this.stackTop++;\n this.items[this.stackTop] = element;\n this.current = element;\n this.tagIDs[this.stackTop] = tagID;\n this.currentTagId = tagID;\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n this.handler.onItemPush(element, tagID, true);\n }\n pop() {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, true);\n }\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n this.items[idx] = newElement;\n if (idx === this.stackTop) {\n this.current = newElement;\n }\n }\n insertAfter(referenceElement, newElement, newElementID) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n this.items.splice(insertionIdx, 0, newElement);\n this.tagIDs.splice(insertionIdx, 0, newElementID);\n this.stackTop++;\n if (insertionIdx === this.stackTop) {\n this._updateCurrentElement();\n }\n if (this.current && this.currentTagId !== undefined) {\n this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);\n }\n }\n popUntilTagNamePopped(tagName) {\n let targetIdx = this.stackTop + 1;\n do {\n targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);\n } while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== NS.HTML);\n this.shortenToLength(Math.max(targetIdx, 0));\n }\n shortenToLength(idx) {\n while (this.stackTop >= idx) {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount -= 1;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, this.stackTop < idx);\n }\n }\n popUntilElementPopped(element) {\n const idx = this._indexOf(element);\n this.shortenToLength(Math.max(idx, 0));\n }\n popUntilPopped(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(Math.max(idx, 0));\n }\n popUntilNumberedHeaderPopped() {\n this.popUntilPopped(NUMBERED_HEADERS, NS.HTML);\n }\n popUntilTableCellPopped() {\n this.popUntilPopped(TABLE_CELLS, NS.HTML);\n }\n popAllUpToHtmlElement() {\n //NOTE: here we assume that the root <html> element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.tmplCount = 0;\n this.shortenToLength(1);\n }\n _indexOfTagNames(tagNames, namespace) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (tagNames.has(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {\n return i;\n }\n }\n return -1;\n }\n clearBackTo(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx + 1);\n }\n clearBackToTableContext() {\n this.clearBackTo(TABLE_CONTEXT, NS.HTML);\n }\n clearBackToTableBodyContext() {\n this.clearBackTo(TABLE_BODY_CONTEXT, NS.HTML);\n }\n clearBackToTableRowContext() {\n this.clearBackTo(TABLE_ROW_CONTEXT, NS.HTML);\n }\n remove(element) {\n const idx = this._indexOf(element);\n if (idx >= 0) {\n if (idx === this.stackTop) {\n this.pop();\n }\n else {\n this.items.splice(idx, 1);\n this.tagIDs.splice(idx, 1);\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(element, false);\n }\n }\n }\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested <body> element (should be second element in stack).\n return this.stackTop >= 1 && this.tagIDs[1] === $.BODY ? this.items[1] : null;\n }\n contains(element) {\n return this._indexOf(element) > -1;\n }\n getCommonAncestor(element) {\n const elementIdx = this._indexOf(element) - 1;\n return elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.tagIDs[0] === $.HTML;\n }\n //Element in scope\n hasInDynamicScope(tagName, htmlScope) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n switch (this.treeAdapter.getNamespaceURI(this.items[i])) {\n case NS.HTML: {\n if (tn === tagName)\n return true;\n if (htmlScope.has(tn))\n return false;\n break;\n }\n case NS.SVG: {\n if (SCOPING_ELEMENTS_SVG.has(tn))\n return false;\n break;\n }\n case NS.MATHML: {\n if (SCOPING_ELEMENTS_MATHML.has(tn))\n return false;\n break;\n }\n }\n }\n return true;\n }\n hasInScope(tagName) {\n return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML);\n }\n hasInListItemScope(tagName) {\n return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_LIST);\n }\n hasInButtonScope(tagName) {\n return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_BUTTON);\n }\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n switch (this.treeAdapter.getNamespaceURI(this.items[i])) {\n case NS.HTML: {\n if (NUMBERED_HEADERS.has(tn))\n return true;\n if (SCOPING_ELEMENTS_HTML.has(tn))\n return false;\n break;\n }\n case NS.SVG: {\n if (SCOPING_ELEMENTS_SVG.has(tn))\n return false;\n break;\n }\n case NS.MATHML: {\n if (SCOPING_ELEMENTS_MATHML.has(tn))\n return false;\n break;\n }\n }\n }\n return true;\n }\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {\n continue;\n }\n switch (this.tagIDs[i]) {\n case tagName: {\n return true;\n }\n case $.TABLE:\n case $.HTML: {\n return false;\n }\n }\n }\n return true;\n }\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {\n continue;\n }\n switch (this.tagIDs[i]) {\n case $.TBODY:\n case $.THEAD:\n case $.TFOOT: {\n return true;\n }\n case $.TABLE:\n case $.HTML: {\n return false;\n }\n }\n }\n return true;\n }\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {\n continue;\n }\n switch (this.tagIDs[i]) {\n case tagName: {\n return true;\n }\n case $.OPTION:\n case $.OPTGROUP: {\n break;\n }\n default: {\n return false;\n }\n }\n }\n return true;\n }\n //Implied end tags\n generateImpliedEndTags() {\n while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsThoroughly() {\n while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsWithExclusion(exclusionId) {\n while (this.currentTagId !== undefined &&\n this.currentTagId !== exclusionId &&\n IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n}\n","//Const\nconst NOAH_ARK_CAPACITY = 3;\nexport var EntryType;\n(function (EntryType) {\n EntryType[EntryType[\"Marker\"] = 0] = \"Marker\";\n EntryType[EntryType[\"Element\"] = 1] = \"Element\";\n})(EntryType || (EntryType = {}));\nconst MARKER = { type: EntryType.Marker };\n//List of formatting elements\nexport class FormattingElementList {\n constructor(treeAdapter) {\n this.treeAdapter = treeAdapter;\n this.entries = [];\n this.bookmark = null;\n }\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement, neAttrs) {\n const candidates = [];\n const neAttrsLength = neAttrs.length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n for (let i = 0; i < this.entries.length; i++) {\n const entry = this.entries[i];\n if (entry.type === EntryType.Marker) {\n break;\n }\n const { element } = entry;\n if (this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI) {\n const elementAttrs = this.treeAdapter.getAttrList(element);\n if (elementAttrs.length === neAttrsLength) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n return candidates;\n }\n _ensureNoahArkCondition(newElement) {\n if (this.entries.length < NOAH_ARK_CAPACITY)\n return;\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const candidates = this._getNoahArkConditionCandidates(newElement, neAttrs);\n if (candidates.length < NOAH_ARK_CAPACITY)\n return;\n //NOTE: build attrs map for the new element, so we can perform fast lookups\n const neAttrsMap = new Map(neAttrs.map((neAttr) => [neAttr.name, neAttr.value]));\n let validCandidates = 0;\n //NOTE: remove bottommost candidates, until Noah's Ark condition will not be met\n for (let i = 0; i < candidates.length; i++) {\n const candidate = candidates[i];\n // We know that `candidate.attrs.length === neAttrs.length`\n if (candidate.attrs.every((cAttr) => neAttrsMap.get(cAttr.name) === cAttr.value)) {\n validCandidates += 1;\n if (validCandidates >= NOAH_ARK_CAPACITY) {\n this.entries.splice(candidate.idx, 1);\n }\n }\n }\n }\n //Mutations\n insertMarker() {\n this.entries.unshift(MARKER);\n }\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n this.entries.unshift({\n type: EntryType.Element,\n element,\n token,\n });\n }\n insertElementAfterBookmark(element, token) {\n const bookmarkIdx = this.entries.indexOf(this.bookmark);\n this.entries.splice(bookmarkIdx, 0, {\n type: EntryType.Element,\n element,\n token,\n });\n }\n removeEntry(entry) {\n const entryIndex = this.entries.indexOf(entry);\n if (entryIndex !== -1) {\n this.entries.splice(entryIndex, 1);\n }\n }\n /**\n * Clears the list of formatting elements up to the last marker.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker\n */\n clearToLastMarker() {\n const markerIdx = this.entries.indexOf(MARKER);\n if (markerIdx === -1) {\n this.entries.length = 0;\n }\n else {\n this.entries.splice(0, markerIdx + 1);\n }\n }\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n const entry = this.entries.find((entry) => entry.type === EntryType.Marker || this.treeAdapter.getTagName(entry.element) === tagName);\n return entry && entry.type === EntryType.Element ? entry : null;\n }\n getElementEntry(element) {\n return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);\n }\n}\n","import { DOCUMENT_MODE } from '../common/html.js';\nexport const defaultTreeAdapter = {\n //Node construction\n createDocument() {\n return {\n nodeName: '#document',\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: [],\n };\n },\n createDocumentFragment() {\n return {\n nodeName: '#document-fragment',\n childNodes: [],\n };\n },\n createElement(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName,\n attrs,\n namespaceURI,\n childNodes: [],\n parentNode: null,\n };\n },\n createCommentNode(data) {\n return {\n nodeName: '#comment',\n data,\n parentNode: null,\n };\n },\n createTextNode(value) {\n return {\n nodeName: '#text',\n value,\n parentNode: null,\n };\n },\n //Tree mutation\n appendChild(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n },\n insertBefore(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n },\n setTemplateContent(templateElement, contentElement) {\n templateElement.content = contentElement;\n },\n getTemplateContent(templateElement) {\n return templateElement.content;\n },\n setDocumentType(document, name, publicId, systemId) {\n const doctypeNode = document.childNodes.find((node) => node.nodeName === '#documentType');\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n }\n else {\n const node = {\n nodeName: '#documentType',\n name,\n publicId,\n systemId,\n parentNode: null,\n };\n defaultTreeAdapter.appendChild(document, node);\n }\n },\n setDocumentMode(document, mode) {\n document.mode = mode;\n },\n getDocumentMode(document) {\n return document.mode;\n },\n detachNode(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n },\n insertText(parentNode, text) {\n if (parentNode.childNodes.length > 0) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n if (defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n return;\n }\n }\n defaultTreeAdapter.appendChild(parentNode, defaultTreeAdapter.createTextNode(text));\n },\n insertTextBefore(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n if (prevNode && defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n }\n else {\n defaultTreeAdapter.insertBefore(parentNode, defaultTreeAdapter.createTextNode(text), referenceNode);\n }\n },\n adoptAttributes(recipient, attrs) {\n const recipientAttrsMap = new Set(recipient.attrs.map((attr) => attr.name));\n for (let j = 0; j < attrs.length; j++) {\n if (!recipientAttrsMap.has(attrs[j].name)) {\n recipient.attrs.push(attrs[j]);\n }\n }\n },\n //Tree traversing\n getFirstChild(node) {\n return node.childNodes[0];\n },\n getChildNodes(node) {\n return node.childNodes;\n },\n getParentNode(node) {\n return node.parentNode;\n },\n getAttrList(element) {\n return element.attrs;\n },\n //Node data\n getTagName(element) {\n return element.tagName;\n },\n getNamespaceURI(element) {\n return element.namespaceURI;\n },\n getTextNodeContent(textNode) {\n return textNode.value;\n },\n getCommentNodeContent(commentNode) {\n return commentNode.data;\n },\n getDocumentTypeNodeName(doctypeNode) {\n return doctypeNode.name;\n },\n getDocumentTypeNodePublicId(doctypeNode) {\n return doctypeNode.publicId;\n },\n getDocumentTypeNodeSystemId(doctypeNode) {\n return doctypeNode.systemId;\n },\n //Node types\n isTextNode(node) {\n return node.nodeName === '#text';\n },\n isCommentNode(node) {\n return node.nodeName === '#comment';\n },\n isDocumentTypeNode(node) {\n return node.nodeName === '#documentType';\n },\n isElementNode(node) {\n return Object.prototype.hasOwnProperty.call(node, 'tagName');\n },\n // Source code location\n setNodeSourceCodeLocation(node, location) {\n node.sourceCodeLocation = location;\n },\n getNodeSourceCodeLocation(node) {\n return node.sourceCodeLocation;\n },\n updateNodeSourceCodeLocation(node, endLocation) {\n node.sourceCodeLocation = { ...node.sourceCodeLocation, ...endLocation };\n },\n};\n","import { DOCUMENT_MODE } from './html.js';\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//',\n];\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...QUIRKS_MODE_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\nconst QUIRKS_MODE_PUBLIC_IDS = new Set([\n '-//w3o//dtd w3 html strict 3.0//en//',\n '-/w3c/dtd html 4.0 transitional/en',\n 'html',\n]);\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...LIMITED_QUIRKS_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\n//Utils\nfunction hasPrefix(publicId, prefixes) {\n return prefixes.some((prefix) => publicId.startsWith(prefix));\n}\n//API\nexport function isConforming(token) {\n return (token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID));\n}\nexport function getDocumentMode(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n const { systemId } = token;\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let { publicId } = token;\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n if (QUIRKS_MODE_PUBLIC_IDS.has(publicId)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n return DOCUMENT_MODE.NO_QUIRKS;\n}\n","import { TAG_ID as $, NS, ATTRS, getTagID } from './html.js';\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml',\n};\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = new Map([\n 'attributeName',\n 'attributeType',\n 'baseFrequency',\n 'baseProfile',\n 'calcMode',\n 'clipPathUnits',\n 'diffuseConstant',\n 'edgeMode',\n 'filterUnits',\n 'glyphRef',\n 'gradientTransform',\n 'gradientUnits',\n 'kernelMatrix',\n 'kernelUnitLength',\n 'keyPoints',\n 'keySplines',\n 'keyTimes',\n 'lengthAdjust',\n 'limitingConeAngle',\n 'markerHeight',\n 'markerUnits',\n 'markerWidth',\n 'maskContentUnits',\n 'maskUnits',\n 'numOctaves',\n 'pathLength',\n 'patternContentUnits',\n 'patternTransform',\n 'patternUnits',\n 'pointsAtX',\n 'pointsAtY',\n 'pointsAtZ',\n 'preserveAlpha',\n 'preserveAspectRatio',\n 'primitiveUnits',\n 'refX',\n 'refY',\n 'repeatCount',\n 'repeatDur',\n 'requiredExtensions',\n 'requiredFeatures',\n 'specularConstant',\n 'specularExponent',\n 'spreadMethod',\n 'startOffset',\n 'stdDeviation',\n 'stitchTiles',\n 'surfaceScale',\n 'systemLanguage',\n 'tableValues',\n 'targetX',\n 'targetY',\n 'textLength',\n 'viewBox',\n 'viewTarget',\n 'xChannelSelector',\n 'yChannelSelector',\n 'zoomAndPan',\n].map((attr) => [attr.toLowerCase(), attr]));\nconst XML_ATTRS_ADJUSTMENT_MAP = new Map([\n ['xlink:actuate', { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK }],\n ['xlink:arcrole', { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK }],\n ['xlink:href', { prefix: 'xlink', name: 'href', namespace: NS.XLINK }],\n ['xlink:role', { prefix: 'xlink', name: 'role', namespace: NS.XLINK }],\n ['xlink:show', { prefix: 'xlink', name: 'show', namespace: NS.XLINK }],\n ['xlink:title', { prefix: 'xlink', name: 'title', namespace: NS.XLINK }],\n ['xlink:type', { prefix: 'xlink', name: 'type', namespace: NS.XLINK }],\n ['xml:lang', { prefix: 'xml', name: 'lang', namespace: NS.XML }],\n ['xml:space', { prefix: 'xml', name: 'space', namespace: NS.XML }],\n ['xmlns', { prefix: '', name: 'xmlns', namespace: NS.XMLNS }],\n ['xmlns:xlink', { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }],\n]);\n//SVG tag names adjustment map\nexport const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n].map((tn) => [tn.toLowerCase(), tn]));\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = new Set([\n $.B,\n $.BIG,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.CENTER,\n $.CODE,\n $.DD,\n $.DIV,\n $.DL,\n $.DT,\n $.EM,\n $.EMBED,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HR,\n $.I,\n $.IMG,\n $.LI,\n $.LISTING,\n $.MENU,\n $.META,\n $.NOBR,\n $.OL,\n $.P,\n $.PRE,\n $.RUBY,\n $.S,\n $.SMALL,\n $.SPAN,\n $.STRONG,\n $.STRIKE,\n $.SUB,\n $.SUP,\n $.TABLE,\n $.TT,\n $.U,\n $.UL,\n $.VAR,\n]);\n//Check exit from foreign content\nexport function causesExit(startTagToken) {\n const tn = startTagToken.tagID;\n const isFontWithAttrs = tn === $.FONT &&\n startTagToken.attrs.some(({ name }) => name === ATTRS.COLOR || name === ATTRS.SIZE || name === ATTRS.FACE);\n return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);\n}\n//Token adjustments\nexport function adjustTokenMathMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n}\nexport function adjustTokenSVGAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrName != null) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n}\nexport function adjustTokenXMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n}\nexport function adjustTokenSVGTagName(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);\n if (adjustedTagName != null) {\n token.tagName = adjustedTagName;\n token.tagID = getTagID(token.tagName);\n }\n}\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\nexport function isIntegrationPoint(tn, ns, attrs, foreignNS) {\n return (((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||\n ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));\n}\n","import { Tokenizer, TokenizerMode } from '../tokenizer/index.js';\nimport { OpenElementStack } from './open-element-stack.js';\nimport { FormattingElementList, EntryType } from './formatting-element-list.js';\nimport { defaultTreeAdapter } from '../tree-adapters/default.js';\nimport * as doctype from '../common/doctype.js';\nimport * as foreignContent from '../common/foreign-content.js';\nimport { ERR } from '../common/error-codes.js';\nimport * as unicode from '../common/unicode.js';\nimport { TAG_ID as $, TAG_NAMES as TN, NS, ATTRS, SPECIAL_ELEMENTS, DOCUMENT_MODE, NUMBERED_HEADERS, getTagID, } from '../common/html.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n//Insertion modes\nvar InsertionMode;\n(function (InsertionMode) {\n InsertionMode[InsertionMode[\"INITIAL\"] = 0] = \"INITIAL\";\n InsertionMode[InsertionMode[\"BEFORE_HTML\"] = 1] = \"BEFORE_HTML\";\n InsertionMode[InsertionMode[\"BEFORE_HEAD\"] = 2] = \"BEFORE_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD\"] = 3] = \"IN_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD_NO_SCRIPT\"] = 4] = \"IN_HEAD_NO_SCRIPT\";\n InsertionMode[InsertionMode[\"AFTER_HEAD\"] = 5] = \"AFTER_HEAD\";\n InsertionMode[InsertionMode[\"IN_BODY\"] = 6] = \"IN_BODY\";\n InsertionMode[InsertionMode[\"TEXT\"] = 7] = \"TEXT\";\n InsertionMode[InsertionMode[\"IN_TABLE\"] = 8] = \"IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TABLE_TEXT\"] = 9] = \"IN_TABLE_TEXT\";\n InsertionMode[InsertionMode[\"IN_CAPTION\"] = 10] = \"IN_CAPTION\";\n InsertionMode[InsertionMode[\"IN_COLUMN_GROUP\"] = 11] = \"IN_COLUMN_GROUP\";\n InsertionMode[InsertionMode[\"IN_TABLE_BODY\"] = 12] = \"IN_TABLE_BODY\";\n InsertionMode[InsertionMode[\"IN_ROW\"] = 13] = \"IN_ROW\";\n InsertionMode[InsertionMode[\"IN_CELL\"] = 14] = \"IN_CELL\";\n InsertionMode[InsertionMode[\"IN_SELECT\"] = 15] = \"IN_SELECT\";\n InsertionMode[InsertionMode[\"IN_SELECT_IN_TABLE\"] = 16] = \"IN_SELECT_IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TEMPLATE\"] = 17] = \"IN_TEMPLATE\";\n InsertionMode[InsertionMode[\"AFTER_BODY\"] = 18] = \"AFTER_BODY\";\n InsertionMode[InsertionMode[\"IN_FRAMESET\"] = 19] = \"IN_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_FRAMESET\"] = 20] = \"AFTER_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_BODY\"] = 21] = \"AFTER_AFTER_BODY\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_FRAMESET\"] = 22] = \"AFTER_AFTER_FRAMESET\";\n})(InsertionMode || (InsertionMode = {}));\nconst BASE_LOC = {\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n};\nconst TABLE_STRUCTURE_TAGS = new Set([$.TABLE, $.TBODY, $.TFOOT, $.THEAD, $.TR]);\nconst defaultParserOptions = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n treeAdapter: defaultTreeAdapter,\n onParseError: null,\n};\n//Parser\nexport class Parser {\n constructor(options, document, \n /** @internal */\n fragmentContext = null, \n /** @internal */\n scriptHandler = null) {\n this.fragmentContext = fragmentContext;\n this.scriptHandler = scriptHandler;\n this.currentToken = null;\n this.stopped = false;\n /** @internal */\n this.insertionMode = InsertionMode.INITIAL;\n /** @internal */\n this.originalInsertionMode = InsertionMode.INITIAL;\n /** @internal */\n this.headElement = null;\n /** @internal */\n this.formElement = null;\n /** Indicates that the current node is not an element in the HTML namespace */\n this.currentNotInHTML = false;\n /**\n * The template insertion mode stack is maintained from the left.\n * Ie. the topmost element will always have index 0.\n *\n * @internal\n */\n this.tmplInsertionModeStack = [];\n /** @internal */\n this.pendingCharacterTokens = [];\n /** @internal */\n this.hasNonWhitespacePendingCharacterToken = false;\n /** @internal */\n this.framesetOk = true;\n /** @internal */\n this.skipNextNewLine = false;\n /** @internal */\n this.fosterParentingEnabled = false;\n this.options = {\n ...defaultParserOptions,\n ...options,\n };\n this.treeAdapter = this.options.treeAdapter;\n this.onParseError = this.options.onParseError;\n // Always enable location info if we report parse errors.\n if (this.onParseError) {\n this.options.sourceCodeLocationInfo = true;\n }\n this.document = document !== null && document !== void 0 ? document : this.treeAdapter.createDocument();\n this.tokenizer = new Tokenizer(this.options, this);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n this.fragmentContextID = fragmentContext ? getTagID(this.treeAdapter.getTagName(fragmentContext)) : $.UNKNOWN;\n this._setContextModes(fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : this.document, this.fragmentContextID);\n this.openElements = new OpenElementStack(this.document, this.treeAdapter, this);\n }\n // API\n static parse(html, options) {\n const parser = new this(options);\n parser.tokenizer.write(html, true);\n return parser.document;\n }\n static getFragmentParser(fragmentContext, options) {\n const opts = {\n ...defaultParserOptions,\n ...options,\n };\n //NOTE: use a <template> element as the fragment context if no context element was provided,\n //so we will parse in a \"forgiving\" manner\n fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : (fragmentContext = opts.treeAdapter.createElement(TN.TEMPLATE, NS.HTML, []));\n //NOTE: create a fake element which will be used as the `document` for fragment parsing.\n //This is important for jsdom, where a new `document` cannot be created. This led to\n //fragment parsing messing with the main `document`.\n const documentMock = opts.treeAdapter.createElement('documentmock', NS.HTML, []);\n const parser = new this(opts, documentMock, fragmentContext);\n if (parser.fragmentContextID === $.TEMPLATE) {\n parser.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);\n }\n parser._initTokenizerForFragmentParsing();\n parser._insertFakeRootElement();\n parser._resetInsertionMode();\n parser._findFormInFragmentContext();\n return parser;\n }\n getFragment() {\n const rootElement = this.treeAdapter.getFirstChild(this.document);\n const fragment = this.treeAdapter.createDocumentFragment();\n this._adoptNodes(rootElement, fragment);\n return fragment;\n }\n //Errors\n /** @internal */\n _err(token, code, beforeToken) {\n var _a;\n if (!this.onParseError)\n return;\n const loc = (_a = token.location) !== null && _a !== void 0 ? _a : BASE_LOC;\n const err = {\n code,\n startLine: loc.startLine,\n startCol: loc.startCol,\n startOffset: loc.startOffset,\n endLine: beforeToken ? loc.startLine : loc.endLine,\n endCol: beforeToken ? loc.startCol : loc.endCol,\n endOffset: beforeToken ? loc.startOffset : loc.endOffset,\n };\n this.onParseError(err);\n }\n //Stack events\n /** @internal */\n onItemPush(node, tid, isTop) {\n var _a, _b;\n (_b = (_a = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n if (isTop && this.openElements.stackTop > 0)\n this._setContextModes(node, tid);\n }\n /** @internal */\n onItemPop(node, isTop) {\n var _a, _b;\n if (this.options.sourceCodeLocationInfo) {\n this._setEndLocation(node, this.currentToken);\n }\n (_b = (_a = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a, node, this.openElements.current);\n if (isTop) {\n let current;\n let currentTagId;\n if (this.openElements.stackTop === 0 && this.fragmentContext) {\n current = this.fragmentContext;\n currentTagId = this.fragmentContextID;\n }\n else {\n ({ current, currentTagId } = this.openElements);\n }\n this._setContextModes(current, currentTagId);\n }\n }\n _setContextModes(current, tid) {\n const isHTML = current === this.document || (current && this.treeAdapter.getNamespaceURI(current) === NS.HTML);\n this.currentNotInHTML = !isHTML;\n this.tokenizer.inForeignNode =\n !isHTML && current !== undefined && tid !== undefined && !this._isIntegrationPoint(tid, current);\n }\n /** @protected */\n _switchToTextParsing(currentToken, nextTokenizerState) {\n this._insertElement(currentToken, NS.HTML);\n this.tokenizer.state = nextTokenizerState;\n this.originalInsertionMode = this.insertionMode;\n this.insertionMode = InsertionMode.TEXT;\n }\n switchToPlaintextParsing() {\n this.insertionMode = InsertionMode.TEXT;\n this.originalInsertionMode = InsertionMode.IN_BODY;\n this.tokenizer.state = TokenizerMode.PLAINTEXT;\n }\n //Fragment parsing\n /** @protected */\n _getAdjustedCurrentElement() {\n return this.openElements.stackTop === 0 && this.fragmentContext\n ? this.fragmentContext\n : this.openElements.current;\n }\n /** @protected */\n _findFormInFragmentContext() {\n let node = this.fragmentContext;\n while (node) {\n if (this.treeAdapter.getTagName(node) === TN.FORM) {\n this.formElement = node;\n break;\n }\n node = this.treeAdapter.getParentNode(node);\n }\n }\n _initTokenizerForFragmentParsing() {\n if (!this.fragmentContext || this.treeAdapter.getNamespaceURI(this.fragmentContext) !== NS.HTML) {\n return;\n }\n switch (this.fragmentContextID) {\n case $.TITLE:\n case $.TEXTAREA: {\n this.tokenizer.state = TokenizerMode.RCDATA;\n break;\n }\n case $.STYLE:\n case $.XMP:\n case $.IFRAME:\n case $.NOEMBED:\n case $.NOFRAMES:\n case $.NOSCRIPT: {\n this.tokenizer.state = TokenizerMode.RAWTEXT;\n break;\n }\n case $.SCRIPT: {\n this.tokenizer.state = TokenizerMode.SCRIPT_DATA;\n break;\n }\n case $.PLAINTEXT: {\n this.tokenizer.state = TokenizerMode.PLAINTEXT;\n break;\n }\n default:\n // Do nothing\n }\n }\n //Tree mutation\n /** @protected */\n _setDocumentType(token) {\n const name = token.name || '';\n const publicId = token.publicId || '';\n const systemId = token.systemId || '';\n this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);\n if (token.location) {\n const documentChildren = this.treeAdapter.getChildNodes(this.document);\n const docTypeNode = documentChildren.find((node) => this.treeAdapter.isDocumentTypeNode(node));\n if (docTypeNode) {\n this.treeAdapter.setNodeSourceCodeLocation(docTypeNode, token.location);\n }\n }\n }\n /** @protected */\n _attachElementToTree(element, location) {\n if (this.options.sourceCodeLocationInfo) {\n const loc = location && {\n ...location,\n startTag: location,\n };\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentElement(element);\n }\n else {\n const parent = this.openElements.currentTmplContentOrNode;\n this.treeAdapter.appendChild(parent !== null && parent !== void 0 ? parent : this.document, element);\n }\n }\n /**\n * For self-closing tags. Add an element to the tree, but skip adding it\n * to the stack.\n */\n /** @protected */\n _appendElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n this._attachElementToTree(element, token.location);\n }\n /** @protected */\n _insertElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n this._attachElementToTree(element, token.location);\n this.openElements.push(element, token.tagID);\n }\n /** @protected */\n _insertFakeElement(tagName, tagID) {\n const element = this.treeAdapter.createElement(tagName, NS.HTML, []);\n this._attachElementToTree(element, null);\n this.openElements.push(element, tagID);\n }\n /** @protected */\n _insertTemplate(token) {\n const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);\n const content = this.treeAdapter.createDocumentFragment();\n this.treeAdapter.setTemplateContent(tmpl, content);\n this._attachElementToTree(tmpl, token.location);\n this.openElements.push(tmpl, token.tagID);\n if (this.options.sourceCodeLocationInfo)\n this.treeAdapter.setNodeSourceCodeLocation(content, null);\n }\n /** @protected */\n _insertFakeRootElement() {\n const element = this.treeAdapter.createElement(TN.HTML, NS.HTML, []);\n if (this.options.sourceCodeLocationInfo)\n this.treeAdapter.setNodeSourceCodeLocation(element, null);\n this.treeAdapter.appendChild(this.openElements.current, element);\n this.openElements.push(element, $.HTML);\n }\n /** @protected */\n _appendCommentNode(token, parent) {\n const commentNode = this.treeAdapter.createCommentNode(token.data);\n this.treeAdapter.appendChild(parent, commentNode);\n if (this.options.sourceCodeLocationInfo) {\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n }\n }\n /** @protected */\n _insertCharacters(token) {\n let parent;\n let beforeElement;\n if (this._shouldFosterParentOnInsertion()) {\n ({ parent, beforeElement } = this._findFosterParentingLocation());\n if (beforeElement) {\n this.treeAdapter.insertTextBefore(parent, token.chars, beforeElement);\n }\n else {\n this.treeAdapter.insertText(parent, token.chars);\n }\n }\n else {\n parent = this.openElements.currentTmplContentOrNode;\n this.treeAdapter.insertText(parent, token.chars);\n }\n if (!token.location)\n return;\n const siblings = this.treeAdapter.getChildNodes(parent);\n const textNodeIdx = beforeElement ? siblings.lastIndexOf(beforeElement) : siblings.length;\n const textNode = siblings[textNodeIdx - 1];\n //NOTE: if we have a location assigned by another token, then just update the end position\n const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n if (tnLoc) {\n const { endLine, endCol, endOffset } = token.location;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset });\n }\n else if (this.options.sourceCodeLocationInfo) {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n /** @protected */\n _adoptNodes(donor, recipient) {\n for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {\n this.treeAdapter.detachNode(child);\n this.treeAdapter.appendChild(recipient, child);\n }\n }\n /** @protected */\n _setEndLocation(element, closingToken) {\n if (this.treeAdapter.getNodeSourceCodeLocation(element) && closingToken.location) {\n const ctLoc = closingToken.location;\n const tn = this.treeAdapter.getTagName(element);\n const endLoc = \n // NOTE: For cases like <p> <p> </p> - First 'p' closes without a closing\n // tag and for cases like <td> <p> </td> - 'p' closes without a closing tag.\n closingToken.type === TokenType.END_TAG && tn === closingToken.tagName\n ? {\n endTag: { ...ctLoc },\n endLine: ctLoc.endLine,\n endCol: ctLoc.endCol,\n endOffset: ctLoc.endOffset,\n }\n : {\n endLine: ctLoc.startLine,\n endCol: ctLoc.startCol,\n endOffset: ctLoc.startOffset,\n };\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n //Token processing\n shouldProcessStartTagTokenInForeignContent(token) {\n // Check that neither current === document, or ns === NS.HTML\n if (!this.currentNotInHTML)\n return false;\n let current;\n let currentTagId;\n if (this.openElements.stackTop === 0 && this.fragmentContext) {\n current = this.fragmentContext;\n currentTagId = this.fragmentContextID;\n }\n else {\n ({ current, currentTagId } = this.openElements);\n }\n if (token.tagID === $.SVG &&\n this.treeAdapter.getTagName(current) === TN.ANNOTATION_XML &&\n this.treeAdapter.getNamespaceURI(current) === NS.MATHML) {\n return false;\n }\n return (\n // Check that `current` is not an integration point for HTML or MathML elements.\n this.tokenizer.inForeignNode ||\n // If it _is_ an integration point, then we might have to check that it is not an HTML\n // integration point.\n ((token.tagID === $.MGLYPH || token.tagID === $.MALIGNMARK) &&\n currentTagId !== undefined &&\n !this._isIntegrationPoint(currentTagId, current, NS.HTML)));\n }\n /** @protected */\n _processToken(token) {\n switch (token.type) {\n case TokenType.CHARACTER: {\n this.onCharacter(token);\n break;\n }\n case TokenType.NULL_CHARACTER: {\n this.onNullCharacter(token);\n break;\n }\n case TokenType.COMMENT: {\n this.onComment(token);\n break;\n }\n case TokenType.DOCTYPE: {\n this.onDoctype(token);\n break;\n }\n case TokenType.START_TAG: {\n this._processStartTag(token);\n break;\n }\n case TokenType.END_TAG: {\n this.onEndTag(token);\n break;\n }\n case TokenType.EOF: {\n this.onEof(token);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n this.onWhitespaceCharacter(token);\n break;\n }\n }\n }\n //Integration points\n /** @protected */\n _isIntegrationPoint(tid, element, foreignNS) {\n const ns = this.treeAdapter.getNamespaceURI(element);\n const attrs = this.treeAdapter.getAttrList(element);\n return foreignContent.isIntegrationPoint(tid, ns, attrs, foreignNS);\n }\n //Active formatting elements reconstruction\n /** @protected */\n _reconstructActiveFormattingElements() {\n const listLength = this.activeFormattingElements.entries.length;\n if (listLength) {\n const endIndex = this.activeFormattingElements.entries.findIndex((entry) => entry.type === EntryType.Marker || this.openElements.contains(entry.element));\n const unopenIdx = endIndex === -1 ? listLength - 1 : endIndex - 1;\n for (let i = unopenIdx; i >= 0; i--) {\n const entry = this.activeFormattingElements.entries[i];\n this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));\n entry.element = this.openElements.current;\n }\n }\n }\n //Close elements\n /** @protected */\n _closeTableCell() {\n this.openElements.generateImpliedEndTags();\n this.openElements.popUntilTableCellPopped();\n this.activeFormattingElements.clearToLastMarker();\n this.insertionMode = InsertionMode.IN_ROW;\n }\n /** @protected */\n _closePElement() {\n this.openElements.generateImpliedEndTagsWithExclusion($.P);\n this.openElements.popUntilTagNamePopped($.P);\n }\n //Insertion modes\n /** @protected */\n _resetInsertionMode() {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n //Insertion mode reset map\n switch (i === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[i]) {\n case $.TR: {\n this.insertionMode = InsertionMode.IN_ROW;\n return;\n }\n case $.TBODY:\n case $.THEAD:\n case $.TFOOT: {\n this.insertionMode = InsertionMode.IN_TABLE_BODY;\n return;\n }\n case $.CAPTION: {\n this.insertionMode = InsertionMode.IN_CAPTION;\n return;\n }\n case $.COLGROUP: {\n this.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n return;\n }\n case $.TABLE: {\n this.insertionMode = InsertionMode.IN_TABLE;\n return;\n }\n case $.BODY: {\n this.insertionMode = InsertionMode.IN_BODY;\n return;\n }\n case $.FRAMESET: {\n this.insertionMode = InsertionMode.IN_FRAMESET;\n return;\n }\n case $.SELECT: {\n this._resetInsertionModeForSelect(i);\n return;\n }\n case $.TEMPLATE: {\n this.insertionMode = this.tmplInsertionModeStack[0];\n return;\n }\n case $.HTML: {\n this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;\n return;\n }\n case $.TD:\n case $.TH: {\n if (i > 0) {\n this.insertionMode = InsertionMode.IN_CELL;\n return;\n }\n break;\n }\n case $.HEAD: {\n if (i > 0) {\n this.insertionMode = InsertionMode.IN_HEAD;\n return;\n }\n break;\n }\n }\n }\n this.insertionMode = InsertionMode.IN_BODY;\n }\n /** @protected */\n _resetInsertionModeForSelect(selectIdx) {\n if (selectIdx > 0) {\n for (let i = selectIdx - 1; i > 0; i--) {\n const tn = this.openElements.tagIDs[i];\n if (tn === $.TEMPLATE) {\n break;\n }\n else if (tn === $.TABLE) {\n this.insertionMode = InsertionMode.IN_SELECT_IN_TABLE;\n return;\n }\n }\n }\n this.insertionMode = InsertionMode.IN_SELECT;\n }\n //Foster parenting\n /** @protected */\n _isElementCausesFosterParenting(tn) {\n return TABLE_STRUCTURE_TAGS.has(tn);\n }\n /** @protected */\n _shouldFosterParentOnInsertion() {\n return (this.fosterParentingEnabled &&\n this.openElements.currentTagId !== undefined &&\n this._isElementCausesFosterParenting(this.openElements.currentTagId));\n }\n /** @protected */\n _findFosterParentingLocation() {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const openElement = this.openElements.items[i];\n switch (this.openElements.tagIDs[i]) {\n case $.TEMPLATE: {\n if (this.treeAdapter.getNamespaceURI(openElement) === NS.HTML) {\n return { parent: this.treeAdapter.getTemplateContent(openElement), beforeElement: null };\n }\n break;\n }\n case $.TABLE: {\n const parent = this.treeAdapter.getParentNode(openElement);\n if (parent) {\n return { parent, beforeElement: openElement };\n }\n return { parent: this.openElements.items[i - 1], beforeElement: null };\n }\n default:\n // Do nothing\n }\n }\n return { parent: this.openElements.items[0], beforeElement: null };\n }\n /** @protected */\n _fosterParentElement(element) {\n const location = this._findFosterParentingLocation();\n if (location.beforeElement) {\n this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);\n }\n else {\n this.treeAdapter.appendChild(location.parent, element);\n }\n }\n //Special elements\n /** @protected */\n _isSpecialElement(element, id) {\n const ns = this.treeAdapter.getNamespaceURI(element);\n return SPECIAL_ELEMENTS[ns].has(id);\n }\n /** @internal */\n onCharacter(token) {\n this.skipNextNewLine = false;\n if (this.tokenizer.inForeignNode) {\n characterInForeignContent(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_TEMPLATE: {\n characterInBody(this, token);\n break;\n }\n case InsertionMode.TEXT:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n characterInTableText(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n tokenInColumnGroup(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n tokenAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onNullCharacter(token) {\n this.skipNextNewLine = false;\n if (this.tokenizer.inForeignNode) {\n nullCharacterInForeignContent(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n tokenInColumnGroup(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n tokenAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onComment(token) {\n this.skipNextNewLine = false;\n if (this.currentNotInHTML) {\n appendComment(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL:\n case InsertionMode.BEFORE_HTML:\n case InsertionMode.BEFORE_HEAD:\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD:\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE:\n case InsertionMode.IN_TEMPLATE:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET: {\n appendComment(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n appendCommentToRootHtmlElement(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n appendCommentToDocument(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onDoctype(token) {\n this.skipNextNewLine = false;\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n doctypeInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD:\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD: {\n this._err(token, ERR.misplacedDoctype);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onStartTag(token) {\n this.skipNextNewLine = false;\n this.currentToken = token;\n this._processStartTag(token);\n if (token.selfClosing && !token.ackSelfClosing) {\n this._err(token, ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);\n }\n }\n /**\n * Processes a given start tag.\n *\n * `onStartTag` checks if a self-closing tag was recognized. When a token\n * is moved inbetween multiple insertion modes, this check for self-closing\n * could lead to false positives. To avoid this, `_processStartTag` is used\n * for nested calls.\n *\n * @param token The token to process.\n * @protected\n */\n _processStartTag(token) {\n if (this.shouldProcessStartTagTokenInForeignContent(token)) {\n startTagInForeignContent(this, token);\n }\n else {\n this._startTagOutsideForeignContent(token);\n }\n }\n /** @protected */\n _startTagOutsideForeignContent(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n startTagBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n startTagBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n startTagInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n startTagInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n startTagAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY: {\n startTagInBody(this, token);\n break;\n }\n case InsertionMode.IN_TABLE: {\n startTagInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_CAPTION: {\n startTagInCaption(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n startTagInColumnGroup(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_BODY: {\n startTagInTableBody(this, token);\n break;\n }\n case InsertionMode.IN_ROW: {\n startTagInRow(this, token);\n break;\n }\n case InsertionMode.IN_CELL: {\n startTagInCell(this, token);\n break;\n }\n case InsertionMode.IN_SELECT: {\n startTagInSelect(this, token);\n break;\n }\n case InsertionMode.IN_SELECT_IN_TABLE: {\n startTagInSelectInTable(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n startTagInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n startTagAfterBody(this, token);\n break;\n }\n case InsertionMode.IN_FRAMESET: {\n startTagInFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_FRAMESET: {\n startTagAfterFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n startTagAfterAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n startTagAfterAfterFrameset(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onEndTag(token) {\n this.skipNextNewLine = false;\n this.currentToken = token;\n if (this.currentNotInHTML) {\n endTagInForeignContent(this, token);\n }\n else {\n this._endTagOutsideForeignContent(token);\n }\n }\n /** @protected */\n _endTagOutsideForeignContent(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n endTagBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n endTagBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n endTagInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n endTagInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n endTagAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY: {\n endTagInBody(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n endTagInText(this, token);\n break;\n }\n case InsertionMode.IN_TABLE: {\n endTagInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_CAPTION: {\n endTagInCaption(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n endTagInColumnGroup(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_BODY: {\n endTagInTableBody(this, token);\n break;\n }\n case InsertionMode.IN_ROW: {\n endTagInRow(this, token);\n break;\n }\n case InsertionMode.IN_CELL: {\n endTagInCell(this, token);\n break;\n }\n case InsertionMode.IN_SELECT: {\n endTagInSelect(this, token);\n break;\n }\n case InsertionMode.IN_SELECT_IN_TABLE: {\n endTagInSelectInTable(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n endTagInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n endTagAfterBody(this, token);\n break;\n }\n case InsertionMode.IN_FRAMESET: {\n endTagInFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_FRAMESET: {\n endTagAfterFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onEof(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE: {\n eofInBody(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n eofInText(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n eofInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET:\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n stopParsing(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onWhitespaceCharacter(token) {\n if (this.skipNextNewLine) {\n this.skipNextNewLine = false;\n if (token.chars.charCodeAt(0) === unicode.CODE_POINTS.LINE_FEED) {\n if (token.chars.length === 1) {\n return;\n }\n token.chars = token.chars.substr(1);\n }\n }\n if (this.tokenizer.inForeignNode) {\n this._insertCharacters(token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD:\n case InsertionMode.TEXT:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_TEMPLATE:\n case InsertionMode.AFTER_BODY:\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n whitespaceCharacterInBody(this, token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n whitespaceCharacterInTableText(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n}\n//Adoption agency algorithm\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)\n//------------------------------------------------------------------\n//Steps 5-8 of the algorithm\nfunction aaObtainFormattingElementEntry(p, token) {\n let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);\n if (formattingElementEntry) {\n if (!p.openElements.contains(formattingElementEntry.element)) {\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n formattingElementEntry = null;\n }\n else if (!p.openElements.hasInScope(token.tagID)) {\n formattingElementEntry = null;\n }\n }\n else {\n genericEndTagInBody(p, token);\n }\n return formattingElementEntry;\n}\n//Steps 9 and 10 of the algorithm\nfunction aaObtainFurthestBlock(p, formattingElementEntry) {\n let furthestBlock = null;\n let idx = p.openElements.stackTop;\n for (; idx >= 0; idx--) {\n const element = p.openElements.items[idx];\n if (element === formattingElementEntry.element) {\n break;\n }\n if (p._isSpecialElement(element, p.openElements.tagIDs[idx])) {\n furthestBlock = element;\n }\n }\n if (!furthestBlock) {\n p.openElements.shortenToLength(Math.max(idx, 0));\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n }\n return furthestBlock;\n}\n//Step 13 of the algorithm\nfunction aaInnerLoop(p, furthestBlock, formattingElement) {\n let lastElement = furthestBlock;\n let nextElement = p.openElements.getCommonAncestor(furthestBlock);\n for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {\n //NOTE: store the next element for the next loop iteration (it may be deleted from the stack by step 9.5)\n nextElement = p.openElements.getCommonAncestor(element);\n const elementEntry = p.activeFormattingElements.getElementEntry(element);\n const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;\n const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;\n if (shouldRemoveFromOpenElements) {\n if (counterOverflow) {\n p.activeFormattingElements.removeEntry(elementEntry);\n }\n p.openElements.remove(element);\n }\n else {\n element = aaRecreateElementFromEntry(p, elementEntry);\n if (lastElement === furthestBlock) {\n p.activeFormattingElements.bookmark = elementEntry;\n }\n p.treeAdapter.detachNode(lastElement);\n p.treeAdapter.appendChild(element, lastElement);\n lastElement = element;\n }\n }\n return lastElement;\n}\n//Step 13.7 of the algorithm\nfunction aaRecreateElementFromEntry(p, elementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);\n const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);\n p.openElements.replace(elementEntry.element, newElement);\n elementEntry.element = newElement;\n return newElement;\n}\n//Step 14 of the algorithm\nfunction aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {\n const tn = p.treeAdapter.getTagName(commonAncestor);\n const tid = getTagID(tn);\n if (p._isElementCausesFosterParenting(tid)) {\n p._fosterParentElement(lastElement);\n }\n else {\n const ns = p.treeAdapter.getNamespaceURI(commonAncestor);\n if (tid === $.TEMPLATE && ns === NS.HTML) {\n commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);\n }\n p.treeAdapter.appendChild(commonAncestor, lastElement);\n }\n}\n//Steps 15-19 of the algorithm\nfunction aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);\n const { token } = formattingElementEntry;\n const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);\n p._adoptNodes(furthestBlock, newElement);\n p.treeAdapter.appendChild(furthestBlock, newElement);\n p.activeFormattingElements.insertElementAfterBookmark(newElement, token);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n p.openElements.remove(formattingElementEntry.element);\n p.openElements.insertAfter(furthestBlock, newElement, token.tagID);\n}\n//Algorithm entry point\nfunction callAdoptionAgency(p, token) {\n for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {\n const formattingElementEntry = aaObtainFormattingElementEntry(p, token);\n if (!formattingElementEntry) {\n break;\n }\n const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);\n if (!furthestBlock) {\n break;\n }\n p.activeFormattingElements.bookmark = formattingElementEntry;\n const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);\n const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);\n p.treeAdapter.detachNode(lastElement);\n if (commonAncestor)\n aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);\n aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);\n }\n}\n//Generic token handlers\n//------------------------------------------------------------------\nfunction appendComment(p, token) {\n p._appendCommentNode(token, p.openElements.currentTmplContentOrNode);\n}\nfunction appendCommentToRootHtmlElement(p, token) {\n p._appendCommentNode(token, p.openElements.items[0]);\n}\nfunction appendCommentToDocument(p, token) {\n p._appendCommentNode(token, p.document);\n}\nfunction stopParsing(p, token) {\n p.stopped = true;\n // NOTE: Set end locations for elements that remain on the open element stack.\n if (token.location) {\n // NOTE: If we are not in a fragment, `html` and `body` will stay on the stack.\n // This is a problem, as we might overwrite their end position here.\n const target = p.fragmentContext ? 0 : 2;\n for (let i = p.openElements.stackTop; i >= target; i--) {\n p._setEndLocation(p.openElements.items[i], token);\n }\n // Handle `html` and `body`\n if (!p.fragmentContext && p.openElements.stackTop >= 0) {\n const htmlElement = p.openElements.items[0];\n const htmlLocation = p.treeAdapter.getNodeSourceCodeLocation(htmlElement);\n if (htmlLocation && !htmlLocation.endTag) {\n p._setEndLocation(htmlElement, token);\n if (p.openElements.stackTop >= 1) {\n const bodyElement = p.openElements.items[1];\n const bodyLocation = p.treeAdapter.getNodeSourceCodeLocation(bodyElement);\n if (bodyLocation && !bodyLocation.endTag) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n }\n }\n}\n// The \"initial\" insertion mode\n//------------------------------------------------------------------\nfunction doctypeInInitialMode(p, token) {\n p._setDocumentType(token);\n const mode = token.forceQuirks ? DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);\n if (!doctype.isConforming(token)) {\n p._err(token, ERR.nonConformingDoctype);\n }\n p.treeAdapter.setDocumentMode(p.document, mode);\n p.insertionMode = InsertionMode.BEFORE_HTML;\n}\nfunction tokenInInitialMode(p, token) {\n p._err(token, ERR.missingDoctype, true);\n p.treeAdapter.setDocumentMode(p.document, DOCUMENT_MODE.QUIRKS);\n p.insertionMode = InsertionMode.BEFORE_HTML;\n p._processToken(token);\n}\n// The \"before html\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHtml(p, token) {\n if (token.tagID === $.HTML) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.BEFORE_HEAD;\n }\n else {\n tokenBeforeHtml(p, token);\n }\n}\nfunction endTagBeforeHtml(p, token) {\n const tn = token.tagID;\n if (tn === $.HTML || tn === $.HEAD || tn === $.BODY || tn === $.BR) {\n tokenBeforeHtml(p, token);\n }\n}\nfunction tokenBeforeHtml(p, token) {\n p._insertFakeRootElement();\n p.insertionMode = InsertionMode.BEFORE_HEAD;\n p._processToken(token);\n}\n// The \"before head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHead(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.HEAD: {\n p._insertElement(token, NS.HTML);\n p.headElement = p.openElements.current;\n p.insertionMode = InsertionMode.IN_HEAD;\n break;\n }\n default: {\n tokenBeforeHead(p, token);\n }\n }\n}\nfunction endTagBeforeHead(p, token) {\n const tn = token.tagID;\n if (tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenBeforeHead(p, token);\n }\n else {\n p._err(token, ERR.endTagWithoutMatchingOpenElement);\n }\n}\nfunction tokenBeforeHead(p, token) {\n p._insertFakeElement(TN.HEAD, $.HEAD);\n p.headElement = p.openElements.current;\n p.insertionMode = InsertionMode.IN_HEAD;\n p._processToken(token);\n}\n// The \"in head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHead(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.BASE:\n case $.BASEFONT:\n case $.BGSOUND:\n case $.LINK:\n case $.META: {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case $.TITLE: {\n p._switchToTextParsing(token, TokenizerMode.RCDATA);\n break;\n }\n case $.NOSCRIPT: {\n if (p.options.scriptingEnabled) {\n p._switchToTextParsing(token, TokenizerMode.RAWTEXT);\n }\n else {\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_HEAD_NO_SCRIPT;\n }\n break;\n }\n case $.NOFRAMES:\n case $.STYLE: {\n p._switchToTextParsing(token, TokenizerMode.RAWTEXT);\n break;\n }\n case $.SCRIPT: {\n p._switchToTextParsing(token, TokenizerMode.SCRIPT_DATA);\n break;\n }\n case $.TEMPLATE: {\n p._insertTemplate(token);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_TEMPLATE;\n p.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);\n break;\n }\n case $.HEAD: {\n p._err(token, ERR.misplacedStartTagForHeadElement);\n break;\n }\n default: {\n tokenInHead(p, token);\n }\n }\n}\nfunction endTagInHead(p, token) {\n switch (token.tagID) {\n case $.HEAD: {\n p.openElements.pop();\n p.insertionMode = InsertionMode.AFTER_HEAD;\n break;\n }\n case $.BODY:\n case $.BR:\n case $.HTML: {\n tokenInHead(p, token);\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n p._err(token, ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction templateEndTagInHead(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.generateImpliedEndTagsThoroughly();\n if (p.openElements.currentTagId !== $.TEMPLATE) {\n p._err(token, ERR.closingOfElementWithOpenChildElements);\n }\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p.tmplInsertionModeStack.shift();\n p._resetInsertionMode();\n }\n else {\n p._err(token, ERR.endTagWithoutMatchingOpenElement);\n }\n}\nfunction tokenInHead(p, token) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.AFTER_HEAD;\n p._processToken(token);\n}\n// The \"in head no script\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHeadNoScript(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.BASEFONT:\n case $.BGSOUND:\n case $.HEAD:\n case $.LINK:\n case $.META:\n case $.NOFRAMES:\n case $.STYLE: {\n startTagInHead(p, token);\n break;\n }\n case $.NOSCRIPT: {\n p._err(token, ERR.nestedNoscriptInHead);\n break;\n }\n default: {\n tokenInHeadNoScript(p, token);\n }\n }\n}\nfunction endTagInHeadNoScript(p, token) {\n switch (token.tagID) {\n case $.NOSCRIPT: {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_HEAD;\n break;\n }\n case $.BR: {\n tokenInHeadNoScript(p, token);\n break;\n }\n default: {\n p._err(token, ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction tokenInHeadNoScript(p, token) {\n const errCode = token.type === TokenType.EOF ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;\n p._err(token, errCode);\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_HEAD;\n p._processToken(token);\n}\n// The \"after head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterHead(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.BODY: {\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_BODY;\n break;\n }\n case $.FRAMESET: {\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_FRAMESET;\n break;\n }\n case $.BASE:\n case $.BASEFONT:\n case $.BGSOUND:\n case $.LINK:\n case $.META:\n case $.NOFRAMES:\n case $.SCRIPT:\n case $.STYLE:\n case $.TEMPLATE:\n case $.TITLE: {\n p._err(token, ERR.abandonedHeadElementChild);\n p.openElements.push(p.headElement, $.HEAD);\n startTagInHead(p, token);\n p.openElements.remove(p.headElement);\n break;\n }\n case $.HEAD: {\n p._err(token, ERR.misplacedStartTagForHeadElement);\n break;\n }\n default: {\n tokenAfterHead(p, token);\n }\n }\n}\nfunction endTagAfterHead(p, token) {\n switch (token.tagID) {\n case $.BODY:\n case $.HTML:\n case $.BR: {\n tokenAfterHead(p, token);\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n p._err(token, ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction tokenAfterHead(p, token) {\n p._insertFakeElement(TN.BODY, $.BODY);\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The \"in body\" insertion mode\n//------------------------------------------------------------------\nfunction modeInBody(p, token) {\n switch (token.type) {\n case TokenType.CHARACTER: {\n characterInBody(p, token);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n whitespaceCharacterInBody(p, token);\n break;\n }\n case TokenType.COMMENT: {\n appendComment(p, token);\n break;\n }\n case TokenType.START_TAG: {\n startTagInBody(p, token);\n break;\n }\n case TokenType.END_TAG: {\n endTagInBody(p, token);\n break;\n }\n case TokenType.EOF: {\n eofInBody(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction whitespaceCharacterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n}\nfunction characterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n p.framesetOk = false;\n}\nfunction htmlStartTagInBody(p, token) {\n if (p.openElements.tmplCount === 0) {\n p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);\n }\n}\nfunction bodyStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (bodyElement && p.openElements.tmplCount === 0) {\n p.framesetOk = false;\n p.treeAdapter.adoptAttributes(bodyElement, token.attrs);\n }\n}\nfunction framesetStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (p.framesetOk && bodyElement) {\n p.treeAdapter.detachNode(bodyElement);\n p.openElements.popAllUpToHtmlElement();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_FRAMESET;\n }\n}\nfunction addressStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n}\nfunction numberedHeaderStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n if (p.openElements.currentTagId !== undefined && NUMBERED_HEADERS.has(p.openElements.currentTagId)) {\n p.openElements.pop();\n }\n p._insertElement(token, NS.HTML);\n}\nfunction preStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.framesetOk = false;\n}\nfunction formStartTagInBody(p, token) {\n const inTemplate = p.openElements.tmplCount > 0;\n if (!p.formElement || inTemplate) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n if (!inTemplate) {\n p.formElement = p.openElements.current;\n }\n }\n}\nfunction listItemStartTagInBody(p, token) {\n p.framesetOk = false;\n const tn = token.tagID;\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const elementId = p.openElements.tagIDs[i];\n if ((tn === $.LI && elementId === $.LI) ||\n ((tn === $.DD || tn === $.DT) && (elementId === $.DD || elementId === $.DT))) {\n p.openElements.generateImpliedEndTagsWithExclusion(elementId);\n p.openElements.popUntilTagNamePopped(elementId);\n break;\n }\n if (elementId !== $.ADDRESS &&\n elementId !== $.DIV &&\n elementId !== $.P &&\n p._isSpecialElement(p.openElements.items[i], elementId)) {\n break;\n }\n }\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n}\nfunction plaintextStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n p.tokenizer.state = TokenizerMode.PLAINTEXT;\n}\nfunction buttonStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.BUTTON)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.BUTTON);\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n}\nfunction aStartTagInBody(p, token) {\n const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(TN.A);\n if (activeElementEntry) {\n callAdoptionAgency(p, token);\n p.openElements.remove(activeElementEntry.element);\n p.activeFormattingElements.removeEntry(activeElementEntry);\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction bStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction nobrStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n if (p.openElements.hasInScope($.NOBR)) {\n callAdoptionAgency(p, token);\n p._reconstructActiveFormattingElements();\n }\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction appletStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n}\nfunction tableStartTagInBody(p, token) {\n if (p.treeAdapter.getDocumentMode(p.document) !== DOCUMENT_MODE.QUIRKS && p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_TABLE;\n}\nfunction areaStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\nfunction isHiddenInput(token) {\n const inputType = getTokenAttr(token, ATTRS.TYPE);\n return inputType != null && inputType.toLowerCase() === HIDDEN_INPUT_TYPE;\n}\nfunction inputStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n if (!isHiddenInput(token)) {\n p.framesetOk = false;\n }\n token.ackSelfClosing = true;\n}\nfunction paramStartTagInBody(p, token) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n}\nfunction hrStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\nfunction imageStartTagInBody(p, token) {\n token.tagName = TN.IMG;\n token.tagID = $.IMG;\n areaStartTagInBody(p, token);\n}\nfunction textareaStartTagInBody(p, token) {\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.tokenizer.state = TokenizerMode.RCDATA;\n p.originalInsertionMode = p.insertionMode;\n p.framesetOk = false;\n p.insertionMode = InsertionMode.TEXT;\n}\nfunction xmpStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n p._reconstructActiveFormattingElements();\n p.framesetOk = false;\n p._switchToTextParsing(token, TokenizerMode.RAWTEXT);\n}\nfunction iframeStartTagInBody(p, token) {\n p.framesetOk = false;\n p._switchToTextParsing(token, TokenizerMode.RAWTEXT);\n}\n//NOTE: here we assume that we always act as a user agent with enabled plugins/frames, so we parse\n//<noembed>/<noframes> as rawtext.\nfunction rawTextStartTagInBody(p, token) {\n p._switchToTextParsing(token, TokenizerMode.RAWTEXT);\n}\nfunction selectStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode =\n p.insertionMode === InsertionMode.IN_TABLE ||\n p.insertionMode === InsertionMode.IN_CAPTION ||\n p.insertionMode === InsertionMode.IN_TABLE_BODY ||\n p.insertionMode === InsertionMode.IN_ROW ||\n p.insertionMode === InsertionMode.IN_CELL\n ? InsertionMode.IN_SELECT_IN_TABLE\n : InsertionMode.IN_SELECT;\n}\nfunction optgroupStartTagInBody(p, token) {\n if (p.openElements.currentTagId === $.OPTION) {\n p.openElements.pop();\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\nfunction rbStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTags();\n }\n p._insertElement(token, NS.HTML);\n}\nfunction rtStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.RTC);\n }\n p._insertElement(token, NS.HTML);\n}\nfunction mathStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n foreignContent.adjustTokenMathMLAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, NS.MATHML);\n }\n else {\n p._insertElement(token, NS.MATHML);\n }\n token.ackSelfClosing = true;\n}\nfunction svgStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n foreignContent.adjustTokenSVGAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, NS.SVG);\n }\n else {\n p._insertElement(token, NS.SVG);\n }\n token.ackSelfClosing = true;\n}\nfunction genericStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\nfunction startTagInBody(p, token) {\n switch (token.tagID) {\n case $.I:\n case $.S:\n case $.B:\n case $.U:\n case $.EM:\n case $.TT:\n case $.BIG:\n case $.CODE:\n case $.FONT:\n case $.SMALL:\n case $.STRIKE:\n case $.STRONG: {\n bStartTagInBody(p, token);\n break;\n }\n case $.A: {\n aStartTagInBody(p, token);\n break;\n }\n case $.H1:\n case $.H2:\n case $.H3:\n case $.H4:\n case $.H5:\n case $.H6: {\n numberedHeaderStartTagInBody(p, token);\n break;\n }\n case $.P:\n case $.DL:\n case $.OL:\n case $.UL:\n case $.DIV:\n case $.DIR:\n case $.NAV:\n case $.MAIN:\n case $.MENU:\n case $.ASIDE:\n case $.CENTER:\n case $.FIGURE:\n case $.FOOTER:\n case $.HEADER:\n case $.HGROUP:\n case $.DIALOG:\n case $.DETAILS:\n case $.ADDRESS:\n case $.ARTICLE:\n case $.SEARCH:\n case $.SECTION:\n case $.SUMMARY:\n case $.FIELDSET:\n case $.BLOCKQUOTE:\n case $.FIGCAPTION: {\n addressStartTagInBody(p, token);\n break;\n }\n case $.LI:\n case $.DD:\n case $.DT: {\n listItemStartTagInBody(p, token);\n break;\n }\n case $.BR:\n case $.IMG:\n case $.WBR:\n case $.AREA:\n case $.EMBED:\n case $.KEYGEN: {\n areaStartTagInBody(p, token);\n break;\n }\n case $.HR: {\n hrStartTagInBody(p, token);\n break;\n }\n case $.RB:\n case $.RTC: {\n rbStartTagInBody(p, token);\n break;\n }\n case $.RT:\n case $.RP: {\n rtStartTagInBody(p, token);\n break;\n }\n case $.PRE:\n case $.LISTING: {\n preStartTagInBody(p, token);\n break;\n }\n case $.XMP: {\n xmpStartTagInBody(p, token);\n break;\n }\n case $.SVG: {\n svgStartTagInBody(p, token);\n break;\n }\n case $.HTML: {\n htmlStartTagInBody(p, token);\n break;\n }\n case $.BASE:\n case $.LINK:\n case $.META:\n case $.STYLE:\n case $.TITLE:\n case $.SCRIPT:\n case $.BGSOUND:\n case $.BASEFONT:\n case $.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n case $.BODY: {\n bodyStartTagInBody(p, token);\n break;\n }\n case $.FORM: {\n formStartTagInBody(p, token);\n break;\n }\n case $.NOBR: {\n nobrStartTagInBody(p, token);\n break;\n }\n case $.MATH: {\n mathStartTagInBody(p, token);\n break;\n }\n case $.TABLE: {\n tableStartTagInBody(p, token);\n break;\n }\n case $.INPUT: {\n inputStartTagInBody(p, token);\n break;\n }\n case $.PARAM:\n case $.TRACK:\n case $.SOURCE: {\n paramStartTagInBody(p, token);\n break;\n }\n case $.IMAGE: {\n imageStartTagInBody(p, token);\n break;\n }\n case $.BUTTON: {\n buttonStartTagInBody(p, token);\n break;\n }\n case $.APPLET:\n case $.OBJECT:\n case $.MARQUEE: {\n appletStartTagInBody(p, token);\n break;\n }\n case $.IFRAME: {\n iframeStartTagInBody(p, token);\n break;\n }\n case $.SELECT: {\n selectStartTagInBody(p, token);\n break;\n }\n case $.OPTION:\n case $.OPTGROUP: {\n optgroupStartTagInBody(p, token);\n break;\n }\n case $.NOEMBED:\n case $.NOFRAMES: {\n rawTextStartTagInBody(p, token);\n break;\n }\n case $.FRAMESET: {\n framesetStartTagInBody(p, token);\n break;\n }\n case $.TEXTAREA: {\n textareaStartTagInBody(p, token);\n break;\n }\n case $.NOSCRIPT: {\n if (p.options.scriptingEnabled) {\n rawTextStartTagInBody(p, token);\n }\n else {\n genericStartTagInBody(p, token);\n }\n break;\n }\n case $.PLAINTEXT: {\n plaintextStartTagInBody(p, token);\n break;\n }\n case $.COL:\n case $.TH:\n case $.TD:\n case $.TR:\n case $.HEAD:\n case $.FRAME:\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD:\n case $.CAPTION:\n case $.COLGROUP: {\n // Ignore token\n break;\n }\n default: {\n genericStartTagInBody(p, token);\n }\n }\n}\nfunction bodyEndTagInBody(p, token) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = InsertionMode.AFTER_BODY;\n //NOTE: <body> is never popped from the stack, so we need to updated\n //the end location explicitly.\n if (p.options.sourceCodeLocationInfo) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (bodyElement) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n}\nfunction htmlEndTagInBody(p, token) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = InsertionMode.AFTER_BODY;\n endTagAfterBody(p, token);\n }\n}\nfunction addressEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\nfunction formEndTagInBody(p) {\n const inTemplate = p.openElements.tmplCount > 0;\n const { formElement } = p;\n if (!inTemplate) {\n p.formElement = null;\n }\n if ((formElement || inTemplate) && p.openElements.hasInScope($.FORM)) {\n p.openElements.generateImpliedEndTags();\n if (inTemplate) {\n p.openElements.popUntilTagNamePopped($.FORM);\n }\n else if (formElement) {\n p.openElements.remove(formElement);\n }\n }\n}\nfunction pEndTagInBody(p) {\n if (!p.openElements.hasInButtonScope($.P)) {\n p._insertFakeElement(TN.P, $.P);\n }\n p._closePElement();\n}\nfunction liEndTagInBody(p) {\n if (p.openElements.hasInListItemScope($.LI)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.LI);\n p.openElements.popUntilTagNamePopped($.LI);\n }\n}\nfunction ddEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\nfunction numberedHeaderEndTagInBody(p) {\n if (p.openElements.hasNumberedHeaderInScope()) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilNumberedHeaderPopped();\n }\n}\nfunction appletEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n }\n}\nfunction brEndTagInBody(p) {\n p._reconstructActiveFormattingElements();\n p._insertFakeElement(TN.BR, $.BR);\n p.openElements.pop();\n p.framesetOk = false;\n}\nfunction genericEndTagInBody(p, token) {\n const tn = token.tagName;\n const tid = token.tagID;\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n const elementId = p.openElements.tagIDs[i];\n // Compare the tag name here, as the tag might not be a known tag with an ID.\n if (tid === elementId && (tid !== $.UNKNOWN || p.treeAdapter.getTagName(element) === tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tid);\n if (p.openElements.stackTop >= i)\n p.openElements.shortenToLength(i);\n break;\n }\n if (p._isSpecialElement(element, elementId)) {\n break;\n }\n }\n}\nfunction endTagInBody(p, token) {\n switch (token.tagID) {\n case $.A:\n case $.B:\n case $.I:\n case $.S:\n case $.U:\n case $.EM:\n case $.TT:\n case $.BIG:\n case $.CODE:\n case $.FONT:\n case $.NOBR:\n case $.SMALL:\n case $.STRIKE:\n case $.STRONG: {\n callAdoptionAgency(p, token);\n break;\n }\n case $.P: {\n pEndTagInBody(p);\n break;\n }\n case $.DL:\n case $.UL:\n case $.OL:\n case $.DIR:\n case $.DIV:\n case $.NAV:\n case $.PRE:\n case $.MAIN:\n case $.MENU:\n case $.ASIDE:\n case $.BUTTON:\n case $.CENTER:\n case $.FIGURE:\n case $.FOOTER:\n case $.HEADER:\n case $.HGROUP:\n case $.DIALOG:\n case $.ADDRESS:\n case $.ARTICLE:\n case $.DETAILS:\n case $.SEARCH:\n case $.SECTION:\n case $.SUMMARY:\n case $.LISTING:\n case $.FIELDSET:\n case $.BLOCKQUOTE:\n case $.FIGCAPTION: {\n addressEndTagInBody(p, token);\n break;\n }\n case $.LI: {\n liEndTagInBody(p);\n break;\n }\n case $.DD:\n case $.DT: {\n ddEndTagInBody(p, token);\n break;\n }\n case $.H1:\n case $.H2:\n case $.H3:\n case $.H4:\n case $.H5:\n case $.H6: {\n numberedHeaderEndTagInBody(p);\n break;\n }\n case $.BR: {\n brEndTagInBody(p);\n break;\n }\n case $.BODY: {\n bodyEndTagInBody(p, token);\n break;\n }\n case $.HTML: {\n htmlEndTagInBody(p, token);\n break;\n }\n case $.FORM: {\n formEndTagInBody(p);\n break;\n }\n case $.APPLET:\n case $.OBJECT:\n case $.MARQUEE: {\n appletEndTagInBody(p, token);\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n genericEndTagInBody(p, token);\n }\n }\n}\nfunction eofInBody(p, token) {\n if (p.tmplInsertionModeStack.length > 0) {\n eofInTemplate(p, token);\n }\n else {\n stopParsing(p, token);\n }\n}\n// The \"text\" insertion mode\n//------------------------------------------------------------------\nfunction endTagInText(p, token) {\n var _a;\n if (token.tagID === $.SCRIPT) {\n (_a = p.scriptHandler) === null || _a === void 0 ? void 0 : _a.call(p, p.openElements.current);\n }\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n}\nfunction eofInText(p, token) {\n p._err(token, ERR.eofInElementThatCanContainOnlyText);\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n p.onEof(token);\n}\n// The \"in table\" insertion mode\n//------------------------------------------------------------------\nfunction characterInTable(p, token) {\n if (p.openElements.currentTagId !== undefined && TABLE_STRUCTURE_TAGS.has(p.openElements.currentTagId)) {\n p.pendingCharacterTokens.length = 0;\n p.hasNonWhitespacePendingCharacterToken = false;\n p.originalInsertionMode = p.insertionMode;\n p.insertionMode = InsertionMode.IN_TABLE_TEXT;\n switch (token.type) {\n case TokenType.CHARACTER: {\n characterInTableText(p, token);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n whitespaceCharacterInTableText(p, token);\n break;\n }\n // Ignore null\n }\n }\n else {\n tokenInTable(p, token);\n }\n}\nfunction captionStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p.activeFormattingElements.insertMarker();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_CAPTION;\n}\nfunction colgroupStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n}\nfunction colStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement(TN.COLGROUP, $.COLGROUP);\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n startTagInColumnGroup(p, token);\n}\nfunction tbodyStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n}\nfunction tdStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement(TN.TBODY, $.TBODY);\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n}\nfunction tableStartTagInTable(p, token) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n p._processStartTag(token);\n }\n}\nfunction inputStartTagInTable(p, token) {\n if (isHiddenInput(token)) {\n p._appendElement(token, NS.HTML);\n }\n else {\n tokenInTable(p, token);\n }\n token.ackSelfClosing = true;\n}\nfunction formStartTagInTable(p, token) {\n if (!p.formElement && p.openElements.tmplCount === 0) {\n p._insertElement(token, NS.HTML);\n p.formElement = p.openElements.current;\n p.openElements.pop();\n }\n}\nfunction startTagInTable(p, token) {\n switch (token.tagID) {\n case $.TD:\n case $.TH:\n case $.TR: {\n tdStartTagInTable(p, token);\n break;\n }\n case $.STYLE:\n case $.SCRIPT:\n case $.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n case $.COL: {\n colStartTagInTable(p, token);\n break;\n }\n case $.FORM: {\n formStartTagInTable(p, token);\n break;\n }\n case $.TABLE: {\n tableStartTagInTable(p, token);\n break;\n }\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD: {\n tbodyStartTagInTable(p, token);\n break;\n }\n case $.INPUT: {\n inputStartTagInTable(p, token);\n break;\n }\n case $.CAPTION: {\n captionStartTagInTable(p, token);\n break;\n }\n case $.COLGROUP: {\n colgroupStartTagInTable(p, token);\n break;\n }\n default: {\n tokenInTable(p, token);\n }\n }\n}\nfunction endTagInTable(p, token) {\n switch (token.tagID) {\n case $.TABLE: {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n }\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n case $.BODY:\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.HTML:\n case $.TBODY:\n case $.TD:\n case $.TFOOT:\n case $.TH:\n case $.THEAD:\n case $.TR: {\n // Ignore token\n break;\n }\n default: {\n tokenInTable(p, token);\n }\n }\n}\nfunction tokenInTable(p, token) {\n const savedFosterParentingState = p.fosterParentingEnabled;\n p.fosterParentingEnabled = true;\n // Process token in `In Body` mode\n modeInBody(p, token);\n p.fosterParentingEnabled = savedFosterParentingState;\n}\n// The \"in table text\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n}\nfunction characterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n p.hasNonWhitespacePendingCharacterToken = true;\n}\nfunction tokenInTableText(p, token) {\n let i = 0;\n if (p.hasNonWhitespacePendingCharacterToken) {\n for (; i < p.pendingCharacterTokens.length; i++) {\n tokenInTable(p, p.pendingCharacterTokens[i]);\n }\n }\n else {\n for (; i < p.pendingCharacterTokens.length; i++) {\n p._insertCharacters(p.pendingCharacterTokens[i]);\n }\n }\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n// The \"in caption\" insertion mode\n//------------------------------------------------------------------\nconst TABLE_VOID_ELEMENTS = new Set([$.CAPTION, $.COL, $.COLGROUP, $.TBODY, $.TD, $.TFOOT, $.TH, $.THEAD, $.TR]);\nfunction startTagInCaption(p, token) {\n const tn = token.tagID;\n if (TABLE_VOID_ELEMENTS.has(tn)) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n }\n }\n else {\n startTagInBody(p, token);\n }\n}\nfunction endTagInCaption(p, token) {\n const tn = token.tagID;\n switch (tn) {\n case $.CAPTION:\n case $.TABLE: {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_TABLE;\n if (tn === $.TABLE) {\n endTagInTable(p, token);\n }\n }\n break;\n }\n case $.BODY:\n case $.COL:\n case $.COLGROUP:\n case $.HTML:\n case $.TBODY:\n case $.TD:\n case $.TFOOT:\n case $.TH:\n case $.THEAD:\n case $.TR: {\n // Ignore token\n break;\n }\n default: {\n endTagInBody(p, token);\n }\n }\n}\n// The \"in column group\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInColumnGroup(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.COL: {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case $.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n default: {\n tokenInColumnGroup(p, token);\n }\n }\n}\nfunction endTagInColumnGroup(p, token) {\n switch (token.tagID) {\n case $.COLGROUP: {\n if (p.openElements.currentTagId === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n }\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n case $.COL: {\n // Ignore token\n break;\n }\n default: {\n tokenInColumnGroup(p, token);\n }\n }\n}\nfunction tokenInColumnGroup(p, token) {\n if (p.openElements.currentTagId === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n p._processToken(token);\n }\n}\n// The \"in table body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTableBody(p, token) {\n switch (token.tagID) {\n case $.TR: {\n p.openElements.clearBackToTableBodyContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_ROW;\n break;\n }\n case $.TH:\n case $.TD: {\n p.openElements.clearBackToTableBodyContext();\n p._insertFakeElement(TN.TR, $.TR);\n p.insertionMode = InsertionMode.IN_ROW;\n startTagInRow(p, token);\n break;\n }\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD: {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n }\n break;\n }\n default: {\n startTagInTable(p, token);\n }\n }\n}\nfunction endTagInTableBody(p, token) {\n const tn = token.tagID;\n switch (token.tagID) {\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD: {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n }\n break;\n }\n case $.TABLE: {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n endTagInTable(p, token);\n }\n break;\n }\n case $.BODY:\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.HTML:\n case $.TD:\n case $.TH:\n case $.TR: {\n // Ignore token\n break;\n }\n default: {\n endTagInTable(p, token);\n }\n }\n}\n// The \"in row\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInRow(p, token) {\n switch (token.tagID) {\n case $.TH:\n case $.TD: {\n p.openElements.clearBackToTableRowContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = InsertionMode.IN_CELL;\n p.activeFormattingElements.insertMarker();\n break;\n }\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD:\n case $.TR: {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n }\n break;\n }\n default: {\n startTagInTable(p, token);\n }\n }\n}\nfunction endTagInRow(p, token) {\n switch (token.tagID) {\n case $.TR: {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n }\n break;\n }\n case $.TABLE: {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n endTagInTableBody(p, token);\n }\n break;\n }\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD: {\n if (p.openElements.hasInTableScope(token.tagID) || p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n endTagInTableBody(p, token);\n }\n break;\n }\n case $.BODY:\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.HTML:\n case $.TD:\n case $.TH: {\n // Ignore end tag\n break;\n }\n default: {\n endTagInTable(p, token);\n }\n }\n}\n// The \"in cell\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCell(p, token) {\n const tn = token.tagID;\n if (TABLE_VOID_ELEMENTS.has(tn)) {\n if (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) {\n p._closeTableCell();\n startTagInRow(p, token);\n }\n }\n else {\n startTagInBody(p, token);\n }\n}\nfunction endTagInCell(p, token) {\n const tn = token.tagID;\n switch (tn) {\n case $.TD:\n case $.TH: {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_ROW;\n }\n break;\n }\n case $.TABLE:\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD:\n case $.TR: {\n if (p.openElements.hasInTableScope(tn)) {\n p._closeTableCell();\n endTagInRow(p, token);\n }\n break;\n }\n case $.BODY:\n case $.CAPTION:\n case $.COL:\n case $.COLGROUP:\n case $.HTML: {\n // Ignore token\n break;\n }\n default: {\n endTagInBody(p, token);\n }\n }\n}\n// The \"in select\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelect(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.OPTION: {\n if (p.openElements.currentTagId === $.OPTION) {\n p.openElements.pop();\n }\n p._insertElement(token, NS.HTML);\n break;\n }\n case $.OPTGROUP: {\n if (p.openElements.currentTagId === $.OPTION) {\n p.openElements.pop();\n }\n if (p.openElements.currentTagId === $.OPTGROUP) {\n p.openElements.pop();\n }\n p._insertElement(token, NS.HTML);\n break;\n }\n case $.HR: {\n if (p.openElements.currentTagId === $.OPTION) {\n p.openElements.pop();\n }\n if (p.openElements.currentTagId === $.OPTGROUP) {\n p.openElements.pop();\n }\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case $.INPUT:\n case $.KEYGEN:\n case $.TEXTAREA:\n case $.SELECT: {\n if (p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n if (token.tagID !== $.SELECT) {\n p._processStartTag(token);\n }\n }\n break;\n }\n case $.SCRIPT:\n case $.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagInSelect(p, token) {\n switch (token.tagID) {\n case $.OPTGROUP: {\n if (p.openElements.stackTop > 0 &&\n p.openElements.currentTagId === $.OPTION &&\n p.openElements.tagIDs[p.openElements.stackTop - 1] === $.OPTGROUP) {\n p.openElements.pop();\n }\n if (p.openElements.currentTagId === $.OPTGROUP) {\n p.openElements.pop();\n }\n break;\n }\n case $.OPTION: {\n if (p.openElements.currentTagId === $.OPTION) {\n p.openElements.pop();\n }\n break;\n }\n case $.SELECT: {\n if (p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n }\n break;\n }\n case $.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\n// The \"in select in table\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelectInTable(p, token) {\n const tn = token.tagID;\n if (tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processStartTag(token);\n }\n else {\n startTagInSelect(p, token);\n }\n}\nfunction endTagInSelectInTable(p, token) {\n const tn = token.tagID;\n if (tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p.onEndTag(token);\n }\n }\n else {\n endTagInSelect(p, token);\n }\n}\n// The \"in template\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTemplate(p, token) {\n switch (token.tagID) {\n // First, handle tags that can start without a mode change\n case $.BASE:\n case $.BASEFONT:\n case $.BGSOUND:\n case $.LINK:\n case $.META:\n case $.NOFRAMES:\n case $.SCRIPT:\n case $.STYLE:\n case $.TEMPLATE:\n case $.TITLE: {\n startTagInHead(p, token);\n break;\n }\n // Re-process the token in the appropriate mode\n case $.CAPTION:\n case $.COLGROUP:\n case $.TBODY:\n case $.TFOOT:\n case $.THEAD: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE;\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n break;\n }\n case $.COL: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP;\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n startTagInColumnGroup(p, token);\n break;\n }\n case $.TR: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY;\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n break;\n }\n case $.TD:\n case $.TH: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_ROW;\n p.insertionMode = InsertionMode.IN_ROW;\n startTagInRow(p, token);\n break;\n }\n default: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_BODY;\n p.insertionMode = InsertionMode.IN_BODY;\n startTagInBody(p, token);\n }\n }\n}\nfunction endTagInTemplate(p, token) {\n if (token.tagID === $.TEMPLATE) {\n templateEndTagInHead(p, token);\n }\n}\nfunction eofInTemplate(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p.tmplInsertionModeStack.shift();\n p._resetInsertionMode();\n p.onEof(token);\n }\n else {\n stopParsing(p, token);\n }\n}\n// The \"after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterBody(p, token) {\n if (token.tagID === $.HTML) {\n startTagInBody(p, token);\n }\n else {\n tokenAfterBody(p, token);\n }\n}\nfunction endTagAfterBody(p, token) {\n var _a;\n if (token.tagID === $.HTML) {\n if (!p.fragmentContext) {\n p.insertionMode = InsertionMode.AFTER_AFTER_BODY;\n }\n //NOTE: <html> is never popped from the stack, so we need to updated\n //the end location explicitly.\n if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === $.HTML) {\n p._setEndLocation(p.openElements.items[0], token);\n // Update the body element, if it doesn't have an end tag\n const bodyElement = p.openElements.items[1];\n if (bodyElement && !((_a = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a === void 0 ? void 0 : _a.endTag)) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n else {\n tokenAfterBody(p, token);\n }\n}\nfunction tokenAfterBody(p, token) {\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The \"in frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInFrameset(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.FRAMESET: {\n p._insertElement(token, NS.HTML);\n break;\n }\n case $.FRAME: {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case $.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagInFrameset(p, token) {\n if (token.tagID === $.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {\n p.openElements.pop();\n if (!p.fragmentContext && p.openElements.currentTagId !== $.FRAMESET) {\n p.insertionMode = InsertionMode.AFTER_FRAMESET;\n }\n }\n}\n// The \"after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterFrameset(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagAfterFrameset(p, token) {\n if (token.tagID === $.HTML) {\n p.insertionMode = InsertionMode.AFTER_AFTER_FRAMESET;\n }\n}\n// The \"after after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterBody(p, token) {\n if (token.tagID === $.HTML) {\n startTagInBody(p, token);\n }\n else {\n tokenAfterAfterBody(p, token);\n }\n}\nfunction tokenAfterAfterBody(p, token) {\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The \"after after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterFrameset(p, token) {\n switch (token.tagID) {\n case $.HTML: {\n startTagInBody(p, token);\n break;\n }\n case $.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\n// The rules for parsing tokens in foreign content\n//------------------------------------------------------------------\nfunction nullCharacterInForeignContent(p, token) {\n token.chars = unicode.REPLACEMENT_CHARACTER;\n p._insertCharacters(token);\n}\nfunction characterInForeignContent(p, token) {\n p._insertCharacters(token);\n p.framesetOk = false;\n}\nfunction popUntilHtmlOrIntegrationPoint(p) {\n while (p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML &&\n p.openElements.currentTagId !== undefined &&\n !p._isIntegrationPoint(p.openElements.currentTagId, p.openElements.current)) {\n p.openElements.pop();\n }\n}\nfunction startTagInForeignContent(p, token) {\n if (foreignContent.causesExit(token)) {\n popUntilHtmlOrIntegrationPoint(p);\n p._startTagOutsideForeignContent(token);\n }\n else {\n const current = p._getAdjustedCurrentElement();\n const currentNs = p.treeAdapter.getNamespaceURI(current);\n if (currentNs === NS.MATHML) {\n foreignContent.adjustTokenMathMLAttrs(token);\n }\n else if (currentNs === NS.SVG) {\n foreignContent.adjustTokenSVGTagName(token);\n foreignContent.adjustTokenSVGAttrs(token);\n }\n foreignContent.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, currentNs);\n }\n else {\n p._insertElement(token, currentNs);\n }\n token.ackSelfClosing = true;\n }\n}\nfunction endTagInForeignContent(p, token) {\n if (token.tagID === $.P || token.tagID === $.BR) {\n popUntilHtmlOrIntegrationPoint(p);\n p._endTagOutsideForeignContent(token);\n return;\n }\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {\n p._endTagOutsideForeignContent(token);\n break;\n }\n const tagName = p.treeAdapter.getTagName(element);\n if (tagName.toLowerCase() === token.tagName) {\n //NOTE: update the token tag name for `_setEndLocation`.\n token.tagName = tagName;\n p.openElements.shortenToLength(i);\n break;\n }\n }\n}\n","import { TAG_NAMES as $, NS, hasUnescapedText } from '../common/html.js';\nimport { escapeText, escapeAttribute } from 'entities/escape';\nimport { defaultTreeAdapter } from '../tree-adapters/default.js';\n// Sets\nconst VOID_ELEMENTS = new Set([\n $.AREA,\n $.BASE,\n $.BASEFONT,\n $.BGSOUND,\n $.BR,\n $.COL,\n $.EMBED,\n $.FRAME,\n $.HR,\n $.IMG,\n $.INPUT,\n $.KEYGEN,\n $.LINK,\n $.META,\n $.PARAM,\n $.SOURCE,\n $.TRACK,\n $.WBR,\n]);\nfunction isVoidElement(node, options) {\n return (options.treeAdapter.isElementNode(node) &&\n options.treeAdapter.getNamespaceURI(node) === NS.HTML &&\n VOID_ELEMENTS.has(options.treeAdapter.getTagName(node)));\n}\nconst defaultOpts = { treeAdapter: defaultTreeAdapter, scriptingEnabled: true };\n/**\n * Serializes an AST node to an HTML string.\n *\n * @example\n *\n * ```js\n * const parse5 = require('parse5');\n *\n * const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');\n *\n * // Serializes a document.\n * const html = parse5.serialize(document);\n *\n * // Serializes the <html> element content.\n * const str = parse5.serialize(document.childNodes[1]);\n *\n * console.log(str); //> '<head></head><body>Hi there!</body>'\n * ```\n *\n * @param node Node to serialize.\n * @param options Serialization options.\n */\nexport function serialize(node, options) {\n const opts = { ...defaultOpts, ...options };\n if (isVoidElement(node, opts)) {\n return '';\n }\n return serializeChildNodes(node, opts);\n}\n/**\n * Serializes an AST element node to an HTML string, including the element node.\n *\n * @example\n *\n * ```js\n * const parse5 = require('parse5');\n *\n * const document = parse5.parseFragment('<div>Hello, <b>world</b>!</div>');\n *\n * // Serializes the <div> element.\n * const str = parse5.serializeOuter(document.childNodes[0]);\n *\n * console.log(str); //> '<div>Hello, <b>world</b>!</div>'\n * ```\n *\n * @param node Node to serialize.\n * @param options Serialization options.\n */\nexport function serializeOuter(node, options) {\n const opts = { ...defaultOpts, ...options };\n return serializeNode(node, opts);\n}\nfunction serializeChildNodes(parentNode, options) {\n let html = '';\n // Get container of the child nodes\n const container = options.treeAdapter.isElementNode(parentNode) &&\n options.treeAdapter.getTagName(parentNode) === $.TEMPLATE &&\n options.treeAdapter.getNamespaceURI(parentNode) === NS.HTML\n ? options.treeAdapter.getTemplateContent(parentNode)\n : parentNode;\n const childNodes = options.treeAdapter.getChildNodes(container);\n if (childNodes) {\n for (const currentNode of childNodes) {\n html += serializeNode(currentNode, options);\n }\n }\n return html;\n}\nfunction serializeNode(node, options) {\n if (options.treeAdapter.isElementNode(node)) {\n return serializeElement(node, options);\n }\n if (options.treeAdapter.isTextNode(node)) {\n return serializeTextNode(node, options);\n }\n if (options.treeAdapter.isCommentNode(node)) {\n return serializeCommentNode(node, options);\n }\n if (options.treeAdapter.isDocumentTypeNode(node)) {\n return serializeDocumentTypeNode(node, options);\n }\n // Return an empty string for unknown nodes\n return '';\n}\nfunction serializeElement(node, options) {\n const tn = options.treeAdapter.getTagName(node);\n return `<${tn}${serializeAttributes(node, options)}>${isVoidElement(node, options) ? '' : `${serializeChildNodes(node, options)}</${tn}>`}`;\n}\nfunction serializeAttributes(node, { treeAdapter }) {\n let html = '';\n for (const attr of treeAdapter.getAttrList(node)) {\n html += ' ';\n if (attr.namespace) {\n switch (attr.namespace) {\n case NS.XML: {\n html += `xml:${attr.name}`;\n break;\n }\n case NS.XMLNS: {\n if (attr.name !== 'xmlns') {\n html += 'xmlns:';\n }\n html += attr.name;\n break;\n }\n case NS.XLINK: {\n html += `xlink:${attr.name}`;\n break;\n }\n default: {\n html += `${attr.prefix}:${attr.name}`;\n }\n }\n }\n else {\n html += attr.name;\n }\n html += `=\"${escapeAttribute(attr.value)}\"`;\n }\n return html;\n}\nfunction serializeTextNode(node, options) {\n const { treeAdapter } = options;\n const content = treeAdapter.getTextNodeContent(node);\n const parent = treeAdapter.getParentNode(node);\n const parentTn = parent && treeAdapter.isElementNode(parent) && treeAdapter.getTagName(parent);\n return parentTn &&\n treeAdapter.getNamespaceURI(parent) === NS.HTML &&\n hasUnescapedText(parentTn, options.scriptingEnabled)\n ? content\n : escapeText(content);\n}\nfunction serializeCommentNode(node, { treeAdapter }) {\n return `<!--${treeAdapter.getCommentNodeContent(node)}-->`;\n}\nfunction serializeDocumentTypeNode(node, { treeAdapter }) {\n return `<!DOCTYPE ${treeAdapter.getDocumentTypeNodeName(node)}>`;\n}\n","/**\n * @import {Options} from 'hast-util-raw'\n * @import {Comment, Doctype, Element, Nodes, RootContent, Root, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {DefaultTreeAdapterMap, ParserOptions} from 'parse5'\n * @import {Point} from 'unist'\n */\n\n/**\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Nodes) => undefined} handle\n * Add a hast node to the parser.\n * @property {Options} options\n * User configuration.\n * @property {Parser<DefaultTreeAdapterMap>} parser\n * Current parser.\n * @property {boolean} stitches\n * Whether there are stitches.\n */\n\n/**\n * @typedef Stitch\n * Custom comment-like value we pass through parse5, which contains a\n * replacement node that we’ll swap back in afterwards.\n * @property {'comment'} type\n * Node type.\n * @property {{stitch: Nodes}} value\n * Replacement value.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {Parser, Token, TokenizerMode, html} from 'parse5'\nimport {pointEnd, pointStart} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst gfmTagfilterExpression =\n /<(\\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\\t\\n\\f\\r />])/gi\n\n// Node types associated with MDX.\n// <https://github.com/mdx-js/mdx/blob/8a56312/packages/mdx/lib/node-types.js>\nconst knownMdxNames = new Set([\n 'mdxFlowExpression',\n 'mdxJsxFlowElement',\n 'mdxJsxTextElement',\n 'mdxTextExpression',\n 'mdxjsEsm'\n])\n\n/** @type {ParserOptions<DefaultTreeAdapterMap>} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Pass a hast tree through an HTML parser, which will fix nesting, and turn\n * raw nodes into actual nodes.\n *\n * @param {Nodes} tree\n * Original hast tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Nodes}\n * Parsed again tree.\n */\nexport function raw(tree, options) {\n const document = documentMode(tree)\n /** @type {(node: Nodes, state: State) => undefined} */\n const one = zwitch('type', {\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n unknown\n })\n\n /** @type {State} */\n const state = {\n parser: document\n ? new Parser(parseOptions)\n : Parser.getFragmentParser(undefined, parseOptions),\n handle(node) {\n one(node, state)\n },\n stitches: false,\n options: options || {}\n }\n\n one(tree, state)\n resetTokenizer(state, pointStart())\n\n const p5 = document ? state.parser.document : state.parser.getFragment()\n const result = fromParse5(p5, {\n // To do: support `space`?\n file: state.options.file\n })\n\n if (state.stitches) {\n visit(result, 'comment', function (node, index, parent) {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent && index !== undefined) {\n /** @type {Array<RootContent>} */\n const siblings = parent.children\n // @ts-expect-error: assume the stitch is allowed.\n siblings[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n result.type === 'root' &&\n result.children.length === 1 &&\n result.children[0].type === tree.type\n ) {\n return result.children[0]\n }\n\n return result\n}\n\n/**\n * Transform all nodes\n *\n * @param {Array<RootContent>} nodes\n * hast content.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction all(nodes, state) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n state.handle(nodes[index])\n }\n }\n}\n\n/**\n * Transform a root.\n *\n * @param {Root} node\n * hast root node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction root(node, state) {\n all(node.children, state)\n}\n\n/**\n * Transform an element.\n *\n * @param {Element} node\n * hast element node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction element(node, state) {\n startTag(node, state)\n\n all(node.children, state)\n\n endTag(node, state)\n}\n\n/**\n * Transform a text.\n *\n * @param {Text} node\n * hast text node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction text(node, state) {\n // Allow `DATA` through `PLAINTEXT`,\n // but when hanging in a tag for example,\n // switch back to `DATA`.\n // Note: `State` is not exposed by `parse5`, so these numbers are fragile.\n // See: <https://github.com/inikulin/parse5/blob/46cba43/packages/parse5/lib/tokenizer/index.ts#L58>\n if (state.parser.tokenizer.state > 4) {\n state.parser.tokenizer.state = 0\n }\n\n /** @type {Token.CharacterToken} */\n const token = {\n type: Token.TokenType.CHARACTER,\n chars: node.value,\n location: createParse5Location(node)\n }\n\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a doctype.\n *\n * @param {Doctype} node\n * hast doctype node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction doctype(node, state) {\n /** @type {Token.DoctypeToken} */\n const token = {\n type: Token.TokenType.DOCTYPE,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n }\n\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a stitch.\n *\n * @param {Nodes} node\n * unknown node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction stitch(node, state) {\n // Mark that there are stitches, so we need to walk the tree and revert them.\n state.stitches = true\n\n /** @type {Nodes} */\n const clone = cloneWithoutChildren(node)\n\n // Recurse, because to somewhat handle `[<x>]</x>` (where `[]` denotes the\n // passed through node).\n if ('children' in node && 'children' in clone) {\n // Root in root out.\n const fakeRoot = /** @type {Root} */ (\n raw({type: 'root', children: node.children}, state.options)\n )\n clone.children = fakeRoot.children\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}}, state)\n}\n\n/**\n * Transform a comment (or stitch).\n *\n * @param {Comment | Stitch} node\n * hast comment node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction comment(node, state) {\n /** @type {string} */\n // @ts-expect-error: we pass stitches through.\n const data = node.value\n\n /** @type {Token.CommentToken} */\n const token = {\n type: Token.TokenType.COMMENT,\n data,\n location: createParse5Location(node)\n }\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a raw node.\n *\n * @param {Raw} node\n * hast raw node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction handleRaw(node, state) {\n // Reset preprocessor:\n // See: <https://github.com/inikulin/parse5/blob/6f7ca60/packages/parse5/lib/tokenizer/preprocessor.ts#L18-L31>.\n state.parser.tokenizer.preprocessor.html = ''\n state.parser.tokenizer.preprocessor.pos = -1\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.lastGapPos = -2\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.gapStack = []\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.skipNextNewLine = false\n state.parser.tokenizer.preprocessor.lastChunkWritten = false\n state.parser.tokenizer.preprocessor.endOfChunkHit = false\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.isEol = false\n\n // Now pass `node.value`.\n setPoint(state, pointStart(node))\n\n state.parser.tokenizer.write(\n state.options.tagfilter\n ? node.value.replace(gfmTagfilterExpression, '<$1$2')\n : node.value,\n false\n )\n // @ts-expect-error: private.\n state.parser.tokenizer._runParsingLoop()\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n\n // Note: `State` is not exposed by `parse5`, so these numbers are fragile.\n // See: <https://github.com/inikulin/parse5/blob/46cba43/packages/parse5/lib/tokenizer/index.ts#L58>\n // Note: a change to `parse5`, which breaks this, was merged but not released.\n // Investigate when it is.\n // To do: remove next major.\n /* c8 ignore next 12 -- removed in <https://github.com/inikulin/parse5/pull/897> */\n if (\n state.parser.tokenizer.state === 72 /* NAMED_CHARACTER_REFERENCE */ ||\n // @ts-expect-error: removed.\n state.parser.tokenizer.state === 78 /* NUMERIC_CHARACTER_REFERENCE_END */\n ) {\n state.parser.tokenizer.preprocessor.lastChunkWritten = true\n /** @type {number} */\n // @ts-expect-error: private.\n const cp = state.parser.tokenizer._consume()\n // @ts-expect-error: private.\n state.parser.tokenizer._callState(cp)\n }\n}\n\n/**\n * Crash on an unknown node.\n *\n * @param {unknown} node_\n * unknown node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Never.\n */\nfunction unknown(node_, state) {\n const node = /** @type {Nodes} */ (node_)\n\n if (\n state.options.passThrough &&\n state.options.passThrough.includes(node.type)\n ) {\n stitch(node, state)\n } else {\n let extra = ''\n\n if (knownMdxNames.has(node.type)) {\n extra =\n \". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax\"\n }\n\n throw new Error('Cannot compile `' + node.type + '` node' + extra)\n }\n}\n\n/**\n * Reset the tokenizer of a parser.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Point | undefined} point\n * Point.\n * @returns {undefined}\n * Nothing.\n */\nfunction resetTokenizer(state, point) {\n setPoint(state, point)\n\n // Process final characters if they’re still there after hibernating.\n /** @type {Token.CharacterToken} */\n // @ts-expect-error: private.\n const token = state.parser.tokenizer.currentCharacterToken\n\n if (token && token.location) {\n token.location.endLine = state.parser.tokenizer.preprocessor.line\n token.location.endCol = state.parser.tokenizer.preprocessor.col + 1\n token.location.endOffset = state.parser.tokenizer.preprocessor.offset + 1\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n }\n\n // Reset tokenizer:\n // See: <https://github.com/inikulin/parse5/blob/6f7ca60/packages/parse5/lib/tokenizer/index.ts#L187-L223>.\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n // @ts-expect-error: private.\n state.parser.tokenizer.paused = false\n // @ts-expect-error: private.\n state.parser.tokenizer.inLoop = false\n\n // Note: don’t reset `state`, `inForeignNode`, or `lastStartTagName`, we\n // manually update those when needed.\n state.parser.tokenizer.active = false\n // @ts-expect-error: private.\n state.parser.tokenizer.returnState = TokenizerMode.DATA\n // @ts-expect-error: private.\n state.parser.tokenizer.charRefCode = -1\n // @ts-expect-error: private.\n state.parser.tokenizer.consumedAfterSnapshot = -1\n // @ts-expect-error: private.\n state.parser.tokenizer.currentLocation = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentCharacterToken = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentToken = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentAttr = {name: '', value: ''}\n}\n\n/**\n * Set current location.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Point | undefined} point\n * Point.\n * @returns {undefined}\n * Nothing.\n */\nfunction setPoint(state, point) {\n if (point && point.offset !== undefined) {\n /** @type {Token.Location} */\n const location = {\n startLine: point.line,\n startCol: point.column,\n startOffset: point.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n }\n\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.lineStartPos = -point.column + 1 // Looks weird, but ensures we get correct positional info.\n state.parser.tokenizer.preprocessor.droppedBufferSize = point.offset\n state.parser.tokenizer.preprocessor.line = point.line\n // @ts-expect-error: private.\n state.parser.tokenizer.currentLocation = location\n }\n}\n\n/**\n * Emit a start tag.\n *\n * @param {Element} node\n * Element.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction startTag(node, state) {\n const tagName = node.tagName.toLowerCase()\n\n // Ignore tags if we’re in plain text.\n if (state.parser.tokenizer.state === TokenizerMode.PLAINTEXT) return\n\n resetTokenizer(state, pointStart(node))\n\n const current = state.parser.openElements.current\n let ns = 'namespaceURI' in current ? current.namespaceURI : webNamespaces.html\n\n if (ns === webNamespaces.html && tagName === 'svg') {\n ns = webNamespaces.svg\n }\n\n const result = toParse5(\n // Shallow clone to not delve into `children`: we only need the attributes.\n {...node, children: []},\n {space: ns === webNamespaces.svg ? 'svg' : 'html'}\n )\n\n /** @type {Token.TagToken} */\n const tag = {\n type: Token.TokenType.START_TAG,\n tagName,\n tagID: html.getTagID(tagName),\n // We always send start and end tags.\n selfClosing: false,\n ackSelfClosing: false,\n // Always element.\n /* c8 ignore next */\n attrs: 'attrs' in result ? result.attrs : [],\n location: createParse5Location(node)\n }\n\n // The HTML parsing algorithm works by doing half of the state management in\n // the tokenizer and half in the parser.\n // We can’t use the tokenizer here, as we don’t have strings.\n // So we act *as if* the tokenizer emits tokens:\n\n // @ts-expect-error: private.\n state.parser.currentToken = tag\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n\n // …but then we still need a bunch of work that the tokenizer would normally\n // do, such as:\n\n // Set a tag name, similar to how the tokenizer would do it.\n state.parser.tokenizer.lastStartTagName = tagName\n\n // `inForeignNode` is correctly set by the parser.\n}\n\n/**\n * Emit an end tag.\n *\n * @param {Element} node\n * Element.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction endTag(node, state) {\n const tagName = node.tagName.toLowerCase()\n // Do not emit closing tags for HTML void elements.\n if (\n !state.parser.tokenizer.inForeignNode &&\n htmlVoidElements.includes(tagName)\n ) {\n return\n }\n\n // Ignore tags if we’re in plain text.\n if (state.parser.tokenizer.state === TokenizerMode.PLAINTEXT) return\n\n resetTokenizer(state, pointEnd(node))\n\n /** @type {Token.TagToken} */\n const tag = {\n type: Token.TokenType.END_TAG,\n tagName,\n tagID: html.getTagID(tagName),\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: createParse5Location(node)\n }\n\n // The HTML parsing algorithm works by doing half of the state management in\n // the tokenizer and half in the parser.\n // We can’t use the tokenizer here, as we don’t have strings.\n // So we act *as if* the tokenizer emits tokens:\n\n // @ts-expect-error: private.\n state.parser.currentToken = tag\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n\n // …but then we still need a bunch of work that the tokenizer would normally\n // do, such as:\n\n // Switch back to the data state after alternative states that don’t accept\n // tags:\n if (\n // Current element is closed.\n tagName === state.parser.tokenizer.lastStartTagName &&\n // `<textarea>` and `<title>`\n (state.parser.tokenizer.state === TokenizerMode.RCDATA ||\n // `<iframe>`, `<noembed>`, `<noframes>`, `<style>`, `<xmp>`\n state.parser.tokenizer.state === TokenizerMode.RAWTEXT ||\n // `<script>`\n state.parser.tokenizer.state === TokenizerMode.SCRIPT_DATA)\n // Note: `<plaintext>` not needed, as it’s the last element.\n ) {\n state.parser.tokenizer.state = TokenizerMode.DATA\n }\n}\n\n/**\n * Check if `node` represents a whole document or a fragment.\n *\n * @param {Nodes} node\n * hast node.\n * @returns {boolean}\n * Whether this represents a whole document or a fragment.\n */\nfunction documentMode(node) {\n const head = node.type === 'root' ? node.children[0] : node\n return Boolean(\n head &&\n (head.type === 'doctype' ||\n (head.type === 'element' && head.tagName.toLowerCase() === 'html'))\n )\n}\n\n/**\n * Get a `parse5` location from a node.\n *\n * @param {Nodes | Stitch} node\n * hast node.\n * @returns {Token.Location}\n * `parse5` location.\n */\nfunction createParse5Location(node) {\n const start = pointStart(node) || {\n line: undefined,\n column: undefined,\n offset: undefined\n }\n const end = pointEnd(node) || {\n line: undefined,\n column: undefined,\n offset: undefined\n }\n\n /** @type {Record<keyof Token.Location, number | undefined>} */\n const location = {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n }\n\n // @ts-expect-error: unist point values can be `undefined` in hast, which\n // `parse5` types don’t want.\n return location\n}\n\n/**\n * @template {Nodes} NodeType\n * Node type.\n * @param {NodeType} node\n * Node to clone.\n * @returns {NodeType}\n * Cloned node, without children.\n */\nfunction cloneWithoutChildren(node) {\n return 'children' in node\n ? structuredClone({...node, children: []})\n : structuredClone(node)\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-raw').Options} RawOptions\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @typedef {Omit<RawOptions, 'file'>} Options\n * Configuration.\n */\n\nimport {raw} from 'hast-util-raw'\n\n/**\n * Parse the tree (and raw nodes) again, keeping positional info okay.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeRaw(options) {\n /**\n * @param {Root} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Root}\n * New tree.\n */\n return function (tree, file) {\n // Assume root in -> root out.\n const result = /** @type {Root} */ (raw(tree, {...options, file}))\n return result\n }\n}\n"],"names":["search","parseSelector","selector","defaultTagName","value","props","start","previous","tagName","length","lastIndex","match","exec","subvalue","slice","index","id","Array","isArray","className","push","type","properties","children","createH","schema","caseSensitive","adjust","createAdjustMap","undefined","h","node","child","unshift","lower","toLowerCase","adjusted","get","isChild","key","Object","entries","addProperty","addChild","content","record","keys","list","item","info","find","result","Number","isNaN","spaceSeparated","parseSpaces","commaSeparated","parseCommas","commaOrSpaceSeparated","join","parsePrimitive","property","style","String","finalResult","concat","nodes","Error","name","number","boolean","overloadedBoolean","normalize","styles","values","Map","set","svgCaseSensitiveTagNames","html","s","svg","location","file","indices","toOffset","toPoint","offset","end","eol","next","line","column","point","from","cr","indexOf","lf","webNamespaces","mathml","xlink","xml","xmlns","own","hasOwnProperty","proto","prototype","fromParse5","tree","options","settings","one","space","verbose","state","nodeName","reference","data","patch","quirksMode","mode","all","childNodes","document","loc","position","element","results","namespaceURI","attrs","attribute","prefix","call","x","pos","sourceCodeLocation","startTag","endTag","to","createLocation","tail","assign","assert","opening","closing","startLine","startCol","startOffset","endLine","endCol","endOffset","Schema","constructor","normal","merge","definitions","Info","booleanish","mustUseProperty","defined","powers","increment","checks","types","DefinedInfo","mask","mark","check","create","definition","prop","transform","attributes","includes","_","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","async","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","capture","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","default","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","label","lang","language","loading","loop","low","manifest","max","maxLength","media","method","min","minLength","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","pattern","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","size","sizes","slot","span","spellCheck","src","srcDoc","srcLang","srcSet","step","tabIndex","target","title","translate","typeMustMatch","useMap","width","wrap","writingSuggestions","align","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","clear","code","codeBase","codeType","color","compact","declare","event","face","frame","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","rules","scheme","scrolling","standby","summary","text","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","d","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filter","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","path","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","r","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","string","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","u1","u2","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y","y1","y2","yChannelSelector","z","zoomAndPan","valid","dash","cap","Type","test","charAt","rest","replace","camelcase","toUpperCase","dashes","kebab","$0","htmlBase","svgBase","emptyOptions","zwitch","handlers","root","comment","doctype","toParse5","fragment","publicId","systemId","parentNode","parentSchema","currentSchema","createProperty","commas","spaces","namespace","UNDEFINED_CODE_POINTS","Set","REPLACEMENT_CHARACTER","CODE_POINTS","SEQUENCES","DASH_DASH","CDATA_START","DOCTYPE","SCRIPT","PUBLIC","SYSTEM","isSurrogate","cp","isSurrogatePair","getSurrogatePairCodePoint","cp1","cp2","isControlCodePoint","isUndefinedCodePoint","has","ERR","DEFAULT_BUFFER_WATERLINE","Preprocessor","lastGapPos","gapStack","skipNextNewLine","lastChunkWritten","endOfChunkHit","bufferWaterline","isEol","lineStartPos","droppedBufferSize","lastErrOffset","col","getError","cpOffset","_err","onParseError","_addGap","_processSurrogate","nextCp","charCodeAt","$","EOF","surrogateInInputStream","willDropParsedChunk","dropParsedChunk","substring","write","chunk","isLastChunk","insertHtmlAtCurrentPos","startsWith","i","peek","CARRIAGE_RETURN","LINE_FEED","advance","isCommonValidRange","_checkForProblematicCharacters","controlCharacterInInputStream","noncharacterInInputStream","retreat","count","pop","TokenType","getTokenAttr","token","attrName","htmlDecodeTree","Uint16Array","split","map","c","decodeMap","replaceCodePoint","codePoint","_a","CharCodes","TO_LOWER_BIT","BinTrieFlags","isNumber","ZERO","NINE","isHexadecimalCharacter","UPPER_A","UPPER_F","LOWER_A","LOWER_F","isAsciiAlphaNumeric","UPPER_Z","LOWER_Z","isEntityInAttributeInvalidEnd","EQUALS","EntityDecoderState","DecodingMode","EntityDecoder","decodeTree","emitCodePoint","errors","EntityStart","consumed","treeIndex","excess","decodeMode","Strict","startEntity","input","NUM","NumericStart","stateNumericStart","NamedEntity","stateNamedEntity","NumericDecimal","stateNumericDecimal","NumericHex","stateNumericHex","LOWER_X","addToNumericResult","base","digitCount","Math","pow","parseInt","substr","startIndex","emitNumericEntity","lastCp","expectedLength","absenceOfDigitsInNumericCharacterReference","SEMI","missingSemicolonAfterCharacterReference","validateNumericCharacterReference","current","valueLength","VALUE_LENGTH","determineBranch","Attribute","emitNotTerminatedNamedEntity","emitNamedEntityData","nodeIndex","branchCount","BRANCH_LENGTH","jumpOffset","JUMP_TABLE","lo","hi","mid","midValue","NS","ATTRS","DOCUMENT_MODE","TAG_NAMES","TAG_ID","TAG_NAME_TO_ID","A","ADDRESS","ANNOTATION_XML","APPLET","AREA","ARTICLE","ASIDE","B","BASE","BASEFONT","BGSOUND","BIG","BLOCKQUOTE","BODY","BR","BUTTON","CAPTION","CENTER","CODE","COL","COLGROUP","DD","DESC","DETAILS","DIALOG","DIR","DIV","DL","DT","EM","EMBED","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FOREIGN_OBJECT","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HEAD","HEADER","HGROUP","HR","HTML","I","IMG","IMAGE","INPUT","IFRAME","KEYGEN","LABEL","LI","LINK","LISTING","MAIN","MALIGNMARK","MARQUEE","MATH","MENU","META","MGLYPH","MI","MO","MN","MS","MTEXT","NAV","NOBR","NOFRAMES","NOEMBED","NOSCRIPT","OBJECT","OL","OPTGROUP","OPTION","P","PARAM","PLAINTEXT","PRE","RB","RP","RT","RTC","RUBY","S","SEARCH","SECTION","SELECT","SOURCE","SMALL","SPAN","STRIKE","STRONG","STYLE","SUB","SUMMARY","SUP","TABLE","TBODY","TEMPLATE","TEXTAREA","TFOOT","TD","TH","THEAD","TITLE","TR","TRACK","TT","U","UL","SVG","VAR","WBR","XMP","getTagID","UNKNOWN","SPECIAL_ELEMENTS","MATHML","XLINK","XML","XMLNS","NUMBERED_HEADERS","State","TokenizerMode","DATA","RCDATA","RAWTEXT","SCRIPT_DATA","CDATA_SECTION","isAsciiDigit","DIGIT_0","DIGIT_9","isAsciiUpper","LATIN_CAPITAL_A","LATIN_CAPITAL_Z","isAsciiLower","LATIN_SMALL_A","LATIN_SMALL_Z","isAsciiLetter","toAsciiLower","isWhitespace","SPACE","TABULATION","FORM_FEED","isScriptDataDoubleEscapeSequenceEnd","SOLIDUS","GREATER_THAN_SIGN","getErrorForNumericCharacterReference","NULL","nullCharacterReference","characterReferenceOutsideUnicodeRange","surrogateCharacterReference","noncharacterCharacterReference","controlCharacterReference","Tokenizer","paused","inLoop","inForeignNode","lastStartTagName","active","returnState","entityStartPos","consumedAfterSnapshot","currentCharacterToken","currentToken","currentAttr","preprocessor","currentLocation","getCurrentLocation","entityDecoder","_flushCodePointConsumedAsCharacterReference","error","_b","sourceCodeLocationInfo","_runParsingLoop","_consume","_ensureHibernation","_callState","pause","resume","writeCallback","_advanceBy","_consumeSequenceIfMatch","_createStartTagToken","START_TAG","tagID","selfClosing","ackSelfClosing","_createEndTagToken","END_TAG","_createCommentToken","COMMENT","_createDoctypeToken","initialName","forceQuirks","_createCharacterToken","chars","_createAttr","attrNameFirstCh","_leaveAttrName","attrLocations","_leaveAttrValue","duplicateAttribute","prepareToken","ct","_emitCurrentCharacterToken","emitCurrentTagToken","onStartTag","endTagWithAttributes","endTagWithTrailingSolidus","onEndTag","emitCurrentComment","onComment","emitCurrentDoctype","onDoctype","nextLocation","CHARACTER","onCharacter","NULL_CHARACTER","onNullCharacter","WHITESPACE_CHARACTER","onWhitespaceCharacter","_emitEOFToken","onEof","_appendCharToCurrentCharacterToken","ch","_emitCodePoint","fromCodePoint","_emitChars","_startCharacterReference","CHARACTER_REFERENCE","_isCharacterReferenceInAttribute","Legacy","ATTRIBUTE_VALUE_DOUBLE_QUOTED","ATTRIBUTE_VALUE_SINGLE_QUOTED","ATTRIBUTE_VALUE_UNQUOTED","_stateData","_stateRcdata","_stateRawtext","_stateScriptData","_statePlaintext","TAG_OPEN","_stateTagOpen","END_TAG_OPEN","_stateEndTagOpen","TAG_NAME","_stateTagName","RCDATA_LESS_THAN_SIGN","_stateRcdataLessThanSign","RCDATA_END_TAG_OPEN","_stateRcdataEndTagOpen","RCDATA_END_TAG_NAME","_stateRcdataEndTagName","RAWTEXT_LESS_THAN_SIGN","_stateRawtextLessThanSign","RAWTEXT_END_TAG_OPEN","_stateRawtextEndTagOpen","RAWTEXT_END_TAG_NAME","_stateRawtextEndTagName","SCRIPT_DATA_LESS_THAN_SIGN","_stateScriptDataLessThanSign","SCRIPT_DATA_END_TAG_OPEN","_stateScriptDataEndTagOpen","SCRIPT_DATA_END_TAG_NAME","_stateScriptDataEndTagName","SCRIPT_DATA_ESCAPE_START","_stateScriptDataEscapeStart","SCRIPT_DATA_ESCAPE_START_DASH","_stateScriptDataEscapeStartDash","SCRIPT_DATA_ESCAPED","_stateScriptDataEscaped","SCRIPT_DATA_ESCAPED_DASH","_stateScriptDataEscapedDash","SCRIPT_DATA_ESCAPED_DASH_DASH","_stateScriptDataEscapedDashDash","SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN","_stateScriptDataEscapedLessThanSign","SCRIPT_DATA_ESCAPED_END_TAG_OPEN","_stateScriptDataEscapedEndTagOpen","SCRIPT_DATA_ESCAPED_END_TAG_NAME","_stateScriptDataEscapedEndTagName","SCRIPT_DATA_DOUBLE_ESCAPE_START","_stateScriptDataDoubleEscapeStart","SCRIPT_DATA_DOUBLE_ESCAPED","_stateScriptDataDoubleEscaped","SCRIPT_DATA_DOUBLE_ESCAPED_DASH","_stateScriptDataDoubleEscapedDash","SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH","_stateScriptDataDoubleEscapedDashDash","SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN","_stateScriptDataDoubleEscapedLessThanSign","SCRIPT_DATA_DOUBLE_ESCAPE_END","_stateScriptDataDoubleEscapeEnd","BEFORE_ATTRIBUTE_NAME","_stateBeforeAttributeName","ATTRIBUTE_NAME","_stateAttributeName","AFTER_ATTRIBUTE_NAME","_stateAfterAttributeName","BEFORE_ATTRIBUTE_VALUE","_stateBeforeAttributeValue","_stateAttributeValueDoubleQuoted","_stateAttributeValueSingleQuoted","_stateAttributeValueUnquoted","AFTER_ATTRIBUTE_VALUE_QUOTED","_stateAfterAttributeValueQuoted","SELF_CLOSING_START_TAG","_stateSelfClosingStartTag","BOGUS_COMMENT","_stateBogusComment","MARKUP_DECLARATION_OPEN","_stateMarkupDeclarationOpen","COMMENT_START","_stateCommentStart","COMMENT_START_DASH","_stateCommentStartDash","_stateComment","COMMENT_LESS_THAN_SIGN","_stateCommentLessThanSign","COMMENT_LESS_THAN_SIGN_BANG","_stateCommentLessThanSignBang","COMMENT_LESS_THAN_SIGN_BANG_DASH","_stateCommentLessThanSignBangDash","COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH","_stateCommentLessThanSignBangDashDash","COMMENT_END_DASH","_stateCommentEndDash","COMMENT_END","_stateCommentEnd","COMMENT_END_BANG","_stateCommentEndBang","_stateDoctype","BEFORE_DOCTYPE_NAME","_stateBeforeDoctypeName","DOCTYPE_NAME","_stateDoctypeName","AFTER_DOCTYPE_NAME","_stateAfterDoctypeName","AFTER_DOCTYPE_PUBLIC_KEYWORD","_stateAfterDoctypePublicKeyword","BEFORE_DOCTYPE_PUBLIC_IDENTIFIER","_stateBeforeDoctypePublicIdentifier","DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED","_stateDoctypePublicIdentifierDoubleQuoted","DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED","_stateDoctypePublicIdentifierSingleQuoted","AFTER_DOCTYPE_PUBLIC_IDENTIFIER","_stateAfterDoctypePublicIdentifier","BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS","_stateBetweenDoctypePublicAndSystemIdentifiers","AFTER_DOCTYPE_SYSTEM_KEYWORD","_stateAfterDoctypeSystemKeyword","BEFORE_DOCTYPE_SYSTEM_IDENTIFIER","_stateBeforeDoctypeSystemIdentifier","DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED","_stateDoctypeSystemIdentifierDoubleQuoted","DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED","_stateDoctypeSystemIdentifierSingleQuoted","AFTER_DOCTYPE_SYSTEM_IDENTIFIER","_stateAfterDoctypeSystemIdentifier","BOGUS_DOCTYPE","_stateBogusDoctype","_stateCdataSection","CDATA_SECTION_BRACKET","_stateCdataSectionBracket","CDATA_SECTION_END","_stateCdataSectionEnd","_stateCharacterReference","AMBIGUOUS_AMPERSAND","_stateAmbiguousAmpersand","LESS_THAN_SIGN","AMPERSAND","unexpectedNullCharacter","EXCLAMATION_MARK","QUESTION_MARK","unexpectedQuestionMarkInsteadOfTagName","eofBeforeTagName","invalidFirstCharacterOfTagName","missingEndTagName","eofInTag","handleSpecialEndTag","_cp","HYPHEN_MINUS","eofInScriptHtmlCommentLikeText","$$","EQUALS_SIGN","unexpectedEqualsSignBeforeAttributeName","QUOTATION_MARK","APOSTROPHE","unexpectedCharacterInAttributeName","missingAttributeValue","GRAVE_ACCENT","unexpectedCharacterInUnquotedAttributeValue","missingWhitespaceBetweenAttributes","unexpectedSolidusInTag","cdataInHtmlContent","incorrectlyOpenedComment","abruptClosingOfEmptyComment","eofInComment","nestedComment","incorrectlyClosedComment","eofInDoctype","missingWhitespaceBeforeDoctypeName","fromCharCode","missingDoctypeName","invalidCharacterSequenceAfterDoctypeName","missingWhitespaceAfterDoctypePublicKeyword","missingDoctypePublicIdentifier","missingQuoteBeforeDoctypePublicIdentifier","abruptDoctypePublicIdentifier","missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers","missingQuoteBeforeDoctypeSystemIdentifier","missingWhitespaceAfterDoctypeSystemKeyword","missingDoctypeSystemIdentifier","abruptDoctypeSystemIdentifier","unexpectedCharacterAfterDoctypeSystemIdentifier","RIGHT_SQUARE_BRACKET","eofInCdata","SEMICOLON","unknownNamedCharacterReference","IMPLICIT_END_TAG_REQUIRED","IMPLICIT_END_TAG_REQUIRED_THOROUGHLY","SCOPING_ELEMENTS_HTML","SCOPING_ELEMENTS_HTML_LIST","SCOPING_ELEMENTS_HTML_BUTTON","SCOPING_ELEMENTS_MATHML","SCOPING_ELEMENTS_SVG","TABLE_ROW_CONTEXT","TABLE_BODY_CONTEXT","TABLE_CONTEXT","TABLE_CELLS","OpenElementStack","currentTmplContentOrNode","_isInTemplate","treeAdapter","getTemplateContent","items","tagIDs","stackTop","tmplCount","currentTagId","_indexOf","lastIndexOf","getNamespaceURI","_updateCurrentElement","onItemPush","popped","onItemPop","oldElement","newElement","idx","insertAfter","referenceElement","newElementID","insertionIdx","splice","popUntilTagNamePopped","targetIdx","shortenToLength","popUntilElementPopped","popUntilPopped","tagNames","targetNS","_indexOfTagNames","popUntilNumberedHeaderPopped","popUntilTableCellPopped","popAllUpToHtmlElement","clearBackTo","clearBackToTableContext","clearBackToTableBodyContext","clearBackToTableRowContext","remove","tryPeekProperlyNestedBodyElement","contains","getCommonAncestor","elementIdx","isRootHtmlElementCurrent","hasInDynamicScope","htmlScope","tn","hasInScope","hasInListItemScope","hasInButtonScope","hasNumberedHeaderInScope","hasInTableScope","hasTableBodyContextInTableScope","hasInSelectScope","generateImpliedEndTags","generateImpliedEndTagsThoroughly","generateImpliedEndTagsWithExclusion","exclusionId","NOAH_ARK_CAPACITY","EntryType","MARKER","Marker","FormattingElementList","bookmark","_getNoahArkConditionCandidates","neAttrs","candidates","neAttrsLength","neTagName","getTagName","neNamespaceURI","entry","elementAttrs","getAttrList","_ensureNoahArkCondition","neAttrsMap","neAttr","validCandidates","candidate","every","cAttr","insertMarker","pushElement","Element","insertElementAfterBookmark","bookmarkIdx","removeEntry","entryIndex","clearToLastMarker","markerIdx","getElementEntryInScopeWithTagName","getElementEntry","defaultTreeAdapter","createDocument","NO_QUIRKS","createDocumentFragment","createElement","createCommentNode","createTextNode","appendChild","newNode","insertBefore","referenceNode","setTemplateContent","templateElement","contentElement","setDocumentType","doctypeNode","setDocumentMode","getDocumentMode","detachNode","insertText","prevNode","isTextNode","insertTextBefore","adoptAttributes","recipient","recipientAttrsMap","attr","j","getFirstChild","getChildNodes","getParentNode","getTextNodeContent","textNode","getCommentNodeContent","commentNode","getDocumentTypeNodeName","getDocumentTypeNodePublicId","getDocumentTypeNodeSystemId","isCommentNode","isDocumentTypeNode","isElementNode","setNodeSourceCodeLocation","getNodeSourceCodeLocation","updateNodeSourceCodeLocation","endLocation","VALID_DOCTYPE_NAME","VALID_SYSTEM_ID","QUIRKS_MODE_SYSTEM_ID","QUIRKS_MODE_PUBLIC_ID_PREFIXES","QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES","QUIRKS_MODE_PUBLIC_IDS","LIMITED_QUIRKS_PUBLIC_ID_PREFIXES","LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES","hasPrefix","prefixes","some","isConforming","QUIRKS","LIMITED_QUIRKS","MIME_TYPES","TEXT_HTML","APPLICATION_XML","DEFINITION_URL_ATTR","ADJUSTED_DEFINITION_URL_ATTR","SVG_ATTRS_ADJUSTMENT_MAP","XML_ATTRS_ADJUSTMENT_MAP","SVG_TAG_NAMES_ADJUSTMENT_MAP","EXITS_FOREIGN_CONTENT","causesExit","startTagToken","isFontWithAttrs","COLOR","SIZE","FACE","adjustTokenMathMLAttrs","adjustTokenSVGAttrs","adjustedAttrName","adjustTokenXMLAttrs","adjustedAttrEntry","adjustTokenSVGTagName","adjustedTagName","isMathMLTextIntegrationPoint","ns","isHtmlIntegrationPoint","ENCODING","isIntegrationPoint","foreignNS","HIDDEN_INPUT_TYPE","AA_OUTER_LOOP_ITER","AA_INNER_LOOP_ITER","InsertionMode","BASE_LOC","TABLE_STRUCTURE_TAGS","defaultParserOptions","scriptingEnabled","Parser","fragmentContext","scriptHandler","stopped","insertionMode","INITIAL","originalInsertionMode","headElement","formElement","currentNotInHTML","tmplInsertionModeStack","pendingCharacterTokens","hasNonWhitespacePendingCharacterToken","framesetOk","fosterParentingEnabled","tokenizer","activeFormattingElements","fragmentContextID","_setContextModes","openElements","parse","parser","getFragmentParser","opts","TN","documentMock","IN_TEMPLATE","_initTokenizerForFragmentParsing","_insertFakeRootElement","_resetInsertionMode","_findFormInFragmentContext","getFragment","rootElement","_adoptNodes","beforeToken","err","tid","isTop","_setEndLocation","isHTML","_isIntegrationPoint","_switchToTextParsing","nextTokenizerState","_insertElement","TEXT","switchToPlaintextParsing","IN_BODY","_getAdjustedCurrentElement","_setDocumentType","documentChildren","docTypeNode","_attachElementToTree","_shouldFosterParentOnInsertion","_fosterParentElement","parent","_appendElement","_insertFakeElement","_insertTemplate","tmpl","_appendCommentNode","_insertCharacters","beforeElement","_findFosterParentingLocation","siblings","textNodeIdx","tnLoc","donor","closingToken","ctLoc","endLoc","shouldProcessStartTagTokenInForeignContent","_processToken","_processStartTag","foreignContent","_reconstructActiveFormattingElements","listLength","endIndex","findIndex","unopenIdx","_closeTableCell","IN_ROW","_closePElement","IN_TABLE_BODY","IN_CAPTION","IN_COLUMN_GROUP","IN_TABLE","IN_FRAMESET","_resetInsertionModeForSelect","AFTER_HEAD","BEFORE_HEAD","IN_CELL","IN_HEAD","selectIdx","IN_SELECT_IN_TABLE","IN_SELECT","_isElementCausesFosterParenting","openElement","_isSpecialElement","characterInForeignContent","tokenInInitialMode","BEFORE_HTML","tokenBeforeHtml","tokenBeforeHead","tokenInHead","IN_HEAD_NO_SCRIPT","tokenInHeadNoScript","tokenAfterHead","characterInBody","characterInTable","IN_TABLE_TEXT","characterInTableText","tokenInColumnGroup","AFTER_BODY","tokenAfterBody","AFTER_AFTER_BODY","tokenAfterAfterBody","nullCharacterInForeignContent","appendComment","AFTER_FRAMESET","tokenInTableText","appendCommentToRootHtmlElement","AFTER_AFTER_FRAMESET","appendCommentToDocument","doctypeInInitialMode","misplacedDoctype","nonVoidHtmlElementStartTagWithTrailingSolidus","startTagInForeignContent","_startTagOutsideForeignContent","startTagBeforeHtml","startTagBeforeHead","startTagInHead","startTagInHeadNoScript","startTagAfterHead","startTagInBody","startTagInTable","startTagInCaption","startTagInColumnGroup","startTagInTableBody","startTagInRow","startTagInCell","startTagInSelect","startTagInSelectInTable","startTagInTemplate","startTagAfterBody","startTagInFrameset","startTagAfterFrameset","startTagAfterAfterBody","startTagAfterAfterFrameset","endTagInForeignContent","_endTagOutsideForeignContent","endTagBeforeHtml","endTagBeforeHead","endTagInHead","endTagInHeadNoScript","endTagAfterHead","endTagInBody","endTagInText","endTagInTable","endTagInCaption","endTagInColumnGroup","endTagInTableBody","endTagInRow","endTagInCell","endTagInSelect","endTagInSelectInTable","endTagInTemplate","endTagAfterBody","endTagInFrameset","endTagAfterFrameset","eofInBody","eofInText","eofInTemplate","stopParsing","whitespaceCharacterInBody","whitespaceCharacterInTableText","aaObtainFormattingElementEntry","p","formattingElementEntry","genericEndTagInBody","aaObtainFurthestBlock","furthestBlock","aaInnerLoop","formattingElement","lastElement","nextElement","elementEntry","counterOverflow","shouldRemoveFromOpenElements","aaRecreateElementFromEntry","aaInsertLastNodeInCommonAncestor","commonAncestor","aaReplaceFormattingElement","callAdoptionAgency","htmlElement","htmlLocation","bodyElement","bodyLocation","nonConformingDoctype","missingDoctype","endTagWithoutMatchingOpenElement","misplacedStartTagForHeadElement","templateEndTagInHead","closingOfElementWithOpenChildElements","shift","nestedNoscriptInHead","errCode","openElementsLeftAfterEof","disallowedContentInNoscriptInHead","abandonedHeadElementChild","modeInBody","htmlStartTagInBody","bodyStartTagInBody","framesetStartTagInBody","addressStartTagInBody","numberedHeaderStartTagInBody","preStartTagInBody","formStartTagInBody","inTemplate","listItemStartTagInBody","elementId","plaintextStartTagInBody","buttonStartTagInBody","aStartTagInBody","activeElementEntry","bStartTagInBody","nobrStartTagInBody","appletStartTagInBody","tableStartTagInBody","areaStartTagInBody","isHiddenInput","inputType","TYPE","inputStartTagInBody","paramStartTagInBody","hrStartTagInBody","imageStartTagInBody","textareaStartTagInBody","xmpStartTagInBody","iframeStartTagInBody","rawTextStartTagInBody","selectStartTagInBody","optgroupStartTagInBody","rbStartTagInBody","rtStartTagInBody","mathStartTagInBody","svgStartTagInBody","genericStartTagInBody","bodyEndTagInBody","htmlEndTagInBody","addressEndTagInBody","formEndTagInBody","pEndTagInBody","liEndTagInBody","ddEndTagInBody","numberedHeaderEndTagInBody","appletEndTagInBody","brEndTagInBody","eofInElementThatCanContainOnlyText","tokenInTable","captionStartTagInTable","colgroupStartTagInTable","colStartTagInTable","tbodyStartTagInTable","tdStartTagInTable","tableStartTagInTable","inputStartTagInTable","formStartTagInTable","savedFosterParentingState","TABLE_VOID_ELEMENTS","popUntilHtmlOrIntegrationPoint","currentNs","gfmTagfilterExpression","knownMdxNames","parseOptions","raw","documentMode","handleRaw","unknown","handle","stitches","resetTokenizer","pointStart","p5","visit","stitch","Token","createParse5Location","clone","cloneWithoutChildren","fakeRoot","setPoint","tagfilter","node_","passThrough","extra","charRefCode","tag","htmlVoidElements","pointEnd","head","Boolean","structuredClone","rehypeRaw"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]}
|