{"version":3,"file":"static/js/parse5-vendor.576eec44.js","mappings":"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","sources":["../../node_modules/parse5/dist/common/unicode.js","../../node_modules/parse5/dist/common/error-codes.js","../../node_modules/parse5/dist/tokenizer/preprocessor.js","../../node_modules/parse5/dist/common/token.js","../../node_modules/parse5/dist/common/html.js","../../node_modules/parse5/dist/tokenizer/index.js","../../node_modules/parse5/dist/parser/open-element-stack.js","../../node_modules/parse5/dist/parser/formatting-element-list.js","../../node_modules/parse5/dist/tree-adapters/default.js","../../node_modules/parse5/dist/common/doctype.js","../../node_modules/parse5/dist/common/foreign-content.js","../../node_modules/parse5/dist/parser/index.js","../../node_modules/parse5/dist/serializer/index.js","../../node_modules/parse5/dist/index.js"],"sourcesContent":["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[\"NUMBER_SIGN\"] = 35] = \"NUMBER_SIGN\";\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_F\"] = 70] = \"LATIN_CAPITAL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_X\"] = 88] = \"LATIN_CAPITAL_X\";\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_F\"] = 102] = \"LATIN_SMALL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_X\"] = 120] = \"LATIN_SMALL_X\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_Z\"] = 122] = \"LATIN_SMALL_Z\";\n CODE_POINTS[CODE_POINTS[\"REPLACEMENT_CHARACTER\"] = 65533] = \"REPLACEMENT_CHARACTER\";\n})(CODE_POINTS = 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//# sourceMappingURL=unicode.js.map","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 || (ERR = {}));\n//# sourceMappingURL=error-codes.js.map","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) {\n const { line, col, offset } = this;\n return {\n code,\n startLine: line,\n endLine: line,\n startCol: col,\n endCol: col,\n startOffset: offset,\n endOffset: offset,\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));\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//# sourceMappingURL=preprocessor.js.map","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 || (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//# sourceMappingURL=token.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 || (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 || (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 || (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[\"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 || (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[\"SECTION\"] = 94] = \"SECTION\";\n TAG_ID[TAG_ID[\"SELECT\"] = 95] = \"SELECT\";\n TAG_ID[TAG_ID[\"SOURCE\"] = 96] = \"SOURCE\";\n TAG_ID[TAG_ID[\"SMALL\"] = 97] = \"SMALL\";\n TAG_ID[TAG_ID[\"SPAN\"] = 98] = \"SPAN\";\n TAG_ID[TAG_ID[\"STRIKE\"] = 99] = \"STRIKE\";\n TAG_ID[TAG_ID[\"STRONG\"] = 100] = \"STRONG\";\n TAG_ID[TAG_ID[\"STYLE\"] = 101] = \"STYLE\";\n TAG_ID[TAG_ID[\"SUB\"] = 102] = \"SUB\";\n TAG_ID[TAG_ID[\"SUMMARY\"] = 103] = \"SUMMARY\";\n TAG_ID[TAG_ID[\"SUP\"] = 104] = \"SUP\";\n TAG_ID[TAG_ID[\"TABLE\"] = 105] = \"TABLE\";\n TAG_ID[TAG_ID[\"TBODY\"] = 106] = \"TBODY\";\n TAG_ID[TAG_ID[\"TEMPLATE\"] = 107] = \"TEMPLATE\";\n TAG_ID[TAG_ID[\"TEXTAREA\"] = 108] = \"TEXTAREA\";\n TAG_ID[TAG_ID[\"TFOOT\"] = 109] = \"TFOOT\";\n TAG_ID[TAG_ID[\"TD\"] = 110] = \"TD\";\n TAG_ID[TAG_ID[\"TH\"] = 111] = \"TH\";\n TAG_ID[TAG_ID[\"THEAD\"] = 112] = \"THEAD\";\n TAG_ID[TAG_ID[\"TITLE\"] = 113] = \"TITLE\";\n TAG_ID[TAG_ID[\"TR\"] = 114] = \"TR\";\n TAG_ID[TAG_ID[\"TRACK\"] = 115] = \"TRACK\";\n TAG_ID[TAG_ID[\"TT\"] = 116] = \"TT\";\n TAG_ID[TAG_ID[\"U\"] = 117] = \"U\";\n TAG_ID[TAG_ID[\"UL\"] = 118] = \"UL\";\n TAG_ID[TAG_ID[\"SVG\"] = 119] = \"SVG\";\n TAG_ID[TAG_ID[\"VAR\"] = 120] = \"VAR\";\n TAG_ID[TAG_ID[\"WBR\"] = 121] = \"WBR\";\n TAG_ID[TAG_ID[\"XMP\"] = 122] = \"XMP\";\n})(TAG_ID = 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.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 function isNumberedHeader(tn) {\n return tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6;\n}\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//# sourceMappingURL=html.js.map","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, BinTrieFlags, determineBranch } from 'entities/lib/decode.js';\nimport { ERR } from '../common/error-codes.js';\nimport { TAG_ID, getTagID } from '../common/html.js';\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = new Map([\n [0x80, 8364],\n [0x82, 8218],\n [0x83, 402],\n [0x84, 8222],\n [0x85, 8230],\n [0x86, 8224],\n [0x87, 8225],\n [0x88, 710],\n [0x89, 8240],\n [0x8a, 352],\n [0x8b, 8249],\n [0x8c, 338],\n [0x8e, 381],\n [0x91, 8216],\n [0x92, 8217],\n [0x93, 8220],\n [0x94, 8221],\n [0x95, 8226],\n [0x96, 8211],\n [0x97, 8212],\n [0x98, 732],\n [0x99, 8482],\n [0x9a, 353],\n [0x9b, 8250],\n [0x9c, 339],\n [0x9e, 382],\n [0x9f, 376],\n]);\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[\"NAMED_CHARACTER_REFERENCE\"] = 72] = \"NAMED_CHARACTER_REFERENCE\";\n State[State[\"AMBIGUOUS_AMPERSAND\"] = 73] = \"AMBIGUOUS_AMPERSAND\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE\"] = 74] = \"NUMERIC_CHARACTER_REFERENCE\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE_START\"] = 75] = \"HEXADEMICAL_CHARACTER_REFERENCE_START\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE\"] = 76] = \"HEXADEMICAL_CHARACTER_REFERENCE\";\n State[State[\"DECIMAL_CHARACTER_REFERENCE\"] = 77] = \"DECIMAL_CHARACTER_REFERENCE\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE_END\"] = 78] = \"NUMERIC_CHARACTER_REFERENCE_END\";\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 isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(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 isEntityInAttributeInvalidEnd(nextCp) {\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n}\nfunction isScriptDataDoubleEscapeSequenceEnd(cp) {\n return isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN;\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.charRefCode = -1;\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 }\n //Errors\n _err(code) {\n var _a, _b;\n (_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code));\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._unconsume(this.consumedAfterSnapshot);\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 _unconsume(count) {\n this.consumedAfterSnapshot -= count;\n this.preprocessor.retreat(count);\n }\n _reconsumeInState(state, cp) {\n this.state = state;\n this._callState(cp);\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: specification uses only one type of character tokens (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.currentLocation = this.getCurrentLocation(0);\n this._emitCurrentCharacterToken(this.currentLocation);\n this.preprocessor.dropParsedChunk();\n }\n else {\n this.currentCharacterToken.chars += ch;\n return;\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 _matchNamedCharacterReference(cp) {\n let result = null;\n let excess = 0;\n let withoutSemicolon = false;\n for (let i = 0, current = htmlDecodeTree[0]; i >= 0; cp = this._consume()) {\n i = determineBranch(htmlDecodeTree, current, i + 1, cp);\n if (i < 0)\n break;\n excess += 1;\n current = htmlDecodeTree[i];\n const masked = current & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\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 if (cp !== $.SEMICOLON &&\n this._isCharacterReferenceInAttribute() &&\n isEntityInAttributeInvalidEnd(this.preprocessor.peek(1))) {\n //NOTE: we don't flush all consumed code points here, and instead switch back to the original state after\n //emitting an ampersand. This is fine, as alphanumeric characters won't be parsed differently in attributes.\n result = [$.AMPERSAND];\n // Skip over the value.\n i += valueLength;\n }\n else {\n // If this is a surrogate pair, consume the next two bytes.\n result =\n valueLength === 0\n ? [htmlDecodeTree[i] & ~BinTrieFlags.VALUE_LENGTH]\n : valueLength === 1\n ? [htmlDecodeTree[++i]]\n : [htmlDecodeTree[++i], htmlDecodeTree[++i]];\n excess = 0;\n withoutSemicolon = cp !== $.SEMICOLON;\n }\n if (valueLength === 0) {\n // If the value is zero-length, we're done.\n this._consume();\n break;\n }\n }\n }\n this._unconsume(excess);\n if (withoutSemicolon && !this.preprocessor.endOfChunkHit) {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n }\n // We want to emit the error above on the code point after the entity.\n // We always consume one code point too many in the loop, and we wait to\n // unconsume it until after the error is emitted.\n this._unconsume(1);\n return result;\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(cp);\n break;\n }\n case State.NAMED_CHARACTER_REFERENCE: {\n this._stateNamedCharacterReference(cp);\n break;\n }\n case State.AMBIGUOUS_AMPERSAND: {\n this._stateAmbiguousAmpersand(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE: {\n this._stateNumericCharacterReference(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE_START: {\n this._stateHexademicalCharacterReferenceStart(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE: {\n this._stateHexademicalCharacterReference(cp);\n break;\n }\n case State.DECIMAL_CHARACTER_REFERENCE: {\n this._stateDecimalCharacterReference(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE_END: {\n this._stateNumericCharacterReferenceEnd(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.returnState = State.DATA;\n this.state = State.CHARACTER_REFERENCE;\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.returnState = State.RCDATA;\n this.state = State.CHARACTER_REFERENCE;\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 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 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.returnState = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\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.returnState = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\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.returnState = State.ATTRIBUTE_VALUE_UNQUOTED;\n this.state = State.CHARACTER_REFERENCE;\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(cp) {\n if (cp === $.NUMBER_SIGN) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE;\n }\n else if (isAsciiAlphaNumeric(cp)) {\n this.state = State.NAMED_CHARACTER_REFERENCE;\n this._stateNamedCharacterReference(cp);\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Named character reference state\n //------------------------------------------------------------------\n _stateNamedCharacterReference(cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n //NOTE: Matching can be abrupted by hibernation. In that case, match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n // Stay in the state, try again.\n }\n else if (matchResult) {\n for (let i = 0; i < matchResult.length; i++) {\n this._flushCodePointConsumedAsCharacterReference(matchResult[i]);\n }\n this.state = this.returnState;\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this.state = State.AMBIGUOUS_AMPERSAND;\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._reconsumeInState(this.returnState, cp);\n }\n }\n // Numeric character reference state\n //------------------------------------------------------------------\n _stateNumericCharacterReference(cp) {\n this.charRefCode = 0;\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE_START;\n }\n // Inlined decimal character reference start state\n else if (isAsciiDigit(cp)) {\n this.state = State.DECIMAL_CHARACTER_REFERENCE;\n this._stateDecimalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Hexademical character reference start state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReferenceStart(cp) {\n if (isAsciiHexDigit(cp)) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE;\n this._stateHexademicalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._unconsume(2);\n this.state = this.returnState;\n }\n }\n // Hexademical character reference state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReference(cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n }\n else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n }\n else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Decimal character reference state\n //------------------------------------------------------------------\n _stateDecimalCharacterReference(cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Numeric character reference end state\n //------------------------------------------------------------------\n _stateNumericCharacterReferenceEnd(cp) {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (this.charRefCode > 1114111) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n }\n else if (isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS.get(this.charRefCode);\n if (replacement !== undefined) {\n this.charRefCode = replacement;\n }\n }\n this._flushCodePointConsumedAsCharacterReference(this.charRefCode);\n this._reconsumeInState(this.returnState, cp);\n }\n}\n//# sourceMappingURL=index.js.map","import { TAG_ID as $, NS, isNumberedHeader } 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_ELEMENT_NS = new Map([\n [$.APPLET, NS.HTML],\n [$.CAPTION, NS.HTML],\n [$.HTML, NS.HTML],\n [$.MARQUEE, NS.HTML],\n [$.OBJECT, NS.HTML],\n [$.TABLE, NS.HTML],\n [$.TD, NS.HTML],\n [$.TEMPLATE, NS.HTML],\n [$.TH, NS.HTML],\n [$.ANNOTATION_XML, NS.MATHML],\n [$.MI, NS.MATHML],\n [$.MN, NS.MATHML],\n [$.MO, NS.MATHML],\n [$.MS, NS.MATHML],\n [$.MTEXT, NS.MATHML],\n [$.DESC, NS.SVG],\n [$.FOREIGN_OBJECT, NS.SVG],\n [$.TITLE, NS.SVG],\n]);\nconst NAMED_HEADERS = [$.H1, $.H2, $.H3, $.H4, $.H5, $.H6];\nconst TABLE_ROW_CONTEXT = [$.TR, $.TEMPLATE, $.HTML];\nconst TABLE_BODY_CONTEXT = [$.TBODY, $.TFOOT, $.THEAD, $.TEMPLATE, $.HTML];\nconst TABLE_CONTEXT = [$.TABLE, $.TEMPLATE, $.HTML];\nconst TABLE_CELLS = [$.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 this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);\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(targetIdx < 0 ? 0 : targetIdx);\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(idx < 0 ? 0 : idx);\n }\n popUntilPopped(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilNumberedHeaderPopped() {\n this.popUntilPopped(NAMED_HEADERS, NS.HTML);\n }\n popUntilTableCellPopped() {\n this.popUntilPopped(TABLE_CELLS, NS.HTML);\n }\n popAllUpToHtmlElement() {\n //NOTE: here we assume that the root 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.includes(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 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 hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (isNumberedHeader(tn) && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if ((tn === $.BUTTON && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n return true;\n }\n //Implied end tags\n generateImpliedEndTags() {\n while (IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsThoroughly() {\n while (IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsWithExclusion(exclusionId) {\n while (this.currentTagId !== exclusionId && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n}\n//# sourceMappingURL=open-element-stack.js.map","//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 || (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 >= 0) {\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 >= 0) {\n this.entries.splice(0, markerIdx + 1);\n }\n else {\n this.entries.length = 0;\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//# sourceMappingURL=formatting-element-list.js.map","import { DOCUMENT_MODE } from '../common/html.js';\nfunction createTextNode(value) {\n return {\n nodeName: '#text',\n value,\n parentNode: null,\n };\n}\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 //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, 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, 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//# sourceMappingURL=default.js.map","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//# sourceMappingURL=doctype.js.map","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:base', { prefix: 'xml', name: 'base', namespace: NS.XML }],\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//# sourceMappingURL=foreign-content.js.map","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, isNumberedHeader, 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, fragmentContext = null, scriptHandler = null) {\n this.fragmentContext = fragmentContext;\n this.scriptHandler = scriptHandler;\n this.currentToken = null;\n this.stopped = false;\n this.insertionMode = InsertionMode.INITIAL;\n this.originalInsertionMode = InsertionMode.INITIAL;\n this.headElement = null;\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 this.tmplInsertionModeStack = [];\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n this.framesetOk = true;\n this.skipNextNewLine = false;\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