{"version":3,"sources":["webpack:///./src/components/modules/alert/alert.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/MultiplexHandler.js","webpack:///./node_modules/react-showdown/node_modules/dom-serializer/lib/foreignNames.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/index.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/FeedHandler.js","webpack:///./node_modules/entities/lib/encode.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/helpers.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/traversal.js","webpack:///./node_modules/react-showdown/node_modules/dom-serializer/lib/index.js","webpack:///./src/templates/fact-sheet/fact-sheet-region-callout/fact-sheet-region-callout.js","webpack:///./node_modules/react-showdown/node_modules/domhandler/lib/index.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/Parser.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/Tokenizer.js","webpack:///./node_modules/entities/lib/decode_codepoint.js","webpack:///./node_modules/react-showdown/node_modules/domhandler/lib/node.js","webpack:///./node_modules/react-showdown/node_modules/domelementtype/lib/index.js","webpack:///./src/templates/fact-sheet/fact-sheet-contents/fact-sheet-contents.js","webpack:///./node_modules/entities/lib/index.js","webpack:///./src/templates/fact-sheet/fact-sheet-print/fact-sheet-print.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/stringify.js","webpack:///./src/components/modules/sidebar-contents/sidebar-contents.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/tagtypes.js","webpack:///./node_modules/entities/lib/decode.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/index.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/querying.js","webpack:///./node_modules/react-showdown/dist/react-showdown.esm.js","webpack:///./src/templates/fact-sheet/fact-sheet.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/manipulation.js","webpack:///./node_modules/react-showdown/node_modules/domutils/lib/legacy.js","webpack:///./node_modules/react-showdown/node_modules/htmlparser2/lib/CollectingHandler.js"],"names":["Alert","title","description","button","props","dangerouslySetInnerHTML","__html","children","className","role","label","href","aria-label","ariaLabel","ReflectOwnKeys","R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","value","EventEmitter","init","this","module","exports","once","emitter","name","Promise","resolve","reject","eventListener","undefined","errorListener","removeListener","slice","arguments","err","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","length","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","Array","i","unwrapListeners","arrayClone","listenerCount","n","copy","defineProperty","enumerable","get","set","arg","RangeError","getPrototypeOf","setMaxListeners","getMaxListeners","doError","error","er","message","context","handler","len","listeners","addListener","on","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","off","removeAllListeners","key","keys","rawListeners","eventNames","MultiplexHandler","func","_func","onattribute","oncdatastart","oncdataend","ontext","text","onprocessinginstruction","oncomment","comment","oncommentend","onclosetag","onopentag","attribs","onopentagname","onerror","onend","onparserinit","parser","onreset","default","attributeNames","elementNames","Map","__createBinding","o","k","k2","__exportStar","p","hasOwnProperty","_extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","constructor","__importDefault","mod","__esModule","__importStar","result","domhandler_1","DomUtils","Parser_1","FeedHandler","_super","callback","options","feed","feedRoot","getOneElement","isValidFeed","dom","childs","addConditionally","getAttribute","link","updated","fetch","Date","items","getElements","map","item","entry","pubDate","substr","id","handleCallback","what","where","getElementsByTagName","recurse","getText","trim","elem","obj","prop","tmp","defaultOptions","xmlMode","parseFeed","Parser","end","escape","encodeHTML","encodeXML","inverseXML","getInverseObj","xmlReplacer","getInverseReplacer","getInverse","inverseHTML","htmlReplacer","sort","reduce","inverse","single","multiple","_i","_a","start","charCodeAt","splice","join","RegExp","reNonASCII","singleCharReplacer","c","codePointAt","toString","toUpperCase","re","data","replace","reXmlChars","uniqueSort","compareDocumentPosition","removeSubsets","tagtypes_1","nodeA","nodeB","aParents","bParents","current","hasChildren","parent","maxIdx","Math","min","idx","sharedParent","siblings","aSibling","bSibling","indexOf","nodes","node","lastIndexOf","ancestor","includes","filter","a","relative","nextElementSibling","getName","hasAttrib","getAttributeValue","getSiblings","getParent","getChildren","emptyArray","prev","next","isTag","__assign","assign","t","s","__setModuleDefault","v","ElementType","entities_1","foreignNames_1","unencodedElements","Set","singleTag","render","isArray","cheerio","output","renderNode","Root","Directive","Doctype","Comment","renderComment","CDATA","renderCdata","Script","Style","Tag","opts","foreignModeIntegrationPoints","has","foreignElements","tag","attributes","_b","emptyAttrs","decodeEntities","formatAttributes","selfClosingTags","renderTag","Text","renderText","FactSheetRegionCallout","inject","observer","regionStore","currentLocation","alternateLocation","alternateSlug","handleFactSheetSwitch","e","preventDefault","switchCurrentRegion","navigate","onClick","DomHandler","node_1","reWhitespace","defaultOpts","normalizeWhitespace","withStartIndices","withEndIndices","elementCB","_done","_tagStack","_lastNode","_parser","_callback","_options","_elementCB","endIndex","element","Element","addNode","normalize","NodeWithChildren","ProcessingInstruction","previousSibling","startIndex","addDataNode","Tokenizer_1","events_1","formTags","pTag","openImpliesClose","tr","th","td","body","li","h1","h2","h3","h4","h5","h6","select","input","datalist","textarea","option","optgroup","dd","dt","address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","header","hr","main","nav","ol","pre","section","table","ul","rt","rp","tbody","tfoot","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","cbs","_this","_tagname","_attribname","_attribvalue","_attribs","_stack","_foreignContext","parseChunk","write","done","_cbs","_lowerCaseTagNames","lowerCaseTags","_lowerCaseAttributeNames","lowerCaseAttributeNames","_tokenizer","Tokenizer","_updatePosition","initialOffset","_sectionStart","getAbsoluteIndex","toLowerCase","el","onopentagend","_closeCurrentTag","pos","onselfclosingtag","recognizeSelfClosing","onattribname","onattribdata","onattribend","_getInstructionName","search","ondeclaration","name_1","name_2","oncdata","recognizeCDATA","reset","parseComplete","chunk","pause","resume","decode_codepoint_1","entities_json_1","legacy_json_1","xml_json_1","whitespace","ifElseState","upper","SUCCESS","FAILURE","lower","_state","_index","consumeSpecialNameChar","NEXT_STATE","stateBeforeCdata1","stateBeforeCdata2","stateBeforeCdata3","stateBeforeCdata4","stateBeforeCdata5","stateBeforeScript1","stateBeforeScript2","stateBeforeScript3","stateBeforeScript4","stateAfterScript1","stateAfterScript2","stateAfterScript3","stateAfterScript4","stateBeforeStyle1","stateBeforeStyle2","stateBeforeStyle3","stateAfterStyle1","stateAfterStyle2","stateAfterStyle3","stateBeforeEntity","stateBeforeNumericEntity","_buffer","_bufferOffset","_baseState","_special","_running","_ended","_xmlMode","_decodeEntities","_stateText","_getSection","_stateBeforeTagName","_stateInTagName","_emitToken","_stateBeforeClosingTagName","_stateInClosingTagName","_stateAfterClosingTagName","_stateBeforeAttributeName","_stateInSelfClosingTag","_stateInAttributeName","_stateAfterAttributeName","_stateBeforeAttributeValue","_stateInAttributeValueDoubleQuotes","_stateInAttributeValueSingleQuotes","_stateInAttributeValueNoQuotes","_stateBeforeDeclaration","_stateInDeclaration","_stateInProcessingInstruction","_stateBeforeComment","_stateInComment","_stateAfterComment1","_stateAfterComment2","substring","_stateBeforeCdata6","_stateInCdata","_stateAfterCdata1","_stateAfterCdata2","_stateBeforeSpecial","_stateBeforeSpecialEnd","_stateBeforeScript5","_stateAfterScript5","_stateBeforeStyle4","_stateAfterStyle4","_parseNamedEntityStrict","entity","_emitPartial","_parseLegacyEntity","limit","_stateInNamedEntity","_decodeNumericEntity","offset","base","sectionStart","parsed","parseInt","_stateInNumericEntity","_stateInHexEntity","_cleanup","_parse","charAt","_finish","_handleTrailingData","decode_json_1","codePoint","fromCharCode","cloneNode","DataNode","Node","nodeTypes","configurable","recursive","instr","cloneChildren","clone_1","forEach","child","clone_2","FactSheetContents","content","useState","headers","setHeaders","useEffect","split","line","startsWith","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","decodeHTMLStrict","decodeHTML","decodeXML","encodeHTML5","encodeHTML4","encode","decodeStrict","decode","decode_1","encode_1","level","encode_2","decode_2","FactSheetPrint","src","Logo","alt","getInnerHTML","getOuterHTML","dom_serializer_1","isCDATA","isText","SidebarContents","isActive","setIsActive","goToElement","targetId","document","getElementById","scrollIntoView","data-target","convertToId","isComment","domelementtype_1","getStrictDecoder","getReplacer","str","sorter","secondChar","legacy","j","replacer","__export","DefaultHandler","parseDOM","createDomStream","cb","elementCb","EVENTS","attribute","cdatastart","cdataend","processinginstruction","commentend","closetag","opentag","opentagname","FeedHandler_1","RssHandler","findAll","existsOne","findOne","findOneChild","find","test","nodes_1","Infinity","checked","some","stack","_extends","source","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","Symbol","iterator","minLen","from","_unsupportedIterableToArray","MarkdownView","flavor","markdown","markup","extensions","components","sanitizeHtml","otherProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","mapElement","elementType","_props","style","styles","_style$split","match","skipAnyChildrenFor","skipWhitespaceElementsFor","filterWhitespaceElements","_props2","_children","converter","setFlavor","_step","_iterator","extension","useExtension","addExtension","setOption","html","makeHtml","createElement","root","wagtail","page","seoTitle","canonicalUrl","validInEngland","alternateEnglandSlug","alternateScotlandSlug","factSheetContent","isEngland","isScotland","isScrolled","_setIsScrolled","isScrolledRef","useRef","setIsScrolled","redirectToAppropriateRegionIfEw","window","addEventListener","getElementsByClassName","innerHTML","parseFactSheetContent","scrollTop","pageYOffset","documentElement","parentNode","isInViewport","canonical","to","customizedHeaderId","tables","tablesHeaderId","tasklists","openLinksInNewWindow","history","scrollRestoration","isBrowser","scrollTo","top","left","behavior","removeElement","prependChild","append","appendChild","replaceElement","replacement","sibling","currNext","getElementsByTagType","testElement","querying_1","Checks","tag_name","tag_type","tag_contains","getAttribCheck","attrib","combineFuncs","compileTest","funcs","tagName","CollectingHandler","restart"],"mappings":"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","file":"component---src-templates-fact-sheet-fact-sheet-js-5cfda39a2bb55f6dc33f.js","sourcesContent":["import React from \"react\"\n\nimport PropTypes from \"prop-types\"\n\nimport \"./alert.scss\"\n\nexport const Alert = ({ title, description, button }) => {\n const props =\n typeof description === \"string\"\n ? { dangerouslySetInnerHTML: { __html: description } }\n : { children: description }\n\n return (\n
\n

{title}

\n

\n {button && button.label && (\n \n {button.label}\n \n )}\n

\n )\n}\n\nAlert.propTypes = {\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n button: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n ariaLabel: PropTypes.string,\n }),\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\n\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\n\nmodule.exports = EventEmitter;\nmodule.exports.once = once; // Backwards-compat with node 0.10.x\n\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined; // By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\n\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function get() {\n return defaultMaxListeners;\n },\n set: function set(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}; // Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\n\n\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false; // If there is no 'error' event listener then throw.\n\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n } // At least give some kind of context to the user\n\n\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n if (handler === undefined) return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n\n for (var i = 0; i < len; ++i) {\n ReflectApply(listeners[i], this, args);\n }\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener); // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n\n events = target._events;\n }\n\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] : [existing, listener]; // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n } // Check for listener leak\n\n\n m = _getMaxListeners(target);\n\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true; // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n};\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0) return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n}; // Emits a 'removeListener' event if and only if the listener was removed.\n\n\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this; // not listening for removeListener, no need to emit\n\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];\n }\n\n return this;\n } // emit removeListener for all listeners on all events\n\n\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n};\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\n\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n copy[i] = arr[i];\n }\n\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) {\n list[index] = list[index + 1];\n }\n\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n\n resolve([].slice.call(arguments));\n }\n\n ;\n var errorListener; // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Calls a specific handler function for all events that are encountered.\n *\n * @param func — The function to multiplex all events to.\n */\n\nvar MultiplexHandler =\n/** @class */\nfunction () {\n function MultiplexHandler(func) {\n this._func = func;\n }\n /* Format: eventname: number of arguments */\n\n\n MultiplexHandler.prototype.onattribute = function (name, value) {\n this._func(\"onattribute\", name, value);\n };\n\n MultiplexHandler.prototype.oncdatastart = function () {\n this._func(\"oncdatastart\");\n };\n\n MultiplexHandler.prototype.oncdataend = function () {\n this._func(\"oncdataend\");\n };\n\n MultiplexHandler.prototype.ontext = function (text) {\n this._func(\"ontext\", text);\n };\n\n MultiplexHandler.prototype.onprocessinginstruction = function (name, value) {\n this._func(\"onprocessinginstruction\", name, value);\n };\n\n MultiplexHandler.prototype.oncomment = function (comment) {\n this._func(\"oncomment\", comment);\n };\n\n MultiplexHandler.prototype.oncommentend = function () {\n this._func(\"oncommentend\");\n };\n\n MultiplexHandler.prototype.onclosetag = function (name) {\n this._func(\"onclosetag\", name);\n };\n\n MultiplexHandler.prototype.onopentag = function (name, attribs) {\n this._func(\"onopentag\", name, attribs);\n };\n\n MultiplexHandler.prototype.onopentagname = function (name) {\n this._func(\"onopentagname\", name);\n };\n\n MultiplexHandler.prototype.onerror = function (error) {\n this._func(\"onerror\", error);\n };\n\n MultiplexHandler.prototype.onend = function () {\n this._func(\"onend\");\n };\n\n MultiplexHandler.prototype.onparserinit = function (parser) {\n this._func(\"onparserinit\", parser);\n };\n\n MultiplexHandler.prototype.onreset = function () {\n this._func(\"onreset\");\n };\n\n return MultiplexHandler;\n}();\n\nexports.default = MultiplexHandler;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([[\"altglyph\", \"altGlyph\"], [\"altglyphdef\", \"altGlyphDef\"], [\"altglyphitem\", \"altGlyphItem\"], [\"animatecolor\", \"animateColor\"], [\"animatemotion\", \"animateMotion\"], [\"animatetransform\", \"animateTransform\"], [\"clippath\", \"clipPath\"], [\"feblend\", \"feBlend\"], [\"fecolormatrix\", \"feColorMatrix\"], [\"fecomponenttransfer\", \"feComponentTransfer\"], [\"fecomposite\", \"feComposite\"], [\"feconvolvematrix\", \"feConvolveMatrix\"], [\"fediffuselighting\", \"feDiffuseLighting\"], [\"fedisplacementmap\", \"feDisplacementMap\"], [\"fedistantlight\", \"feDistantLight\"], [\"fedropshadow\", \"feDropShadow\"], [\"feflood\", \"feFlood\"], [\"fefunca\", \"feFuncA\"], [\"fefuncb\", \"feFuncB\"], [\"fefuncg\", \"feFuncG\"], [\"fefuncr\", \"feFuncR\"], [\"fegaussianblur\", \"feGaussianBlur\"], [\"feimage\", \"feImage\"], [\"femerge\", \"feMerge\"], [\"femergenode\", \"feMergeNode\"], [\"femorphology\", \"feMorphology\"], [\"feoffset\", \"feOffset\"], [\"fepointlight\", \"fePointLight\"], [\"fespecularlighting\", \"feSpecularLighting\"], [\"fespotlight\", \"feSpotLight\"], [\"fetile\", \"feTile\"], [\"feturbulence\", \"feTurbulence\"], [\"foreignobject\", \"foreignObject\"], [\"glyphref\", \"glyphRef\"], [\"lineargradient\", \"linearGradient\"], [\"radialgradient\", \"radialGradient\"], [\"textpath\", \"textPath\"]]);\nexports.attributeNames = new Map([[\"definitionurl\", \"definitionURL\"], [\"attributename\", \"attributeName\"], [\"attributetype\", \"attributeType\"], [\"basefrequency\", \"baseFrequency\"], [\"baseprofile\", \"baseProfile\"], [\"calcmode\", \"calcMode\"], [\"clippathunits\", \"clipPathUnits\"], [\"diffuseconstant\", \"diffuseConstant\"], [\"edgemode\", \"edgeMode\"], [\"filterunits\", \"filterUnits\"], [\"glyphref\", \"glyphRef\"], [\"gradienttransform\", \"gradientTransform\"], [\"gradientunits\", \"gradientUnits\"], [\"kernelmatrix\", \"kernelMatrix\"], [\"kernelunitlength\", \"kernelUnitLength\"], [\"keypoints\", \"keyPoints\"], [\"keysplines\", \"keySplines\"], [\"keytimes\", \"keyTimes\"], [\"lengthadjust\", \"lengthAdjust\"], [\"limitingconeangle\", \"limitingConeAngle\"], [\"markerheight\", \"markerHeight\"], [\"markerunits\", \"markerUnits\"], [\"markerwidth\", \"markerWidth\"], [\"maskcontentunits\", \"maskContentUnits\"], [\"maskunits\", \"maskUnits\"], [\"numoctaves\", \"numOctaves\"], [\"pathlength\", \"pathLength\"], [\"patterncontentunits\", \"patternContentUnits\"], [\"patterntransform\", \"patternTransform\"], [\"patternunits\", \"patternUnits\"], [\"pointsatx\", \"pointsAtX\"], [\"pointsaty\", \"pointsAtY\"], [\"pointsatz\", \"pointsAtZ\"], [\"preservealpha\", \"preserveAlpha\"], [\"preserveaspectratio\", \"preserveAspectRatio\"], [\"primitiveunits\", \"primitiveUnits\"], [\"refx\", \"refX\"], [\"refy\", \"refY\"], [\"repeatcount\", \"repeatCount\"], [\"repeatdur\", \"repeatDur\"], [\"requiredextensions\", \"requiredExtensions\"], [\"requiredfeatures\", \"requiredFeatures\"], [\"specularconstant\", \"specularConstant\"], [\"specularexponent\", \"specularExponent\"], [\"spreadmethod\", \"spreadMethod\"], [\"startoffset\", \"startOffset\"], [\"stddeviation\", \"stdDeviation\"], [\"stitchtiles\", \"stitchTiles\"], [\"surfacescale\", \"surfaceScale\"], [\"systemlanguage\", \"systemLanguage\"], [\"tablevalues\", \"tableValues\"], [\"targetx\", \"targetX\"], [\"targety\", \"targetY\"], [\"textlength\", \"textLength\"], [\"viewbox\", \"viewBox\"], [\"viewtarget\", \"viewTarget\"], [\"xchannelselector\", \"xChannelSelector\"], [\"ychannelselector\", \"yChannelSelector\"], [\"zoomandpan\", \"zoomAndPan\"]]);","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./stringify\"), exports);\n\n__exportStar(require(\"./traversal\"), exports);\n\n__exportStar(require(\"./manipulation\"), exports);\n\n__exportStar(require(\"./querying\"), exports);\n\n__exportStar(require(\"./legacy\"), exports);\n\n__exportStar(require(\"./helpers\"), exports);\n\n__exportStar(require(\"./tagtypes\"), exports);","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n }\n result[\"default\"] = mod;\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar domhandler_1 = __importDefault(require(\"domhandler\"));\n\nvar DomUtils = __importStar(require(\"domutils\"));\n\nvar Parser_1 = require(\"./Parser\"); //TODO: Consume data as it is coming in\n\n\nvar FeedHandler =\n/** @class */\nfunction (_super) {\n __extends(FeedHandler, _super);\n /**\n *\n * @param callback\n * @param options\n */\n\n\n function FeedHandler(callback, options) {\n var _this = this;\n\n if (typeof callback === \"object\" && callback !== null) {\n callback = undefined;\n options = callback;\n }\n\n _this = _super.call(this, callback, options) || this;\n return _this;\n }\n\n FeedHandler.prototype.onend = function () {\n var feed = {};\n var feedRoot = getOneElement(isValidFeed, this.dom);\n\n if (feedRoot) {\n if (feedRoot.name === \"feed\") {\n var childs = feedRoot.children;\n feed.type = \"atom\";\n addConditionally(feed, \"id\", \"id\", childs);\n addConditionally(feed, \"title\", \"title\", childs);\n var href = getAttribute(\"href\", getOneElement(\"link\", childs));\n\n if (href) {\n feed.link = href;\n }\n\n addConditionally(feed, \"description\", \"subtitle\", childs);\n var updated = fetch(\"updated\", childs);\n\n if (updated) {\n feed.updated = new Date(updated);\n }\n\n addConditionally(feed, \"author\", \"email\", childs, true);\n feed.items = getElements(\"entry\", childs).map(function (item) {\n var entry = {};\n var children = item.children;\n addConditionally(entry, \"id\", \"id\", children);\n addConditionally(entry, \"title\", \"title\", children);\n var href = getAttribute(\"href\", getOneElement(\"link\", children));\n\n if (href) {\n entry.link = href;\n }\n\n var description = fetch(\"summary\", children) || fetch(\"content\", children);\n\n if (description) {\n entry.description = description;\n }\n\n var pubDate = fetch(\"updated\", children);\n\n if (pubDate) {\n entry.pubDate = new Date(pubDate);\n }\n\n return entry;\n });\n } else {\n var childs = getOneElement(\"channel\", feedRoot.children).children;\n feed.type = feedRoot.name.substr(0, 3);\n feed.id = \"\";\n addConditionally(feed, \"title\", \"title\", childs);\n addConditionally(feed, \"link\", \"link\", childs);\n addConditionally(feed, \"description\", \"description\", childs);\n var updated = fetch(\"lastBuildDate\", childs);\n\n if (updated) {\n feed.updated = new Date(updated);\n }\n\n addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n feed.items = getElements(\"item\", feedRoot.children).map(function (item) {\n var entry = {};\n var children = item.children;\n addConditionally(entry, \"id\", \"guid\", children);\n addConditionally(entry, \"title\", \"title\", children);\n addConditionally(entry, \"link\", \"link\", children);\n addConditionally(entry, \"description\", \"description\", children);\n var pubDate = fetch(\"pubDate\", children);\n if (pubDate) entry.pubDate = new Date(pubDate);\n return entry;\n });\n }\n }\n\n this.feed = feed;\n this.handleCallback(feedRoot ? null : Error(\"couldn't find root of feed\"));\n };\n\n return FeedHandler;\n}(domhandler_1.default);\n\nexports.FeedHandler = FeedHandler;\n\nfunction getElements(what, where) {\n return DomUtils.getElementsByTagName(what, where, true);\n}\n\nfunction getOneElement(what, where) {\n return DomUtils.getElementsByTagName(what, where, true, 1)[0];\n}\n\nfunction fetch(what, where, recurse) {\n if (recurse === void 0) {\n recurse = false;\n }\n\n return DomUtils.getText(DomUtils.getElementsByTagName(what, where, recurse, 1)).trim();\n}\n\nfunction getAttribute(name, elem) {\n if (!elem) {\n return null;\n }\n\n var attribs = elem.attribs;\n return attribs[name];\n}\n\nfunction addConditionally(obj, prop, what, where, recurse) {\n if (recurse === void 0) {\n recurse = false;\n }\n\n var tmp = fetch(what, where, recurse); // @ts-ignore\n\n if (tmp) obj[prop] = tmp;\n}\n\nfunction isValidFeed(value) {\n return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n}\n\nvar defaultOptions = {\n xmlMode: true\n};\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this option, you probably want to set `xmlMode` to `true`.\n */\n\nfunction parseFeed(feed, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var handler = new FeedHandler(options);\n new Parser_1.Parser(handler, options).end(feed);\n return handler.feed;\n}\n\nexports.parseFeed = parseFeed;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.escape = exports.encodeHTML = exports.encodeXML = void 0;\n\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\n\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\nexports.encodeXML = getInverse(inverseXML, xmlReplacer);\n\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\n\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\nexports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\n\nfunction getInverseObj(obj) {\n return Object.keys(obj).sort().reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\n\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n } else {\n // Add value to multiple array\n multiple.push(k);\n }\n } // Add ranges to single characters.\n\n\n single.sort();\n\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n\n while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n\n var count = 1 + end - start; // We want to replace at least three characters\n\n if (count < 3) continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\n\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\n\nfunction singleCharReplacer(c) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return \"&#x\" + c.codePointAt(0).toString(16).toUpperCase() + \";\";\n}\n\nfunction getInverse(inverse, re) {\n return function (data) {\n return data.replace(re, function (name) {\n return inverse[name];\n }).replace(reNonASCII, singleCharReplacer);\n };\n}\n\nvar reXmlChars = getInverseReplacer(inverseXML);\n\nfunction escape(data) {\n return data.replace(reXmlChars, singleCharReplacer).replace(reNonASCII, singleCharReplacer);\n}\n\nexports.escape = escape;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.uniqueSort = exports.compareDocumentPosition = exports.removeSubsets = void 0;\n\nvar tagtypes_1 = require(\"./tagtypes\");\n/**\n * Given an array of nodes, remove any member that is contained by another.\n *\n * @param nodes Nodes to filter.\n * @returns Remaining nodes that aren't subtrees of each other.\n */\n\n\nfunction removeSubsets(nodes) {\n var idx = nodes.length;\n /*\n * Check if each node (or one of its ancestors) is already contained in the\n * array.\n */\n\n while (--idx >= 0) {\n var node = nodes[idx];\n /*\n * Remove the node if it is not unique.\n * We are going through the array from the end, so we only\n * have to check nodes that preceed the node under consideration in the array.\n */\n\n if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {\n nodes.splice(idx, 1);\n continue;\n }\n\n for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {\n if (nodes.includes(ancestor)) {\n nodes.splice(idx, 1);\n break;\n }\n }\n }\n\n return nodes;\n}\n\nexports.removeSubsets = removeSubsets;\n/**\n * Compare the position of one node against another node in any other document.\n * The return value is a bitmask with the following values:\n *\n * Document order:\n * > There is an ordering, document order, defined on all the nodes in the\n * > document corresponding to the order in which the first character of the\n * > XML representation of each node occurs in the XML representation of the\n * > document after expansion of general entities. Thus, the document element\n * > node will be the first node. Element nodes occur before their children.\n * > Thus, document order orders element nodes in order of the occurrence of\n * > their start-tag in the XML (after expansion of entities). The attribute\n * > nodes of an element occur after the element and before its children. The\n * > relative order of attribute nodes is implementation-dependent./\n *\n * Source:\n * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n *\n * @param nodeA The first node to use in the comparison\n * @param nodeB The second node to use in the comparison\n * @returns A bitmask describing the input nodes' relative position.\n *\n * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n * a description of these values.\n */\n\nfunction compareDocumentPosition(nodeA, nodeB) {\n var aParents = [];\n var bParents = [];\n\n if (nodeA === nodeB) {\n return 0;\n }\n\n var current = tagtypes_1.hasChildren(nodeA) ? nodeA : nodeA.parent;\n\n while (current) {\n aParents.unshift(current);\n current = current.parent;\n }\n\n current = tagtypes_1.hasChildren(nodeB) ? nodeB : nodeB.parent;\n\n while (current) {\n bParents.unshift(current);\n current = current.parent;\n }\n\n var maxIdx = Math.min(aParents.length, bParents.length);\n var idx = 0;\n\n while (idx < maxIdx && aParents[idx] === bParents[idx]) {\n idx++;\n }\n\n if (idx === 0) {\n return 1\n /* DISCONNECTED */\n ;\n }\n\n var sharedParent = aParents[idx - 1];\n var siblings = sharedParent.children;\n var aSibling = aParents[idx];\n var bSibling = bParents[idx];\n\n if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n if (sharedParent === nodeB) {\n return 4\n /* FOLLOWING */\n | 16\n /* CONTAINED_BY */\n ;\n }\n\n return 4\n /* FOLLOWING */\n ;\n }\n\n if (sharedParent === nodeA) {\n return 2\n /* PRECEDING */\n | 8\n /* CONTAINS */\n ;\n }\n\n return 2\n /* PRECEDING */\n ;\n}\n\nexports.compareDocumentPosition = compareDocumentPosition;\n/**\n * Sort an array of nodes based on their relative position in the document and\n * remove any duplicate nodes. If the array contains nodes that do not belong\n * to the same document, sort order is unspecified.\n *\n * @param nodes Array of DOM nodes.\n * @returns Collection of unique nodes, sorted in document order.\n */\n\nfunction uniqueSort(nodes) {\n nodes = nodes.filter(function (node, i, arr) {\n return !arr.includes(node, i + 1);\n });\n nodes.sort(function (a, b) {\n var relative = compareDocumentPosition(a, b);\n\n if (relative & 2\n /* PRECEDING */\n ) {\n return -1;\n } else if (relative & 4\n /* FOLLOWING */\n ) {\n return 1;\n }\n\n return 0;\n });\n return nodes;\n}\n\nexports.uniqueSort = uniqueSort;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0;\n\nvar tagtypes_1 = require(\"./tagtypes\");\n\nvar emptyArray = [];\n/**\n * Get a node's children.\n *\n * @param elem Node to get the children of.\n * @returns `elem`'s children, or an empty array.\n */\n\nfunction getChildren(elem) {\n var _a;\n\n return (_a = elem.children) !== null && _a !== void 0 ? _a : emptyArray;\n}\n\nexports.getChildren = getChildren;\n/**\n * Get a node's parent.\n *\n * @param elem Node to get the parent of.\n * @returns `elem`'s parent node.\n */\n\nfunction getParent(elem) {\n return elem.parent || null;\n}\n\nexports.getParent = getParent;\n/**\n * Gets an elements siblings, including the element itself.\n *\n * Attempts to get the children through the element's parent first.\n * If we don't have a parent (the element is a root node),\n * we walk the element's `prev` & `next` to get all remaining nodes.\n *\n * @param elem Element to get the siblings of.\n * @returns `elem`'s siblings.\n */\n\nfunction getSiblings(elem) {\n var _a, _b;\n\n var parent = getParent(elem);\n if (parent != null) return getChildren(parent);\n var siblings = [elem];\n var prev = elem.prev,\n next = elem.next;\n\n while (prev != null) {\n siblings.unshift(prev);\n _a = prev, prev = _a.prev;\n }\n\n while (next != null) {\n siblings.push(next);\n _b = next, next = _b.next;\n }\n\n return siblings;\n}\n\nexports.getSiblings = getSiblings;\n/**\n * Gets an attribute from an element.\n *\n * @param elem Element to check.\n * @param name Attribute name to retrieve.\n * @returns The element's attribute value, or `undefined`.\n */\n\nfunction getAttributeValue(elem, name) {\n var _a;\n\n return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];\n}\n\nexports.getAttributeValue = getAttributeValue;\n/**\n * Checks whether an element has an attribute.\n *\n * @param elem Element to check.\n * @param name Attribute name to look for.\n * @returns Returns whether `elem` has the attribute `name`.\n */\n\nfunction hasAttrib(elem, name) {\n return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name) && elem.attribs[name] != null;\n}\n\nexports.hasAttrib = hasAttrib;\n/**\n * Get the tag name of an element.\n *\n * @param elem The element to get the name for.\n * @returns The tag name of `elem`.\n */\n\nfunction getName(elem) {\n return elem.name;\n}\n\nexports.getName = getName;\n/**\n * Returns the next element sibling of a node.\n *\n * @param elem The element to get the next sibling of.\n * @returns `elem`'s next sibling that is a tag.\n */\n\nfunction nextElementSibling(elem) {\n var _a;\n\n var next = elem.next;\n\n while (next !== null && !tagtypes_1.isTag(next)) {\n _a = next, next = _a.next;\n }\n\n return next;\n}\n\nexports.nextElementSibling = nextElementSibling;","\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\n * Module dependencies\n */\n\nvar ElementType = __importStar(require(\"domelementtype\"));\n\nvar entities_1 = require(\"entities\");\n/*\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser, see\n * https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\n\n\nvar foreignNames_1 = require(\"./foreignNames\");\n\nvar unencodedElements = new Set([\"style\", \"script\", \"xmp\", \"iframe\", \"noembed\", \"noframes\", \"plaintext\", \"noscript\"]);\n/**\n * Format attributes\n */\n\nfunction formatAttributes(attributes, opts) {\n if (!attributes) return;\n return Object.keys(attributes).map(function (key) {\n var _a, _b;\n\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n\n return key + \"=\\\"\" + (opts.decodeEntities ? entities_1.encodeXML(value) : value.replace(/\"/g, \""\")) + \"\\\"\";\n }).join(\" \");\n}\n/**\n * Self-enclosing tags\n */\n\n\nvar singleTag = new Set([\"area\", \"base\", \"basefont\", \"br\", \"col\", \"command\", \"embed\", \"frame\", \"hr\", \"img\", \"input\", \"isindex\", \"keygen\", \"link\", \"meta\", \"param\", \"source\", \"track\", \"wbr\"]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\n\nfunction render(node, options) {\n if (options === void 0) {\n options = {};\n } // TODO: This is a bit hacky.\n\n\n var nodes = Array.isArray(node) || node.cheerio ? node : [node];\n var output = \"\";\n\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n\n return output;\n}\n\nexports.default = render;\n\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n\n case ElementType.Directive:\n case ElementType.Doctype:\n return renderDirective(node);\n\n case ElementType.Comment:\n return renderComment(node);\n\n case ElementType.CDATA:\n return renderCdata(node);\n\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n\n case ElementType.Text:\n return renderText(node, options);\n }\n}\n\nvar foreignModeIntegrationPoints = new Set([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\", \"annotation-xml\", \"foreignObject\", \"desc\", \"title\"]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\n\nfunction renderTag(elem, opts) {\n var _a; // Handle SVG / MathML in HTML\n\n\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n\n if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), {\n xmlMode: false\n });\n }\n }\n\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), {\n xmlMode: \"foreign\"\n });\n }\n\n var tag = \"<\" + elem.name;\n var attribs = formatAttributes(elem.attribs, opts);\n\n if (attribs) {\n tag += \" \" + attribs;\n }\n\n if (elem.children.length === 0 && (opts.xmlMode ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode) tag += \" \";\n tag += \"/>\";\n } else {\n tag += \">\";\n\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\";\n }\n }\n\n return tag;\n}\n\nfunction renderDirective(elem) {\n return \"<\" + elem.data + \">\";\n}\n\nfunction renderText(elem, opts) {\n var data = elem.data || \"\"; // If entities weren't decoded, no need to encode them back\n\n if (opts.decodeEntities && !(elem.parent && unencodedElements.has(elem.parent.name))) {\n data = entities_1.encodeXML(data);\n }\n\n return data;\n}\n\nfunction renderCdata(elem) {\n return \"\";\n}\n\nfunction renderComment(elem) {\n return \"\";\n}","import React from \"react\"\n\nimport { inject, observer } from \"mobx-react\"\n\nimport PropTypes from \"prop-types\"\nimport { navigate } from \"gatsby\"\n\nimport \"./fact-sheet-region-callout.scss\"\n\nexport const FactSheetRegionCallout = inject(\"regionStore\")(\n observer(\n ({ regionStore, currentLocation, alternateLocation, alternateSlug }) => {\n const handleFactSheetSwitch = e => {\n e.preventDefault()\n\n regionStore.switchCurrentRegion()\n navigate(`/fact-sheet-library/${alternateSlug}`)\n }\n\n return (\n
\n

\n This fact sheet covers \n {currentLocation}\n . \n {alternateSlug ? (\n \n We also have a version for \n \n {alternateLocation}\n \n  if you need it.\n \n ) : (\n <>\n You will need different advice if you live in{\" \"}\n \n {alternateLocation}\n \n .\n \n )}\n

\n
\n )\n }\n )\n)\n\nFactSheetRegionCallout.propTypes = {\n currentLocation: PropTypes.string,\n alternateLocation: PropTypes.string,\n alternateSlug: PropTypes.string,\n}\n","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DomHandler = void 0;\n\nvar node_1 = require(\"./node\");\n\n__exportStar(require(\"./node\"), exports);\n\nvar reWhitespace = /\\s+/g; // Default options\n\nvar defaultOpts = {\n normalizeWhitespace: false,\n withStartIndices: false,\n withEndIndices: false\n};\n\nvar DomHandler =\n/** @class */\nfunction () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The constructed DOM */\n this.dom = [];\n /** Indicated whether parsing has been completed. */\n\n this._done = false;\n /** Stack of open tags. */\n\n this._tagStack = [];\n /** A data node that is still being written to. */\n\n this._lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n\n this._parser = null; // Make it possible to skip arguments, for backwards-compatibility\n\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n\n this._callback = callback !== null && callback !== void 0 ? callback : null;\n this._options = options !== null && options !== void 0 ? options : defaultOpts;\n this._elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n\n DomHandler.prototype.onparserinit = function (parser) {\n this._parser = parser;\n }; // Resets the handler back to starting state\n\n\n DomHandler.prototype.onreset = function () {\n var _a;\n\n this.dom = [];\n this._done = false;\n this._tagStack = [];\n this._lastNode = null;\n this._parser = (_a = this._parser) !== null && _a !== void 0 ? _a : null;\n }; // Signals the handler that parsing is done\n\n\n DomHandler.prototype.onend = function () {\n if (this._done) return;\n this._done = true;\n this._parser = null;\n this.handleCallback(null);\n };\n\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n\n DomHandler.prototype.onclosetag = function () {\n this._lastNode = null;\n\n var elem = this._tagStack.pop();\n\n if (!elem || !this._parser) {\n return;\n }\n\n if (this._options.withEndIndices) {\n elem.endIndex = this._parser.endIndex;\n }\n\n if (this._elementCB) this._elementCB(elem);\n };\n\n DomHandler.prototype.onopentag = function (name, attribs) {\n var element = new node_1.Element(name, attribs);\n this.addNode(element);\n\n this._tagStack.push(element);\n };\n\n DomHandler.prototype.ontext = function (data) {\n var normalize = this._options.normalizeWhitespace;\n var _lastNode = this._lastNode;\n\n if (_lastNode && _lastNode.type === \"text\"\n /* Text */\n ) {\n if (normalize) {\n _lastNode.data = (_lastNode.data + data).replace(reWhitespace, \" \");\n } else {\n _lastNode.data += data;\n }\n } else {\n if (normalize) {\n data = data.replace(reWhitespace, \" \");\n }\n\n var node = new node_1.Text(data);\n this.addNode(node);\n this._lastNode = node;\n }\n };\n\n DomHandler.prototype.oncomment = function (data) {\n if (this._lastNode && this._lastNode.type === \"comment\"\n /* Comment */\n ) {\n this._lastNode.data += data;\n return;\n }\n\n var node = new node_1.Comment(data);\n this.addNode(node);\n this._lastNode = node;\n };\n\n DomHandler.prototype.oncommentend = function () {\n this._lastNode = null;\n };\n\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_1.Text(\"\");\n var node = new node_1.NodeWithChildren(\"cdata\"\n /* CDATA */\n , [text]);\n this.addNode(node);\n text.parent = node;\n this._lastNode = text;\n };\n\n DomHandler.prototype.oncdataend = function () {\n this._lastNode = null;\n };\n\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this._callback === \"function\") {\n this._callback(error, this.dom);\n } else if (error) {\n throw error;\n }\n };\n\n DomHandler.prototype.addNode = function (node) {\n var parent = this._tagStack[this._tagStack.length - 1];\n var siblings = parent ? parent.children : this.dom;\n var previousSibling = siblings[siblings.length - 1];\n\n if (this._parser) {\n if (this._options.withStartIndices) {\n node.startIndex = this._parser.startIndex;\n }\n\n if (this._options.withEndIndices) {\n node.endIndex = this._parser.endIndex;\n }\n }\n\n siblings.push(node);\n\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n\n if (parent) {\n node.parent = parent;\n }\n\n this._lastNode = null;\n };\n\n DomHandler.prototype.addDataNode = function (node) {\n this.addNode(node);\n this._lastNode = node;\n };\n\n return DomHandler;\n}();\n\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Tokenizer_1 = __importDefault(require(\"./Tokenizer\"));\n\nvar events_1 = require(\"events\");\n\nvar formTags = new Set([\"input\", \"option\", \"optgroup\", \"select\", \"button\", \"datalist\", \"textarea\"]);\nvar pTag = new Set([\"p\"]);\nvar openImpliesClose = {\n tr: new Set([\"tr\", \"th\", \"td\"]),\n th: new Set([\"th\"]),\n td: new Set([\"thead\", \"th\", \"td\"]),\n body: new Set([\"head\", \"link\", \"script\"]),\n li: new Set([\"li\"]),\n p: pTag,\n h1: pTag,\n h2: pTag,\n h3: pTag,\n h4: pTag,\n h5: pTag,\n h6: pTag,\n select: formTags,\n input: formTags,\n output: formTags,\n button: formTags,\n datalist: formTags,\n textarea: formTags,\n option: new Set([\"option\"]),\n optgroup: new Set([\"optgroup\", \"option\"]),\n dd: new Set([\"dt\", \"dd\"]),\n dt: new Set([\"dt\", \"dd\"]),\n address: pTag,\n article: pTag,\n aside: pTag,\n blockquote: pTag,\n details: pTag,\n div: pTag,\n dl: pTag,\n fieldset: pTag,\n figcaption: pTag,\n figure: pTag,\n footer: pTag,\n form: pTag,\n header: pTag,\n hr: pTag,\n main: pTag,\n nav: pTag,\n ol: pTag,\n pre: pTag,\n section: pTag,\n table: pTag,\n ul: pTag,\n rt: new Set([\"rt\", \"rp\"]),\n rp: new Set([\"rt\", \"rp\"]),\n tbody: new Set([\"thead\", \"tbody\"]),\n tfoot: new Set([\"thead\", \"tbody\"])\n};\nvar voidElements = new Set([\"area\", \"base\", \"basefont\", \"br\", \"col\", \"command\", \"embed\", \"frame\", \"hr\", \"img\", \"input\", \"isindex\", \"keygen\", \"link\", \"meta\", \"param\", \"source\", \"track\", \"wbr\"]);\nvar foreignContextElements = new Set([\"math\", \"svg\"]);\nvar htmlIntegrationElements = new Set([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\", \"annotation-xml\", \"foreignObject\", \"desc\", \"title\"]);\nvar reNameEnd = /\\s|\\//;\n\nvar Parser =\n/** @class */\nfunction (_super) {\n __extends(Parser, _super);\n\n function Parser(cbs, options) {\n var _this = _super.call(this) || this;\n\n _this._tagname = \"\";\n _this._attribname = \"\";\n _this._attribvalue = \"\";\n _this._attribs = null;\n _this._stack = [];\n _this._foreignContext = [];\n _this.startIndex = 0;\n _this.endIndex = null; // Aliases for backwards compatibility\n\n _this.parseChunk = Parser.prototype.write;\n _this.done = Parser.prototype.end;\n _this._options = options || {};\n _this._cbs = cbs || {};\n _this._tagname = \"\";\n _this._attribname = \"\";\n _this._attribvalue = \"\";\n _this._attribs = null;\n _this._stack = [];\n _this._foreignContext = [];\n _this.startIndex = 0;\n _this.endIndex = null;\n _this._lowerCaseTagNames = \"lowerCaseTags\" in _this._options ? !!_this._options.lowerCaseTags : !_this._options.xmlMode;\n _this._lowerCaseAttributeNames = \"lowerCaseAttributeNames\" in _this._options ? !!_this._options.lowerCaseAttributeNames : !_this._options.xmlMode;\n _this._tokenizer = new (_this._options.Tokenizer || Tokenizer_1.default)(_this._options, _this);\n if (_this._cbs.onparserinit) _this._cbs.onparserinit(_this);\n return _this;\n }\n\n Parser.prototype._updatePosition = function (initialOffset) {\n if (this.endIndex === null) {\n if (this._tokenizer._sectionStart <= initialOffset) {\n this.startIndex = 0;\n } else {\n this.startIndex = this._tokenizer._sectionStart - initialOffset;\n }\n } else this.startIndex = this.endIndex + 1;\n\n this.endIndex = this._tokenizer.getAbsoluteIndex();\n }; //Tokenizer event handlers\n\n\n Parser.prototype.ontext = function (data) {\n this._updatePosition(1); // @ts-ignore\n\n\n this.endIndex--;\n if (this._cbs.ontext) this._cbs.ontext(data);\n };\n\n Parser.prototype.onopentagname = function (name) {\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n this._tagname = name;\n\n if (!this._options.xmlMode && Object.prototype.hasOwnProperty.call(openImpliesClose, name)) {\n for (var el = void 0; // @ts-ignore\n openImpliesClose[name].has(el = this._stack[this._stack.length - 1]); this.onclosetag(el)) {\n ;\n }\n }\n\n if (this._options.xmlMode || !voidElements.has(name)) {\n this._stack.push(name);\n\n if (foreignContextElements.has(name)) {\n this._foreignContext.push(true);\n } else if (htmlIntegrationElements.has(name)) {\n this._foreignContext.push(false);\n }\n }\n\n if (this._cbs.onopentagname) this._cbs.onopentagname(name);\n if (this._cbs.onopentag) this._attribs = {};\n };\n\n Parser.prototype.onopentagend = function () {\n this._updatePosition(1);\n\n if (this._attribs) {\n if (this._cbs.onopentag) {\n this._cbs.onopentag(this._tagname, this._attribs);\n }\n\n this._attribs = null;\n }\n\n if (!this._options.xmlMode && this._cbs.onclosetag && voidElements.has(this._tagname)) {\n this._cbs.onclosetag(this._tagname);\n }\n\n this._tagname = \"\";\n };\n\n Parser.prototype.onclosetag = function (name) {\n this._updatePosition(1);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n if (foreignContextElements.has(name) || htmlIntegrationElements.has(name)) {\n this._foreignContext.pop();\n }\n\n if (this._stack.length && (this._options.xmlMode || !voidElements.has(name))) {\n var pos = this._stack.lastIndexOf(name);\n\n if (pos !== -1) {\n if (this._cbs.onclosetag) {\n pos = this._stack.length - pos; // @ts-ignore\n\n while (pos--) {\n this._cbs.onclosetag(this._stack.pop());\n }\n } else this._stack.length = pos;\n } else if (name === \"p\" && !this._options.xmlMode) {\n this.onopentagname(name);\n\n this._closeCurrentTag();\n }\n } else if (!this._options.xmlMode && (name === \"br\" || name === \"p\")) {\n this.onopentagname(name);\n\n this._closeCurrentTag();\n }\n };\n\n Parser.prototype.onselfclosingtag = function () {\n if (this._options.xmlMode || this._options.recognizeSelfClosing || this._foreignContext[this._foreignContext.length - 1]) {\n this._closeCurrentTag();\n } else {\n this.onopentagend();\n }\n };\n\n Parser.prototype._closeCurrentTag = function () {\n var name = this._tagname;\n this.onopentagend(); //self-closing tags will be on the top of the stack\n //(cheaper check than in onclosetag)\n\n if (this._stack[this._stack.length - 1] === name) {\n if (this._cbs.onclosetag) {\n this._cbs.onclosetag(name);\n }\n\n this._stack.pop();\n }\n };\n\n Parser.prototype.onattribname = function (name) {\n if (this._lowerCaseAttributeNames) {\n name = name.toLowerCase();\n }\n\n this._attribname = name;\n };\n\n Parser.prototype.onattribdata = function (value) {\n this._attribvalue += value;\n };\n\n Parser.prototype.onattribend = function () {\n if (this._cbs.onattribute) this._cbs.onattribute(this._attribname, this._attribvalue);\n\n if (this._attribs && !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname)) {\n this._attribs[this._attribname] = this._attribvalue;\n }\n\n this._attribname = \"\";\n this._attribvalue = \"\";\n };\n\n Parser.prototype._getInstructionName = function (value) {\n var idx = value.search(reNameEnd);\n var name = idx < 0 ? value : value.substr(0, idx);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n return name;\n };\n\n Parser.prototype.ondeclaration = function (value) {\n if (this._cbs.onprocessinginstruction) {\n var name_1 = this._getInstructionName(value);\n\n this._cbs.onprocessinginstruction(\"!\" + name_1, \"!\" + value);\n }\n };\n\n Parser.prototype.onprocessinginstruction = function (value) {\n if (this._cbs.onprocessinginstruction) {\n var name_2 = this._getInstructionName(value);\n\n this._cbs.onprocessinginstruction(\"?\" + name_2, \"?\" + value);\n }\n };\n\n Parser.prototype.oncomment = function (value) {\n this._updatePosition(4);\n\n if (this._cbs.oncomment) this._cbs.oncomment(value);\n if (this._cbs.oncommentend) this._cbs.oncommentend();\n };\n\n Parser.prototype.oncdata = function (value) {\n this._updatePosition(1);\n\n if (this._options.xmlMode || this._options.recognizeCDATA) {\n if (this._cbs.oncdatastart) this._cbs.oncdatastart();\n if (this._cbs.ontext) this._cbs.ontext(value);\n if (this._cbs.oncdataend) this._cbs.oncdataend();\n } else {\n this.oncomment(\"[CDATA[\" + value + \"]]\");\n }\n };\n\n Parser.prototype.onerror = function (err) {\n if (this._cbs.onerror) this._cbs.onerror(err);\n };\n\n Parser.prototype.onend = function () {\n if (this._cbs.onclosetag) {\n for (var i = this._stack.length; i > 0; this._cbs.onclosetag(this._stack[--i])) {\n ;\n }\n }\n\n if (this._cbs.onend) this._cbs.onend();\n }; //Resets the parser to a blank state, ready to parse a new HTML document\n\n\n Parser.prototype.reset = function () {\n if (this._cbs.onreset) this._cbs.onreset();\n\n this._tokenizer.reset();\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribs = null;\n this._stack = [];\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n }; //Parses a complete HTML document and pushes it to the handler\n\n\n Parser.prototype.parseComplete = function (data) {\n this.reset();\n this.end(data);\n };\n\n Parser.prototype.write = function (chunk) {\n this._tokenizer.write(chunk);\n };\n\n Parser.prototype.end = function (chunk) {\n this._tokenizer.end(chunk);\n };\n\n Parser.prototype.pause = function () {\n this._tokenizer.pause();\n };\n\n Parser.prototype.resume = function () {\n this._tokenizer.resume();\n };\n\n return Parser;\n}(events_1.EventEmitter);\n\nexports.Parser = Parser;","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar decode_codepoint_1 = __importDefault(require(\"entities/lib/decode_codepoint\"));\n\nvar entities_json_1 = __importDefault(require(\"entities/lib/maps/entities.json\"));\n\nvar legacy_json_1 = __importDefault(require(\"entities/lib/maps/legacy.json\"));\n\nvar xml_json_1 = __importDefault(require(\"entities/lib/maps/xml.json\"));\n\nfunction whitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\t\" || c === \"\\f\" || c === \"\\r\";\n}\n\nfunction ifElseState(upper, SUCCESS, FAILURE) {\n var lower = upper.toLowerCase();\n\n if (upper === lower) {\n return function (t, c) {\n if (c === lower) {\n t._state = SUCCESS;\n } else {\n t._state = FAILURE;\n t._index--;\n }\n };\n } else {\n return function (t, c) {\n if (c === lower || c === upper) {\n t._state = SUCCESS;\n } else {\n t._state = FAILURE;\n t._index--;\n }\n };\n }\n}\n\nfunction consumeSpecialNameChar(upper, NEXT_STATE) {\n var lower = upper.toLowerCase();\n return function (t, c) {\n if (c === lower || c === upper) {\n t._state = NEXT_STATE;\n } else {\n t._state = 3\n /* InTagName */\n ;\n t._index--; //consume the token again\n }\n };\n}\n\nvar stateBeforeCdata1 = ifElseState(\"C\", 23\n/* BeforeCdata2 */\n, 16\n/* InDeclaration */\n);\nvar stateBeforeCdata2 = ifElseState(\"D\", 24\n/* BeforeCdata3 */\n, 16\n/* InDeclaration */\n);\nvar stateBeforeCdata3 = ifElseState(\"A\", 25\n/* BeforeCdata4 */\n, 16\n/* InDeclaration */\n);\nvar stateBeforeCdata4 = ifElseState(\"T\", 26\n/* BeforeCdata5 */\n, 16\n/* InDeclaration */\n);\nvar stateBeforeCdata5 = ifElseState(\"A\", 27\n/* BeforeCdata6 */\n, 16\n/* InDeclaration */\n);\nvar stateBeforeScript1 = consumeSpecialNameChar(\"R\", 34\n/* BeforeScript2 */\n);\nvar stateBeforeScript2 = consumeSpecialNameChar(\"I\", 35\n/* BeforeScript3 */\n);\nvar stateBeforeScript3 = consumeSpecialNameChar(\"P\", 36\n/* BeforeScript4 */\n);\nvar stateBeforeScript4 = consumeSpecialNameChar(\"T\", 37\n/* BeforeScript5 */\n);\nvar stateAfterScript1 = ifElseState(\"R\", 39\n/* AfterScript2 */\n, 1\n/* Text */\n);\nvar stateAfterScript2 = ifElseState(\"I\", 40\n/* AfterScript3 */\n, 1\n/* Text */\n);\nvar stateAfterScript3 = ifElseState(\"P\", 41\n/* AfterScript4 */\n, 1\n/* Text */\n);\nvar stateAfterScript4 = ifElseState(\"T\", 42\n/* AfterScript5 */\n, 1\n/* Text */\n);\nvar stateBeforeStyle1 = consumeSpecialNameChar(\"Y\", 44\n/* BeforeStyle2 */\n);\nvar stateBeforeStyle2 = consumeSpecialNameChar(\"L\", 45\n/* BeforeStyle3 */\n);\nvar stateBeforeStyle3 = consumeSpecialNameChar(\"E\", 46\n/* BeforeStyle4 */\n);\nvar stateAfterStyle1 = ifElseState(\"Y\", 48\n/* AfterStyle2 */\n, 1\n/* Text */\n);\nvar stateAfterStyle2 = ifElseState(\"L\", 49\n/* AfterStyle3 */\n, 1\n/* Text */\n);\nvar stateAfterStyle3 = ifElseState(\"E\", 50\n/* AfterStyle4 */\n, 1\n/* Text */\n);\nvar stateBeforeEntity = ifElseState(\"#\", 52\n/* BeforeNumericEntity */\n, 53\n/* InNamedEntity */\n);\nvar stateBeforeNumericEntity = ifElseState(\"X\", 55\n/* InHexEntity */\n, 54\n/* InNumericEntity */\n);\n\nvar Tokenizer =\n/** @class */\nfunction () {\n function Tokenizer(options, cbs) {\n /** The current state the tokenizer is in. */\n this._state = 1\n /* Text */\n ;\n /** The read buffer. */\n\n this._buffer = \"\";\n /** The beginning of the section that is currently being read. */\n\n this._sectionStart = 0;\n /** The index within the buffer that we are currently looking at. */\n\n this._index = 0;\n /**\n * Data that has already been processed will be removed from the buffer occasionally.\n * `_bufferOffset` keeps track of how many characters have been removed, to make sure position information is accurate.\n */\n\n this._bufferOffset = 0;\n /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */\n\n this._baseState = 1\n /* Text */\n ;\n /** For special parsing behavior inside of script and style tags. */\n\n this._special = 1\n /* None */\n ;\n /** Indicates whether the tokenizer has been paused. */\n\n this._running = true;\n /** Indicates whether the tokenizer has finished running / `.end` has been called. */\n\n this._ended = false;\n this._cbs = cbs;\n this._xmlMode = !!(options && options.xmlMode);\n this._decodeEntities = !!(options && options.decodeEntities);\n }\n\n Tokenizer.prototype.reset = function () {\n this._state = 1\n /* Text */\n ;\n this._buffer = \"\";\n this._sectionStart = 0;\n this._index = 0;\n this._bufferOffset = 0;\n this._baseState = 1\n /* Text */\n ;\n this._special = 1\n /* None */\n ;\n this._running = true;\n this._ended = false;\n };\n\n Tokenizer.prototype._stateText = function (c) {\n if (c === \"<\") {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n\n this._state = 2\n /* BeforeTagName */\n ;\n this._sectionStart = this._index;\n } else if (this._decodeEntities && this._special === 1\n /* None */\n && c === \"&\") {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n\n this._baseState = 1\n /* Text */\n ;\n this._state = 51\n /* BeforeEntity */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateBeforeTagName = function (c) {\n if (c === \"/\") {\n this._state = 5\n /* BeforeClosingTagName */\n ;\n } else if (c === \"<\") {\n this._cbs.ontext(this._getSection());\n\n this._sectionStart = this._index;\n } else if (c === \">\" || this._special !== 1\n /* None */\n || whitespace(c)) {\n this._state = 1\n /* Text */\n ;\n } else if (c === \"!\") {\n this._state = 15\n /* BeforeDeclaration */\n ;\n this._sectionStart = this._index + 1;\n } else if (c === \"?\") {\n this._state = 17\n /* InProcessingInstruction */\n ;\n this._sectionStart = this._index + 1;\n } else {\n this._state = !this._xmlMode && (c === \"s\" || c === \"S\") ? 31\n /* BeforeSpecial */\n : 3\n /* InTagName */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateInTagName = function (c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._emitToken(\"onopentagname\");\n\n this._state = 8\n /* BeforeAttributeName */\n ;\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateBeforeClosingTagName = function (c) {\n if (whitespace(c)) {// ignore\n } else if (c === \">\") {\n this._state = 1\n /* Text */\n ;\n } else if (this._special !== 1\n /* None */\n ) {\n if (c === \"s\" || c === \"S\") {\n this._state = 32\n /* BeforeSpecialEnd */\n ;\n } else {\n this._state = 1\n /* Text */\n ;\n this._index--;\n }\n } else {\n this._state = 6\n /* InClosingTagName */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateInClosingTagName = function (c) {\n if (c === \">\" || whitespace(c)) {\n this._emitToken(\"onclosetag\");\n\n this._state = 7\n /* AfterClosingTagName */\n ;\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateAfterClosingTagName = function (c) {\n //skip everything until \">\"\n if (c === \">\") {\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n }\n };\n\n Tokenizer.prototype._stateBeforeAttributeName = function (c) {\n if (c === \">\") {\n this._cbs.onopentagend();\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n } else if (c === \"/\") {\n this._state = 4\n /* InSelfClosingTag */\n ;\n } else if (!whitespace(c)) {\n this._state = 9\n /* InAttributeName */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateInSelfClosingTag = function (c) {\n if (c === \">\") {\n this._cbs.onselfclosingtag();\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = 8\n /* BeforeAttributeName */\n ;\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateInAttributeName = function (c) {\n if (c === \"=\" || c === \"/\" || c === \">\" || whitespace(c)) {\n this._cbs.onattribname(this._getSection());\n\n this._sectionStart = -1;\n this._state = 10\n /* AfterAttributeName */\n ;\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateAfterAttributeName = function (c) {\n if (c === \"=\") {\n this._state = 11\n /* BeforeAttributeValue */\n ;\n } else if (c === \"/\" || c === \">\") {\n this._cbs.onattribend();\n\n this._state = 8\n /* BeforeAttributeName */\n ;\n this._index--;\n } else if (!whitespace(c)) {\n this._cbs.onattribend();\n\n this._state = 9\n /* InAttributeName */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateBeforeAttributeValue = function (c) {\n if (c === '\"') {\n this._state = 12\n /* InAttributeValueDq */\n ;\n this._sectionStart = this._index + 1;\n } else if (c === \"'\") {\n this._state = 13\n /* InAttributeValueSq */\n ;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = 14\n /* InAttributeValueNq */\n ;\n this._sectionStart = this._index;\n this._index--; //reconsume token\n }\n };\n\n Tokenizer.prototype._stateInAttributeValueDoubleQuotes = function (c) {\n if (c === '\"') {\n this._emitToken(\"onattribdata\");\n\n this._cbs.onattribend();\n\n this._state = 8\n /* BeforeAttributeName */\n ;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n\n this._baseState = this._state;\n this._state = 51\n /* BeforeEntity */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateInAttributeValueSingleQuotes = function (c) {\n if (c === \"'\") {\n this._emitToken(\"onattribdata\");\n\n this._cbs.onattribend();\n\n this._state = 8\n /* BeforeAttributeName */\n ;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n\n this._baseState = this._state;\n this._state = 51\n /* BeforeEntity */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateInAttributeValueNoQuotes = function (c) {\n if (whitespace(c) || c === \">\") {\n this._emitToken(\"onattribdata\");\n\n this._cbs.onattribend();\n\n this._state = 8\n /* BeforeAttributeName */\n ;\n this._index--;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n\n this._baseState = this._state;\n this._state = 51\n /* BeforeEntity */\n ;\n this._sectionStart = this._index;\n }\n };\n\n Tokenizer.prototype._stateBeforeDeclaration = function (c) {\n this._state = c === \"[\" ? 22\n /* BeforeCdata1 */\n : c === \"-\" ? 18\n /* BeforeComment */\n : 16\n /* InDeclaration */\n ;\n };\n\n Tokenizer.prototype._stateInDeclaration = function (c) {\n if (c === \">\") {\n this._cbs.ondeclaration(this._getSection());\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n }\n };\n\n Tokenizer.prototype._stateInProcessingInstruction = function (c) {\n if (c === \">\") {\n this._cbs.onprocessinginstruction(this._getSection());\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n }\n };\n\n Tokenizer.prototype._stateBeforeComment = function (c) {\n if (c === \"-\") {\n this._state = 19\n /* InComment */\n ;\n this._sectionStart = this._index + 1;\n } else {\n this._state = 16\n /* InDeclaration */\n ;\n }\n };\n\n Tokenizer.prototype._stateInComment = function (c) {\n if (c === \"-\") this._state = 20\n /* AfterComment1 */\n ;\n };\n\n Tokenizer.prototype._stateAfterComment1 = function (c) {\n if (c === \"-\") {\n this._state = 21\n /* AfterComment2 */\n ;\n } else {\n this._state = 19\n /* InComment */\n ;\n }\n };\n\n Tokenizer.prototype._stateAfterComment2 = function (c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncomment(this._buffer.substring(this._sectionStart, this._index - 2));\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n } else if (c !== \"-\") {\n this._state = 19\n /* InComment */\n ;\n } // else: stay in AFTER_COMMENT_2 (`--->`)\n\n };\n\n Tokenizer.prototype._stateBeforeCdata6 = function (c) {\n if (c === \"[\") {\n this._state = 28\n /* InCdata */\n ;\n this._sectionStart = this._index + 1;\n } else {\n this._state = 16\n /* InDeclaration */\n ;\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateInCdata = function (c) {\n if (c === \"]\") this._state = 29\n /* AfterCdata1 */\n ;\n };\n\n Tokenizer.prototype._stateAfterCdata1 = function (c) {\n if (c === \"]\") this._state = 30\n /* AfterCdata2 */\n ;else this._state = 28\n /* InCdata */\n ;\n };\n\n Tokenizer.prototype._stateAfterCdata2 = function (c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncdata(this._buffer.substring(this._sectionStart, this._index - 2));\n\n this._state = 1\n /* Text */\n ;\n this._sectionStart = this._index + 1;\n } else if (c !== \"]\") {\n this._state = 28\n /* InCdata */\n ;\n } //else: stay in AFTER_CDATA_2 (`]]]>`)\n\n };\n\n Tokenizer.prototype._stateBeforeSpecial = function (c) {\n if (c === \"c\" || c === \"C\") {\n this._state = 33\n /* BeforeScript1 */\n ;\n } else if (c === \"t\" || c === \"T\") {\n this._state = 43\n /* BeforeStyle1 */\n ;\n } else {\n this._state = 3\n /* InTagName */\n ;\n this._index--; //consume the token again\n }\n };\n\n Tokenizer.prototype._stateBeforeSpecialEnd = function (c) {\n if (this._special === 2\n /* Script */\n && (c === \"c\" || c === \"C\")) {\n this._state = 38\n /* AfterScript1 */\n ;\n } else if (this._special === 3\n /* Style */\n && (c === \"t\" || c === \"T\")) {\n this._state = 47\n /* AfterStyle1 */\n ;\n } else this._state = 1\n /* Text */\n ;\n };\n\n Tokenizer.prototype._stateBeforeScript5 = function (c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = 2\n /* Script */\n ;\n }\n\n this._state = 3\n /* InTagName */\n ;\n this._index--; //consume the token again\n };\n\n Tokenizer.prototype._stateAfterScript5 = function (c) {\n if (c === \">\" || whitespace(c)) {\n this._special = 1\n /* None */\n ;\n this._state = 6\n /* InClosingTagName */\n ;\n this._sectionStart = this._index - 6;\n this._index--; //reconsume the token\n } else this._state = 1\n /* Text */\n ;\n };\n\n Tokenizer.prototype._stateBeforeStyle4 = function (c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = 3\n /* Style */\n ;\n }\n\n this._state = 3\n /* InTagName */\n ;\n this._index--; //consume the token again\n };\n\n Tokenizer.prototype._stateAfterStyle4 = function (c) {\n if (c === \">\" || whitespace(c)) {\n this._special = 1\n /* None */\n ;\n this._state = 6\n /* InClosingTagName */\n ;\n this._sectionStart = this._index - 5;\n this._index--; //reconsume the token\n } else this._state = 1\n /* Text */\n ;\n }; //for entities terminated with a semicolon\n\n\n Tokenizer.prototype._parseNamedEntityStrict = function () {\n //offset = 1\n if (this._sectionStart + 1 < this._index) {\n var entity = this._buffer.substring(this._sectionStart + 1, this._index),\n map = this._xmlMode ? xml_json_1.default : entities_json_1.default;\n\n if (Object.prototype.hasOwnProperty.call(map, entity)) {\n // @ts-ignore\n this._emitPartial(map[entity]);\n\n this._sectionStart = this._index + 1;\n }\n }\n }; //parses legacy entities (without trailing semicolon)\n\n\n Tokenizer.prototype._parseLegacyEntity = function () {\n var start = this._sectionStart + 1;\n var limit = this._index - start;\n if (limit > 6) limit = 6; // The max length of legacy entities is 6\n\n while (limit >= 2) {\n // The min length of legacy entities is 2\n var entity = this._buffer.substr(start, limit);\n\n if (Object.prototype.hasOwnProperty.call(legacy_json_1.default, entity)) {\n // @ts-ignore\n this._emitPartial(legacy_json_1.default[entity]);\n\n this._sectionStart += limit + 1;\n return;\n } else {\n limit--;\n }\n }\n };\n\n Tokenizer.prototype._stateInNamedEntity = function (c) {\n if (c === \";\") {\n this._parseNamedEntityStrict();\n\n if (this._sectionStart + 1 < this._index && !this._xmlMode) {\n this._parseLegacyEntity();\n }\n\n this._state = this._baseState;\n } else if ((c < \"a\" || c > \"z\") && (c < \"A\" || c > \"Z\") && (c < \"0\" || c > \"9\")) {\n if (this._xmlMode || this._sectionStart + 1 === this._index) {// ignore\n } else if (this._baseState !== 1\n /* Text */\n ) {\n if (c !== \"=\") {\n this._parseNamedEntityStrict();\n }\n } else {\n this._parseLegacyEntity();\n }\n\n this._state = this._baseState;\n this._index--;\n }\n };\n\n Tokenizer.prototype._decodeNumericEntity = function (offset, base) {\n var sectionStart = this._sectionStart + offset;\n\n if (sectionStart !== this._index) {\n //parse entity\n var entity = this._buffer.substring(sectionStart, this._index);\n\n var parsed = parseInt(entity, base);\n\n this._emitPartial(decode_codepoint_1.default(parsed));\n\n this._sectionStart = this._index;\n } else {\n this._sectionStart--;\n }\n\n this._state = this._baseState;\n };\n\n Tokenizer.prototype._stateInNumericEntity = function (c) {\n if (c === \";\") {\n this._decodeNumericEntity(2, 10);\n\n this._sectionStart++;\n } else if (c < \"0\" || c > \"9\") {\n if (!this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n } else {\n this._state = this._baseState;\n }\n\n this._index--;\n }\n };\n\n Tokenizer.prototype._stateInHexEntity = function (c) {\n if (c === \";\") {\n this._decodeNumericEntity(3, 16);\n\n this._sectionStart++;\n } else if ((c < \"a\" || c > \"f\") && (c < \"A\" || c > \"F\") && (c < \"0\" || c > \"9\")) {\n if (!this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n } else {\n this._state = this._baseState;\n }\n\n this._index--;\n }\n };\n\n Tokenizer.prototype._cleanup = function () {\n if (this._sectionStart < 0) {\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._running) {\n if (this._state === 1\n /* Text */\n ) {\n if (this._sectionStart !== this._index) {\n this._cbs.ontext(this._buffer.substr(this._sectionStart));\n }\n\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._sectionStart === this._index) {\n //the section just started\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else {\n //remove everything unnecessary\n this._buffer = this._buffer.substr(this._sectionStart);\n this._index -= this._sectionStart;\n this._bufferOffset += this._sectionStart;\n }\n\n this._sectionStart = 0;\n }\n }; //TODO make events conditional\n\n\n Tokenizer.prototype.write = function (chunk) {\n if (this._ended) this._cbs.onerror(Error(\".write() after done!\"));\n this._buffer += chunk;\n\n this._parse();\n }; // Iterates through the buffer, calling the function corresponding to the current state.\n // States that are more likely to be hit are higher up, as a performance improvement.\n\n\n Tokenizer.prototype._parse = function () {\n while (this._index < this._buffer.length && this._running) {\n var c = this._buffer.charAt(this._index);\n\n if (this._state === 1\n /* Text */\n ) {\n this._stateText(c);\n } else if (this._state === 12\n /* InAttributeValueDq */\n ) {\n this._stateInAttributeValueDoubleQuotes(c);\n } else if (this._state === 9\n /* InAttributeName */\n ) {\n this._stateInAttributeName(c);\n } else if (this._state === 19\n /* InComment */\n ) {\n this._stateInComment(c);\n } else if (this._state === 8\n /* BeforeAttributeName */\n ) {\n this._stateBeforeAttributeName(c);\n } else if (this._state === 3\n /* InTagName */\n ) {\n this._stateInTagName(c);\n } else if (this._state === 6\n /* InClosingTagName */\n ) {\n this._stateInClosingTagName(c);\n } else if (this._state === 2\n /* BeforeTagName */\n ) {\n this._stateBeforeTagName(c);\n } else if (this._state === 10\n /* AfterAttributeName */\n ) {\n this._stateAfterAttributeName(c);\n } else if (this._state === 13\n /* InAttributeValueSq */\n ) {\n this._stateInAttributeValueSingleQuotes(c);\n } else if (this._state === 11\n /* BeforeAttributeValue */\n ) {\n this._stateBeforeAttributeValue(c);\n } else if (this._state === 5\n /* BeforeClosingTagName */\n ) {\n this._stateBeforeClosingTagName(c);\n } else if (this._state === 7\n /* AfterClosingTagName */\n ) {\n this._stateAfterClosingTagName(c);\n } else if (this._state === 31\n /* BeforeSpecial */\n ) {\n this._stateBeforeSpecial(c);\n } else if (this._state === 20\n /* AfterComment1 */\n ) {\n this._stateAfterComment1(c);\n } else if (this._state === 14\n /* InAttributeValueNq */\n ) {\n this._stateInAttributeValueNoQuotes(c);\n } else if (this._state === 4\n /* InSelfClosingTag */\n ) {\n this._stateInSelfClosingTag(c);\n } else if (this._state === 16\n /* InDeclaration */\n ) {\n this._stateInDeclaration(c);\n } else if (this._state === 15\n /* BeforeDeclaration */\n ) {\n this._stateBeforeDeclaration(c);\n } else if (this._state === 21\n /* AfterComment2 */\n ) {\n this._stateAfterComment2(c);\n } else if (this._state === 18\n /* BeforeComment */\n ) {\n this._stateBeforeComment(c);\n } else if (this._state === 32\n /* BeforeSpecialEnd */\n ) {\n this._stateBeforeSpecialEnd(c);\n } else if (this._state === 38\n /* AfterScript1 */\n ) {\n stateAfterScript1(this, c);\n } else if (this._state === 39\n /* AfterScript2 */\n ) {\n stateAfterScript2(this, c);\n } else if (this._state === 40\n /* AfterScript3 */\n ) {\n stateAfterScript3(this, c);\n } else if (this._state === 33\n /* BeforeScript1 */\n ) {\n stateBeforeScript1(this, c);\n } else if (this._state === 34\n /* BeforeScript2 */\n ) {\n stateBeforeScript2(this, c);\n } else if (this._state === 35\n /* BeforeScript3 */\n ) {\n stateBeforeScript3(this, c);\n } else if (this._state === 36\n /* BeforeScript4 */\n ) {\n stateBeforeScript4(this, c);\n } else if (this._state === 37\n /* BeforeScript5 */\n ) {\n this._stateBeforeScript5(c);\n } else if (this._state === 41\n /* AfterScript4 */\n ) {\n stateAfterScript4(this, c);\n } else if (this._state === 42\n /* AfterScript5 */\n ) {\n this._stateAfterScript5(c);\n } else if (this._state === 43\n /* BeforeStyle1 */\n ) {\n stateBeforeStyle1(this, c);\n } else if (this._state === 28\n /* InCdata */\n ) {\n this._stateInCdata(c);\n } else if (this._state === 44\n /* BeforeStyle2 */\n ) {\n stateBeforeStyle2(this, c);\n } else if (this._state === 45\n /* BeforeStyle3 */\n ) {\n stateBeforeStyle3(this, c);\n } else if (this._state === 46\n /* BeforeStyle4 */\n ) {\n this._stateBeforeStyle4(c);\n } else if (this._state === 47\n /* AfterStyle1 */\n ) {\n stateAfterStyle1(this, c);\n } else if (this._state === 48\n /* AfterStyle2 */\n ) {\n stateAfterStyle2(this, c);\n } else if (this._state === 49\n /* AfterStyle3 */\n ) {\n stateAfterStyle3(this, c);\n } else if (this._state === 50\n /* AfterStyle4 */\n ) {\n this._stateAfterStyle4(c);\n } else if (this._state === 17\n /* InProcessingInstruction */\n ) {\n this._stateInProcessingInstruction(c);\n } else if (this._state === 53\n /* InNamedEntity */\n ) {\n this._stateInNamedEntity(c);\n } else if (this._state === 22\n /* BeforeCdata1 */\n ) {\n stateBeforeCdata1(this, c);\n } else if (this._state === 51\n /* BeforeEntity */\n ) {\n stateBeforeEntity(this, c);\n } else if (this._state === 23\n /* BeforeCdata2 */\n ) {\n stateBeforeCdata2(this, c);\n } else if (this._state === 24\n /* BeforeCdata3 */\n ) {\n stateBeforeCdata3(this, c);\n } else if (this._state === 29\n /* AfterCdata1 */\n ) {\n this._stateAfterCdata1(c);\n } else if (this._state === 30\n /* AfterCdata2 */\n ) {\n this._stateAfterCdata2(c);\n } else if (this._state === 25\n /* BeforeCdata4 */\n ) {\n stateBeforeCdata4(this, c);\n } else if (this._state === 26\n /* BeforeCdata5 */\n ) {\n stateBeforeCdata5(this, c);\n } else if (this._state === 27\n /* BeforeCdata6 */\n ) {\n this._stateBeforeCdata6(c);\n } else if (this._state === 55\n /* InHexEntity */\n ) {\n this._stateInHexEntity(c);\n } else if (this._state === 54\n /* InNumericEntity */\n ) {\n this._stateInNumericEntity(c);\n } else if (this._state === 52\n /* BeforeNumericEntity */\n ) {\n stateBeforeNumericEntity(this, c);\n } else {\n this._cbs.onerror(Error(\"unknown _state\"), this._state);\n }\n\n this._index++;\n }\n\n this._cleanup();\n };\n\n Tokenizer.prototype.pause = function () {\n this._running = false;\n };\n\n Tokenizer.prototype.resume = function () {\n this._running = true;\n\n if (this._index < this._buffer.length) {\n this._parse();\n }\n\n if (this._ended) {\n this._finish();\n }\n };\n\n Tokenizer.prototype.end = function (chunk) {\n if (this._ended) this._cbs.onerror(Error(\".end() after done!\"));\n if (chunk) this.write(chunk);\n this._ended = true;\n if (this._running) this._finish();\n };\n\n Tokenizer.prototype._finish = function () {\n //if there is remaining data, emit it in a reasonable way\n if (this._sectionStart < this._index) {\n this._handleTrailingData();\n }\n\n this._cbs.onend();\n };\n\n Tokenizer.prototype._handleTrailingData = function () {\n var data = this._buffer.substr(this._sectionStart);\n\n if (this._state === 28\n /* InCdata */\n || this._state === 29\n /* AfterCdata1 */\n || this._state === 30\n /* AfterCdata2 */\n ) {\n this._cbs.oncdata(data);\n } else if (this._state === 19\n /* InComment */\n || this._state === 20\n /* AfterComment1 */\n || this._state === 21\n /* AfterComment2 */\n ) {\n this._cbs.oncomment(data);\n } else if (this._state === 53\n /* InNamedEntity */\n && !this._xmlMode) {\n this._parseLegacyEntity();\n\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n\n this._handleTrailingData();\n }\n } else if (this._state === 54\n /* InNumericEntity */\n && !this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n\n this._handleTrailingData();\n }\n } else if (this._state === 55\n /* InHexEntity */\n && !this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n\n this._handleTrailingData();\n }\n } else if (this._state !== 3\n /* InTagName */\n && this._state !== 8\n /* BeforeAttributeName */\n && this._state !== 11\n /* BeforeAttributeValue */\n && this._state !== 10\n /* AfterAttributeName */\n && this._state !== 9\n /* InAttributeName */\n && this._state !== 13\n /* InAttributeValueSq */\n && this._state !== 12\n /* InAttributeValueDq */\n && this._state !== 14\n /* InAttributeValueNq */\n && this._state !== 6\n /* InClosingTagName */\n ) {\n this._cbs.ontext(data);\n } //else, ignore remaining data\n //TODO add a way to remove current tag\n\n };\n\n Tokenizer.prototype.getAbsoluteIndex = function () {\n return this._bufferOffset + this._index;\n };\n\n Tokenizer.prototype._getSection = function () {\n return this._buffer.substring(this._sectionStart, this._index);\n };\n\n Tokenizer.prototype._emitToken = function (name) {\n this._cbs[name](this._getSection());\n\n this._sectionStart = -1;\n };\n\n Tokenizer.prototype._emitPartial = function (value) {\n if (this._baseState !== 1\n /* Text */\n ) {\n this._cbs.onattribdata(value); //TODO implement the new event\n\n } else {\n this._cbs.ontext(value);\n }\n };\n\n return Tokenizer;\n}();\n\nexports.default = Tokenizer;","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar decode_json_1 = __importDefault(require(\"./maps/decode.json\")); // Modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\n\n\nfunction decodeCodePoint(codePoint) {\n if (codePoint >= 0xd800 && codePoint <= 0xdfff || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n\n if (codePoint in decode_json_1.default) {\n codePoint = decode_json_1.default[codePoint];\n }\n\n var output = \"\";\n\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(codePoint >>> 10 & 0x3ff | 0xd800);\n codePoint = 0xdc00 | codePoint & 0x3ff;\n }\n\n output += String.fromCharCode(codePoint);\n return output;\n}\n\nexports.default = decodeCodePoint;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneNode = exports.Element = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar nodeTypes = new Map([[\"tag\"\n/* Tag */\n, 1], [\"script\"\n/* Script */\n, 1], [\"style\"\n/* Style */\n, 1], [\"directive\"\n/* Directive */\n, 1], [\"text\"\n/* Text */\n, 3], [\"cdata\"\n/* CDATA */\n, 4], [\"comment\"\n/* Comment */\n, 8]]);\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\n\nvar Node =\n/** @class */\nfunction () {\n /**\n *\n * @param type The type of the node.\n */\n function Node(type) {\n this.type = type;\n /** Parent of the node */\n\n this.parent = null;\n /** Previous sibling */\n\n this.prev = null;\n /** Next sibling */\n\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n\n this.endIndex = null;\n }\n\n Object.defineProperty(Node.prototype, \"nodeType\", {\n // Read-only aliases\n get: function get() {\n var _a;\n\n return (_a = nodeTypes.get(this.type)) !== null && _a !== void 0 ? _a : 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n get: function get() {\n return this.parent;\n },\n set: function set(parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n get: function get() {\n return this.prev;\n },\n set: function set(prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n get: function get() {\n return this.next;\n },\n set: function set(next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) {\n recursive = false;\n }\n\n return cloneNode(this, recursive);\n };\n\n return Node;\n}();\n\nexports.Node = Node;\n\nvar DataNode =\n/** @class */\nfunction (_super) {\n __extends(DataNode, _super);\n /**\n * @param type The type of the node\n * @param data The content of the data node\n */\n\n\n function DataNode(type, data) {\n var _this = _super.call(this, type) || this;\n\n _this.data = data;\n return _this;\n }\n\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n get: function get() {\n return this.data;\n },\n set: function set(data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node);\n\nexports.DataNode = DataNode;\n\nvar Text =\n/** @class */\nfunction (_super) {\n __extends(Text, _super);\n\n function Text(data) {\n return _super.call(this, \"text\"\n /* Text */\n , data) || this;\n }\n\n return Text;\n}(DataNode);\n\nexports.Text = Text;\n\nvar Comment =\n/** @class */\nfunction (_super) {\n __extends(Comment, _super);\n\n function Comment(data) {\n return _super.call(this, \"comment\"\n /* Comment */\n , data) || this;\n }\n\n return Comment;\n}(DataNode);\n\nexports.Comment = Comment;\n\nvar ProcessingInstruction =\n/** @class */\nfunction (_super) {\n __extends(ProcessingInstruction, _super);\n\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, \"directive\"\n /* Directive */\n , data) || this;\n\n _this.name = name;\n return _this;\n }\n\n return ProcessingInstruction;\n}(DataNode);\n\nexports.ProcessingInstruction = ProcessingInstruction;\n\nvar NodeWithChildren =\n/** @class */\nfunction (_super) {\n __extends(NodeWithChildren, _super);\n /**\n *\n * @param type Type of the node.\n * @param children Children of the node. Only certain node types can have children.\n */\n\n\n function NodeWithChildren(type, children) {\n var _this = _super.call(this, type) || this;\n\n _this.children = children;\n return _this;\n }\n\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n get: function get() {\n var _a;\n\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n get: function get() {\n return this.children.length > 0 ? this.children[this.children.length - 1] : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n get: function get() {\n return this.children;\n },\n set: function set(children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node);\n\nexports.NodeWithChildren = NodeWithChildren;\n\nvar Element =\n/** @class */\nfunction (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n\n\n function Element(name, attribs, children) {\n if (children === void 0) {\n children = [];\n }\n\n var _this = _super.call(this, name === \"script\" ? \"script\"\n /* Script */\n : name === \"style\" ? \"style\"\n /* Style */\n : \"tag\"\n /* Tag */\n , children) || this;\n\n _this.name = name;\n _this.attribs = attribs;\n _this.attribs = attribs;\n return _this;\n }\n\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n get: function get() {\n return this.name;\n },\n set: function set(name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function get() {\n var _this = this;\n\n return Object.keys(this.attribs).map(function (name) {\n return {\n name: name,\n value: _this.attribs[name]\n };\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren);\n\nexports.Element = Element;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) {\n recursive = false;\n }\n\n switch (node.type) {\n case \"text\"\n /* Text */\n :\n return new Text(node.data);\n\n case \"directive\"\n /* Directive */\n :\n {\n var instr = node;\n return new ProcessingInstruction(instr.name, instr.data);\n }\n\n case \"comment\"\n /* Comment */\n :\n return new Comment(node.data);\n\n case \"tag\"\n /* Tag */\n :\n case \"script\"\n /* Script */\n :\n case \"style\"\n /* Style */\n :\n {\n var elem = node;\n var children = recursive ? cloneChildren(elem.children) : [];\n var clone_1 = new Element(elem.name, __assign({}, elem.attribs), children);\n children.forEach(function (child) {\n return child.parent = clone_1;\n });\n return clone_1;\n }\n\n case \"cdata\"\n /* CDATA */\n :\n {\n var cdata = node;\n var children = recursive ? cloneChildren(cdata.children) : [];\n var clone_2 = new NodeWithChildren(\"cdata\"\n /* CDATA */\n , children);\n children.forEach(function (child) {\n return child.parent = clone_2;\n });\n return clone_2;\n }\n\n case \"doctype\"\n /* Doctype */\n :\n {\n // This type isn't used yet.\n throw new Error(\"Not implemented yet: ElementType.Doctype case\");\n }\n }\n}\n\nexports.cloneNode = cloneNode;\n\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) {\n return cloneNode(child, true);\n });\n\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n\n return children;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = void 0;\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\n\nfunction isTag(elem) {\n return elem.type === \"tag\"\n /* Tag */\n || elem.type === \"script\"\n /* Script */\n || elem.type === \"style\"\n /* Style */\n ;\n}\n\nexports.isTag = isTag; // Exports for backwards compatibility\n\n/** Type for the root element of a document */\n\nexports.Root = \"root\"\n/* Root */\n;\n/** Type for Text */\n\nexports.Text = \"text\"\n/* Text */\n;\n/** Type for */\n\nexports.Directive = \"directive\"\n/* Directive */\n;\n/** Type for */\n\nexports.Comment = \"comment\"\n/* Comment */\n;\n/** Type for