{"version":3,"file":"polyfills.js","mappings":"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","sources":["./src/polyfills.ts","./node_modules/call-bind/callBound.js","./node_modules/call-bind/index.js","./node_modules/define-data-property/index.js","./node_modules/es-define-property/index.js","./node_modules/es-errors/eval.js","./node_modules/es-errors/index.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/function-bind/implementation.js","./node_modules/function-bind/index.js","./node_modules/get-intrinsic/index.js","./node_modules/gopd/index.js","./node_modules/has-property-descriptors/index.js","./node_modules/has-proto/index.js","./node_modules/has-symbols/index.js","./node_modules/has-symbols/shams.js","./node_modules/hasown/index.js","./node_modules/object-inspect/index.js","./node_modules/punycode/punycode.js","./node_modules/set-function-length/index.js","./node_modules/side-channel/index.js","./node_modules/url/node_modules/qs/lib/formats.js","./node_modules/url/node_modules/qs/lib/index.js","./node_modules/url/node_modules/qs/lib/parse.js","./node_modules/url/node_modules/qs/lib/stringify.js","./node_modules/url/node_modules/qs/lib/utils.js","./node_modules/url/url.js","./node_modules/zone.js/fesm2015/zone.js","ignored|C:\\Dev\\Products\\Fleetly.AppSuite\\Fleetly.Clients\\Fleetly.FNOLApp\\Fleetly.FNOLApp\\ClientApp\\node_modules\\object-inspect|./util.inspect"],"sourcesContent":["\r\r\n\r\n/**\r\n * By default, zone.js will patch all possible macroTask and DomEvents\r\n * user can disable parts of macroTask/DomEvents patch by setting following flags\r\n */\r\n\r\n // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\r\n // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\r\n // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\r\n\r\n /*\r\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\r\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\r\n */\r\n// (window as any).__Zone_enable_cross_context_check = true;\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by default for Angular itself.\r\n */\r\nimport 'zone.js'; // Included with Angular CLI.\r\n\r\nimport 'url';\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\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 $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} */\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 GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || 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\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\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/* 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\nvar undefined;\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 $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 = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\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')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\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'%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'%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\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(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.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 $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\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\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 test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\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/* 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\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 (sym 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\tvar descriptor = 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 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","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\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[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap} */ var $wm;\n\t/** @type {Map} */ var $m;\n\t/** @type {import('.').RootNode} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && leaf === '' ? [] : [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? prefix.replace(/\\./g, '%2E') : prefix;\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? key.replace(/\\./g, '%2E') : key;\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","'use strict';\n/**\n * @license Angular v\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\nconst global = globalThis;\n// __Zone_symbol_prefix global can be used to override the default zone\n// symbol prefix with a custom one if needed.\nfunction __symbol__(name) {\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n return symbolPrefix + name;\n}\nfunction initZone() {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n class ZoneImpl {\n // tslint:disable-next-line:require-internal-with-underscore\n static { this.__symbol__ = __symbol__; }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = ZoneImpl.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, ZoneImpl, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = (zoneSpec && zoneSpec.properties) || {};\n this._zoneDelegate = new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name +\n '; Execution: ' +\n this.name +\n ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name +\n '; Execution: ' +\n this.name +\n ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task),\n };\n class _ZoneDelegate {\n get zone() {\n return this._zone;\n }\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = {\n 'microTask': 0,\n 'macroTask': 0,\n 'eventTask': 0,\n };\n this._zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this._zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this._zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this._zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this._zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt =\n zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this._zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this._zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this._zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = this._zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this._zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS\n ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec)\n : new ZoneImpl(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS\n ? this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source)\n : callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS\n ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source)\n : callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS\n ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error)\n : true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS\n ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs)\n : task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = (counts[type] = prev + count);\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type,\n };\n this.hasTask(this._zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? \" or '\" + fromState2 + \"'\" : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount,\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !ZoneImpl[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask,\n };\n let _currentZoneFrame = { parent: null, zone: new ZoneImpl(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return ZoneImpl;\n}\n\nfunction loadZone() {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n const global = globalThis;\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone'] && (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function')) {\n throw new Error('Zone already loaded.');\n }\n // Initialize global `Zone` constant.\n global['Zone'] ??= initZone();\n return global['Zone'];\n}\n\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = __symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = __symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = __symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = __symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = (isWindowExists && internalWindow) || globalThis;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope;\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = !('nw' in _global) &&\n typeof _global.process !== 'undefined' &&\n _global.process.toString() === '[object process]';\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n _global.process.toString() === '[object process]' &&\n !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result =\n listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n },\n });\n }\n })(prop);\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) { }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) { }\n return ieOrEdge;\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\n// Note that passive event listeners are now supported by most modern browsers,\n// including Chrome, Firefox, Safari, and Edge. There's a pending change that\n// would remove support for legacy browsers by zone.js. Removing `passiveSupported`\n// from the codebase will reduce the final code size for existing apps that still use zone.js.\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n },\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true,\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // We use a shared global `taskData` to pass data for `scheduleEventTask`,\n // eliminating the need to create a new object solely for passing data.\n // WARNING: This object has a static lifetime, meaning it is not created\n // each time `addEventListener` is called. It is instantiated only once\n // and captured by reference inside the `addEventListener` and\n // `removeEventListener` functions. Do not add any new properties to this\n // object, as doing so would necessitate maintaining the information\n // between `addEventListener` calls.\n const taskData = {};\n const nativeAddEventListener = (proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER]);\n const nativeRemoveEventListener = (proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER]);\n const nativeListeners = (proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER]);\n const nativeRemoveAllListeners = (proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER]);\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return { ...options, passive: true };\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n /**\n * In the context of events and listeners, this function will be\n * called at the end by `cancelTask`, which, in turn, calls `task.cancelFn`.\n * Cancelling a task is primarily used to remove event listeners from\n * the task target.\n */\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (task.removeAbortListener) {\n task.removeAbortListener();\n task.removeAbortListener = null;\n }\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return ((typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate));\n };\n const compare = patchOptions && patchOptions.diff ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n function copyEventListenerOptions(options) {\n if (typeof options === 'object' && options !== null) {\n // We need to destructure the target `options` object since it may\n // be frozen or sealed (possibly provided implicitly by a third-party\n // library), or its properties may be readonly.\n const newOptions = { ...options };\n // The `signal` option was recently introduced, which caused regressions in\n // third-party scenarios where `AbortController` was directly provided to\n // `addEventListener` as options. For instance, in cases like\n // `document.addEventListener('keydown', callback, abortControllerInstance)`,\n // which is valid because `AbortController` includes a `signal` getter, spreading\n // `{...options}` wouldn't copy the `signal`. Additionally, using `Object.create`\n // isn't feasible since `AbortController` is a built-in object type, and attempting\n // to create a new object directly with it as the prototype might result in\n // unexpected behavior.\n if (options.signal) {\n newOptions.signal = options.signal;\n }\n return newOptions;\n }\n return options;\n }\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = copyEventListenerOptions(buildEventListenerOptions(arguments[2], passive));\n const signal = options?.signal;\n if (signal?.aborted) {\n // the signal is an aborted one, just return without attaching the event listener.\n return;\n }\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source =\n constructorName +\n addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // In the code below, `options` should no longer be reassigned; instead, it\n // should only be mutated. This is because we pass that object to the native\n // `addEventListener`.\n // It's generally recommended to use the same object reference for options.\n // This ensures consistency and avoids potential issues.\n taskData.options = options;\n if (once) {\n // When using `addEventListener` with the `once` option, we don't pass\n // the `once` option directly to the native `addEventListener` method.\n // Instead, we keep the `once` setting and handle it ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n if (signal) {\n // When using `addEventListener` with the `signal` option, we don't pass\n // the `signal` option directly to the native `addEventListener` method.\n // Instead, we keep the `signal` setting and handle it ourselves.\n taskData.options.signal = undefined;\n }\n // The `scheduleEventTask` function will ultimately call `customScheduleGlobal`,\n // which in turn calls the native `addEventListener`. This is why `taskData.options`\n // is updated before scheduling the task, as `customScheduleGlobal` uses\n // `taskData.options` to pass it to the native `addEventListener`.\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n if (signal) {\n // after task is scheduled, we need to store the signal back to task.options\n taskData.options.signal = signal;\n // Wrapping `task` in a weak reference would not prevent memory leaks. Weak references are\n // primarily used for preventing strong references cycles. `onAbort` is always reachable\n // as it's an event listener, so its closure retains a strong reference to the `task`.\n const onAbort = () => task.zone.cancelTask(task);\n nativeListener.call(signal, 'abort', onAbort, { once: true });\n // We need to remove the `abort` listener when the event listener is going to be removed,\n // as it creates a closure that captures `task`. This closure retains a reference to the\n // `task` object even after it goes out of scope, preventing `task` from being garbage\n // collected.\n task.removeAbortListener = () => signal.removeEventListener('abort', onAbort);\n }\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n taskData.options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n // `existingTasks` may not exist if the `addEventListener` was called before\n // it was patched by zone.js. Please refer to the attached issue for\n // clarification, particularly after the `if` condition, before calling\n // the native `removeEventListener`.\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates with capture=false were removed\n // https:// github.com/angular/angular/issues/31643\n // https://github.com/angular/angular/issues/54581\n if (!capture && typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n // In all other conditions, when `addEventListener` is called after being\n // patched by zone.js, we would always find an event task on the `EventTarget`.\n // This will trigger `cancelFn` on the `existingTask`, leading to `customCancelGlobal`,\n // which ultimately removes an event listener and cleans up the abort listener\n // (if an `AbortSignal` was provided when scheduling a task).\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // https://github.com/angular/zone.js/issues/930\n // We may encounter a situation where the `addEventListener` was\n // called on the event target before zone.js is loaded, resulting\n // in no task being stored on the event target due to its invocation\n // of the native implementation. In this scenario, we simply need to\n // invoke the native `removeEventListener`.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks\n ? captureFalseTasks.concat(captureTrueTasks)\n : captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nfunction patchQueueMicrotask(global, api) {\n api.patchMethod(global, 'queueMicrotask', (delegate) => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative = patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: nameSuffix === 'Timeout' || nameSuffix === 'Interval' ? args[1] || 0 : undefined,\n args: args,\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!options.isPeriodic) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle &&\n handle.ref &&\n handle.unref &&\n typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative = patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n ((task.cancelFn && task.data.isPeriodic) || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n // https://html.spec.whatwg.org/multipage/custom-elements.html#concept-custom-element-definition-lifecycle-callbacks\n const callbacks = [\n 'connectedCallback',\n 'disconnectedCallback',\n 'adoptedCallback',\n 'attributeChangedCallback',\n 'formAssociatedCallback',\n 'formDisabledCallback',\n 'formResetCallback',\n 'formStateRestoreCallback',\n ];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter((ip) => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter((op) => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter((name) => name.startsWith('on') && name.length > 2)\n .map((name) => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document',\n 'SVGElement',\n 'Element',\n 'HTMLElement',\n 'HTMLBodyElement',\n 'HTMLMediaElement',\n 'HTMLFrameSetElement',\n 'HTMLFrameElement',\n 'HTMLIFrameElement',\n 'HTMLMarqueeElement',\n 'Worker',\n ]);\n const ignoreErrorProperties = isIE()\n ? [{ target: internalWindow, ignoreProperties: ['error'] }]\n : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'IDBIndex',\n 'IDBRequest',\n 'IDBOpenDBRequest',\n 'IDBDatabase',\n 'IDBTransaction',\n 'IDBCursor',\n 'WebSocket',\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target &&\n target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nfunction patchBrowser(Zone) {\n Zone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n });\n Zone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n });\n Zone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n });\n Zone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = (target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n });\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = {\n target: self,\n url: self[XHR_URL],\n isPeriodic: false,\n args: args,\n aborted: false,\n };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self &&\n self[XHR_ERROR_BEFORE_SCHEDULED] === true &&\n !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n });\n Zone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach((eventTask) => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, {\n promise: e.promise,\n reason: e.rejection,\n });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n Zone.__load_patch('queueMicrotask', (global, Zone, api) => {\n patchQueueMicrotask(global, api);\n });\n}\n\nfunction patchPromise(Zone) {\n Zone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] !== false;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) { }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED &&\n value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) &&\n value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask &&\n Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: trace,\n });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' +\n readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) { }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState\n ? typeof onFulfilled === 'function'\n ? onFulfilled\n : forwardResolution\n : typeof onRejected === 'function'\n ? onRejected\n : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution\n ? []\n : [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n if (value instanceof ZoneAwarePromise) {\n return value;\n }\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static withResolvers() {\n const result = {};\n result.promise = new ZoneAwarePromise((res, rej) => {\n result.resolve = res;\n result.reject = rej;\n });\n return result;\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then((v) => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, (err) => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err }),\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and\n // invokes it with the `value` context. Otherwise, this will throw an error: `TypeError:\n // Cannot read properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = (global[symbolPromise] = global['Promise']);\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', (delegate) => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n}\n\nfunction patchToString(Zone) {\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n}\n\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = (target[symbol] = target[method]);\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\nfunction patchUtil(Zone) {\n Zone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS`\n // to define which events will not be patched by `Zone.js`. In newer version (>=0.9.0), we\n // change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep the name consistent with\n // angular repo. The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be\n // supported for backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR,\n });\n });\n}\n\nfunction patchCommon(Zone) {\n patchPromise(Zone);\n patchToString(Zone);\n patchUtil(Zone);\n}\n\nconst Zone$1 = loadZone();\npatchCommon(Zone$1);\npatchBrowser(Zone$1);\n","/* (ignored) */"],"names":["GetIntrinsic","require","callBind","$indexOf","module","exports","callBoundIntrinsic","name","allowMissing","intrinsic","bind","setFunctionLength","$TypeError","$apply","$call","$reflectApply","call","$defineProperty","$max","originalFunction","func","arguments","length","applyBind","value","apply","$SyntaxError","gopd","defineDataProperty","obj","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","e","EvalError","Error","RangeError","ReferenceError","SyntaxError","TypeError","URIError","ERROR_MESSAGE","toStr","Object","prototype","toString","max","Math","funcType","concatty","a","b","arr","i","j","slicy","arrLike","offset","joiny","joiner","str","that","target","args","bound","binder","result","boundLength","boundArgs","Function","Empty","implementation","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","callee","calleeThrows","get","gOPDthrows","hasSymbols","hasProto","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Array","ArrayBuffer","Symbol","iterator","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","Map","Number","parseFloat","parseInt","Promise","Proxy","Reflect","RegExp","Set","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","error","errorProto","doEval","fn","gen","LEGACY_ALIASES","hasOwn","$concat","concat","$spliceApply","splice","$replace","replace","$strSlice","slice","$exec","exec","rePropName","reEscapeChar","stringToPath","string","first","last","match","number","quote","subString","getBaseIntrinsic","intrinsicName","alias","parts","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","hasPropertyDescriptors","hasArrayLengthDefineBug","test","foo","$Object","origSymbol","hasSymbolSham","hasNativeSymbols","getOwnPropertySymbols","sym","symObj","symVal","keys","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","$hasOwn","hasOwnProperty","hasMap","mapSizeDescriptor","mapSize","mapForEach","forEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","has","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","deref","booleanValueOf","valueOf","objectToString","functionToString","$match","$slice","$toUpperCase","toUpperCase","$toLowerCase","toLowerCase","$test","$join","join","$arrSlice","$floor","floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","Infinity","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","isSymbol","inspect_","options","depth","seen","opts","quoteStyle","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","inspect","from","noIndent","push","newOpts","isRegExp","nameOf","arrObjKeys","symString","markBoxed","isElement","s","nodeName","attrs","attributes","wrapQuotes","childNodes","xs","singleLineValues","indentedJoin","isError","cause","isMap","mapParts","key","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","window","global","isDate","ys","isPlainObject","constructor","protoTag","stringTag","constructorTag","tag","defaultStyle","quoteChar","f","m","l","HTMLElement","getAttribute","remaining","trailer","lowbyte","c","n","charCodeAt","type","size","entries","joinedEntries","baseIndent","base","prev","lineJoiner","isArr","symMap","k","root","freeExports","nodeType","freeModule","freeGlobal","self","punycode","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","map","array","mapDomain","split","labels","encoded","ucs2decode","output","counter","extra","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","inputLength","out","bias","basic","index","oldi","w","t","baseMinusT","lastIndexOf","encode","handledCPCount","basicLength","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","toASCII","define","amd","hasDescriptors","gOPD","functionLengthIsConfigurable","functionLengthIsWritable","callBound","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","next","listGet","objects","node","listSet","listHas","getSideChannel","$wm","$m","$o","channel","assert","set","percentTwenties","Format","RFC1738","RFC3986","formatters","stringify","parse","formats","utils","defaults","allowDots","allowEmptyArrays","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decodeDotInKeys","decoder","duplicates","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","parseArrayValue","val","isoSentinel","parseValues","parseQueryStringValues","cleanStr","limit","skipIndex","bracketEqualsPos","pos","maybeMap","encodedVal","existing","combine","parseObject","chain","valuesParsed","leaf","create","cleanRoot","charAt","decodedRoot","parseKeys","parseQueryStringKeys","givenKey","brackets","child","segment","parent","normalizeParseOptions","tempObj","newObj","merge","compact","arrayPrefixGenerators","prefix","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","arrayFormat","encodeDotInKeys","encoder","encodeValuesOnly","format","formatter","serializeDate","date","skipNulls","isNonNullishPrimitive","v","sentinel","object","generateArrayPrefix","commaRoundTrip","filter","sort","sideChannel","tmpSc","step","findFlag","isBuffer","keyValue","values","objKeys","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","joined","hexTable","compactQueue","queue","item","pop","prop","compacted","arrayToObject","source","mergeTarget","targetItem","reduce","acc","assign","assignSingleSource","strWithoutPlus","unescape","defaultEncoder","kind","escape","o","refs","mapped","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","file","querystring","urlParse","url","parseQueryString","slashesDenoteHost","u","queryIndex","splitter","uSplit","slashRegex","rest","trim","simplePath","substr","proto","lowerProto","hostEnd","hec","atSign","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","unshift","p","h","ae","esc","qm","urlFormat","urlResolve","relative","resolve","resolveObject","urlResolveObject","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute","globalThis","__symbol__","symbolPrefix","initZone","performance","mark","performanceMeasure","label","ZoneImpl","_","assertZonePatched","patches","zone","current","_currentZoneFrame","currentTask","_currentTask","__load_patch","ignoreDuplicate","checkDuplicate","perfName","_api","_parent","_name","zoneSpec","_properties","properties","_zoneDelegate","_ZoneDelegate","getZoneWith","fork","wrap","callback","_callback","intercept","runGuarded","run","applyThis","applyArgs","invoke","handleError","runTask","task","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","loadZone","defineProperty","ObjectGetPrototypeOf","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","Zone","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","originalInstanceKey","className","OriginalClass","instance","patchFn","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","api","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","originalDelegate","once","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","removeAbortListener","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","copyEventListenerOptions","newOptions","signal","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","aborted","constructorName","targetSource","onAbort","onPropertySymbol","findEventTasks","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","Event","patchQueueMicrotask","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","id","patchCustomElements","callbacks","customElements","eventTargetPatch","eventNames","EVENT_TARGET","patchEvent","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","startsWith","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","patchBrowser","legacyPatch","clear","blockingMethods","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","loadTasks","status","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt","promise","reason","rejection","patchPromise","readableObjectToString","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","console","stack","uncaughtPromiseError","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","withResolvers","res","rej","any","promises","finished","race","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","errorCallback","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","species","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","patchToString","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","targetName","method","nativeDelegate","patchUtil","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","patchCommon","Zone$1"],"sourceRoot":"webpack:///","x_google_ignoreList":[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]}