Files
nextcloud-server-mirror/dist/fileSize-Bd3TMI8u.chunk.mjs.map
2026-09-28 21:37:32 +02:00

1 line
273 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"version":3,"file":"fileSize-Bd3TMI8u.chunk.mjs","sources":["../node_modules/dompurify/dist/purify.es.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/l10n/dist/chunks/translation-DoG5ZELJ.mjs","../node_modules/@nextcloud/capabilities/dist/index.mjs","../node_modules/inherits/inherits_browser.js","../node_modules/has-symbols/shams.js","../node_modules/has-tostringtag/shams.js","../node_modules/es-object-atoms/index.js","../node_modules/es-errors/index.js","../node_modules/es-errors/eval.js","../node_modules/es-errors/range.js","../node_modules/es-errors/ref.js","../node_modules/es-errors/syntax.js","../node_modules/es-errors/type.js","../node_modules/es-errors/uri.js","../node_modules/math-intrinsics/abs.js","../node_modules/math-intrinsics/floor.js","../node_modules/math-intrinsics/max.js","../node_modules/math-intrinsics/min.js","../node_modules/math-intrinsics/pow.js","../node_modules/math-intrinsics/round.js","../node_modules/math-intrinsics/isNaN.js","../node_modules/math-intrinsics/sign.js","../node_modules/gopd/gOPD.js","../node_modules/gopd/index.js","../node_modules/es-define-property/index.js","../node_modules/has-symbols/index.js","../node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/call-bind-apply-helpers/index.js","../node_modules/dunder-proto/get.js","../node_modules/get-proto/index.js","../node_modules/hasown/index.js","../node_modules/get-intrinsic/index.js","../node_modules/call-bound/index.js","../node_modules/is-arguments/index.js","../node_modules/is-regex/index.js","../node_modules/safe-regex-test/index.js","../node_modules/generator-function/index.js","../node_modules/is-generator-function/index.js","../node_modules/is-callable/index.js","../node_modules/for-each/index.js","../node_modules/possible-typed-array-names/index.js","../node_modules/available-typed-arrays/index.js","../node_modules/define-data-property/index.js","../node_modules/has-property-descriptors/index.js","../node_modules/set-function-length/index.js","../node_modules/call-bind-apply-helpers/applyBind.js","../node_modules/call-bind/index.js","../node_modules/which-typed-array/index.js","../node_modules/is-typed-array/index.js","../node_modules/util/support/types.js","../node_modules/util/support/isBufferBrowser.js","../node_modules/util/util.js","../node_modules/@nextcloud/files/dist/chunks/fileSize.mjs"],"sourcesContent":["/*! @license DOMPurify 3.4.16 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.16/LICENSE */\nfunction _OverloadYield(e, d) {\n\tthis.v = e, this.k = d;\n}\nfunction _arrayLikeToArray(r, a) {\n\t(null == a || a > r.length) && (a = r.length);\n\tfor (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n\treturn n;\n}\nfunction _arrayWithHoles(r) {\n\tif (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n\tvar t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n\tif (null != t) {\n\t\tvar e, n, i, u, a = [], f = !0, o = !1;\n\t\ttry {\n\t\t\tif (i = (t = t.call(r)).next, 0 === l) {\n\t\t\t\tif (Object(t) !== t) return;\n\t\t\t\tf = !1;\n\t\t\t} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n\t\t} catch (r) {\n\t\t\to = !0, n = r;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n\t\t\t} finally {\n\t\t\t\tif (o) throw n;\n\t\t\t}\n\t\t}\n\t\treturn a;\n\t}\n}\nfunction _nonIterableRest() {\n\tthrow new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\nfunction _slicedToArray(r, e) {\n\treturn _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n\tif (r) {\n\t\tif (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n\t\tvar t = {}.toString.call(r).slice(8, -1);\n\t\treturn \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n\t}\n}\nfunction AsyncGenerator(e) {\n\tvar t, n;\n\tfunction resume(t, n) {\n\t\ttry {\n\t\t\tvar r = e[t](n), o = r.value, u = o instanceof _OverloadYield;\n\t\t\tPromise.resolve(u ? o.v : o).then(function(n) {\n\t\t\t\tif (u) {\n\t\t\t\t\tvar i = \"return\" === t && o.k ? t : \"next\";\n\t\t\t\t\tif (!o.k || n.done) return resume(i, n);\n\t\t\t\t\tn = e[i](n).value;\n\t\t\t\t}\n\t\t\t\tsettle(!!r.done, n);\n\t\t\t}, function(e) {\n\t\t\t\tresume(\"throw\", e);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tsettle(2, e);\n\t\t}\n\t}\n\tfunction settle(e, r) {\n\t\t2 === e ? t.reject(r) : t.resolve({\n\t\t\tvalue: r,\n\t\t\tdone: e\n\t\t}), (t = t.next) ? resume(t.key, t.arg) : n = null;\n\t}\n\tthis._invoke = function(e, r) {\n\t\treturn new Promise(function(o, u) {\n\t\t\tvar i = {\n\t\t\t\tkey: e,\n\t\t\t\targ: r,\n\t\t\t\tresolve: o,\n\t\t\t\treject: u,\n\t\t\t\tnext: null\n\t\t\t};\n\t\t\tn ? n = n.next = i : (t = n = i, resume(e, r));\n\t\t});\n\t}, \"function\" != typeof e.return && (this.return = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\treturn this;\n}, AsyncGenerator.prototype.next = function(e) {\n\treturn this._invoke(\"next\", e);\n}, AsyncGenerator.prototype.throw = function(e) {\n\treturn this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype.return = function(e) {\n\treturn this._invoke(\"return\", e);\n};\nconst entries = Object.entries;\nconst setPrototypeOf = Object.setPrototypeOf;\nconst isFrozen = Object.isFrozen;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze;\nlet seal = Object.seal;\nlet create = Object.create;\nlet _ref = typeof Reflect !== \"undefined\" && Reflect;\nlet apply = _ref.apply;\nlet construct = _ref.construct;\nif (!freeze) freeze = function freeze(x) {\n\treturn x;\n};\nif (!seal) seal = function seal(x) {\n\treturn x;\n};\nif (!apply) apply = function apply(func, thisArg) {\n\tfor (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];\n\treturn func.apply(thisArg, args);\n};\nif (!construct) construct = function construct(Func) {\n\tfor (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2];\n\treturn new Func(...args);\n};\nconst arrayForEach = unapply(Array.prototype.forEach);\nArray.prototype.indexOf;\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nArray.prototype.slice;\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === \"undefined\" ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === \"undefined\" ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n* Creates a new function that calls the given function with a specified thisArg and arguments.\n*\n* @param func - The function to be wrapped and called.\n* @returns A new function that calls the given function with a specified thisArg and arguments.\n*/\nfunction unapply(func) {\n\treturn function(thisArg) {\n\t\tif (thisArg instanceof RegExp) thisArg.lastIndex = 0;\n\t\tfor (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n\t\treturn apply(func, thisArg, args);\n\t};\n}\n/**\n* Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n*\n* @param func - The constructor function to be wrapped and called.\n* @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n*/\nfunction unconstruct(Func) {\n\treturn function() {\n\t\tfor (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n\t\treturn construct(Func, args);\n\t};\n}\n/**\n* Add properties to a lookup table\n*\n* @param set - The set to which elements will be added.\n* @param array - The array containing elements to be added to the set.\n* @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n* @returns The modified set with added elements.\n*/\nfunction addToSet(set, array) {\n\tlet transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase;\n\tif (setPrototypeOf) setPrototypeOf(set, null);\n\tif (!arrayIsArray(array)) return set;\n\tlet l = array.length;\n\twhile (l--) {\n\t\tlet element = array[l];\n\t\tif (typeof element === \"string\") {\n\t\t\tconst lcElement = transformCaseFunc(element);\n\t\t\tif (lcElement !== element) {\n\t\t\t\tif (!isFrozen(array)) array[l] = lcElement;\n\t\t\t\telement = lcElement;\n\t\t\t}\n\t\t}\n\t\tset[element] = true;\n\t}\n\treturn set;\n}\n/**\n* Clean up an array to harden against CSPP\n*\n* @param array - The array to be cleaned.\n* @returns The cleaned version of the array\n*/\nfunction cleanArray(array) {\n\tfor (let index = 0; index < array.length; index++) if (!objectHasOwnProperty(array, index)) array[index] = null;\n\treturn array;\n}\n/**\n* Shallow clone an object\n*\n* @param object - The object to be cloned.\n* @returns A new object that copies the original.\n*/\nfunction clone(object) {\n\tconst newObject = create(null);\n\tfor (const _ref2 of entries(object)) {\n\t\tvar _ref3 = _slicedToArray(_ref2, 2);\n\t\tconst property = _ref3[0];\n\t\tconst value = _ref3[1];\n\t\tif (objectHasOwnProperty(object, property)) {\n\t\t\tif (arrayIsArray(value)) newObject[property] = cleanArray(value);\n\t\t\telse if (value && typeof value === \"object\" && value.constructor === Object) newObject[property] = clone(value);\n\t\t\telse newObject[property] = value;\n\t\t}\n\t}\n\treturn newObject;\n}\n/**\n* Convert non-node values into strings without depending on direct property access.\n*\n* @param value - The value to stringify.\n* @returns A string representation of the provided value.\n*/\nfunction stringifyValue(value) {\n\tswitch (typeof value) {\n\t\tcase \"string\": return value;\n\t\tcase \"number\": return numberToString(value);\n\t\tcase \"boolean\": return booleanToString(value);\n\t\tcase \"bigint\": return bigintToString ? bigintToString(value) : \"0\";\n\t\tcase \"symbol\": return symbolToString ? symbolToString(value) : \"Symbol()\";\n\t\tcase \"undefined\": return objectToString(value);\n\t\tcase \"function\":\n\t\tcase \"object\": {\n\t\t\tif (value === null) return objectToString(value);\n\t\t\tconst valueAsRecord = value;\n\t\t\tconst valueToString = lookupGetter(valueAsRecord, \"toString\");\n\t\t\tif (typeof valueToString === \"function\") {\n\t\t\t\tconst stringified = valueToString(valueAsRecord);\n\t\t\t\treturn typeof stringified === \"string\" ? stringified : objectToString(stringified);\n\t\t\t}\n\t\t\treturn objectToString(value);\n\t\t}\n\t\tdefault: return objectToString(value);\n\t}\n}\n/**\n* This method automatically checks if the prop is function or getter and behaves accordingly.\n*\n* @param object - The object to look up the getter function in its prototype chain.\n* @param prop - The property name for which to find the getter function.\n* @returns The getter function found in the prototype chain or a fallback function.\n*/\nfunction lookupGetter(object, prop) {\n\twhile (object !== null) {\n\t\tconst desc = getOwnPropertyDescriptor(object, prop);\n\t\tif (desc) {\n\t\t\tif (desc.get) return unapply(desc.get);\n\t\t\tif (typeof desc.value === \"function\") return unapply(desc.value);\n\t\t}\n\t\tobject = getPrototypeOf(object);\n\t}\n\tfunction fallbackValue() {\n\t\treturn null;\n\t}\n\treturn fallbackValue;\n}\nfunction isRegex(value) {\n\ttry {\n\t\tregExpTest(value, \"\");\n\t\treturn true;\n\t} catch (_unused) {\n\t\treturn false;\n\t}\n}\nconst html$1 = freeze([\n\t\"a\",\n\t\"abbr\",\n\t\"acronym\",\n\t\"address\",\n\t\"area\",\n\t\"article\",\n\t\"aside\",\n\t\"audio\",\n\t\"b\",\n\t\"bdi\",\n\t\"bdo\",\n\t\"big\",\n\t\"blink\",\n\t\"blockquote\",\n\t\"body\",\n\t\"br\",\n\t\"button\",\n\t\"canvas\",\n\t\"caption\",\n\t\"center\",\n\t\"cite\",\n\t\"code\",\n\t\"col\",\n\t\"colgroup\",\n\t\"content\",\n\t\"data\",\n\t\"datalist\",\n\t\"dd\",\n\t\"decorator\",\n\t\"del\",\n\t\"details\",\n\t\"dfn\",\n\t\"dialog\",\n\t\"dir\",\n\t\"div\",\n\t\"dl\",\n\t\"dt\",\n\t\"element\",\n\t\"em\",\n\t\"fieldset\",\n\t\"figcaption\",\n\t\"figure\",\n\t\"font\",\n\t\"footer\",\n\t\"form\",\n\t\"h1\",\n\t\"h2\",\n\t\"h3\",\n\t\"h4\",\n\t\"h5\",\n\t\"h6\",\n\t\"head\",\n\t\"header\",\n\t\"hgroup\",\n\t\"hr\",\n\t\"html\",\n\t\"i\",\n\t\"img\",\n\t\"input\",\n\t\"ins\",\n\t\"kbd\",\n\t\"label\",\n\t\"legend\",\n\t\"li\",\n\t\"main\",\n\t\"map\",\n\t\"mark\",\n\t\"marquee\",\n\t\"menu\",\n\t\"menuitem\",\n\t\"meter\",\n\t\"nav\",\n\t\"nobr\",\n\t\"ol\",\n\t\"optgroup\",\n\t\"option\",\n\t\"output\",\n\t\"p\",\n\t\"picture\",\n\t\"pre\",\n\t\"progress\",\n\t\"q\",\n\t\"rp\",\n\t\"rt\",\n\t\"ruby\",\n\t\"s\",\n\t\"samp\",\n\t\"search\",\n\t\"section\",\n\t\"select\",\n\t\"shadow\",\n\t\"slot\",\n\t\"small\",\n\t\"source\",\n\t\"spacer\",\n\t\"span\",\n\t\"strike\",\n\t\"strong\",\n\t\"style\",\n\t\"sub\",\n\t\"summary\",\n\t\"sup\",\n\t\"table\",\n\t\"tbody\",\n\t\"td\",\n\t\"template\",\n\t\"textarea\",\n\t\"tfoot\",\n\t\"th\",\n\t\"thead\",\n\t\"time\",\n\t\"tr\",\n\t\"track\",\n\t\"tt\",\n\t\"u\",\n\t\"ul\",\n\t\"var\",\n\t\"video\",\n\t\"wbr\"\n]);\nconst svg$1 = freeze([\n\t\"svg\",\n\t\"a\",\n\t\"altglyph\",\n\t\"altglyphdef\",\n\t\"altglyphitem\",\n\t\"animatecolor\",\n\t\"animatemotion\",\n\t\"animatetransform\",\n\t\"circle\",\n\t\"clippath\",\n\t\"defs\",\n\t\"desc\",\n\t\"ellipse\",\n\t\"enterkeyhint\",\n\t\"exportparts\",\n\t\"filter\",\n\t\"font\",\n\t\"g\",\n\t\"glyph\",\n\t\"glyphref\",\n\t\"hkern\",\n\t\"image\",\n\t\"inputmode\",\n\t\"line\",\n\t\"lineargradient\",\n\t\"marker\",\n\t\"mask\",\n\t\"metadata\",\n\t\"mpath\",\n\t\"part\",\n\t\"path\",\n\t\"pattern\",\n\t\"polygon\",\n\t\"polyline\",\n\t\"radialgradient\",\n\t\"rect\",\n\t\"stop\",\n\t\"style\",\n\t\"switch\",\n\t\"symbol\",\n\t\"text\",\n\t\"textpath\",\n\t\"title\",\n\t\"tref\",\n\t\"tspan\",\n\t\"view\",\n\t\"vkern\"\n]);\nconst svgFilters = freeze([\n\t\"feBlend\",\n\t\"feColorMatrix\",\n\t\"feComponentTransfer\",\n\t\"feComposite\",\n\t\"feConvolveMatrix\",\n\t\"feDiffuseLighting\",\n\t\"feDisplacementMap\",\n\t\"feDistantLight\",\n\t\"feDropShadow\",\n\t\"feFlood\",\n\t\"feFuncA\",\n\t\"feFuncB\",\n\t\"feFuncG\",\n\t\"feFuncR\",\n\t\"feGaussianBlur\",\n\t\"feImage\",\n\t\"feMerge\",\n\t\"feMergeNode\",\n\t\"feMorphology\",\n\t\"feOffset\",\n\t\"fePointLight\",\n\t\"feSpecularLighting\",\n\t\"feSpotLight\",\n\t\"feTile\",\n\t\"feTurbulence\"\n]);\nconst svgDisallowed = freeze([\n\t\"animate\",\n\t\"color-profile\",\n\t\"cursor\",\n\t\"discard\",\n\t\"font-face\",\n\t\"font-face-format\",\n\t\"font-face-name\",\n\t\"font-face-src\",\n\t\"font-face-uri\",\n\t\"foreignobject\",\n\t\"hatch\",\n\t\"hatchpath\",\n\t\"mesh\",\n\t\"meshgradient\",\n\t\"meshpatch\",\n\t\"meshrow\",\n\t\"missing-glyph\",\n\t\"script\",\n\t\"set\",\n\t\"solidcolor\",\n\t\"unknown\",\n\t\"use\"\n]);\nconst mathMl$1 = freeze([\n\t\"math\",\n\t\"menclose\",\n\t\"merror\",\n\t\"mfenced\",\n\t\"mfrac\",\n\t\"mglyph\",\n\t\"mi\",\n\t\"mlabeledtr\",\n\t\"mmultiscripts\",\n\t\"mn\",\n\t\"mo\",\n\t\"mover\",\n\t\"mpadded\",\n\t\"mphantom\",\n\t\"mroot\",\n\t\"mrow\",\n\t\"ms\",\n\t\"mspace\",\n\t\"msqrt\",\n\t\"mstyle\",\n\t\"msub\",\n\t\"msup\",\n\t\"msubsup\",\n\t\"mtable\",\n\t\"mtd\",\n\t\"mtext\",\n\t\"mtr\",\n\t\"munder\",\n\t\"munderover\",\n\t\"mprescripts\"\n]);\nconst mathMlDisallowed = freeze([\n\t\"maction\",\n\t\"maligngroup\",\n\t\"malignmark\",\n\t\"mlongdiv\",\n\t\"mscarries\",\n\t\"mscarry\",\n\t\"msgroup\",\n\t\"mstack\",\n\t\"msline\",\n\t\"msrow\",\n\t\"semantics\",\n\t\"annotation\",\n\t\"annotation-xml\",\n\t\"mprescripts\",\n\t\"none\"\n]);\nconst text = freeze([\"#text\"]);\nconst html = freeze([\n\t\"accept\",\n\t\"action\",\n\t\"align\",\n\t\"alt\",\n\t\"autocapitalize\",\n\t\"autocomplete\",\n\t\"autopictureinpicture\",\n\t\"autoplay\",\n\t\"background\",\n\t\"bgcolor\",\n\t\"border\",\n\t\"capture\",\n\t\"cellpadding\",\n\t\"cellspacing\",\n\t\"checked\",\n\t\"cite\",\n\t\"class\",\n\t\"clear\",\n\t\"color\",\n\t\"cols\",\n\t\"colspan\",\n\t\"command\",\n\t\"commandfor\",\n\t\"controls\",\n\t\"controlslist\",\n\t\"coords\",\n\t\"crossorigin\",\n\t\"datetime\",\n\t\"decoding\",\n\t\"default\",\n\t\"dir\",\n\t\"disabled\",\n\t\"disablepictureinpicture\",\n\t\"disableremoteplayback\",\n\t\"download\",\n\t\"draggable\",\n\t\"enctype\",\n\t\"enterkeyhint\",\n\t\"exportparts\",\n\t\"face\",\n\t\"for\",\n\t\"headers\",\n\t\"height\",\n\t\"hidden\",\n\t\"high\",\n\t\"href\",\n\t\"hreflang\",\n\t\"id\",\n\t\"inert\",\n\t\"inputmode\",\n\t\"integrity\",\n\t\"ismap\",\n\t\"kind\",\n\t\"label\",\n\t\"lang\",\n\t\"list\",\n\t\"loading\",\n\t\"loop\",\n\t\"low\",\n\t\"max\",\n\t\"maxlength\",\n\t\"media\",\n\t\"method\",\n\t\"min\",\n\t\"minlength\",\n\t\"multiple\",\n\t\"muted\",\n\t\"name\",\n\t\"nonce\",\n\t\"noshade\",\n\t\"novalidate\",\n\t\"nowrap\",\n\t\"open\",\n\t\"optimum\",\n\t\"part\",\n\t\"pattern\",\n\t\"placeholder\",\n\t\"playsinline\",\n\t\"popover\",\n\t\"popovertarget\",\n\t\"popovertargetaction\",\n\t\"poster\",\n\t\"preload\",\n\t\"pubdate\",\n\t\"radiogroup\",\n\t\"readonly\",\n\t\"rel\",\n\t\"required\",\n\t\"rev\",\n\t\"reversed\",\n\t\"role\",\n\t\"rows\",\n\t\"rowspan\",\n\t\"spellcheck\",\n\t\"scope\",\n\t\"selected\",\n\t\"shape\",\n\t\"size\",\n\t\"sizes\",\n\t\"slot\",\n\t\"span\",\n\t\"srclang\",\n\t\"start\",\n\t\"src\",\n\t\"srcset\",\n\t\"step\",\n\t\"style\",\n\t\"summary\",\n\t\"tabindex\",\n\t\"title\",\n\t\"translate\",\n\t\"type\",\n\t\"usemap\",\n\t\"valign\",\n\t\"value\",\n\t\"width\",\n\t\"wrap\",\n\t\"xmlns\"\n]);\nconst svg = freeze([\n\t\"accent-height\",\n\t\"accumulate\",\n\t\"additive\",\n\t\"alignment-baseline\",\n\t\"amplitude\",\n\t\"ascent\",\n\t\"attributename\",\n\t\"attributetype\",\n\t\"azimuth\",\n\t\"basefrequency\",\n\t\"baseline-shift\",\n\t\"begin\",\n\t\"bias\",\n\t\"by\",\n\t\"class\",\n\t\"clip\",\n\t\"clippathunits\",\n\t\"clip-path\",\n\t\"clip-rule\",\n\t\"color\",\n\t\"color-interpolation\",\n\t\"color-interpolation-filters\",\n\t\"color-profile\",\n\t\"color-rendering\",\n\t\"cx\",\n\t\"cy\",\n\t\"d\",\n\t\"dx\",\n\t\"dy\",\n\t\"diffuseconstant\",\n\t\"direction\",\n\t\"display\",\n\t\"divisor\",\n\t\"dominant-baseline\",\n\t\"dur\",\n\t\"edgemode\",\n\t\"elevation\",\n\t\"end\",\n\t\"exponent\",\n\t\"fill\",\n\t\"fill-opacity\",\n\t\"fill-rule\",\n\t\"filter\",\n\t\"filterunits\",\n\t\"flood-color\",\n\t\"flood-opacity\",\n\t\"font-family\",\n\t\"font-size\",\n\t\"font-size-adjust\",\n\t\"font-stretch\",\n\t\"font-style\",\n\t\"font-variant\",\n\t\"font-weight\",\n\t\"fx\",\n\t\"fy\",\n\t\"g1\",\n\t\"g2\",\n\t\"glyph-name\",\n\t\"glyphref\",\n\t\"gradientunits\",\n\t\"gradienttransform\",\n\t\"height\",\n\t\"href\",\n\t\"id\",\n\t\"image-rendering\",\n\t\"in\",\n\t\"in2\",\n\t\"intercept\",\n\t\"k\",\n\t\"k1\",\n\t\"k2\",\n\t\"k3\",\n\t\"k4\",\n\t\"kerning\",\n\t\"keypoints\",\n\t\"keysplines\",\n\t\"keytimes\",\n\t\"lang\",\n\t\"lengthadjust\",\n\t\"letter-spacing\",\n\t\"kernelmatrix\",\n\t\"kernelunitlength\",\n\t\"lighting-color\",\n\t\"local\",\n\t\"marker-end\",\n\t\"marker-mid\",\n\t\"marker-start\",\n\t\"markerheight\",\n\t\"markerunits\",\n\t\"markerwidth\",\n\t\"maskcontentunits\",\n\t\"maskunits\",\n\t\"max\",\n\t\"mask\",\n\t\"mask-type\",\n\t\"media\",\n\t\"method\",\n\t\"mode\",\n\t\"min\",\n\t\"name\",\n\t\"numoctaves\",\n\t\"offset\",\n\t\"operator\",\n\t\"opacity\",\n\t\"order\",\n\t\"orient\",\n\t\"orientation\",\n\t\"origin\",\n\t\"overflow\",\n\t\"paint-order\",\n\t\"path\",\n\t\"pathlength\",\n\t\"patterncontentunits\",\n\t\"patterntransform\",\n\t\"patternunits\",\n\t\"pointer-events\",\n\t\"points\",\n\t\"preservealpha\",\n\t\"preserveaspectratio\",\n\t\"primitiveunits\",\n\t\"r\",\n\t\"rx\",\n\t\"ry\",\n\t\"radius\",\n\t\"refx\",\n\t\"refy\",\n\t\"repeatcount\",\n\t\"repeatdur\",\n\t\"restart\",\n\t\"result\",\n\t\"rotate\",\n\t\"scale\",\n\t\"seed\",\n\t\"shape-rendering\",\n\t\"slope\",\n\t\"specularconstant\",\n\t\"specularexponent\",\n\t\"spreadmethod\",\n\t\"startoffset\",\n\t\"stddeviation\",\n\t\"stitchtiles\",\n\t\"stop-color\",\n\t\"stop-opacity\",\n\t\"stroke-dasharray\",\n\t\"stroke-dashoffset\",\n\t\"stroke-linecap\",\n\t\"stroke-linejoin\",\n\t\"stroke-miterlimit\",\n\t\"stroke-opacity\",\n\t\"stroke\",\n\t\"stroke-width\",\n\t\"style\",\n\t\"surfacescale\",\n\t\"systemlanguage\",\n\t\"tabindex\",\n\t\"tablevalues\",\n\t\"targetx\",\n\t\"targety\",\n\t\"transform\",\n\t\"transform-origin\",\n\t\"text-anchor\",\n\t\"text-decoration\",\n\t\"text-orientation\",\n\t\"text-rendering\",\n\t\"textlength\",\n\t\"type\",\n\t\"u1\",\n\t\"u2\",\n\t\"unicode\",\n\t\"values\",\n\t\"vector-effect\",\n\t\"viewbox\",\n\t\"visibility\",\n\t\"version\",\n\t\"vert-adv-y\",\n\t\"vert-origin-x\",\n\t\"vert-origin-y\",\n\t\"width\",\n\t\"word-spacing\",\n\t\"wrap\",\n\t\"writing-mode\",\n\t\"xchannelselector\",\n\t\"ychannelselector\",\n\t\"x\",\n\t\"x1\",\n\t\"x2\",\n\t\"xmlns\",\n\t\"y\",\n\t\"y1\",\n\t\"y2\",\n\t\"z\",\n\t\"zoomandpan\"\n]);\nconst mathMl = freeze([\n\t\"accent\",\n\t\"accentunder\",\n\t\"align\",\n\t\"bevelled\",\n\t\"close\",\n\t\"columnalign\",\n\t\"columnlines\",\n\t\"columnspacing\",\n\t\"columnspan\",\n\t\"denomalign\",\n\t\"depth\",\n\t\"dir\",\n\t\"display\",\n\t\"displaystyle\",\n\t\"encoding\",\n\t\"fence\",\n\t\"frame\",\n\t\"height\",\n\t\"href\",\n\t\"id\",\n\t\"largeop\",\n\t\"length\",\n\t\"linethickness\",\n\t\"lquote\",\n\t\"lspace\",\n\t\"mathbackground\",\n\t\"mathcolor\",\n\t\"mathsize\",\n\t\"mathvariant\",\n\t\"maxsize\",\n\t\"minsize\",\n\t\"movablelimits\",\n\t\"notation\",\n\t\"numalign\",\n\t\"open\",\n\t\"rowalign\",\n\t\"rowlines\",\n\t\"rowspacing\",\n\t\"rowspan\",\n\t\"rspace\",\n\t\"rquote\",\n\t\"scriptlevel\",\n\t\"scriptminsize\",\n\t\"scriptsizemultiplier\",\n\t\"selection\",\n\t\"separator\",\n\t\"separators\",\n\t\"stretchy\",\n\t\"subscriptshift\",\n\t\"supscriptshift\",\n\t\"symmetric\",\n\t\"voffset\",\n\t\"width\",\n\t\"xmlns\"\n]);\nconst xml = freeze([\n\t\"xlink:href\",\n\t\"xml:id\",\n\t\"xlink:title\",\n\t\"xml:space\",\n\t\"xmlns:xlink\"\n]);\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/);\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\nconst ELEMENT_MARKUP_PROBE = seal(/<[/\\w!]/g);\nconst COMMENT_MARKUP_PROBE = seal(/<[/\\w]/g);\nconst FALLBACK_TAG_CLOSE = seal(/<\\/no(script|embed|frames)/i);\nconst SELF_CLOSING_TAG = seal(/\\/>/i);\nconst NODE_TYPE = {\n\telement: 1,\n\tattribute: 2,\n\ttext: 3,\n\tcdataSection: 4,\n\tentityReference: 5,\n\tentityNode: 6,\n\tprocessingInstruction: 7,\n\tcomment: 8,\n\tdocument: 9,\n\tdocumentType: 10,\n\tdocumentFragment: 11,\n\tnotation: 12\n};\nconst LITERAL_TEXT_ELEMENT_NAMES = [\n\t\"style\",\n\t\"script\",\n\t\"xmp\",\n\t\"iframe\",\n\t\"noembed\",\n\t\"noframes\",\n\t\"plaintext\",\n\t\"noscript\"\n];\nconst LITERAL_TEXT_ELEMENTS = freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));\nconst LITERAL_TEXT_CLOSE = function() {\n\tconst map = {};\n\tarrayForEach(LITERAL_TEXT_ELEMENT_NAMES, (name) => {\n\t\tmap[name] = seal(new RegExp(\"</\" + name + \"(?=[\\\\t\\\\n\\\\f\\\\r />])\", \"i\"));\n\t});\n\treturn freeze(map);\n}();\nconst getGlobal = function getGlobal() {\n\treturn typeof window === \"undefined\" ? null : window;\n};\n/**\n* Creates a no-op policy for internal use only.\n* Don't export this function outside this module!\n* @param trustedTypes The policy factory.\n* @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n* @return The policy created (or null, if Trusted Types\n* are not supported or creating the policy failed).\n*/\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n\tif (typeof trustedTypes !== \"object\" || typeof trustedTypes.createPolicy !== \"function\") return null;\n\tlet suffix = null;\n\tconst ATTR_NAME = \"data-tt-policy-suffix\";\n\tif (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) suffix = purifyHostElement.getAttribute(ATTR_NAME);\n\tconst policyName = \"dompurify\" + (suffix ? \"#\" + suffix : \"\");\n\ttry {\n\t\treturn trustedTypes.createPolicy(policyName, {\n\t\t\tcreateHTML(html) {\n\t\t\t\treturn html;\n\t\t\t},\n\t\t\tcreateScriptURL(scriptUrl) {\n\t\t\t\treturn scriptUrl;\n\t\t\t}\n\t\t});\n\t} catch (_) {\n\t\tconsole.warn(\"TrustedTypes policy \" + policyName + \" could not be created.\");\n\t\treturn null;\n\t}\n};\nconst _createHooksMap = function _createHooksMap() {\n\treturn {\n\t\tafterSanitizeAttributes: [],\n\t\tafterSanitizeElements: [],\n\t\tafterSanitizeShadowDOM: [],\n\t\tbeforeSanitizeAttributes: [],\n\t\tbeforeSanitizeElements: [],\n\t\tbeforeSanitizeShadowDOM: [],\n\t\tuponSanitizeAttribute: [],\n\t\tuponSanitizeElement: [],\n\t\tuponSanitizeShadowNode: []\n\t};\n};\n/**\n* Resolve a set-valued configuration option: a fresh set built from\n* cfg[key] when it is an own array property (seeded with a clone of\n* options.base when given, case-normalized via options.transform),\n* the fallback set otherwise.\n*\n* @param cfg the cloned, prototype-free configuration object\n* @param key the configuration property to read\n* @param fallback the set to use when the option is absent or not an array\n* @param options transform and optional base set to merge into\n* @returns the resolved set\n*/\nconst _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {\n\treturn objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;\n};\n/**\n* Resolve an object-valued configuration option: a prototype-free clone\n* of cfg[key] when it is an own, truthy object property, else a fresh\n* fallback built by makeFallback (fresh on every parse, so a previous\n* parse can never leak state into the next one).\n*\n* @param cfg the cloned, prototype-free configuration object\n* @param key the configuration property to read\n* @param makeFallback builds the fallback value when the option is absent\n* @returns the resolved object\n*/\nconst _resolveObjectOption = function _resolveObjectOption(cfg, key, makeFallback) {\n\tconst value = objectHasOwnProperty(cfg, key) ? cfg[key] : void 0;\n\treturn value && typeof value === \"object\" ? clone(value) : makeFallback();\n};\nfunction createDOMPurify() {\n\tlet window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();\n\tconst DOMPurify = (root) => createDOMPurify(root);\n\tDOMPurify.version = \"3.4.16\";\n\tDOMPurify.removed = [];\n\tif (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n\t\tDOMPurify.isSupported = false;\n\t\treturn DOMPurify;\n\t}\n\tlet document = window.document;\n\tconst originalDocument = document;\n\tconst currentScript = originalDocument.currentScript;\n\twindow.DocumentFragment;\n\tconst HTMLTemplateElement = window.HTMLTemplateElement, Node = window.Node, Element = window.Element, NodeFilter = window.NodeFilter;\n\twindow.NamedNodeMap === void 0 && (window.NamedNodeMap || window.MozNamedAttrMap);\n\twindow.HTMLFormElement;\n\tconst DOMParser = window.DOMParser, trustedTypes = window.trustedTypes;\n\tconst ElementPrototype = Element.prototype;\n\tconst cloneNode = lookupGetter(ElementPrototype, \"cloneNode\");\n\tconst remove = lookupGetter(ElementPrototype, \"remove\");\n\tconst removeAttributeNode = lookupGetter(ElementPrototype, \"removeAttributeNode\");\n\tconst getNextSibling = lookupGetter(ElementPrototype, \"nextSibling\");\n\tconst getChildNodes = lookupGetter(ElementPrototype, \"childNodes\");\n\tconst getParentNode = lookupGetter(ElementPrototype, \"parentNode\");\n\tconst getShadowRoot = lookupGetter(ElementPrototype, \"shadowRoot\");\n\tconst getAttributes = lookupGetter(ElementPrototype, \"attributes\");\n\tconst getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, \"nodeType\") : null;\n\tconst getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, \"nodeName\") : null;\n\tconst getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, \"ownerDocument\") : null;\n\tconst _readNodeType = function _readNodeType(node) {\n\t\treturn getNodeType ? getNodeType(node) : node.nodeType;\n\t};\n\tconst _readNodeName = function _readNodeName(node) {\n\t\treturn getNodeName ? getNodeName(node) : node.nodeName;\n\t};\n\tif (typeof HTMLTemplateElement === \"function\") {\n\t\tconst template = document.createElement(\"template\");\n\t\tif (template.content && template.content.ownerDocument) document = template.content.ownerDocument;\n\t}\n\tlet trustedTypesPolicy;\n\tlet emptyHTML = \"\";\n\tlet defaultTrustedTypesPolicy;\n\tlet defaultTrustedTypesPolicyResolved = false;\n\tlet IN_TRUSTED_TYPES_POLICY = 0;\n\tconst _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {\n\t\tif (IN_TRUSTED_TYPES_POLICY > 0) throw typeErrorCreate(\"A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \\\"DOMPurify and Trusted Types\\\" section of the README.\");\n\t};\n\tconst _createTrustedHTML = function _createTrustedHTML(html) {\n\t\t_assertNotInTrustedTypesPolicy();\n\t\tIN_TRUSTED_TYPES_POLICY++;\n\t\ttry {\n\t\t\treturn trustedTypesPolicy.createHTML(html);\n\t\t} finally {\n\t\t\tIN_TRUSTED_TYPES_POLICY--;\n\t\t}\n\t};\n\tconst _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {\n\t\t_assertNotInTrustedTypesPolicy();\n\t\tIN_TRUSTED_TYPES_POLICY++;\n\t\ttry {\n\t\t\treturn trustedTypesPolicy.createScriptURL(scriptUrl);\n\t\t} finally {\n\t\t\tIN_TRUSTED_TYPES_POLICY--;\n\t\t}\n\t};\n\tconst _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {\n\t\tif (!defaultTrustedTypesPolicyResolved) {\n\t\t\tdefaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n\t\t\tdefaultTrustedTypesPolicyResolved = true;\n\t\t}\n\t\treturn defaultTrustedTypesPolicy;\n\t};\n\tconst _document = document, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;\n\tconst importNode = originalDocument.importNode;\n\tlet hooks = _createHooksMap();\n\t/**\n\t* Expose whether this browser supports running the full DOMPurify.\n\t*/\n\tDOMPurify.isSupported = typeof entries === \"function\" && typeof getParentNode === \"function\" && implementation && implementation.createHTMLDocument !== void 0;\n\tconst MUSTACHE_EXPR$1 = MUSTACHE_EXPR, ERB_EXPR$1 = ERB_EXPR, TMPLIT_EXPR$1 = TMPLIT_EXPR, DATA_ATTR$1 = DATA_ATTR, ARIA_ATTR$1 = ARIA_ATTR, IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, ATTR_WHITESPACE$1 = ATTR_WHITESPACE, CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n\tlet IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n\t/**\n\t* We consider the elements and attributes below to be safe. Ideally\n\t* don't add any new ones but feel free to remove unwanted ones.\n\t*/\n\tlet ALLOWED_TAGS = null;\n\tconst DEFAULT_ALLOWED_TAGS = addToSet({}, [\n\t\t...html$1,\n\t\t...svg$1,\n\t\t...svgFilters,\n\t\t...mathMl$1,\n\t\t...text\n\t]);\n\tlet ALLOWED_ATTR = null;\n\tconst DEFAULT_ALLOWED_ATTR = addToSet({}, [\n\t\t...html,\n\t\t...svg,\n\t\t...mathMl,\n\t\t...xml\n\t]);\n\tlet CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n\t\ttagNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tattributeNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tallowCustomizedBuiltInElements: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: false\n\t\t}\n\t}));\n\tlet FORBID_TAGS = null;\n\tlet FORBID_ATTR = null;\n\tconst EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n\t\ttagCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tattributeCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t}\n\t}));\n\tlet ALLOW_ARIA_ATTR = true;\n\tlet ALLOW_DATA_ATTR = true;\n\tlet ALLOW_UNKNOWN_PROTOCOLS = false;\n\tlet ALLOW_SELF_CLOSE_IN_ATTR = true;\n\tlet SAFE_FOR_TEMPLATES = false;\n\tlet SAFE_FOR_XML = true;\n\tlet WHOLE_DOCUMENT = false;\n\tlet SET_CONFIG = false;\n\tlet SET_CONFIG_ALLOWED_TAGS = null;\n\tlet SET_CONFIG_ALLOWED_ATTR = null;\n\tlet FORCE_BODY = false;\n\tlet RETURN_DOM = false;\n\tlet RETURN_DOM_FRAGMENT = false;\n\tlet RETURN_TRUSTED_TYPE = false;\n\tlet SANITIZE_DOM = true;\n\tlet SANITIZE_NAMED_PROPS = false;\n\tconst SANITIZE_NAMED_PROPS_PREFIX = \"user-content-\";\n\tlet KEEP_CONTENT = true;\n\tlet IN_PLACE = false;\n\tlet USE_PROFILES = {};\n\tlet FORBID_CONTENTS = null;\n\tconst DEFAULT_FORBID_CONTENTS = addToSet({}, [\n\t\t\"annotation-xml\",\n\t\t\"audio\",\n\t\t\"colgroup\",\n\t\t\"desc\",\n\t\t\"foreignobject\",\n\t\t\"head\",\n\t\t\"iframe\",\n\t\t\"math\",\n\t\t\"mi\",\n\t\t\"mn\",\n\t\t\"mo\",\n\t\t\"ms\",\n\t\t\"mtext\",\n\t\t\"noembed\",\n\t\t\"noframes\",\n\t\t\"noscript\",\n\t\t\"plaintext\",\n\t\t\"script\",\n\t\t\"selectedcontent\",\n\t\t\"style\",\n\t\t\"svg\",\n\t\t\"template\",\n\t\t\"thead\",\n\t\t\"title\",\n\t\t\"video\",\n\t\t\"xmp\"\n\t]);\n\tlet DATA_URI_TAGS = null;\n\tconst DEFAULT_DATA_URI_TAGS = addToSet({}, [\n\t\t\"audio\",\n\t\t\"video\",\n\t\t\"img\",\n\t\t\"source\",\n\t\t\"image\",\n\t\t\"track\"\n\t]);\n\tlet URI_SAFE_ATTRIBUTES = null;\n\tconst DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n\t\t\"alt\",\n\t\t\"class\",\n\t\t\"for\",\n\t\t\"id\",\n\t\t\"label\",\n\t\t\"name\",\n\t\t\"pattern\",\n\t\t\"placeholder\",\n\t\t\"role\",\n\t\t\"summary\",\n\t\t\"title\",\n\t\t\"value\",\n\t\t\"style\",\n\t\t\"xmlns\"\n\t]);\n\tconst MATHML_NAMESPACE = \"http://www.w3.org/1998/Math/MathML\";\n\tconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\n\tconst HTML_NAMESPACE = \"http://www.w3.org/1999/xhtml\";\n\tlet NAMESPACE = HTML_NAMESPACE;\n\tlet IS_EMPTY_INPUT = false;\n\tlet ALLOWED_NAMESPACES = null;\n\tconst DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [\n\t\tMATHML_NAMESPACE,\n\t\tSVG_NAMESPACE,\n\t\tHTML_NAMESPACE\n\t], stringToString);\n\tconst DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze([\n\t\t\"mi\",\n\t\t\"mo\",\n\t\t\"mn\",\n\t\t\"ms\",\n\t\t\"mtext\"\n\t]);\n\tlet MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);\n\tconst DEFAULT_HTML_INTEGRATION_POINTS = freeze([\"annotation-xml\"]);\n\tlet HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);\n\tconst COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n\t\t\"title\",\n\t\t\"style\",\n\t\t\"font\",\n\t\t\"a\",\n\t\t\"script\"\n\t]);\n\tlet PARSER_MEDIA_TYPE = null;\n\tconst SUPPORTED_PARSER_MEDIA_TYPES = [\"application/xhtml+xml\", \"text/html\"];\n\tconst DEFAULT_PARSER_MEDIA_TYPE = \"text/html\";\n\tlet transformCaseFunc = null;\n\tlet CONFIG = null;\n\tconst formElement = document.createElement(\"form\");\n\tconst isRegexOrFunction = function isRegexOrFunction(testValue) {\n\t\treturn testValue instanceof RegExp || testValue instanceof Function;\n\t};\n\t/**\n\t* _parseConfig\n\t*\n\t* @param cfg optional config literal\n\t*/\n\tconst _parseConfig = function _parseConfig() {\n\t\tlet cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\t\tif (CONFIG && CONFIG === cfg) return;\n\t\tif (!cfg || typeof cfg !== \"object\") cfg = {};\n\t\tcfg = clone(cfg);\n\t\tPARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n\t\ttransformCaseFunc = PARSER_MEDIA_TYPE === \"application/xhtml+xml\" ? stringToString : stringToLowerCase;\n\t\tALLOWED_TAGS = _resolveSetOption(cfg, \"ALLOWED_TAGS\", DEFAULT_ALLOWED_TAGS, { transform: transformCaseFunc });\n\t\tALLOWED_ATTR = _resolveSetOption(cfg, \"ALLOWED_ATTR\", DEFAULT_ALLOWED_ATTR, { transform: transformCaseFunc });\n\t\tALLOWED_NAMESPACES = _resolveSetOption(cfg, \"ALLOWED_NAMESPACES\", DEFAULT_ALLOWED_NAMESPACES, { transform: stringToString });\n\t\tURI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, \"ADD_URI_SAFE_ATTR\", DEFAULT_URI_SAFE_ATTRIBUTES, {\n\t\t\ttransform: transformCaseFunc,\n\t\t\tbase: DEFAULT_URI_SAFE_ATTRIBUTES\n\t\t});\n\t\tDATA_URI_TAGS = _resolveSetOption(cfg, \"ADD_DATA_URI_TAGS\", DEFAULT_DATA_URI_TAGS, {\n\t\t\ttransform: transformCaseFunc,\n\t\t\tbase: DEFAULT_DATA_URI_TAGS\n\t\t});\n\t\tFORBID_CONTENTS = _resolveSetOption(cfg, \"FORBID_CONTENTS\", DEFAULT_FORBID_CONTENTS, { transform: transformCaseFunc });\n\t\tFORBID_TAGS = _resolveSetOption(cfg, \"FORBID_TAGS\", clone({}), { transform: transformCaseFunc });\n\t\tFORBID_ATTR = _resolveSetOption(cfg, \"FORBID_ATTR\", clone({}), { transform: transformCaseFunc });\n\t\tUSE_PROFILES = objectHasOwnProperty(cfg, \"USE_PROFILES\") ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === \"object\" ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;\n\t\tALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n\t\tALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n\t\tALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n\t\tALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n\t\tSAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n\t\tSAFE_FOR_XML = cfg.SAFE_FOR_XML !== false;\n\t\tWHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n\t\tRETURN_DOM = cfg.RETURN_DOM || false;\n\t\tRETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n\t\tRETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n\t\tFORCE_BODY = cfg.FORCE_BODY || false;\n\t\tSANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n\t\tSANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n\t\tKEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n\t\tIN_PLACE = cfg.IN_PLACE || false;\n\t\tIS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI;\n\t\tNAMESPACE = typeof cfg.NAMESPACE === \"string\" ? cfg.NAMESPACE : HTML_NAMESPACE;\n\t\tMATHML_TEXT_INTEGRATION_POINTS = _resolveObjectOption(cfg, \"MATHML_TEXT_INTEGRATION_POINTS\", () => addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS));\n\t\tHTML_INTEGRATION_POINTS = _resolveObjectOption(cfg, \"HTML_INTEGRATION_POINTS\", () => addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS));\n\t\tconst customElementHandling = _resolveObjectOption(cfg, \"CUSTOM_ELEMENT_HANDLING\", () => create(null));\n\t\tCUSTOM_ELEMENT_HANDLING = create(null);\n\t\tif (objectHasOwnProperty(customElementHandling, \"tagNameCheck\") && isRegexOrFunction(customElementHandling.tagNameCheck)) CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck;\n\t\tif (objectHasOwnProperty(customElementHandling, \"attributeNameCheck\") && isRegexOrFunction(customElementHandling.attributeNameCheck)) CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck;\n\t\tif (objectHasOwnProperty(customElementHandling, \"allowCustomizedBuiltInElements\") && typeof customElementHandling.allowCustomizedBuiltInElements === \"boolean\") CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements;\n\t\tseal(CUSTOM_ELEMENT_HANDLING);\n\t\tif (SAFE_FOR_TEMPLATES) ALLOW_DATA_ATTR = false;\n\t\tif (RETURN_DOM_FRAGMENT) RETURN_DOM = true;\n\t\tif (USE_PROFILES) {\n\t\t\tALLOWED_TAGS = addToSet({}, text);\n\t\t\tALLOWED_ATTR = create(null);\n\t\t\tif (USE_PROFILES.html === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, html$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, html);\n\t\t\t}\n\t\t\tif (USE_PROFILES.svg === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svg$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t\tif (USE_PROFILES.svgFilters === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svgFilters);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t\tif (USE_PROFILES.mathMl === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, mathMl$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, mathMl);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t}\n\t\tEXTRA_ELEMENT_HANDLING.tagCheck = null;\n\t\tEXTRA_ELEMENT_HANDLING.attributeCheck = null;\n\t\tif (objectHasOwnProperty(cfg, \"ADD_TAGS\")) {\n\t\t\tif (typeof cfg.ADD_TAGS === \"function\") EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n\t\t\telse if (arrayIsArray(cfg.ADD_TAGS)) {\n\t\t\t\tif (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS);\n\t\t\t\taddToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n\t\t\t}\n\t\t}\n\t\tif (objectHasOwnProperty(cfg, \"ADD_ATTR\")) {\n\t\t\tif (typeof cfg.ADD_ATTR === \"function\") EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n\t\t\telse if (arrayIsArray(cfg.ADD_ATTR)) {\n\t\t\t\tif (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR);\n\t\t\t\taddToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n\t\t\t}\n\t\t}\n\t\tif (objectHasOwnProperty(cfg, \"ADD_FORBID_CONTENTS\") && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {\n\t\t\tif (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) FORBID_CONTENTS = clone(FORBID_CONTENTS);\n\t\t\taddToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n\t\t}\n\t\tif (KEEP_CONTENT) ALLOWED_TAGS[\"#text\"] = true;\n\t\tif (WHOLE_DOCUMENT) addToSet(ALLOWED_TAGS, [\n\t\t\t\"html\",\n\t\t\t\"head\",\n\t\t\t\"body\"\n\t\t]);\n\t\tif (ALLOWED_TAGS.table) {\n\t\t\taddToSet(ALLOWED_TAGS, [\"tbody\"]);\n\t\t\tdelete FORBID_TAGS.tbody;\n\t\t}\n\t\tif (cfg.TRUSTED_TYPES_POLICY) {\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== \"function\") throw typeErrorCreate(\"TRUSTED_TYPES_POLICY configuration option must provide a \\\"createHTML\\\" hook.\");\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== \"function\") throw typeErrorCreate(\"TRUSTED_TYPES_POLICY configuration option must provide a \\\"createScriptURL\\\" hook.\");\n\t\t\tconst previousTrustedTypesPolicy = trustedTypesPolicy;\n\t\t\ttrustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\t\t\ttry {\n\t\t\t\temptyHTML = _createTrustedHTML(\"\");\n\t\t\t} catch (error) {\n\t\t\t\ttrustedTypesPolicy = previousTrustedTypesPolicy;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} else if (cfg.TRUSTED_TYPES_POLICY === null) {\n\t\t\ttrustedTypesPolicy = void 0;\n\t\t\temptyHTML = \"\";\n\t\t} else {\n\t\t\tif (trustedTypesPolicy === void 0) trustedTypesPolicy = _getDefaultTrustedTypesPolicy();\n\t\t\tif (trustedTypesPolicy && typeof emptyHTML === \"string\") emptyHTML = _createTrustedHTML(\"\");\n\t\t}\n\t\tif (freeze) freeze(cfg);\n\t\tCONFIG = cfg;\n\t};\n\tconst ALL_SVG_TAGS = addToSet({}, [\n\t\t...svg$1,\n\t\t...svgFilters,\n\t\t...svgDisallowed\n\t]);\n\tconst ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n\t/**\n\t* Namespace rules for an element in the SVG namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkSvgNamespace = function _checkSvgNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === HTML_NAMESPACE) return tagName === \"svg\";\n\t\tif (parent.namespaceURI === MATHML_NAMESPACE) return tagName === \"svg\" && (parentTagName === \"annotation-xml\" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n\t\treturn Boolean(ALL_SVG_TAGS[tagName]);\n\t};\n\t/**\n\t* Namespace rules for an element in the MathML namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkMathMlNamespace = function _checkMathMlNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === HTML_NAMESPACE) return tagName === \"math\";\n\t\tif (parent.namespaceURI === SVG_NAMESPACE) return tagName === \"math\" && HTML_INTEGRATION_POINTS[parentTagName];\n\t\treturn Boolean(ALL_MATHML_TAGS[tagName]);\n\t};\n\t/**\n\t* Namespace rules for an element in the HTML namespace.\n\t*\n\t* @param tagName the element's lowercase tag name\n\t* @param parent the (possibly simulated) parent node\n\t* @param parentTagName the parent's lowercase tag name\n\t* @returns true if a spec-compliant parser could produce this element\n\t*/\n\tconst _checkHtmlNamespace = function _checkHtmlNamespace(tagName, parent, parentTagName) {\n\t\tif (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) return false;\n\t\tif (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) return false;\n\t\treturn !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n\t};\n\t/**\n\t* @param element a DOM element whose namespace is being checked\n\t* @returns Return false if the element has a\n\t* namespace that a spec-compliant parser would never\n\t* return. Return true otherwise.\n\t*/\n\tconst _checkValidNamespace = function _checkValidNamespace(element) {\n\t\tlet parent = getParentNode(element);\n\t\tif (!parent || !parent.tagName) parent = {\n\t\t\tnamespaceURI: NAMESPACE,\n\t\t\ttagName: \"template\"\n\t\t};\n\t\tconst tagName = stringToLowerCase(element.tagName);\n\t\tconst parentTagName = stringToLowerCase(parent.tagName);\n\t\tif (!ALLOWED_NAMESPACES[element.namespaceURI]) return false;\n\t\tif (element.namespaceURI === SVG_NAMESPACE) return _checkSvgNamespace(tagName, parent, parentTagName);\n\t\tif (element.namespaceURI === MATHML_NAMESPACE) return _checkMathMlNamespace(tagName, parent, parentTagName);\n\t\tif (element.namespaceURI === HTML_NAMESPACE) return _checkHtmlNamespace(tagName, parent, parentTagName);\n\t\tif (PARSER_MEDIA_TYPE === \"application/xhtml+xml\" && ALLOWED_NAMESPACES[element.namespaceURI]) return true;\n\t\treturn false;\n\t};\n\t/**\n\t* _forceRemove\n\t*\n\t* @param node a DOM node\n\t*/\n\tconst _forceRemove = function _forceRemove(node) {\n\t\tarrayPush(DOMPurify.removed, { element: node });\n\t\ttry {\n\t\t\tgetParentNode(node).removeChild(node);\n\t\t} catch (_) {\n\t\t\tremove(node);\n\t\t\tif (!getParentNode(node)) throw typeErrorCreate(\"a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place\");\n\t\t}\n\t};\n\t/**\n\t* _stripAttributeNode\n\t*\n\t* Remove a single Attr node case/namespace-exactly on an attribute-teardown\n\t* path. Name-based removeAttribute() ASCII-lowercases its lookup key for an\n\t* HTML element in an HTML document and so silently misses a case-preserved\n\t* handler (e.g. `ONERROR` off an XML/XHTML import) - the same defect\n\t* _removeAttribute() was fixed for, which a name-based call would reintroduce\n\t* on these IN_PLACE teardown paths. Unlike _removeAttribute this does not\n\t* record into DOMPurify.removed: the neutralize passes intentionally do not\n\t* book-keep. A clobbered/detached node falls back to best-effort name-based\n\t* removal.\n\t*\n\t* @param element the element to strip the attribute from\n\t* @param attribute the Attr node to remove\n\t* @param name the attribute's name, for the fallback path\n\t*/\n\tconst _stripAttributeNode = function _stripAttributeNode(element, attribute, name) {\n\t\ttry {\n\t\t\tremoveAttributeNode(element, attribute);\n\t\t} catch (_) {\n\t\t\ttry {\n\t\t\t\telement.removeAttribute(name);\n\t\t\t} catch (_) {}\n\t\t}\n\t};\n\t/**\n\t* _neutralizeRoot\n\t*\n\t* Fail-closed teardown of an in-place root after the sanitize walk aborts\n\t* (campaign-3 F2). An internal throw mid-walk — e.g. a page-registered\n\t* custom element's reaction detaches a node so `_forceRemove`'s deliberate\n\t* parentless guard throws, or any other re-entrant engine mutation — would\n\t* otherwise leave the caller's *live* tree half-sanitized, with everything\n\t* after the abort point still carrying its handlers. There is no safe way\n\t* to resume the walk (the tree mutated under us), so we strip the root bare:\n\t* remove every child and every attribute, then let the caller's catch see\n\t* the original error. Clobber-safe (cached `remove`/`childNodes`/`attributes`\n\t* getters; the root was already clobber-pre-flighted at the IN_PLACE entry).\n\t*\n\t* @param root the in-place root to empty\n\t*/\n\tconst _neutralizeRoot = function _neutralizeRoot(root) {\n\t\t_neutralizeSubtree(root);\n\t\tconst childNodes = getChildNodes(root);\n\t\tif (childNodes) {\n\t\t\tconst snapshot = [];\n\t\t\tarrayForEach(childNodes, (child) => {\n\t\t\t\tarrayPush(snapshot, child);\n\t\t\t});\n\t\t\tarrayForEach(snapshot, (child) => {\n\t\t\t\ttry {\n\t\t\t\t\tremove(child);\n\t\t\t\t} catch (_) {}\n\t\t\t});\n\t\t}\n\t\tconst attributes = getAttributes(root);\n\t\tif (attributes) for (let i = attributes.length - 1; i >= 0; --i) {\n\t\t\tconst attribute = attributes[i];\n\t\t\tconst name = attribute && attribute.name;\n\t\t\tif (typeof name === \"string\") _stripAttributeNode(root, attribute, name);\n\t\t}\n\t};\n\t/**\n\t* _removeAttribute\n\t*\n\t* Name-based getAttributeNode()/removeAttribute() ASCII-lowercase their\n\t* lookup key for HTML elements in an HTML document, so they silently miss an\n\t* attribute whose stored qualified name still contains uppercase ASCII\n\t* letters. That happens when the node came from a case-preserving source\n\t* (an XML/XHTML document imported via importNode(), or createAttributeNS()),\n\t* where e.g. `ONERROR` survives the walk: the policy check lowercases to\n\t* `onerror` and rejects it, but `removeAttribute('ONERROR')` looks up\n\t* `onerror` and finds nothing. Remove the exact Attr node instead, which is\n\t* case- and namespace-exact, and fall back to name-based removal only when\n\t* the caller could not supply the node.\n\t*\n\t* @param name an Attribute name\n\t* @param element a DOM node\n\t* @param attr the exact Attr node to remove, when the caller has it\n\t*/\n\tconst _removeAttribute = function _removeAttribute(name, element, attr) {\n\t\tif (!attr) try {\n\t\t\tattr = element.getAttributeNode(name);\n\t\t} catch (_) {\n\t\t\tattr = null;\n\t\t}\n\t\tarrayPush(DOMPurify.removed, {\n\t\t\tattribute: attr || null,\n\t\t\tfrom: element\n\t\t});\n\t\ttry {\n\t\t\tif (attr) removeAttributeNode(element, attr);\n\t\t\telse element.removeAttribute(name);\n\t\t} catch (_) {\n\t\t\ttry {\n\t\t\t\telement.removeAttribute(name);\n\t\t\t} catch (_) {}\n\t\t}\n\t\tif (name === \"is\") {\n\t\t\tif (RETURN_DOM || RETURN_DOM_FRAGMENT) try {\n\t\t\t\t_forceRemove(element);\n\t\t\t} catch (_) {}\n\t\t\telse try {\n\t\t\t\telement.setAttribute(name, \"\");\n\t\t\t} catch (_) {}\n\t\t}\n\t};\n\t/**\n\t* _stripDisallowedAttributes\n\t*\n\t* Removes every attribute the active configuration does not allow from a\n\t* single element, using the same allowlist as the main attribute pass (so\n\t* `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to\n\t* neutralise nodes that are being discarded from an in-place tree.\n\t*\n\t* @param element the element to strip\n\t*/\n\tconst _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {\n\t\tconst attributes = getAttributes(element);\n\t\tif (!attributes) return;\n\t\tfor (let i = attributes.length - 1; i >= 0; --i) {\n\t\t\tconst attribute = attributes[i];\n\t\t\tconst name = attribute && attribute.name;\n\t\t\tif (typeof name !== \"string\" || ALLOWED_ATTR[transformCaseFunc(name)]) continue;\n\t\t\t_stripAttributeNode(element, attribute, name);\n\t\t}\n\t};\n\t/**\n\t* _neutralizeSubtree\n\t*\n\t* Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT\n\t* move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,\n\t* namespace, comment, processing-instruction and KEEP_CONTENT:false removals\n\t* all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path\n\t* those dropped nodes are detached from the caller's LIVE tree but a\n\t* handler-bearing original among them (an `<img onerror>`/`<video>` that was\n\t* loading) keeps its queued resource event, which fires in page scope after\n\t* sanitize returns. This walks a removed subtree and strips every attribute\n\t* the active configuration does not allow — so `on*` handlers are cancelled\n\t* through the SAME allowlist that governs kept nodes, not a separate `/^on/`\n\t* blocklist. Run synchronously before sanitize returns, i.e. before any\n\t* queued event can fire. Hook-free by design: these nodes leave the output,\n\t* so firing attribute hooks for them would be surprising. Clobber-safe reads;\n\t* a doomed clobbered node may shadow `removeAttribute` (its own attributes are\n\t* irrelevant — it is discarded — while its non-clobbered descendants, e.g.\n\t* the `<img>`, are reached and scrubbed).\n\t*\n\t* @param root the root of a removed subtree to neutralise\n\t*/\n\tconst _neutralizeSubtree = function _neutralizeSubtree(root) {\n\t\tconst stack = [root];\n\t\twhile (stack.length > 0) {\n\t\t\tconst node = stack.pop();\n\t\t\tif (_readNodeType(node) === NODE_TYPE.element) _stripDisallowedAttributes(node);\n\t\t\tconst childNodes = getChildNodes(node);\n\t\t\tif (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push(childNodes[i]);\n\t\t}\n\t};\n\t/**\n\t* _neutralizePatchLinkage\n\t*\n\t* IN_PLACE entry pre-pass (declarative-partial-updates / streaming\n\t* hardening, https://github.com/WICG/declarative-partial-updates).\n\t*\n\t* The main walk strips patch linkage (`for`/`patchsrc`) and removes range\n\t* markers (PIs / markup comments) node-by-node, in document order, AS it\n\t* reaches each node. On a live in-place root that leaves a window: from the\n\t* moment the root is connected until the walk arrives at a given node, that\n\t* node's linkage is live. A patch applied on connection/stream can fire as\n\t* a microtask during the walk and inject or teleport an unsanitized DOM\n\t* range into a region the iterator has already passed and will not revisit,\n\t* so the post-return \"tree is sanitized\" contract is violated. Sweep the\n\t* whole tree once up front and sever every linkage before the walk begins,\n\t* closing that window.\n\t*\n\t* This CANNOT undo a patch that already fired before sanitize ran — that is\n\t* the irreducible \"do not IN_PLACE a live-connected attacker tree\" caveat —\n\t* but it closes everything from sanitize-start onward. Gated on SAFE_FOR_XML\n\t* to group with the rest of the declarative-partial-updates handling and\n\t* stay overridable, consistent with the codebase.\n\t*\n\t* Clobber-safe traversal (cached childNodes getter); per-node try/catch so a\n\t* clobbered root cannot defeat the sweep of its non-clobbered descendants.\n\t*\n\t* NOTE (pending real-Chrome confirmation, see test/declarative-patch-probe\n\t* .html Q1): this mirrors the existing policy of keeping `for` on\n\t* <label>/<output>. If the shipping feature can drive a patch through a\n\t* surviving `for`-on-label/output + `id` pair, this pre-pass and the\n\t* attribute check at _isBasicCustomElement's caller must additionally drop\n\t* that pair on the IN_PLACE path. Left as-is until the taxonomy is verified.\n\t*\n\t* @param root the in-place root to sweep\n\t*/\n\t/**\n\t* Central policy for declarative-partial-updates patch-linkage attributes,\n\t* shared by the _neutralizePatchLinkage pre-pass and _isValidAttribute so\n\t* the two sites cannot drift: `patchsrc` always links, `for` links\n\t* everywhere except on <label>/<output>, and the whole policy is gated on\n\t* SAFE_FOR_XML (see the rationale block in _isValidAttribute).\n\t*\n\t* @param lcName the transformCaseFunc'd attribute name\n\t* @param lcTag the transformCaseFunc'd tag name of the carrying element\n\t* @return true if the attribute is patch linkage and must be dropped\n\t*/\n\tconst _isPatchLinkageAttribute = function _isPatchLinkageAttribute(lcName, lcTag) {\n\t\tif (!SAFE_FOR_XML) return false;\n\t\tif (lcName === \"patchsrc\") return true;\n\t\treturn lcName === \"for\" && lcTag !== \"label\" && lcTag !== \"output\";\n\t};\n\tconst _neutralizePatchLinkage = function _neutralizePatchLinkage(root) {\n\t\tif (!SAFE_FOR_XML) return;\n\t\tconst stack = [root];\n\t\twhile (stack.length > 0) {\n\t\t\tconst node = stack.pop();\n\t\t\tconst nodeType = _readNodeType(node);\n\t\t\tif (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {\n\t\t\t\ttry {\n\t\t\t\t\tremove(node);\n\t\t\t\t} catch (_) {}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (nodeType === NODE_TYPE.element) {\n\t\t\t\tconst element = node;\n\t\t\t\tconst lcTag = transformCaseFunc(_readNodeName(node));\n\t\t\t\ttry {\n\t\t\t\t\tif (element.hasAttribute && element.hasAttribute(\"patchsrc\")) element.removeAttribute(\"patchsrc\");\n\t\t\t\t\tif (element.hasAttribute && element.hasAttribute(\"for\") && _isPatchLinkageAttribute(\"for\", lcTag)) element.removeAttribute(\"for\");\n\t\t\t\t} catch (_) {}\n\t\t\t}\n\t\t\tconst childNodes = getChildNodes(node);\n\t\t\tif (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push(childNodes[i]);\n\t\t}\n\t};\n\t/**\n\t* _initDocument\n\t*\n\t* @param dirty - a string of dirty markup\n\t* @return a DOM, filled with the dirty markup\n\t*/\n\tconst _initDocument = function _initDocument(dirty) {\n\t\tlet doc = null;\n\t\tlet leadingWhitespace = null;\n\t\tif (FORCE_BODY) dirty = \"<remove></remove>\" + dirty;\n\t\telse {\n\t\t\tconst matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n\t\t\tleadingWhitespace = matches && matches[0];\n\t\t}\n\t\tif (PARSER_MEDIA_TYPE === \"application/xhtml+xml\" && NAMESPACE === HTML_NAMESPACE) dirty = \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\"><head></head><body>\" + dirty + \"</body></html>\";\n\t\tconst dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;\n\t\tif (NAMESPACE === HTML_NAMESPACE) try {\n\t\t\tdoc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n\t\t} catch (_) {}\n\t\tif (!doc || !doc.documentElement) {\n\t\t\tdoc = implementation.createDocument(NAMESPACE, \"template\", null);\n\t\t\ttry {\n\t\t\t\tdoc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n\t\t\t} catch (_) {}\n\t\t}\n\t\tconst body = doc.body || doc.documentElement;\n\t\tif (dirty && leadingWhitespace) body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n\t\tif (NAMESPACE === HTML_NAMESPACE) return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? \"html\" : \"body\")[0];\n\t\treturn WHOLE_DOCUMENT ? doc.documentElement : body;\n\t};\n\t/**\n\t* Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n\t*\n\t* @param root The root element or node to start traversing on.\n\t* @return The created NodeIterator\n\t*/\n\tconst _createNodeIterator = function _createNodeIterator(root) {\n\t\tconst doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;\n\t\treturn createNodeIterator.call(doc || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n\t};\n\t/**\n\t* Replace template expression syntax (mustache, ERB, template\n\t* literal) with a space; shared by all SAFE_FOR_TEMPLATES scrub\n\t* sites. Order matters: mustache, then ERB, then template literal.\n\t*\n\t* @param value the string to scrub\n\t* @returns the scrubbed string\n\t*/\n\tconst _stripTemplateExpressions = function _stripTemplateExpressions(value) {\n\t\tvalue = stringReplace(value, MUSTACHE_EXPR$1, \" \");\n\t\tvalue = stringReplace(value, ERB_EXPR$1, \" \");\n\t\tvalue = stringReplace(value, TMPLIT_EXPR$1, \" \");\n\t\treturn value;\n\t};\n\t/**\n\t* Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the\n\t* character data of an element subtree. Used as the final safety net for\n\t* SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions\n\t* which only form after text-node normalization (e.g. fragments split across\n\t* stripped elements) cannot survive into a template-evaluating framework.\n\t*\n\t* Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`\n\t* in place rather than round-tripping through innerHTML. This preserves\n\t* descendant node references (important for IN_PLACE callers), avoids a\n\t* serialize/reparse cycle, and reads literal character data — which means\n\t* `<%...%>` in text content matches the ERB regex against its real bytes\n\t* instead of the HTML-entity-escaped form innerHTML would produce.\n\t*\n\t* Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for\n\t* attributes is performed during the per-node `_sanitizeAttributes` pass.\n\t*\n\t* @param node The root element whose character data should be scrubbed.\n\t*/\n\tconst _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {\n\t\tvar _node$querySelectorAl;\n\t\tnode.normalize();\n\t\tconst doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;\n\t\tconst walker = createNodeIterator.call(doc || node, node, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);\n\t\tlet currentNode = walker.nextNode();\n\t\twhile (currentNode) {\n\t\t\tcurrentNode.data = _stripTemplateExpressions(currentNode.data);\n\t\t\tcurrentNode = walker.nextNode();\n\t\t}\n\t\tconst templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, \"template\");\n\t\tif (templates) arrayForEach(templates, (tmpl) => {\n\t\t\tif (_isDocumentFragment(tmpl.content)) _scrubTemplateExpressions2(tmpl.content);\n\t\t});\n\t};\n\t/**\n\t* _isClobbered\n\t*\n\t* Detect DOM-clobbering on HTMLFormElement nodes. Form is the only HTML\n\t* interface with [LegacyOverrideBuiltIns]; a descendant element with a\n\t* `name` attribute matching a prototype property shadows that property\n\t* on direct reads. We use this check at the IN_PLACE entry-point and\n\t* during attribute sanitization to refuse clobbered forms.\n\t*\n\t* @param element element to check for clobbering attacks\n\t* @return true if clobbered, false if safe\n\t*/\n\tconst _isClobbered = function _isClobbered(element) {\n\t\tconst realTagName = getNodeName ? getNodeName(element) : null;\n\t\tif (typeof realTagName !== \"string\") return false;\n\t\tif (transformCaseFunc(realTagName) !== \"form\") return false;\n\t\treturn typeof element.nodeName !== \"string\" || typeof element.textContent !== \"string\" || typeof element.removeChild !== \"function\" || element.attributes !== getAttributes(element) || typeof element.removeAttribute !== \"function\" || typeof element.removeAttributeNode !== \"function\" || typeof element.getAttributeNode !== \"function\" || typeof element.setAttribute !== \"function\" || typeof element.namespaceURI !== \"string\" || typeof element.insertBefore !== \"function\" || typeof element.hasChildNodes !== \"function\" || element.nodeType !== getNodeType(element) || element.childNodes !== getChildNodes(element);\n\t};\n\t/**\n\t* Checks whether the given value is a DocumentFragment from any realm.\n\t*\n\t* The realm-independent replacement reads `nodeType` through the cached\n\t* Node.prototype getter and compares to the DOCUMENT_FRAGMENT_NODE\n\t* constant (11). nodeType is a numeric value resolved from the node's\n\t* internal slot, identical across realms for the same kind of node.\n\t*\n\t* @param value object to check\n\t* @return true if value is a DocumentFragment-shaped node from any realm\n\t*/\n\tconst _isDocumentFragment = function _isDocumentFragment(value) {\n\t\tif (!getNodeType || typeof value !== \"object\" || value === null) return false;\n\t\ttry {\n\t\t\treturn getNodeType(value) === NODE_TYPE.documentFragment;\n\t\t} catch (_) {\n\t\t\treturn false;\n\t\t}\n\t};\n\t/**\n\t* Checks whether the given object is a DOM node, including nodes that\n\t* originate from a different window/realm (e.g. an iframe's\n\t* contentDocument). The previous `value instanceof Node` check was\n\t* realm-bound: nodes from a different window failed it, causing\n\t* sanitize() to silently stringify them and reset IN_PLACE to false,\n\t* returning the original node unsanitized. See GHSA-4w3q-35jp-p934.\n\t*\n\t* @param value object to check whether it's a DOM node\n\t* @return true if value is a DOM node from any realm\n\t*/\n\tconst _isNode = function _isNode(value) {\n\t\tif (!getNodeType || typeof value !== \"object\" || value === null) return false;\n\t\ttry {\n\t\t\treturn typeof getNodeType(value) === \"number\";\n\t\t} catch (_) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tfunction _executeHooks(hooks, currentNode, data) {\n\t\tif (hooks.length === 0) return;\n\t\tarrayForEach(hooks, (hook) => {\n\t\t\thook.call(DOMPurify, currentNode, data, CONFIG);\n\t\t});\n\t}\n\t/**\n\t* Structural-threat checks that condemn a node regardless of the\n\t* allowlists: mXSS via namespace confusion, risky CSS construction,\n\t* processing instructions, markup-bearing comments. Pure predicate;\n\t* the caller removes. Check order is load-bearing.\n\t*\n\t* @param currentNode the node to inspect\n\t* @param tagName the node's transformCaseFunc'd tag name\n\t* @return true if the node must be removed\n\t*/\n\tconst _isUnsafeNode = function _isUnsafeNode(currentNode, tagName) {\n\t\tif (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) return true;\n\t\tif (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && LITERAL_TEXT_ELEMENTS[tagName] && (_isNode(currentNode.firstElementChild) || typeof currentNode.textContent === \"string\" && regExpTest(LITERAL_TEXT_CLOSE[tagName], currentNode.textContent))) return true;\n\t\tif (currentNode.nodeType === NODE_TYPE.processingInstruction) return true;\n\t\tif (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) return true;\n\t\treturn false;\n\t};\n\t/**\n\t* Evaluate a CUSTOM_ELEMENT_HANDLING check (a RegExp or a predicate\n\t* function, per the validation in _parseConfig) against a name.\n\t* Additional arguments are forwarded to predicate functions - the\n\t* attributeNameCheck predicate receives the tag name as its second\n\t* argument. A null/absent check never matches.\n\t*\n\t* @param check the configured tagNameCheck / attributeNameCheck value\n\t* @param name the name to test\n\t* @param args extra arguments forwarded to a predicate function\n\t* @return true if the check matches the name\n\t*/\n\tconst _matchesNameCheck = function _matchesNameCheck(check, name) {\n\t\tif (check instanceof RegExp) return regExpTest(check, name);\n\t\tif (check instanceof Function) {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];\n\t\t\treturn Boolean(check(name, ...args));\n\t\t}\n\t\treturn false;\n\t};\n\t/**\n\t* Handle a node whose tag is forbidden or not allowlisted: keep\n\t* allowed custom elements (false return exits _sanitizeElements\n\t* early - the namespace and fallback-tag removal checks are\n\t* intentionally skipped for kept custom elements), else hoist\n\t* content per KEEP_CONTENT and remove.\n\t*\n\t* A kept custom element is the ONLY case in which this function\n\t* returns false, so the caller uses that return value to run the\n\t* afterSanitizeElements hook on the kept element and keep the\n\t* element-hook lifecycle consistent with normal allowlisted\n\t* elements (GHSA-c2j3-45gr-mqc4).\n\t*\n\t* @param currentNode the disallowed node\n\t* @param tagName the node's transformCaseFunc'd tag name\n\t* @return true if the node was removed, false if kept\n\t*/\n\tconst _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName, root) {\n\t\tif (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n\t\tif (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n\t\t\tconst parentNode = getParentNode(currentNode);\n\t\t\tconst childNodes = getChildNodes(currentNode);\n\t\t\tif (childNodes && parentNode) {\n\t\t\t\tconst childCount = childNodes.length;\n\t\t\t\tfor (let i = childCount - 1; i >= 0; --i) {\n\t\t\t\t\tconst hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];\n\t\t\t\t\tparentNode.insertBefore(hoisted, getNextSibling(currentNode));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_forceRemove(currentNode);\n\t\treturn true;\n\t};\n\t/**\n\t* Fork a hook-mutable allowlist off its shared binding the first time a\n\t* (possibly lazily-installed) uponSanitize* hook is about to see it, so the\n\t* hook cannot widen the per-instance default or the setConfig binding by\n\t* reference and leak past the call. Returns the set unchanged once it is\n\t* already call-local, so repeated calls across elements are idempotent.\n\t*\n\t* @param hookList the uponSanitize* hook array for this event\n\t* @param set the current ALLOWED_TAGS / ALLOWED_ATTR binding\n\t* @param defaultSet the per-instance DEFAULT_ALLOWED_* constant\n\t* @param setConfigSet the captured setConfig() binding, or null\n\t* @return a call-local clone if a hook is present and set is still shared,\n\t* else set unchanged\n\t*/\n\tconst _forkSharedAllowlist = function _forkSharedAllowlist(hookList, set, defaultSet, setConfigSet) {\n\t\tif (hookList.length === 0) return set;\n\t\treturn set === defaultSet || set === setConfigSet ? clone(set) : set;\n\t};\n\t/**\n\t* Shared guard for a node that a hook has detached from the walk tree,\n\t* used after each element-hook site in _sanitizeElements. Detaching is a\n\t* long-standing user pattern (issue #469; draw.io-style foreignObject\n\t* filtering). Per the cached, unclobberable parentNode getter the node is\n\t* genuinely out of the tree, so it can reach neither the serialized\n\t* output nor an IN_PLACE live tree; treat it as removed and stop\n\t* processing it. Without this guard, the unsafe-node / namespace checks\n\t* would call _forceRemove on a parentless node and hit the REPORT-3\n\t* fail-closed throw — which exists for nodes DOMPurify wants gone but\n\t* *cannot* detach (clobbered / parentless roots), the opposite of a node\n\t* that is already safely gone. The walk root is exempt: a detached\n\t* IN_PLACE root is legitimate input and must still be fully sanitized,\n\t* and a kill-decision on it must keep hitting the REPORT-3 throw.\n\t*\n\t* Nodes detached by hooks stay the hook's responsibility for placement:\n\t* they are not recorded in DOMPurify.removed, so the post-walk IN_PLACE\n\t* pass (which iterates DOMPurify.removed) does not reach them. But a\n\t* hook-detached subtree can still hold a queued resource-event handler -\n\t* e.g. an <img onload> that began loading when the caller built the live\n\t* tree - which fires in page scope after sanitize returns even though the\n\t* handler never reached the returned tree. That is the audit-5 F1 hazard,\n\t* and the documented node.remove() hook pattern walks straight into it.\n\t* So on the IN_PLACE path we neutralize the detached subtree inline,\n\t* stripping its non-allow-listed attributes before returning, exactly as\n\t* the post-walk pass does for _forceRemove'd subtrees.\n\t*\n\t* @param currentNode the node a hook may have detached\n\t* @param root the current walk root\n\t* @return true if the node is detached and now handled, false otherwise\n\t*/\n\tconst _handleHookDetachedNode = function _handleHookDetachedNode(currentNode, root) {\n\t\tif (currentNode === root || getParentNode(currentNode) !== null) return false;\n\t\tif (IN_PLACE) _neutralizeSubtree(currentNode);\n\t\treturn true;\n\t};\n\t/**\n\t* _sanitizeElements\n\t*\n\t* @protect nodeName\n\t* @protect textContent\n\t* @protect removeChild\n\t* @param currentNode to check for permission to exist\n\t* @return true if node was killed, false if left alive\n\t*/\n\tconst _sanitizeElements = function _sanitizeElements(currentNode, root) {\n\t\t_executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n\t\tif (_handleHookDetachedNode(currentNode, root)) return true;\n\t\tif (_isClobbered(currentNode)) {\n\t\t\t_forceRemove(currentNode);\n\t\t\treturn true;\n\t\t}\n\t\tconst tagName = transformCaseFunc(_readNodeName(currentNode));\n\t\tALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);\n\t\t_executeHooks(hooks.uponSanitizeElement, currentNode, {\n\t\t\ttagName,\n\t\t\tallowedTags: ALLOWED_TAGS\n\t\t});\n\t\tif (_handleHookDetachedNode(currentNode, root)) return true;\n\t\tif (_isUnsafeNode(currentNode, tagName)) {\n\t\t\t_forceRemove(currentNode);\n\t\t\treturn true;\n\t\t}\n\t\tif (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {\n\t\t\tconst removed = _sanitizeDisallowedNode(currentNode, tagName, root);\n\t\t\tif (removed === false) {\n\t\t\t\t_executeHooks(hooks.afterSanitizeElements, currentNode, null);\n\t\t\t\tif (_handleHookDetachedNode(currentNode, root)) return true;\n\t\t\t}\n\t\t\treturn removed;\n\t\t}\n\t\tif (_readNodeType(currentNode) === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {\n\t\t\t_forceRemove(currentNode);\n\t\t\treturn true;\n\t\t}\n\t\tif ((tagName === \"noscript\" || tagName === \"noembed\" || tagName === \"noframes\") && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {\n\t\t\t_forceRemove(currentNode);\n\t\t\treturn true;\n\t\t}\n\t\tif (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n\t\t\tconst content = _stripTemplateExpressions(currentNode.textContent);\n\t\t\tif (currentNode.textContent !== content) {\n\t\t\t\tarrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n\t\t\t\tcurrentNode.textContent = content;\n\t\t\t}\n\t\t}\n\t\t_executeHooks(hooks.afterSanitizeElements, currentNode, null);\n\t\treturn _handleHookDetachedNode(currentNode, root);\n\t};\n\t/**\n\t* _isValidAttribute\n\t*\n\t* @param lcTag Lowercase tag name of containing element.\n\t* @param lcName Lowercase attribute name.\n\t* @param value Attribute value.\n\t* @return Returns true if `value` is valid, otherwise false.\n\t*/\n\tconst _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n\t\tif (FORBID_ATTR[lcName]) return false;\n\t\tif (_isPatchLinkageAttribute(lcName, lcTag)) return false;\n\t\tif (SANITIZE_DOM && (lcName === \"id\" || lcName === \"name\") && (value in document || value in formElement)) return false;\n\t\tconst nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);\n\t\tif (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) return true;\n\t\tif (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) return true;\n\t\tif (!nameIsPermitted) return _isBasicCustomElement(lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName, lcTag) || lcName === \"is\" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value);\n\t\tif (URI_SAFE_ATTRIBUTES[lcName]) return true;\n\t\tif (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, \"\"))) return true;\n\t\tif ((lcName === \"src\" || lcName === \"xlink:href\" || lcName === \"href\") && lcTag !== \"script\" && stringIndexOf(value, \"data:\") === 0 && DATA_URI_TAGS[lcTag]) return true;\n\t\tif (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, \"\"))) return true;\n\t\treturn !value;\n\t};\n\tconst RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, [\n\t\t\"annotation-xml\",\n\t\t\"color-profile\",\n\t\t\"font-face\",\n\t\t\"font-face-format\",\n\t\t\"font-face-name\",\n\t\t\"font-face-src\",\n\t\t\"font-face-uri\",\n\t\t\"missing-glyph\"\n\t]);\n\t/**\n\t* _isBasicCustomElement\n\t* checks if at least one dash is included in tagName, and it's not the first char\n\t* for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n\t*\n\t* @param tagName name of the tag of the node to sanitize\n\t* @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n\t*/\n\tconst _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n\t\treturn !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);\n\t};\n\t/**\n\t* Wrap an attribute value in the matching Trusted Types object when\n\t* the active policy requires it. Namespaced attributes pass through\n\t* unchanged (no TT support yet, see\n\t* https://bugs.chromium.org/p/chromium/issues/detail?id=1305293).\n\t*\n\t* @param lcTag lowercase tag name of the containing element\n\t* @param lcName lowercase attribute name\n\t* @param namespaceURI the attribute's namespace, if any\n\t* @param value the attribute value to wrap\n\t* @return the value, wrapped when Trusted Types demand it\n\t*/\n\tconst _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value) {\n\t\tif (trustedTypesPolicy && typeof trustedTypes === \"object\" && typeof trustedTypes.getAttributeType === \"function\" && !namespaceURI) switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n\t\t\tcase \"TrustedHTML\": return _createTrustedHTML(value);\n\t\t\tcase \"TrustedScriptURL\": return _createTrustedScriptURL(value);\n\t\t}\n\t\treturn value;\n\t};\n\t/**\n\t* Write a modified attribute value back onto the element. On\n\t* success, re-probe for clobbering introduced by the new value and\n\t* remove the element when found; otherwise, when this writeback is the\n\t* recreate half of the SANITIZE_NAMED_PROPS remove-and-recreate, pop the\n\t* removal entry that path recorded so it does not show as removed. On\n\t* failure, remove the attribute instead.\n\t*\n\t* Returns true only on a clean write (the value was set and the new value\n\t* introduced no clobbering). The caller uses that, together with its own\n\t* knowledge of whether this attribute pushed a DOMPurify.removed record, to\n\t* decide whether to pop that record. The pop must happen ONLY for the\n\t* named-prop remove-and-recreate; popping on any other value change (trim,\n\t* template scrubbing, Trusted Types) would consume an unrelated _forceRemove\n\t* subtree-cleanup record and let that detached subtree keep a live event\n\t* handler through the IN_PLACE neutralization pass (SO-001).\n\t*\n\t* @param currentNode the element carrying the attribute\n\t* @param name the attribute name as present on the element\n\t* @param namespaceURI the attribute's namespace, if any\n\t* @param value the new attribute value\n\t* @return true if the value was written without introducing clobbering\n\t*/\n\tconst _setAttributeValue = function _setAttributeValue(currentNode, name, namespaceURI, value) {\n\t\ttry {\n\t\t\tif (namespaceURI) currentNode.setAttributeNS(namespaceURI, name, value);\n\t\t\telse currentNode.setAttribute(name, value);\n\t\t\tif (_isClobbered(currentNode)) {\n\t\t\t\t_forceRemove(currentNode);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t} catch (_) {\n\t\t\t_removeAttribute(name, currentNode);\n\t\t\treturn false;\n\t\t}\n\t};\n\t/**\n\t* _sanitizeAttributes\n\t*\n\t* @protect attributes\n\t* @protect nodeName\n\t* @protect removeAttribute\n\t* @protect setAttribute\n\t*\n\t* @param currentNode to sanitize\n\t* @param root the current walk root\n\t*/\n\tconst _sanitizeAttributes = function _sanitizeAttributes(currentNode, root) {\n\t\t_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n\t\tif (_handleHookDetachedNode(currentNode, root)) return;\n\t\tconst attributes = currentNode.attributes;\n\t\tif (!attributes || _isClobbered(currentNode)) return;\n\t\tALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);\n\t\tconst hookEvent = {\n\t\t\tattrName: \"\",\n\t\t\tattrValue: \"\",\n\t\t\tkeepAttr: true,\n\t\t\tallowedAttributes: ALLOWED_ATTR,\n\t\t\tforceKeepAttr: void 0\n\t\t};\n\t\tlet l = attributes.length;\n\t\tconst lcTag = transformCaseFunc(currentNode.nodeName);\n\t\twhile (l--) {\n\t\t\tconst attr = attributes[l];\n\t\t\tconst name = attr.name, namespaceURI = attr.namespaceURI, attrValue = attr.value;\n\t\t\tconst lcName = transformCaseFunc(name);\n\t\t\tconst initValue = attrValue;\n\t\t\tlet value = name === \"value\" ? initValue : stringTrim(initValue);\n\t\t\tlet recreatedNamedProp = false;\n\t\t\thookEvent.attrName = lcName;\n\t\t\thookEvent.attrValue = value;\n\t\t\thookEvent.keepAttr = true;\n\t\t\thookEvent.forceKeepAttr = void 0;\n\t\t\t_executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n\t\t\tvalue = hookEvent.attrValue;\n\t\t\tif (SANITIZE_NAMED_PROPS && (lcName === \"id\" || lcName === \"name\") && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tvalue = SANITIZE_NAMED_PROPS_PREFIX + value;\n\t\t\t\trecreatedNamedProp = true;\n\t\t\t}\n\t\t\tif (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (lcName === \"attributename\" && stringMatch(value, \"href\")) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (hookEvent.forceKeepAttr) continue;\n\t\t\tif (!hookEvent.keepAttr) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (SAFE_FOR_TEMPLATES) value = _stripTemplateExpressions(value);\n\t\t\tif (!_isValidAttribute(lcTag, lcName, value)) {\n\t\t\t\t_removeAttribute(name, currentNode, attr);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvalue = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);\n\t\t\tif (value !== initValue) {\n\t\t\t\tif (_setAttributeValue(currentNode, name, namespaceURI, value) && recreatedNamedProp) arrayPop(DOMPurify.removed);\n\t\t\t}\n\t\t}\n\t\t_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n\t\t_handleHookDetachedNode(currentNode, root);\n\t};\n\t/**\n\t* _sanitizeShadowDOM\n\t*\n\t* @param fragment to iterate over recursively\n\t*/\n\tconst _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {\n\t\tlet shadowNode = null;\n\t\tconst shadowIterator = _createNodeIterator(fragment);\n\t\t_executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n\t\twhile (shadowNode = shadowIterator.nextNode()) {\n\t\t\t_executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n\t\t\t_sanitizeElements(shadowNode, fragment);\n\t\t\t_sanitizeAttributes(shadowNode, fragment);\n\t\t\tif (_isDocumentFragment(shadowNode.content)) _sanitizeShadowDOM2(shadowNode.content);\n\t\t\tif (_readNodeType(shadowNode) === NODE_TYPE.element) {\n\t\t\t\tconst innerSr = getShadowRoot(shadowNode);\n\t\t\t\tif (_isDocumentFragment(innerSr)) {\n\t\t\t\t\t_sanitizeAttachedShadowRoots(innerSr);\n\t\t\t\t\t_sanitizeShadowDOM2(innerSr);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n\t};\n\t/**\n\t* _sanitizeAttachedShadowRoots\n\t*\n\t* Walks `root` and feeds every attached shadow root we encounter into\n\t* the existing _sanitizeShadowDOM pipeline. The default node iterator\n\t* does not descend into shadow trees, so nodes inside an attached\n\t* shadow root would otherwise be skipped entirely.\n\t*\n\t* Two real input paths put attached shadow roots in front of us:\n\t* 1. IN_PLACE on a DOM node that already has shadow roots attached.\n\t* 2. DOM-node input where importNode(dirty, true) deep-clones the\n\t* shadow root because it was created with `clonable: true`.\n\t*\n\t* This pass runs once, up front, so the main iteration loop (and the\n\t* existing _sanitizeShadowDOM template-content recursion) stay\n\t* untouched — string-input paths are not affected.\n\t*\n\t* @param root the subtree root to walk for attached shadow roots\n\t*/\n\tconst _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots(root) {\n\t\tconst stack = [{\n\t\t\tnode: root,\n\t\t\tshadow: null\n\t\t}];\n\t\twhile (stack.length > 0) {\n\t\t\tconst item = stack.pop();\n\t\t\tif (item.shadow) {\n\t\t\t\t_sanitizeShadowDOM2(item.shadow);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst node = item.node;\n\t\t\tconst isElement = _readNodeType(node) === NODE_TYPE.element;\n\t\t\tconst childNodes = getChildNodes(node);\n\t\t\tif (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push({\n\t\t\t\tnode: childNodes[i],\n\t\t\t\tshadow: null\n\t\t\t});\n\t\t\tif (isElement) {\n\t\t\t\tconst rootName = getNodeName ? getNodeName(node) : null;\n\t\t\t\tif (typeof rootName === \"string\" && transformCaseFunc(rootName) === \"template\") {\n\t\t\t\t\tconst content = node.content;\n\t\t\t\t\tif (_isDocumentFragment(content)) stack.push({\n\t\t\t\t\t\tnode: content,\n\t\t\t\t\t\tshadow: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isElement) {\n\t\t\t\tconst sr = getShadowRoot(node);\n\t\t\t\tif (_isDocumentFragment(sr)) stack.push({\n\t\t\t\t\tnode: null,\n\t\t\t\t\tshadow: sr\n\t\t\t\t}, {\n\t\t\t\t\tnode: sr,\n\t\t\t\t\tshadow: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\tDOMPurify.sanitize = function(dirty) {\n\t\tlet cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n\t\tlet body = null;\n\t\tlet importedNode = null;\n\t\tlet currentNode = null;\n\t\tlet returnNode = null;\n\t\tIS_EMPTY_INPUT = !dirty;\n\t\tif (IS_EMPTY_INPUT) dirty = \"<!-->\";\n\t\tif (typeof dirty !== \"string\" && !_isNode(dirty)) {\n\t\t\tdirty = stringifyValue(dirty);\n\t\t\tif (typeof dirty !== \"string\") throw typeErrorCreate(\"dirty is not a string, aborting\");\n\t\t}\n\t\tif (!DOMPurify.isSupported) return dirty;\n\t\tif (SET_CONFIG) {\n\t\t\tALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;\n\t\t\tALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;\n\t\t} else _parseConfig(cfg);\n\t\tif (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) ALLOWED_TAGS = clone(ALLOWED_TAGS);\n\t\tif (hooks.uponSanitizeAttribute.length > 0) ALLOWED_ATTR = clone(ALLOWED_ATTR);\n\t\tDOMPurify.removed = [];\n\t\tconst inPlace = IN_PLACE && typeof dirty !== \"string\" && _isNode(dirty);\n\t\tif (inPlace) {\n\t\t\t_neutralizePatchLinkage(dirty);\n\t\t\tconst nn = _readNodeName(dirty);\n\t\t\tif (typeof nn === \"string\") {\n\t\t\t\tconst tagName = transformCaseFunc(nn);\n\t\t\t\tif (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n\t\t\t\t\t_neutralizeRoot(dirty);\n\t\t\t\t\tthrow typeErrorCreate(\"root node is forbidden and cannot be sanitized in-place\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (_isClobbered(dirty)) {\n\t\t\t\t_neutralizeRoot(dirty);\n\t\t\t\tthrow typeErrorCreate(\"root node is clobbered and cannot be sanitized in-place\");\n\t\t\t}\n\t\t\ttry {\n\t\t\t\t_sanitizeAttachedShadowRoots(dirty);\n\t\t\t} catch (error) {\n\t\t\t\t_neutralizeRoot(dirty);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} else if (_isNode(dirty)) {\n\t\t\tbody = _initDocument(\"<!---->\");\n\t\t\timportedNode = body.ownerDocument.importNode(dirty, true);\n\t\t\tif (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === \"BODY\") body = importedNode;\n\t\t\telse if (importedNode.nodeName === \"HTML\") body = importedNode;\n\t\t\telse body.appendChild(importedNode);\n\t\t\t_sanitizeAttachedShadowRoots(body);\n\t\t} else {\n\t\t\tif (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf(\"<\") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;\n\t\t\tbody = _initDocument(dirty);\n\t\t\tif (!body) return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : \"\";\n\t\t}\n\t\tif (body && FORCE_BODY) _forceRemove(body.firstChild);\n\t\tconst walkRoot = inPlace ? dirty : body;\n\t\ttry {\n\t\t\tconst nodeIterator = _createNodeIterator(walkRoot);\n\t\t\twhile (currentNode = nodeIterator.nextNode()) {\n\t\t\t\t_sanitizeElements(currentNode, walkRoot);\n\t\t\t\t_sanitizeAttributes(currentNode, walkRoot);\n\t\t\t\tif (_isDocumentFragment(currentNode.content)) _sanitizeShadowDOM2(currentNode.content);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (inPlace) {\n\t\t\t\t_neutralizeRoot(dirty);\n\t\t\t\tarrayForEach(DOMPurify.removed, (entry) => {\n\t\t\t\t\tif (entry.element) _neutralizeSubtree(entry.element);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tif (inPlace) {\n\t\t\tlet rootWasRemoved = false;\n\t\t\tarrayForEach(DOMPurify.removed, (entry) => {\n\t\t\t\tif (entry.element) {\n\t\t\t\t\tif (entry.element === dirty) rootWasRemoved = true;\n\t\t\t\t\t_neutralizeSubtree(entry.element);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (rootWasRemoved) throw typeErrorCreate(\"a node selected for removal could not be safely returned; refusing to sanitize in place\");\n\t\t\tif (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(dirty);\n\t\t\treturn dirty;\n\t\t}\n\t\tif (RETURN_DOM) {\n\t\t\tif (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(body);\n\t\t\tif (RETURN_DOM_FRAGMENT) {\n\t\t\t\treturnNode = createDocumentFragment.call(body.ownerDocument);\n\t\t\t\twhile (body.firstChild) returnNode.appendChild(body.firstChild);\n\t\t\t} else returnNode = body;\n\t\t\tif (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) returnNode = importNode.call(originalDocument, returnNode, true);\n\t\t\treturn returnNode;\n\t\t}\n\t\tlet serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\t\tif (WHOLE_DOCUMENT && ALLOWED_TAGS[\"!doctype\"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) serializedHTML = \"<!DOCTYPE \" + body.ownerDocument.doctype.name + \">\\n\" + serializedHTML;\n\t\tif (SAFE_FOR_TEMPLATES) serializedHTML = _stripTemplateExpressions(serializedHTML);\n\t\treturn trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;\n\t};\n\tDOMPurify.setConfig = function() {\n\t\tlet cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\t\t_parseConfig(cfg);\n\t\tSET_CONFIG = true;\n\t\tSET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;\n\t\tSET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;\n\t};\n\tDOMPurify.clearConfig = function() {\n\t\tCONFIG = null;\n\t\tSET_CONFIG = false;\n\t\tSET_CONFIG_ALLOWED_TAGS = null;\n\t\tSET_CONFIG_ALLOWED_ATTR = null;\n\t\ttrustedTypesPolicy = defaultTrustedTypesPolicy;\n\t\temptyHTML = \"\";\n\t};\n\tDOMPurify.isValidAttribute = function(tag, attr, value) {\n\t\tif (!CONFIG) _parseConfig({});\n\t\tconst lcTag = transformCaseFunc(tag);\n\t\tconst lcName = transformCaseFunc(attr);\n\t\treturn _isValidAttribute(lcTag, lcName, value);\n\t};\n\tDOMPurify.addHook = function(entryPoint, hookFunction) {\n\t\tif (typeof hookFunction !== \"function\") return;\n\t\tif (!objectHasOwnProperty(hooks, entryPoint)) return;\n\t\tarrayPush(hooks[entryPoint], hookFunction);\n\t};\n\tDOMPurify.removeHook = function(entryPoint, hookFunction) {\n\t\tif (!objectHasOwnProperty(hooks, entryPoint)) return;\n\t\tif (hookFunction !== void 0) {\n\t\t\tconst index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n\t\t\treturn index === -1 ? void 0 : arraySplice(hooks[entryPoint], index, 1)[0];\n\t\t}\n\t\treturn arrayPop(hooks[entryPoint]);\n\t};\n\tDOMPurify.removeHooks = function(entryPoint) {\n\t\tif (!objectHasOwnProperty(hooks, entryPoint)) return;\n\t\thooks[entryPoint] = [];\n\t};\n\tDOMPurify.removeAllHooks = function() {\n\t\thooks = _createHooksMap();\n\t};\n\treturn DOMPurify;\n}\nvar purify_default = createDOMPurify();\nexport { purify_default as default };\n\n//# sourceMappingURL=purify.es.mjs.map","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import { generateFilePath } from \"@nextcloud/router\";\nimport DOMPurify from \"dompurify\";\nimport escapeHTML from \"escape-html\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction getLocale() {\n return globalThis._nc_l10n_locale;\n}\nfunction getCanonicalLocale() {\n return getLocale().replaceAll(/_/g, \"-\");\n}\nfunction setLocale(locale) {\n globalThis._nc_l10n_locale = locale;\n if (typeof document !== \"undefined\") {\n document.documentElement.dataset.locale = locale;\n }\n}\nfunction getLanguage() {\n return globalThis._nc_l10n_language;\n}\nfunction setLanguage(lang) {\n globalThis._nc_l10n_language = lang;\n if (typeof document !== \"undefined\") {\n document.documentElement.lang = lang;\n }\n}\nfunction isRTL(language) {\n const languageCode = language || getLanguage();\n const rtlLanguages = [\n \"ae\",\n // Avestan\n \"ar\",\n // 'العربية', Arabic\n \"arc\",\n // Aramaic\n \"arz\",\n // 'مصرى', Egyptian\n \"bcc\",\n // 'بلوچی مکرانی', Southern Balochi\n \"bqi\",\n // 'بختياري', Bakthiari\n \"ckb\",\n // 'Soranî / کوردی', Sorani\n \"dv\",\n // Dhivehi\n \"fa\",\n // 'فارسی', Persian\n \"glk\",\n // 'گیلکی', Gilaki\n \"ha\",\n // 'هَوُسَ', Hausa\n \"he\",\n // 'עברית', Hebrew\n \"khw\",\n // 'کھوار', Khowar\n \"ks\",\n // 'कॉशुर / کٲشُر', Kashmiri\n \"ku\",\n // 'Kurdî / كوردی', Kurdish\n \"mzn\",\n // 'مازِرونی', Mazanderani\n \"nqo\",\n // 'ߒߞߏ', N’Ko\n \"pnb\",\n // 'پنجابی', Western Punjabi\n \"ps\",\n // 'پښتو', Pashto,\n \"sd\",\n // 'سنڌي', Sindhi\n \"ug\",\n // 'Uyghurche / ئۇيغۇرچە', Uyghur\n \"ur\",\n // 'اردو', Urdu\n \"ur-PK\",\n // 'اردو', Urdu (nextcloud BCP47 variant)\n \"uz-AF\",\n // 'اوزبیکی', Uzbek Afghan\n \"yi\"\n // 'ייִדיש', Yiddish\n ];\n return rtlLanguages.includes(languageCode);\n}\nglobalThis._nc_l10n_locale ??= typeof document !== \"undefined\" && document.documentElement.dataset.locale || Intl.DateTimeFormat().resolvedOptions().locale.replaceAll(/-/g, \"_\");\nglobalThis._nc_l10n_language ??= typeof document !== \"undefined\" && document.documentElement.lang || (globalThis.navigator?.language ?? \"en\");\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction hasAppTranslations(appId) {\n return appId in globalThis._oc_l10n_registry_translations && appId in globalThis._oc_l10n_registry_plural_functions;\n}\nfunction registerAppTranslations(appId, translations, pluralFunction) {\n if (appId === \"__proto__\" || appId === \"constructor\" || appId === \"prototype\") {\n throw new Error(\"Invalid appId\");\n }\n globalThis._oc_l10n_registry_translations[appId] = {\n ...globalThis._oc_l10n_registry_translations[appId] || {},\n ...translations\n };\n globalThis._oc_l10n_registry_plural_functions[appId] = pluralFunction;\n}\nfunction unregisterAppTranslations(appId) {\n delete globalThis._oc_l10n_registry_translations[appId];\n delete globalThis._oc_l10n_registry_plural_functions[appId];\n}\nfunction getAppTranslations(appId) {\n return {\n translations: globalThis._oc_l10n_registry_translations[appId] ?? {},\n pluralFunction: globalThis._oc_l10n_registry_plural_functions[appId] ?? ((number) => number)\n };\n}\nglobalThis._oc_l10n_registry_translations ??= {};\nglobalThis._oc_l10n_registry_plural_functions ??= {};\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction translate(app, text, placeholdersOrNumber, optionsOrNumber, options) {\n const vars = typeof placeholdersOrNumber === \"object\" ? placeholdersOrNumber : void 0;\n const number = typeof optionsOrNumber === \"number\" ? optionsOrNumber : typeof placeholdersOrNumber === \"number\" ? placeholdersOrNumber : void 0;\n const allOptions = {\n // defaults\n escape: true,\n sanitize: true,\n // overwrite with user config\n ...typeof options === \"object\" ? options : typeof optionsOrNumber === \"object\" ? optionsOrNumber : {}\n };\n const identity = (value) => value;\n const optSanitize = (allOptions.sanitize ? DOMPurify.sanitize : identity) || identity;\n const optEscape = allOptions.escape ? escapeHTML : identity;\n const isValidReplacement = (value) => typeof value === \"string\" || typeof value === \"number\";\n const _build = (text2, vars2, number2) => {\n return text2.replace(/%n/g, \"\" + number2).replace(/{([^{}]*)}/g, (match, key) => {\n if (vars2 === void 0 || !(key in vars2)) {\n return optEscape(match);\n }\n const replacement = vars2[key];\n if (isValidReplacement(replacement)) {\n return optEscape(`${replacement}`);\n } else if (typeof replacement === \"object\" && isValidReplacement(replacement.value)) {\n const escape = replacement.escape !== false ? escapeHTML : identity;\n return escape(`${replacement.value}`);\n } else {\n return optEscape(match);\n }\n });\n };\n const bundle = options?.bundle ?? getAppTranslations(app);\n let translation = bundle.translations[text] || text;\n translation = Array.isArray(translation) ? translation[0] : translation;\n if (typeof vars === \"object\" || number !== void 0) {\n return optSanitize(_build(\n translation,\n vars,\n number\n ));\n } else {\n return optSanitize(translation);\n }\n}\nfunction translatePlural(app, textSingular, textPlural, number, vars, options) {\n const identifier = \"_\" + textSingular + \"_::_\" + textPlural + \"_\";\n const bundle = options?.bundle ?? getAppTranslations(app);\n const value = bundle.translations[identifier];\n if (typeof value !== \"undefined\") {\n const translation = value;\n if (Array.isArray(translation)) {\n const plural = bundle.pluralFunction(number);\n return translate(app, translation[plural], vars, number, options);\n }\n }\n if (number === 1) {\n return translate(app, textSingular, vars, number, options);\n } else {\n return translate(app, textPlural, vars, number, options);\n }\n}\nasync function loadTranslations(appName, callback) {\n if (hasAppTranslations(appName) || getLanguage() === \"en\") {\n const bundle = getAppTranslations(appName);\n callback?.(bundle);\n return bundle;\n }\n let response;\n try {\n const url = generateFilePath(appName, \"l10n\", getLanguage() + \".json\");\n response = await fetch(url);\n } catch (error) {\n throw new Error(\"Network error\", { cause: error });\n }\n if (response.ok) {\n try {\n const bundle = await response.json();\n if (typeof bundle.translations === \"object\") {\n register(appName, bundle.translations);\n callback?.(bundle);\n return bundle;\n }\n } catch {\n }\n throw new Error(\"Invalid content of translation bundle\");\n } else {\n throw new Error(response.statusText);\n }\n}\nfunction register(appName, bundle) {\n registerAppTranslations(appName, bundle, getPlural);\n}\nfunction unregister(appName) {\n return unregisterAppTranslations(appName);\n}\nfunction getPlural(number, language = getLanguage()) {\n if (language === \"pt-BR\") {\n language = \"xbr\";\n }\n if (language.length > 3) {\n language = language.substring(0, language.lastIndexOf(\"-\"));\n }\n switch (language) {\n case \"az\":\n case \"bo\":\n case \"dz\":\n case \"id\":\n case \"ja\":\n case \"jv\":\n case \"ka\":\n case \"km\":\n case \"kn\":\n case \"ko\":\n case \"ms\":\n case \"th\":\n case \"tr\":\n case \"vi\":\n case \"zh\":\n return 0;\n case \"af\":\n case \"bn\":\n case \"bg\":\n case \"ca\":\n case \"da\":\n case \"de\":\n case \"el\":\n case \"en\":\n case \"eo\":\n case \"es\":\n case \"et\":\n case \"eu\":\n case \"fa\":\n case \"fi\":\n case \"fo\":\n case \"fur\":\n case \"fy\":\n case \"gl\":\n case \"gu\":\n case \"ha\":\n case \"he\":\n case \"hu\":\n case \"is\":\n case \"it\":\n case \"ku\":\n case \"lb\":\n case \"ml\":\n case \"mn\":\n case \"mr\":\n case \"nah\":\n case \"nb\":\n case \"ne\":\n case \"nl\":\n case \"nn\":\n case \"no\":\n case \"oc\":\n case \"om\":\n case \"or\":\n case \"pa\":\n case \"pap\":\n case \"ps\":\n case \"pt\":\n case \"so\":\n case \"sq\":\n case \"sv\":\n case \"sw\":\n case \"ta\":\n case \"te\":\n case \"tk\":\n case \"ur\":\n case \"zu\":\n return number === 1 ? 0 : 1;\n case \"am\":\n case \"bh\":\n case \"fil\":\n case \"fr\":\n case \"gun\":\n case \"hi\":\n case \"hy\":\n case \"ln\":\n case \"mg\":\n case \"nso\":\n case \"xbr\":\n case \"ti\":\n case \"wa\":\n return number === 0 || number === 1 ? 0 : 1;\n case \"be\":\n case \"bs\":\n case \"hr\":\n case \"ru\":\n case \"sh\":\n case \"sr\":\n case \"uk\":\n return number % 10 === 1 && number % 100 !== 11 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;\n case \"cs\":\n case \"sk\":\n return number === 1 ? 0 : number >= 2 && number <= 4 ? 1 : 2;\n case \"ga\":\n return number === 1 ? 0 : number === 2 ? 1 : 2;\n case \"lt\":\n return number % 10 === 1 && number % 100 !== 11 ? 0 : number % 10 >= 2 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;\n case \"sl\":\n return number % 100 === 1 ? 0 : number % 100 === 2 ? 1 : number % 100 === 3 || number % 100 === 4 ? 2 : 3;\n case \"mk\":\n return number % 10 === 1 ? 0 : 1;\n case \"mt\":\n return number === 1 ? 0 : number === 0 || number % 100 > 1 && number % 100 < 11 ? 1 : number % 100 > 10 && number % 100 < 20 ? 2 : 3;\n case \"lv\":\n return number === 0 ? 0 : number % 10 === 1 && number % 100 !== 11 ? 1 : 2;\n case \"pl\":\n return number === 1 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 12 || number % 100 > 14) ? 1 : 2;\n case \"cy\":\n return number === 1 ? 0 : number === 2 ? 1 : number === 8 || number === 11 ? 2 : 3;\n case \"ro\":\n return number === 1 ? 0 : number === 0 || number % 100 > 0 && number % 100 < 20 ? 1 : 2;\n case \"ar\":\n return number === 0 ? 0 : number === 1 ? 1 : number === 2 ? 2 : number % 100 >= 3 && number % 100 <= 10 ? 3 : number % 100 >= 11 && number % 100 <= 99 ? 4 : 5;\n default:\n return 0;\n }\n}\nexport {\n getLanguage as a,\n getLocale as b,\n setLanguage as c,\n translatePlural as d,\n getPlural as e,\n getCanonicalLocale as g,\n isRTL as i,\n loadTranslations as l,\n register as r,\n setLocale as s,\n translate as t,\n unregister as u\n};\n//# sourceMappingURL=translation-DoG5ZELJ.mjs.map\n","import { loadState } from \"@nextcloud/initial-state\";\nfunction getCapabilities() {\n try {\n return loadState(\"core\", \"capabilities\");\n } catch (error) {\n console.debug(\"Could not find capabilities initial state fall back to _oc_capabilities\");\n if (!(\"_oc_capabilities\" in window)) {\n return {};\n }\n return window[\"_oc_capabilities\"];\n }\n}\nexport {\n getCapabilities\n};\n//# sourceMappingURL=index.mjs.map\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable<typeof gOPD>} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\n/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\n/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {import('./types').Getter} Getter */\n/** @type {import('./types').Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tcache[\n\t\t\t\t/** @type {`$${import('.').TypedArrayName}`} */ ('$' + typedArray)\n\t\t\t] = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryAllTypedArrays>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType<typeof tryAllSlices>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */(cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\t/** @type {string} */\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\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\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","import { getCanonicalLocale } from \"@nextcloud/l10n\";\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nexport {\n formatFileSize as f,\n parseFileSize as p\n};\n//# sourceMappingURL=fileSize.mjs.map\n"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithHoles","_iterableToArrayLimit","l","t","i","u","f","o","_nonIterableRest","_slicedToArray","_unsupportedIterableToArray","entries","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","apply","construct","x","func","thisArg","_len","args","_key","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","arrayIsArray","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","numberToString","booleanToString","bigintToString","symbolToString","objectHasOwnProperty","objectToString","regExpTest","typeErrorCreate","unconstruct","_len3","_key3","_len4","_key4","addToSet","set","array","transformCaseFunc","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","property","value","stringifyValue","valueAsRecord","valueToString","lookupGetter","stringified","prop","desc","fallbackValue","isRegex","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","NODE_TYPE","LITERAL_TEXT_ELEMENT_NAMES","LITERAL_TEXT_ELEMENTS","LITERAL_TEXT_CLOSE","map","name","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","_resolveSetOption","cfg","key","fallback","options","_resolveObjectOption","makeFallback","createDOMPurify","window","DOMPurify","root","document","originalDocument","currentScript","HTMLTemplateElement","Node","Element","NodeFilter","DOMParser","ElementPrototype","cloneNode","remove","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","node","_readNodeName","template","trustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicy","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","_createTrustedScriptURL","_getDefaultTrustedTypesPolicy","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","CUSTOM_ELEMENT$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","customElementHandling","previousTrustedTypesPolicy","error","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkSvgNamespace","tagName","parent","parentTagName","_checkMathMlNamespace","_checkHtmlNamespace","_checkValidNamespace","_forceRemove","_stripAttributeNode","attribute","_neutralizeRoot","_neutralizeSubtree","childNodes","snapshot","child","attributes","_removeAttribute","attr","_stripDisallowedAttributes","stack","_isPatchLinkageAttribute","lcName","lcTag","_neutralizePatchLinkage","nodeType","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","body","_createNodeIterator","_stripTemplateExpressions","_scrubTemplateExpressions2","_node$querySelectorAl","walker","currentNode","templates","tmpl","_isDocumentFragment","_isClobbered","realTagName","_isNode","_executeHooks","data","hook","_isUnsafeNode","_matchesNameCheck","check","_sanitizeDisallowedNode","_isBasicCustomElement","parentNode","childCount","hoisted","_forkSharedAllowlist","hookList","defaultSet","setConfigSet","_handleHookDetachedNode","_sanitizeElements","removed","content","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","namespaceURI","_setAttributeValue","_sanitizeAttributes","hookEvent","attrValue","initValue","recreatedNamedProp","_sanitizeShadowDOM2","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","item","isElement","rootName","sr","importedNode","returnNode","inPlace","nn","walkRoot","nodeIterator","entry","rootWasRemoved","serializedHTML","tag","entryPoint","hookFunction","purify_default","matchHtmlRegExp","escapeHtml_1","escapeHtml","string","str","match","escape","lastIndex","getLocale","getCanonicalLocale","getLanguage","isRTL","language","languageCode","getAppTranslations","appId","number","translate","app","placeholdersOrNumber","optionsOrNumber","vars","allOptions","identity","optSanitize","optEscape","escapeHTML","isValidReplacement","_build","text2","vars2","number2","replacement","translation","translatePlural","textSingular","textPlural","identifier","bundle","plural","getPlural","getCapabilities","loadState","inherits_browserModule","ctor","superCtor","TempCtor","shams","obj","sym","symObj","symVal","_","syms","descriptor","hasSymbols","require$$0","esObjectAtoms","esErrors","_eval","range","ref","syntax","type","uri","abs","floor","max","min","pow","round","_isNaN","$isNaN","sign","gOPD","$gOPD","gopd","$defineProperty","esDefineProperty","origSymbol","hasSymbolSham","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","toStr","funcType","concatty","b","arr","j","slicy","arrLike","offset","joiny","joiner","that","target","bound","binder","result","boundLength","boundArgs","Empty","functionBind","functionCall","functionApply","reflectApply","bind","$apply","require$$1","$call","require$$2","$reflectApply","require$$3","actualApply","$TypeError","$actualApply","callBindApplyHelpers","callBind","hasProtoAccessor","$getPrototypeOf","get","reflectGetProto","originalGetProto","getDunderProto","getProto","O","call","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","INTRINSICS","errorProto","doEval","fn","gen","LEGACY_ALIASES","require$$23","hasOwn","require$$24","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","first","last","quote","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","parts","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","callBindBasic","$indexOf","callBound","hasToStringTag","$toString","isStandardArguments","isLegacyArguments","supportsStandardArguments","isArguments","isRegexMarker","throwRegexMarker","badStringifier","hasLastIndexDataProperty","regexClass","safeRegexTest","regex","s","cached","generatorFunction","isFnRegex","fnToStr","getGeneratorFunction","isGeneratorFunction","GeneratorFunction","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","isIE68","isDDA","all","isCallable","strClass","hasOwnProperty","forEachArray","iterator","receiver","len","forEachString","forEachObject","k","isArray","forEach","list","possibleTypedArrayNames","possibleNames","g","global","availableTypedArrays","out","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","loose","hasPropertyDescriptors","hasPropertyDescriptors_1","define","hasDescriptors","$floor","setFunctionLength","length","functionLengthIsConfigurable","functionLengthIsWritable","applyBind","module","originalFunction","adjustedLength","typedArrays","$slice","cache","typedArray","proto","superProto","tryTypedArrays","found","getter","trySlices","whichTypedArray","isTypedArray","isArgumentsObject","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","exports","isPromise","input","isArrayBufferView","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMapToString","isMap","isSetToString","isSet","isWeakMapToString","isWeakMap","isWeakSetToString","isWeakSet","isArrayBufferToString","isArrayBuffer","isDataViewToString","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isBoxedPrimitive","isAnyArrayBuffer","method","isBufferBrowser","arg","getOwnPropertyDescriptors","keys","descriptors","formatRegExp","isString","objects","inspect","isNull","isObject","msg","process","warned","deprecated","debugs","debugEnvRegex","define_process_env_default","debugEnv","pid","opts","ctx","stylizeNoColor","isBoolean","isUndefined","stylizeWithColor","formatValue","styleType","style","arrayToHash","hash","val","idx","recurseTimes","isFunction","ret","primitive","formatPrimitive","visibleKeys","isError","formatError","isRegExp","isDate","base","braces","output","formatArray","formatProperty","reduceToSingleString","simple","isNumber","line","prev","cur","ar","isNullOrUndefined","isSymbol","re","d","isPrimitive","pad","months","timestamp","time","origin","add","kCustomPromisifiedSymbol","original","promiseResolve","promiseReject","promise","resolve","reject","err","callbackifyOnRejected","reason","cb","newReason","callbackify","callbackified","maybeCb","self","rej","humanList","humanListBinary","formatFileSize","size","skipSmallSizes","binaryPrefixes","base1000","order","readableFormat","relativeSize"],"mappings":"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,GAAIC,EAAM,CACT,GAAIA,EAAK,IAAK,OAAO9C,EAAQ8C,EAAK,GAAG,EACrC,GAAI,OAAOA,EAAK,OAAU,WAAY,OAAO9C,EAAQ8C,EAAK,KAAK,CAChE,CACAZ,EAASpD,GAAeoD,CAAM,CAC/B,CACA,SAASa,GAAgB,CACxB,OAAO,IACR,CACA,OAAOA,CACR,CACA,SAASC,GAAQT,EAAO,CACvB,GAAI,CACH,OAAArB,GAAWqB,EAAO,EAAE,EACb,EACR,MAAkB,CACjB,MAAO,EACR,CACD,CACA,MAAMU,GAASjE,EAAO,CACrB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KACD,CAAC,EACKkE,GAAQlE,EAAO,CACpB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OACD,CAAC,EACKmE,GAAanE,EAAO,CACzB,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cACD,CAAC,EACKoE,GAAgBpE,EAAO,CAC5B,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KACD,CAAC,EACKqE,GAAWrE,EAAO,CACvB,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aACD,CAAC,EACKsE,GAAmBtE,EAAO,CAC/B,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MACD,CAAC,EACKuE,GAAOvE,EAAO,CAAC,OAAO,CAAC,EACvBwE,GAAOxE,EAAO,CACnB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,OACD,CAAC,EACKyE,GAAMzE,EAAO,CAClB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,oBACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,iBACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,mBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,gBACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YACD,CAAC,EACK0E,GAAS1E,EAAO,CACrB,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,Q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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]}