diff --git a/dist/build/bundle.dev.html b/dist/build/bundle.dev.html index c09c6271..f01866f9 100644 --- a/dist/build/bundle.dev.html +++ b/dist/build/bundle.dev.html @@ -3,7 +3,7 @@ - fhirclient [9 Jan 2020 at 23:25] + fhirclient [10 Jan 2020 at 12:7] diff --git a/dist/build/bundle.pure.dev.html b/dist/build/bundle.pure.dev.html index 364420e4..50880a66 100644 --- a/dist/build/bundle.pure.dev.html +++ b/dist/build/bundle.pure.dev.html @@ -3,7 +3,7 @@ - fhirclient [9 Jan 2020 at 23:25] + fhirclient [10 Jan 2020 at 12:7] diff --git a/dist/build/bundle.pure.prod.html b/dist/build/bundle.pure.prod.html index 59c9d610..d035b633 100644 --- a/dist/build/bundle.pure.prod.html +++ b/dist/build/bundle.pure.prod.html @@ -3,7 +3,7 @@ - fhirclient [9 Jan 2020 at 23:25] + fhirclient [10 Jan 2020 at 12:7] diff --git a/dist/build/fhir-client.js b/dist/build/fhir-client.js index e0c781e3..8ce6087c 100644 --- a/dist/build/fhir-client.js +++ b/dist/build/fhir-client.js @@ -10378,6 +10378,7 @@ function contextualize(_x, _x2) { * @param refId * @param cache A map to store the resolved refs * @param client The client instance + * @param [signal] The `AbortSignal` if any * @returns The resolved reference * @private */ @@ -10479,14 +10480,17 @@ function _contextualize() { return _contextualize.apply(this, arguments); } -function getRef(refId, cache, client) { +function getRef(refId, cache, client, signal) { var sub = cache[refId]; if (!sub) { // Note that we set cache[refId] immediately! When the promise is // settled it will be updated. This is to avoid a ref being fetched // twice because some of these requests are executed in parallel. - cache[refId] = client.request(refId).then(function (res) { + cache[refId] = client.request({ + url: refId, + signal: signal + }).then(function (res) { cache[refId] = res; return res; }, function (error) { @@ -10500,11 +10504,11 @@ function getRef(refId, cache, client) { } /** * Resolves a reference in the given resource. - * @param {Object} obj FHIR Resource + * @param obj FHIR Resource */ -function resolveRef(obj, path, graph, cache, client) { +function resolveRef(obj, path, graph, cache, client, signal) { var node = lib_1.getPath(obj, path); if (node) { @@ -10513,7 +10517,7 @@ function resolveRef(obj, path, graph, cache, client) { var ref = item.reference; if (ref) { - return getRef(ref, cache, client).then(function (sub) { + return getRef(ref, cache, client, signal).then(function (sub) { if (graph) { if (isArray) { lib_1.setPath(obj, path + "." + i, sub); @@ -10521,7 +10525,12 @@ function resolveRef(obj, path, graph, cache, client) { lib_1.setPath(obj, path, sub); } } - }).catch(function () {}); + }).catch(function (ex) { + /* ignore missing references */ + if (ex.status !== 404) { + throw ex; + } + }); } })); } @@ -10529,14 +10538,14 @@ function resolveRef(obj, path, graph, cache, client) { /** * Given a resource and a list of ref paths - resolves them all * @param obj FHIR Resource - * @param {Object} fhirOptions The fhir options of the initiating request call + * @param fhirOptions The fhir options of the initiating request call * @param cache A map to store fetched refs * @param client The client instance * @private */ -function resolveRefs(obj, fhirOptions, cache, client) { +function resolveRefs(obj, fhirOptions, cache, client, signal) { // 1. Sanitize paths, remove any invalid ones var paths = lib_1.makeArray(fhirOptions.resolveReferences).filter(Boolean) // No false, 0, null, undefined or "" .map(function (path) { @@ -10578,7 +10587,7 @@ function resolveRefs(obj, fhirOptions, cache, client) { var group = groups[len]; task = task.then(function () { return Promise.all(group.map(function (path) { - return resolveRef(obj, path, !!fhirOptions.graph, cache, client); + return resolveRef(obj, path, !!fhirOptions.graph, cache, client, signal); })); }); }); @@ -11049,7 +11058,7 @@ function () { _regenerator.default.mark(function _callee6(requestOptions, fhirOptions, _resolvedRefs) { var _this2 = this; - var _a, debugRequest, url, authHeader, options; + var _a, debugRequest, url, authHeader, options, signal; return _regenerator.default.wrap(function _callee6$(_context6) { while (1) { @@ -11099,6 +11108,7 @@ function () { onPage: typeof fhirOptions.onPage == "function" ? fhirOptions.onPage : undefined }; debugRequest("%s, options: %O, fhirOptions: %O", url, requestOptions, options); + signal = requestOptions.signal || undefined; return _context6.abrupt("return", lib_1.request(url, requestOptions) // Automatic re-auth via refresh token ----------------------------- .catch(function (error) { debugRequest("%o", error); @@ -11107,7 +11117,9 @@ function () { var hasRefreshToken = lib_1.getPath(_this2, "state.tokenResponse.refresh_token"); if (hasRefreshToken) { - return _this2.refresh().then(function () { + return _this2.refresh({ + signal: signal + }).then(function () { return _this2.request(Object.assign({}, requestOptions, { url: url }), options, _resolvedRefs); @@ -11183,8 +11195,8 @@ function () { } throw error; - }) // Handle raw requests (anything other than json) ------------------ - .then(function (data) { + }).then(function (data) { + // Handle raw responses (anything other than json) ------------- if (!data) return data; if (typeof data == "string") return data; if (data instanceof Response) return data; // Resolve References ------------------------------------------ @@ -11204,7 +11216,7 @@ function () { _context4.next = 3; return Promise.all((_data.entry || []).map(function (item) { - return resolveRefs(item.resource, options, _resolvedRefs, _this2); + return resolveRefs(item.resource, options, _resolvedRefs, _this2, signal); })); case 3: @@ -11213,7 +11225,7 @@ function () { case 5: _context4.next = 7; - return resolveRefs(_data, options, _resolvedRefs, _this2); + return resolveRefs(_data, options, _resolvedRefs, _this2, signal); case 7: return _context4.abrupt("return", _data); @@ -11279,7 +11291,14 @@ function () { } _context5.next = 12; - return _this2.request(next.url, options, _resolvedRefs); + return _this2.request({ + url: next.url, + // Aborting the main request (even after it is complete) + // must propagate to any child requests and abort them! + // To do so, just pass the same AbortSignal if one is + // provided. + signal: signal + }, options, _resolvedRefs); case 12: nextPage = _context5.sent; @@ -11332,7 +11351,7 @@ function () { }); })); - case 12: + case 13: case "end": return _context6.stop(); } @@ -11353,9 +11372,13 @@ function () { */ ; - _proto.refresh = function refresh() { + _proto.refresh = function refresh(requestOptions) { var _this3 = this; + if (requestOptions === void 0) { + requestOptions = {}; + } + var _a, _b; var debugRefresh = lib_1.debug.extend("client:refresh"); @@ -11383,15 +11406,15 @@ function () { if (!this._refreshTask) { - this._refreshTask = lib_1.request(tokenUri, { + this._refreshTask = lib_1.request(tokenUri, Object.assign({}, requestOptions, { mode: "cors", method: "POST", - headers: { + headers: Object.assign({}, requestOptions.headers || {}, { "content-type": "application/x-www-form-urlencoded" - }, + }), body: "grant_type=refresh_token&refresh_token=" + encodeURIComponent(refreshToken), credentials: "include" - }).then(function (data) { + })).then(function (data) { if (!data.access_token) { throw new Error("No access token received"); } diff --git a/dist/build/fhir-client.js.map b/dist/build/fhir-client.js.map index b570f3c5..626f68ed 100644 --- a/dist/build/fhir-client.js.map +++ b/dist/build/fhir-client.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://FHIR/webpack/bootstrap","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/core-js/internals/a-function.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/bind-context.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-iterator.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/forced-string-html-method.js","webpack://FHIR/./node_modules/core-js/internals/forced-string-trim-method.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/global.js","webpack://FHIR/./node_modules/core-js/internals/has.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-ios.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/native-promise-constructor.js","webpack://FHIR/./node_modules/core-js/internals/native-symbol.js","webpack://FHIR/./node_modules/core-js/internals/native-url.js","webpack://FHIR/./node_modules/core-js/internals/native-weak-map.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/redefine-all.js","webpack://FHIR/./node_modules/core-js/internals/redefine.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/set-global.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/sloppy-array-method.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/user-agent.js","webpack://FHIR/./node_modules/core-js/internals/v8-version.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/debug/node_modules/ms/index.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/process/browser.js","webpack://FHIR/./node_modules/regenerator-runtime/runtime.js","webpack://FHIR/(webpack)/buildin/global.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts"],"names":["s","m","h","d","w","y","module","exports","val","options","type","length","parse","isNaN","long","fmtLong","fmtShort","Error","JSON","stringify","str","String","match","exec","n","parseFloat","toLowerCase","undefined","ms","msAbs","Math","abs","round","plural","name","isPlural","log","formatArgs","save","load","useColors","storage","localstorage","colors","window","process","__nwjs","navigator","userAgent","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","args","namespace","humanize","diff","c","color","splice","index","lastC","replace","namespaces","setItem","removeItem","error","r","getItem","env","DEBUG","localStorage","require","formatters","j","v","message","setup","createDebug","debug","default","coerce","disable","enable","enabled","Object","keys","forEach","key","instances","names","skips","selectColor","hash","i","charCodeAt","prevTime","self","curr","Number","Date","prev","unshift","format","formatter","call","logFn","apply","destroy","extend","init","push","indexOf","delimiter","newDebug","split","len","substr","instance","map","toNamespace","join","test","regexp","toString","substring","stack"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA,mC;;;;;;;;;;;ACpCA,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,2EAA2E;AAC3E;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4B;;;;;;;;;;;AChCA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;;;;;ACNA;AACA;AACA;;AAEA,mC;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;ACTA,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD,gBAAgB,mBAAO,CAAC,uEAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,kC;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrtBA,iBAAiB,mBAAO,CAAC,sGAAqB;;;;;;;;;;;;ACA9C;AACA,EAAE,KAA0C,GAAG,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AAC9D,EAAE,SAAS;AACX,CAAC,eAAe;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;;AAEA,yCAAyC,OAAO;AAChD;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH,CAAC;;;;;;;;;;;;;AC5TD;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACNA,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,aAAa,mBAAO,CAAC,qFAA4B;AACjD,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb,aAAa,mBAAO,CAAC,2FAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACNa;AACb,eAAe,mBAAO,CAAC,yFAA8B;AACrD,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRY;AACb,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,mCAAmC,mBAAO,CAAC,2HAA+C;AAC1F,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzCA,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,yBAAyB,mBAAO,CAAC,mGAAmC;;AAEpE;;AAEA,qBAAqB,qDAAqD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEA,YAAY,mBAAO,CAAC,qEAAoB;AACxC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,+EAAyB;;AAElD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClBA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS,EAAE;AACzD,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;;;;;ACrCA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,qGAAoC;AACxE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzBA,UAAU,mBAAO,CAAC,iEAAkB;AACpC,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,qCAAqC,mBAAO,CAAC,+HAAiD;AAC9F,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;;;;;;;;;;;ACbA,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;;;;;;;;;;;ACND,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;;;;;;;;;;;;;ACXa;AACb,wBAAwB,mBAAO,CAAC,uFAA6B;AAC7D,aAAa,mBAAO,CAAC,qFAA4B;AACjD,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,gBAAgB,mBAAO,CAAC,6EAAwB;;AAEhD,8BAA8B,aAAa;;AAE3C;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA;AACA;AACA;;;;;;;;;;;;ACfA,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,+BAA+B,mBAAO,CAAC,+GAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPa;AACb,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,+BAA+B,mBAAO,CAAC,+GAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,oBAAoB,mBAAO,CAAC,uFAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA,yCAAyC,kCAAkC;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;;;;;;;;;;;;ACzFA,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;;;;;ACLD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,+BAA+B,mBAAO,CAAC,+HAAiD;AACxF,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK,GAAG,qCAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BA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C,qGAAoC;AACxE,cAAc,mBAAO,CAAC,yEAAsB;;AAE5C;AACA;AACA,2CAA2C;AAC3C;AACA;;;;;;;;;;;;ACRA,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,gCAAgC,mBAAO,CAAC,qHAA4C;AACpF,kCAAkC,mBAAO,CAAC,yHAA8C;AACxF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVA,aAAa,mBAAO,CAAC,uEAAqB;;AAE1C;;;;;;;;;;;;ACFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;;;;;;ACNA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACXa;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvKA,eAAe,mBAAO,CAAC,2EAAuB;;AAE9C;AACA;AACA;AACA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,UAAU,mBAAO,CAAC,iEAAkB;AACpC,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;;;;ACjCD,cAAc,mBAAO,CAAC,sEAAe;AACrC,iBAAiB,mBAAO,CAAC,sEAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,wEAAgB;AAC1C,oBAAoB,mBAAO,CAAC,0FAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtFa;AACb,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,0DAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;;;;;AClBA,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,UAAU,mBAAO,CAAC,iEAAkB;AACpC,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;;;;;ACVA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,UAAU,mBAAO,CAAC,iEAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;;;;;ACPA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;;;;;ACNA,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACTY;AACb,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,SAAS,EAAE;AAC1D,GAAG;AACH;;;;;;;;;;;;ACTA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1BA,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,iFAA0B;AAChD,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,WAAW,mBAAO,CAAC,mEAAmB;AACtC,oBAAoB,mBAAO,CAAC,yGAAsC;AAClE,aAAa,mBAAO,CAAC,uEAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,qCAAqC,cAAc;AACnD,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA,wCAAwC,+CAA+C;AACvF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC1XD,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,0BAA0B,mBAAO,CAAC,qHAA4C;AAC9E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,mFAA2B;AAClD,oBAAoB,mBAAO,CAAC,qGAAoC;AAChE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,uBAAuB,mBAAO,CAAC,uFAA6B;AAC5D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2DAA2D,iBAAiB;;AAE5E;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B,EAAE;AACpD,0BAA0B,wBAAwB;AAClD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACnFa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,iFAA0B;;AAE7C,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA;AACA;;AAEA,qCAAqC,6BAA6B,0BAA0B,YAAY,EAAE;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;;;;;;;;;;;;ACxBa;AACb,aAAa,mBAAO,CAAC,2FAA+B;AACpD,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,qBAAqB,mBAAO,CAAC,yFAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;;AC5BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3CY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;AC/HY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,mGAAmC;AAChE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;;AAEA;AACA,qCAAqC,iCAAiC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACrIY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,YAAY,mBAAO,CAAC,iFAA0B;AAC9C,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,cAAc,mBAAO,CAAC,uFAA6B;AACnD,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACdA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,2BAA2B,mBAAO,CAAC,yFAA8B;AACjE,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChCa;AACb;AACA,mBAAO,CAAC,yFAA8B;AACtC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,qBAAqB,mBAAO,CAAC,+EAAyB;AACtD,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,iEAAkB;AACvC,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,aAAa,mBAAO,CAAC,qFAA4B;AACjD,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+EAA+E,EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,2FAA+B;AACvC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,+EAAyB;AACtD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,uBAAuB,mBAAO,CAAC,2GAAuC;AACtE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,UAAU,mBAAO,CAAC,iEAAkB;AACpC,aAAa,mBAAO,CAAC,qFAA4B;AACjD,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,cAAc,mBAAO,CAAC,6FAAgC;AACtD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,4BAA4B,mBAAO,CAAC,iGAAkC;AACtE,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;;;;;;AC9+BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;;AAErC;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,SAAS;AACT;AACA,SAAS;AACT,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AAC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ACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/tBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;AAeA;;AACA,4E,CAKA;AACA;;;WACqB,OAAO,eAAP,KAA2B,WAA3B,GAAyC,MAAzC,GAAkD,mBAAO,CAAC,wEAAD,C;IAAtE,Q,QAAA,Q,EACR;;;AAEA,IAAM,KAAK,GAAG,YAAO,MAAP,CAAc,QAAd,CAAd;AAEA;;;;;;;;SAOe,a;;;AAgCf;;;;;;;;;;;;;4BAhCA,kBACI,cADJ,EAEI,MAFJ;AAAA,cAOmB,aAPnB;;AAAA;AAAA;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","file":"fhir-client.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entry/browser.ts\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var Emitter =\n /*#__PURE__*/\n function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal =\n /*#__PURE__*/\n function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController =\n /*#__PURE__*/\n function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar bind = require('../internals/bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator, next;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n createProperty(result, index, mapping\n ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)\n : step.value\n );\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var userAgent = require('../internals/user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol() == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/forced-string-html-method');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/forced-string-trim-method');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\-?\\d?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\nfunction log(...args) {\n\t// This hackery is required for IE8/9, where\n\t// the `console.log` function doesn't have 'apply'\n\treturn typeof console === 'object' &&\n\t\tconsole.log &&\n\t\tconsole.log(...args);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* Active `debug` instances.\n\t*/\n\tcreateDebug.instances = [];\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.enabled = createDebug.enabled(namespace);\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = selectColor(namespace);\n\t\tdebug.destroy = destroy;\n\t\tdebug.extend = extend;\n\t\t// Debug.formatArgs = formatArgs;\n\t\t// debug.rawLog = rawLog;\n\n\t\t// env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\tcreateDebug.instances.push(debug);\n\n\t\treturn debug;\n\t}\n\n\tfunction destroy() {\n\t\tconst index = createDebug.instances.indexOf(this);\n\t\tif (index !== -1) {\n\t\t\tcreateDebug.instances.splice(index, 1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < createDebug.instances.length; i++) {\n\t\t\tconst instance = createDebug.instances[i];\n\t\t\tinstance.enabled = createDebug.enabled(instance.namespace);\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with `Client.request`\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n\n if (!resourceType) {\n throw new Error(`Invalid url \"${_url}\"`);\n }\n\n if (patientCompartment.indexOf(resourceType) == -1) {\n throw new Error(`Cannot filter \"${resourceType}\" resources by patient`);\n }\n\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: fhirclient.JsonObject,\n client: Client\n): Promise {\n const sub = cache[refId];\n if (!sub) {\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request(refId).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n return cache[refId];\n }\n return sub;\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param {Object} obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client).then(sub => {\n if (graph) {\n if (isArray) {\n setPath(obj, `${path}.${i}`, sub);\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch(() => { /* ignore */ });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param {Object} fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: fhirclient.JsonObject = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client);\n })));\n });\n return task;\n}\n\nexport default class Client\n{\n state: fhirclient.ClientState;\n\n environment: fhirclient.Adapter;\n\n patient: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n request: (requestOptions: string|URL|fhirclient.RequestOptions, fhirOptions?: fhirclient.FhirOptions) => Promise\n api?: fhirclient.JsonObject\n };\n\n encounter: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n };\n\n user: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n fhirUser: string | null\n resourceType: string | null\n };\n\n api: fhirclient.JsonObject | undefined;\n\n private _refreshTask: Promise | null;\n\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n if (!_state.serverUrl || !_state.serverUrl.match(/https?:\\/\\/.+/)) {\n throw new Error(\"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\");\n }\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions: RequestInit = {}) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: (requestOptions: RequestInit = {}) => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: (requestOptions: RequestInit = {}) => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n connect(fhirJs?: (options: fhirclient.JsonObject) => fhirclient.JsonObject): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: fhirclient.JsonObject = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = getPath(this, \"state.tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = getPath(this, \"state.tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment);\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape \"{user type}/{user id}\". For example:\n * \"Practitioner/abc\" or \"Patient/xyz\".\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n return idToken.profile;\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = getPath(this, \"state.tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method`, `body` and `headers[\"Content-Type\"]` will be ignored\n * but other headers can be added.\n */\n create(resource: fhirclient.FHIR.Resource, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n ...requestOptions.headers || {},\n \"Content-Type\": \"application/fhir+json\"\n }\n });\n }\n\n /**\n * @param resource A FHIR resource to be updated\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method`, `body` and `headers[\"Content-Type\"]` will be ignored\n * but other headers can be added.\n */\n update(resource: fhirclient.FHIR.Resource, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n ...requestOptions.headers || {},\n \"Content-Type\": \"application/fhir+json\"\n }\n });\n }\n\n /**\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param [requestOptions] Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n */\n delete(url: string, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n if (!requestOptions) {\n throw new Error(\"request requires an url or request options as argument\");\n }\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n // authentication ------------------------------------------------------\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Authorization: authHeader\n };\n }\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n\n return request(url, requestOptions)\n\n // Automatic re-auth via refresh token -----------------------------\n .catch((error: HttpError) => {\n debugRequest(\"%o\", error);\n if (error.status == 401 && options.useRefreshToken) {\n const hasRefreshToken = getPath(this, \"state.tokenResponse.refresh_token\");\n if (hasRefreshToken) {\n return this.refresh().then(() => this.request(\n { ...(requestOptions as fhirclient.RequestOptions), url },\n options,\n _resolvedRefs\n ));\n }\n }\n throw error;\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!getPath(this, \"state.tokenResponse.access_token\")) {\n throw new Error(\"This app cannot be accessed directly. Please launch it as SMART app!\");\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n throw new Error(str.expired);\n }\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n throw new Error(str.expired);\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n // Handle raw requests (anything other than json) ------------------\n .then(data => {\n if (!data)\n return data;\n if (typeof data == \"string\")\n return data;\n if (data instanceof Response)\n return data;\n\n // Resolve References ------------------------------------------\n return (async (_data) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all((_data.entry as fhirclient.FHIR.BundleEntry[] || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n next.url,\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n });\n });\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n */\n refresh(): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n if (!refreshToken) {\n throw new Error(\"Unable to refresh. No refresh_token found.\");\n }\n\n const tokenUri = this.state.tokenUri;\n if (!tokenUri) {\n throw new Error(\"Unable to refresh. No tokenUri found.\");\n }\n\n const scopes = getPath(this, \"state.tokenResponse.scope\") || \"\";\n if (scopes.indexOf(\"offline_access\") == -1 && scopes.indexOf(\"online_access\") == -1) {\n throw new Error(\"Unable to refresh. No offline_access or online_access scope found.\");\n }\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a to the current refresh task (if any).\n if (!this._refreshTask) {\n this._refreshTask = request(tokenUri, {\n mode : \"cors\",\n method : \"POST\",\n headers: {\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`,\n credentials: \"include\"\n }).then(data => {\n if (!data.access_token) {\n throw new Error(\"No access token received\");\n }\n return data;\n }).then(data => {\n debugRefresh(\"Received new access token %O\", data);\n Object.assign(this.state.tokenResponse, data);\n return this.state;\n }).catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n }).finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n byCode = byCode;\n byCodes = byCodes;\n units = units;\n getPath = getPath;\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as fhirclient.JsonObject)[v] ?? 0);\n }\n}\n","interface ErrorResponse {\n error?: {\n status?: number\n statusText?: string\n responseText?: string\n };\n}\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n constructor(message: string, statusCode: number, statusText: string) {\n super(message);\n this.message = message;\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n this.status = statusCode;\n this.statusText = statusText;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n\n static create(failure?: string | Error | ErrorResponse) {\n // start with generic values\n let status: string | number = 0;\n let statusText = \"Error\";\n let message = \"Unknown error\";\n\n if (failure) {\n if (typeof failure == \"object\") {\n if (failure instanceof Error) {\n message = failure.message;\n }\n else if (failure.error) {\n status = failure.error.status || 0;\n statusText = failure.error.statusText || \"Error\";\n if (failure.error.responseText) {\n message = failure.error.responseText;\n }\n }\n }\n else if (typeof failure == \"string\") {\n message = failure;\n }\n }\n\n return new HttpError(message, status, statusText);\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. The are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\nexport function isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n throw (await humanizeError(resp));\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n options: RequestInit = {}\n): Promise\n{\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...options.headers\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"Content-Type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res);\n }\n if (type.match(/^text\\//i)) {\n return res.text();\n }\n return res;\n });\n}\n\nexport const getAndCache = (() => {\n const cache: fhirclient.JsonObject = {};\n\n return (url: string, requestOptions?: RequestInit, force = process.env.NODE_ENV === \"test\") => {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n };\n})() as (url: string, requestOptions?: RequestInit, force?: boolean) => Promise;\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\nexport async function humanizeError(resp: fhirclient.JsonObject) {\n let msg = `${resp.status} ${resp.statusText}\\nURL: ${resp.url}`;\n\n try {\n const type = resp.headers.get(\"Content-Type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n const json = await resp.json();\n if (json.error) {\n msg += \"\\n\" + json.error;\n if (json.error_description) {\n msg += \": \" + json.error_description;\n }\n }\n else {\n msg += \"\\n\\n\" + JSON.stringify(json, null, 4);\n }\n }\n if (type.match(/^text\\//i)) {\n const text = await resp.text();\n if (text) {\n msg += \"\\n\\n\" + text;\n }\n }\n } catch (_) {\n // ignore\n }\n\n throw new HttpError(msg, resp.status, resp.statusText);\n}\n\nexport function stripTrailingSlash(str: string) {\n return String(str || \"\").replace(/\\/+$/, \"\");\n}\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: fhirclient.JsonObject, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n return path.split(\".\").reduce(\n (out, key) => out ? out[key] : undefined,\n obj\n );\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @returns The modified object\n */\nexport function setPath(obj: fhirclient.JsonObject, path: string, value: any): fhirclient.JsonObject {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n } else {\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\nexport function jwtDecode(token: string, env: fhirclient.Adapter): fhirclient.IDToken\n{\n const payload = token.split(\".\")[1];\n return JSON.parse(env.atob(payload));\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\nexport function ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n isBrowser,\n debug as _debug,\n request,\n getPath,\n randomString,\n getAndCache,\n fetchConformanceStatement\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri: meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint\n };\n });\n}\n\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\"\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\ninterface Task {\n controller: AbortController;\n promise: Promise;\n complete?: boolean;\n}\n\n/**\n * This works similarly to `Promise.any()`. The tasks are objects containing a\n * request promise and it's AbortController. Returns a promise that will be\n * resolved with the return value of the first successful request, or rejected\n * with an aggregate error if all tasks fail. Any requests, other than the first\n * one that succeeds will be aborted.\n */\nfunction any(tasks: Task[]): Promise {\n const len = tasks.length;\n const errors: Error[] = [];\n let resolved = false;\n\n return new Promise((resolve, reject) => {\n\n function onSuccess(task: Task, result: any) {\n task.complete = true;\n if (!resolved) {\n resolved = true;\n tasks.forEach(t => {\n if (!t.complete) {\n t.controller.abort();\n }\n });\n resolve(result);\n }\n }\n\n function onError(error: Error) {\n if (errors.push(error) === len) {\n reject(new Error(errors.map(e => e.message).join(\"; \")));\n }\n }\n\n tasks.forEach(t => {\n t.promise.then(result => onSuccess(t, result), onError);\n });\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl] Fhir server base URL\n * @param [env] The Adapter\n */\nexport function getSecurityExtensions(env: fhirclient.Adapter, baseUrl = \"/\"): Promise\n{\n const AbortController = env.getAbortController();\n const abortController1 = new AbortController();\n const abortController2 = new AbortController();\n\n return any([{\n controller: abortController1,\n promise: getSecurityExtensionsFromWellKnownJson(baseUrl, {\n signal: abortController1.signal\n })\n }, {\n controller: abortController2,\n promise: getSecurityExtensionsFromConformanceStatement(baseUrl, {\n signal: abortController2.signal\n })\n }]);\n}\n\n/**\n * @param env\n * @param [params]\n * @param [_noRedirect] If true, resolve with the redirect url without trying to redirect to it\n */\nexport async function authorize(env: fhirclient.Adapter, params: fhirclient.AuthorizeParams = {}, _noRedirect: boolean = false): Promise\n{\n // Obtain input\n const {\n redirect_uri,\n clientSecret,\n fakeTokenResponse,\n patientId,\n encounterId,\n client_id\n } = params;\n\n let {\n iss,\n launch,\n fhirServiceUrl,\n redirectUri,\n scope = \"\",\n clientId\n } = params;\n\n const url = env.getUrl();\n const storage = env.getStorage();\n\n // For these three an url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n\n if (!clientId) {\n clientId = client_id;\n }\n\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n // prevent inheritance of tokenResponse from parent window\n await storage.unset(SMART_KEY);\n\n // create initial state\n const stateKey = randomString(16);\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n tokenResponse: {},\n key: stateKey\n };\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n // Storage.set(stateKey, state);\n await storage.set(stateKey, state);\n if (_noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(env, serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (_noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (_noRedirect) {\n return redirectUrl;\n }\n\n return await env.redirect(redirectUrl);\n}\n\n/**\n * The completeAuth function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server..\n */\nexport async function completeAuth(env: fhirclient.Adapter): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `completeAuth()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %O\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n if (!key) {\n throw new Error(\"No 'state' parameter found. Please (re)launch the app.\");\n }\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n if (!state) {\n throw new Error(\"No state found! Please (re)launch the app.\");\n }\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state?.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n if (!code) {\n throw new Error(\"'code' url parameter is required\");\n }\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = buildTokenRequest(env, code, state);\n debug(\"Token request options: %O\", requestOptions);\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n if (!tokenResponse.access_token) {\n throw new Error(\"Failed to obtain access token.\");\n }\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state?.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport function buildTokenRequest(env: fhirclient.Adapter, code: string, state: fhirclient.ClientState): RequestInit\n{\n const { redirectUri, clientSecret, tokenUri, clientId } = state;\n\n if (!redirectUri) {\n throw new Error(\"Missing state.redirectUri\");\n }\n\n if (!tokenUri) {\n throw new Error(\"Missing state.tokenUri\");\n }\n\n if (!clientId) {\n throw new Error(\"Missing state.clientId\");\n }\n\n const requestOptions: fhirclient.JsonObject = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.Authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\"Using state.clientSecret to construct the authorization header: %s\", requestOptions.headers.Authorization);\n } else {\n debug(\"No clientSecret found in state. Adding the clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n return requestOptions as RequestInit;\n}\n\n/**\n * @param env\n * @param [onSuccess]\n * @param [onError]\n */\nexport async function ready(env: fhirclient.Adapter, onSuccess?: (client: Client) => any, onError?: (error: Error) => any): Promise\n{\n let task = completeAuth(env);\n if (onSuccess) {\n task = task.then(onSuccess);\n }\n if (onError) {\n task = task.catch(onError);\n }\n return task;\n}\n\nexport async function init(env: fhirclient.Adapter, options: fhirclient.AuthorizeParams): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return completeAuth(env);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, options).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://FHIR/webpack/bootstrap","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/core-js/internals/a-function.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/bind-context.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-iterator.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/forced-string-html-method.js","webpack://FHIR/./node_modules/core-js/internals/forced-string-trim-method.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/global.js","webpack://FHIR/./node_modules/core-js/internals/has.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-ios.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/native-promise-constructor.js","webpack://FHIR/./node_modules/core-js/internals/native-symbol.js","webpack://FHIR/./node_modules/core-js/internals/native-url.js","webpack://FHIR/./node_modules/core-js/internals/native-weak-map.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/redefine-all.js","webpack://FHIR/./node_modules/core-js/internals/redefine.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/set-global.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/sloppy-array-method.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/user-agent.js","webpack://FHIR/./node_modules/core-js/internals/v8-version.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/debug/node_modules/ms/index.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/process/browser.js","webpack://FHIR/./node_modules/regenerator-runtime/runtime.js","webpack://FHIR/(webpack)/buildin/global.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts"],"names":["s","m","h","d","w","y","module","exports","val","options","type","length","parse","isNaN","long","fmtLong","fmtShort","Error","JSON","stringify","str","String","match","exec","n","parseFloat","toLowerCase","undefined","ms","msAbs","Math","abs","round","plural","name","isPlural","log","formatArgs","save","load","useColors","storage","localstorage","colors","window","process","__nwjs","navigator","userAgent","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","args","namespace","humanize","diff","c","color","splice","index","lastC","replace","namespaces","setItem","removeItem","error","r","getItem","env","DEBUG","localStorage","require","formatters","j","v","message","setup","createDebug","debug","default","coerce","disable","enable","enabled","Object","keys","forEach","key","instances","names","skips","selectColor","hash","i","charCodeAt","prevTime","self","curr","Number","Date","prev","unshift","format","formatter","call","logFn","apply","destroy","extend","init","push","indexOf","delimiter","newDebug","split","len","substr","instance","map","toNamespace","join","test","regexp","toString","substring","stack"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA,mC;;;;;;;;;;;ACpCA,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,2EAA2E;AAC3E;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4B;;;;;;;;;;;AChCA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;;;;;ACNA;AACA;AACA;;AAEA,mC;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;ACTA,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C,qBAAqB,mBAAO,CAAC,iFAAkB;;AAE/C,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD,gBAAgB,mBAAO,CAAC,uEAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,kC;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrtBA,iBAAiB,mBAAO,CAAC,sGAAqB;;;;;;;;;;;;ACA9C;AACA,EAAE,KAA0C,GAAG,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AAC9D,EAAE,SAAS;AACX,CAAC,eAAe;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;;AAEA,yCAAyC,OAAO;AAChD;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH,CAAC;;;;;;;;;;;;;AC5TD;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACNA,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,aAAa,mBAAO,CAAC,qFAA4B;AACjD,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb,aAAa,mBAAO,CAAC,2FAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACNa;AACb,eAAe,mBAAO,CAAC,yFAA8B;AACrD,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRY;AACb,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,mCAAmC,mBAAO,CAAC,2HAA+C;AAC1F,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzCA,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,yBAAyB,mBAAO,CAAC,mGAAmC;;AAEpE;;AAEA,qBAAqB,qDAAqD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEA,YAAY,mBAAO,CAAC,qEAAoB;AACxC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,+EAAyB;;AAElD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClBA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS,EAAE;AACzD,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;;;;;ACrCA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,qGAAoC;AACxE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;A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O,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK,GAAG,qCAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BA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C,qGAAoC;AACxE,cAAc,mBAAO,CAAC,yEAAsB;;AAE5C;AACA;AACA,2CAA2C;AAC3C;AACA;;;;;;;;;;;;ACRA,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,gCAAgC,mBAAO,CAAC,qHAA4C;AACpF,kCAAkC,mBAAO,CAAC,yHAA8C;AACxF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVA,aAAa,mBAAO,CAAC,uEAAqB;;AAE1C;;;;;;;;;;;;ACFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;;;;;;ACNA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACXa;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvKA,eAAe,mBAAO,CAAC,2EAAuB;;AAE9C;AACA;AACA;AACA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,UAAU,mBAAO,CAAC,iEAAkB;AACpC,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;;;;ACjCD,cAAc,mBAAO,CAAC,sEAAe;AACrC,iBAAiB,mBAAO,CAAC,sEAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,wEAAgB;AAC1C,oBAAoB,mBAAO,CAAC,0FAAyB;;AAErD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtFa;AACb,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,0DAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;;;;;AClBA,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,UAAU,mBAAO,CAAC,iEAAkB;AACpC,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;;;;;ACVA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,UAAU,mBAAO,CAAC,iEAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;;;;;ACPA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;;;;;ACNA,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACTY;AACb,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,SAAS,EAAE;AAC1D,GAAG;AACH;;;;;;;;;;;;ACTA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1BA,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,iFAA0B;AAChD,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,WAAW,mBAAO,CAAC,mEAAmB;AACtC,oBAAoB,mBAAO,CAAC,yGAAsC;AAClE,aAAa,mBAAO,CAAC,uEAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACpGA,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;;;;;ACXA;AACA,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E;AACA;AACA;;;;;;;;;;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;;;;;ACRA,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACbA,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;;;;;ACPA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACLA,oBAAoB,mBAAO,CAAC,qFAA4B;;AAExD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA,iBAAiB,mBAAO,CAAC,mFAA2B;;AAEpD;;;;;;;;;;;;ACFA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,UAAU,mBAAO,CAAC,iEAAkB;AACpC,UAAU,mBAAO,CAAC,iEAAkB;AACpC,oBAAoB,mBAAO,CAAC,qFAA4B;AACxD,wBAAwB,mBAAO,CAAC,6FAAgC;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AChBA;AACA;AACA;;;;;;;;;;;;;ACFa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,mCAAmC,mBAAO,CAAC,2HAA+C;AAC1F,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,+EAAyB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG,+CAA+C;AAClD,gCAAgC;AAChC;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3DY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,cAAc,mBAAO,CAAC,yFAA8B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,mCAAmC,mBAAO,CAAC,2HAA+C;;AAE1F;AACA;AACA;AACA,kBAAkB,mBAAmB,iBAAiB,UAAU,EAAE;AAClE,CAAC;;AAED;AACA;AACA;AACA,GAAG,gFAAgF;AACnF;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnBY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,YAAY,mBAAO,CAAC,yFAA8B;AAClD,uBAAuB,mBAAO,CAAC,+FAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,uBAAuB,mBAAO,CAAC,+FAAiC;AAChE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,yBAAyB,mBAAO,CAAC,mGAAmC;;AAEpE;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnBY;AACb,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,uBAAuB,mBAAO,CAAC,+FAAiC;AAChE,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,qBAAqB,mBAAO,CAAC,yFAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,8BAA8B;AAC9B,gCAAgC;AAChC,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACpDa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;;AAEA;AACA;;AAEA;AACA;AACA,GAAG,qEAAqE;AACxE;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACjBY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,yFAA8B;AACjD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,mCAAmC,mBAAO,CAAC,2HAA+C;;AAE1F;AACA;AACA;AACA,eAAe,mBAAmB,iBAAiB,UAAU,EAAE;AAC/D,CAAC;;AAED;AACA;AACA;AACA,GAAG,gFAAgF;AACnF;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnBY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,mCAAmC,mBAAO,CAAC,2HAA+C;;AAE1F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,gFAAgF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA,mBAAmB,2CAA2C;AAC9D,KAAK;AACL,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACjED;AACA;AACA,uBAAuB,mBAAO,CAAC,+FAAiC;;AAEhE;;;;;;;;;;;;ACJA,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,uGAAqC;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACrBa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,UAAU,mBAAO,CAAC,iEAAkB;AACpC,cAAc,mBAAO,CAAC,iFAA0B;AAChD,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,aAAa,mBAAO,CAAC,qFAA4B;AACjD,0BAA0B,mBAAO,CAAC,qHAA4C;AAC9E,+BAA+B,mBAAO,CAAC,+HAAiD;AACxF,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,WAAW,mBAAO,CAAC,iFAA0B;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7EA,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,aAAa,mBAAO,CAAC,qFAA4B;;AAEjD;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;;;;;ACPD,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;;AAExC,6CAA6C,eAAe,EAAE;;AAE9D;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACbD,4BAA4B,mBAAO,CAAC,qGAAoC;AACxE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,eAAe,mBAAO,CAAC,2FAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;;;;;;ACRa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,oBAAoB,mBAAO,CAAC,+GAAyC;AACrE,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,eAAe,mBAAO,CAAC,2EAAuB;;AAE9C;AACA;AACA,2CAA2C,oBAAoB,cAAc,EAAE,eAAe,cAAc;AAC5G,CAAC;;AAED;AACA;AACA,GAAG,kEAAkE;AACrE;AACA;AACA;AACA;AACA;AACA,gEAAgE,UAAU,EAAE;AAC5E,OAAO;AACP;AACA,gEAAgE,SAAS,EAAE;AAC3E,OAAO;AACP;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;;;;;;;;;;;;ACnCa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,oBAAoB,mBAAO,CAAC,+GAAyC;AACrE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,cAAc,mBAAO,CAAC,iFAA0B;AAChD,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,WAAW,mBAAO,CAAC,mEAAmB;AACtC,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,uBAAuB,mBAAO,CAAC,+FAAiC;AAChE,iCAAiC,mBAAO,CAAC,uGAAqC;AAC9E,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,+EAAyB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,qCAAqC,cAAc;AACnD,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA,wCAAwC,+CAA+C;AACvF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC1XD,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,0BAA0B,mBAAO,CAAC,qHAA4C;AAC9E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,mFAA2B;AAClD,oBAAoB,mBAAO,CAAC,qGAAoC;AAChE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,uBAAuB,mBAAO,CAAC,uFAA6B;AAC5D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2DAA2D,iBAAiB;;AAE5E;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B,EAAE;AACpD,0BAA0B,wBAAwB;AAClD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACnFa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,iFAA0B;;AAE7C,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA;AACA;;AAEA,qCAAqC,6BAA6B,0BAA0B,YAAY,EAAE;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;;;;;;;;;;;;ACxBa;AACb,aAAa,mBAAO,CAAC,2FAA+B;AACpD,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,qBAAqB,mBAAO,CAAC,yFAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;;AC5BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3CY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;AC/HY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,mGAAmC;AAChE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;;AAEA;AACA,qCAAqC,iCAAiC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACrIY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,YAAY,mBAAO,CAAC,iFAA0B;AAC9C,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,cAAc,mBAAO,CAAC,uFAA6B;AACnD,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACdA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,2BAA2B,mBAAO,CAAC,yFAA8B;AACjE,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChCa;AACb;AACA,mBAAO,CAAC,yFAA8B;AACtC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,qBAAqB,mBAAO,CAAC,+EAAyB;AACtD,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,iEAAkB;AACvC,WAAW,mBAAO,CAAC,mFAA2B;AAC9C,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,aAAa,mBAAO,CAAC,qFAA4B;AACjD,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+EAA+E,EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,2FAA+B;AACvC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,+EAAyB;AACtD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,uBAAuB,mBAAO,CAAC,2GAAuC;AACtE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,UAAU,mBAAO,CAAC,iEAAkB;AACpC,aAAa,mBAAO,CAAC,qFAA4B;AACjD,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,cAAc,mBAAO,CAAC,6FAAgC;AACtD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,4BAA4B,mBAAO,CAAC,iGAAkC;AACtE,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;;;;;;AC9+BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;;AAErC;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,SAAS;AACT;AACA,SAAS;AACT,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AAC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ACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/tBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;AAeA;;AACA,4E,CAKA;AACA;;;WACqB,OAAO,eAAP,KAA2B,WAA3B,GAAyC,MAAzC,GAAkD,mBAAO,CAAC,wEAAD,C;IAAtE,Q,QAAA,Q,EACR;;;AAEA,IAAM,KAAK,GAAG,YAAO,MAAP,CAAc,QAAd,CAAd;AAEA;;;;;;;;SAOe,a;;;AAgCf;;;;;;;;;;;;;;4BAhCA,kBACI,cADJ,EAEI,MAFJ;AAAA,cAOmB,aAPnB;;AAAA;AAAA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","file":"fhir-client.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entry/browser.ts\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var Emitter =\n /*#__PURE__*/\n function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal =\n /*#__PURE__*/\n function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController =\n /*#__PURE__*/\n function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar bind = require('../internals/bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator, next;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n createProperty(result, index, mapping\n ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)\n : step.value\n );\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var userAgent = require('../internals/user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol() == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/forced-string-html-method');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/forced-string-trim-method');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\-?\\d?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\nfunction log(...args) {\n\t// This hackery is required for IE8/9, where\n\t// the `console.log` function doesn't have 'apply'\n\treturn typeof console === 'object' &&\n\t\tconsole.log &&\n\t\tconsole.log(...args);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* Active `debug` instances.\n\t*/\n\tcreateDebug.instances = [];\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.enabled = createDebug.enabled(namespace);\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = selectColor(namespace);\n\t\tdebug.destroy = destroy;\n\t\tdebug.extend = extend;\n\t\t// Debug.formatArgs = formatArgs;\n\t\t// debug.rawLog = rawLog;\n\n\t\t// env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\tcreateDebug.instances.push(debug);\n\n\t\treturn debug;\n\t}\n\n\tfunction destroy() {\n\t\tconst index = createDebug.instances.indexOf(this);\n\t\tif (index !== -1) {\n\t\t\tcreateDebug.instances.splice(index, 1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < createDebug.instances.length; i++) {\n\t\t\tconst instance = createDebug.instances[i];\n\t\t\tinstance.enabled = createDebug.enabled(instance.namespace);\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with `Client.request`\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n\n if (!resourceType) {\n throw new Error(`Invalid url \"${_url}\"`);\n }\n\n if (patientCompartment.indexOf(resourceType) == -1) {\n throw new Error(`Cannot filter \"${resourceType}\" resources by patient`);\n }\n\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @param [signal] The `AbortSignal` if any\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: fhirclient.JsonObject,\n client: Client,\n signal?: AbortSignal\n): Promise {\n const sub = cache[refId];\n if (!sub) {\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request({\n url: refId,\n signal\n }).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n return cache[refId];\n }\n return sub;\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client,\n signal?: AbortSignal\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client, signal).then(sub => {\n if (graph) {\n if (isArray) {\n setPath(obj, `${path}.${i}`, sub);\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch((ex) => {\n /* ignore missing references */\n if (ex.status !== 404) {\n throw ex;\n }\n });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client,\n signal?: AbortSignal\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: fhirclient.JsonObject = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, signal);\n })));\n });\n return task;\n}\n\nexport default class Client\n{\n state: fhirclient.ClientState;\n\n environment: fhirclient.Adapter;\n\n patient: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n request: (requestOptions: string|URL|fhirclient.RequestOptions, fhirOptions?: fhirclient.FhirOptions) => Promise\n api?: fhirclient.JsonObject\n };\n\n encounter: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n };\n\n user: {\n id: string | null\n read: (requestOptions?: RequestInit) => Promise\n fhirUser: string | null\n resourceType: string | null\n };\n\n api: fhirclient.JsonObject | undefined;\n\n private _refreshTask: Promise | null;\n\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n if (!_state.serverUrl || !_state.serverUrl.match(/https?:\\/\\/.+/)) {\n throw new Error(\"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\");\n }\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions: RequestInit = {}) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: (requestOptions: RequestInit = {}) => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: (requestOptions: RequestInit = {}) => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n connect(fhirJs?: (options: fhirclient.JsonObject) => fhirclient.JsonObject): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: fhirclient.JsonObject = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = getPath(this, \"state.tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = getPath(this, \"state.tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment);\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape \"{user type}/{user id}\". For example:\n * \"Practitioner/abc\" or \"Patient/xyz\".\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n return idToken.profile;\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = getPath(this, \"state.tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method`, `body` and `headers[\"Content-Type\"]` will be ignored\n * but other headers can be added.\n */\n create(resource: fhirclient.FHIR.Resource, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n ...requestOptions.headers || {},\n \"Content-Type\": \"application/fhir+json\"\n }\n });\n }\n\n /**\n * @param resource A FHIR resource to be updated\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method`, `body` and `headers[\"Content-Type\"]` will be ignored\n * but other headers can be added.\n */\n update(resource: fhirclient.FHIR.Resource, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n ...requestOptions.headers || {},\n \"Content-Type\": \"application/fhir+json\"\n }\n });\n }\n\n /**\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param [requestOptions] Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n */\n delete(url: string, requestOptions: RequestInit = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n if (!requestOptions) {\n throw new Error(\"request requires an url or request options as argument\");\n }\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n // authentication ------------------------------------------------------\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Authorization: authHeader\n };\n }\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n\n const signal = (requestOptions as RequestInit).signal || undefined;\n\n\n return request(url, requestOptions)\n\n // Automatic re-auth via refresh token -----------------------------\n .catch((error: HttpError) => {\n debugRequest(\"%o\", error);\n if (error.status == 401 && options.useRefreshToken) {\n const hasRefreshToken = getPath(this, \"state.tokenResponse.refresh_token\");\n if (hasRefreshToken) {\n return this.refresh({ signal }).then(() => this.request(\n { ...(requestOptions as fhirclient.RequestOptions), url },\n options,\n _resolvedRefs\n ));\n }\n }\n throw error;\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!getPath(this, \"state.tokenResponse.access_token\")) {\n throw new Error(\"This app cannot be accessed directly. Please launch it as SMART app!\");\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n throw new Error(str.expired);\n }\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n throw new Error(str.expired);\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n .then(data => {\n\n // Handle raw responses (anything other than json) -------------\n if (!data)\n return data;\n if (typeof data == \"string\")\n return data;\n if (data instanceof Response)\n return data;\n\n // Resolve References ------------------------------------------\n return (async (_data) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all((_data.entry as fhirclient.FHIR.BundleEntry[] || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this,\n signal\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this,\n signal\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n {\n url: next.url,\n\n // Aborting the main request (even after it is complete)\n // must propagate to any child requests and abort them!\n // To do so, just pass the same AbortSignal if one is\n // provided.\n signal\n },\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n });\n });\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n */\n refresh(requestOptions: RequestInit = {}): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n if (!refreshToken) {\n throw new Error(\"Unable to refresh. No refresh_token found.\");\n }\n\n const tokenUri = this.state.tokenUri;\n if (!tokenUri) {\n throw new Error(\"Unable to refresh. No tokenUri found.\");\n }\n\n const scopes = getPath(this, \"state.tokenResponse.scope\") || \"\";\n if (scopes.indexOf(\"offline_access\") == -1 && scopes.indexOf(\"online_access\") == -1) {\n throw new Error(\"Unable to refresh. No offline_access or online_access scope found.\");\n }\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a to the current refresh task (if any).\n if (!this._refreshTask) {\n this._refreshTask = request(tokenUri, {\n ...requestOptions,\n mode : \"cors\",\n method : \"POST\",\n headers: {\n ...(requestOptions.headers || {}),\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`,\n credentials: \"include\"\n }).then(data => {\n if (!data.access_token) {\n throw new Error(\"No access token received\");\n }\n return data;\n }).then(data => {\n debugRefresh(\"Received new access token %O\", data);\n Object.assign(this.state.tokenResponse, data);\n return this.state;\n }).catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n }).finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n byCode = byCode;\n byCodes = byCodes;\n units = units;\n getPath = getPath;\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as fhirclient.JsonObject)[v] ?? 0);\n }\n}\n","interface ErrorResponse {\n error?: {\n status?: number\n statusText?: string\n responseText?: string\n };\n}\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n constructor(message: string, statusCode: number, statusText: string) {\n super(message);\n this.message = message;\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n this.status = statusCode;\n this.statusText = statusText;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n\n static create(failure?: string | Error | ErrorResponse) {\n // start with generic values\n let status: string | number = 0;\n let statusText = \"Error\";\n let message = \"Unknown error\";\n\n if (failure) {\n if (typeof failure == \"object\") {\n if (failure instanceof Error) {\n message = failure.message;\n }\n else if (failure.error) {\n status = failure.error.status || 0;\n statusText = failure.error.statusText || \"Error\";\n if (failure.error.responseText) {\n message = failure.error.responseText;\n }\n }\n }\n else if (typeof failure == \"string\") {\n message = failure;\n }\n }\n\n return new HttpError(message, status, statusText);\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. The are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\nexport function isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n throw (await humanizeError(resp));\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n options: RequestInit = {}\n): Promise\n{\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...options.headers\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"Content-Type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res);\n }\n if (type.match(/^text\\//i)) {\n return res.text();\n }\n return res;\n });\n}\n\nexport const getAndCache = (() => {\n const cache: fhirclient.JsonObject = {};\n\n return (url: string, requestOptions?: RequestInit, force = process.env.NODE_ENV === \"test\") => {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n };\n})() as (url: string, requestOptions?: RequestInit, force?: boolean) => Promise;\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\nexport async function humanizeError(resp: fhirclient.JsonObject) {\n let msg = `${resp.status} ${resp.statusText}\\nURL: ${resp.url}`;\n\n try {\n const type = resp.headers.get(\"Content-Type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n const json = await resp.json();\n if (json.error) {\n msg += \"\\n\" + json.error;\n if (json.error_description) {\n msg += \": \" + json.error_description;\n }\n }\n else {\n msg += \"\\n\\n\" + JSON.stringify(json, null, 4);\n }\n }\n if (type.match(/^text\\//i)) {\n const text = await resp.text();\n if (text) {\n msg += \"\\n\\n\" + text;\n }\n }\n } catch (_) {\n // ignore\n }\n\n throw new HttpError(msg, resp.status, resp.statusText);\n}\n\nexport function stripTrailingSlash(str: string) {\n return String(str || \"\").replace(/\\/+$/, \"\");\n}\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: fhirclient.JsonObject, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n return path.split(\".\").reduce(\n (out, key) => out ? out[key] : undefined,\n obj\n );\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @returns The modified object\n */\nexport function setPath(obj: fhirclient.JsonObject, path: string, value: any): fhirclient.JsonObject {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n } else {\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\nexport function jwtDecode(token: string, env: fhirclient.Adapter): fhirclient.IDToken\n{\n const payload = token.split(\".\")[1];\n return JSON.parse(env.atob(payload));\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\nexport function ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n isBrowser,\n debug as _debug,\n request,\n getPath,\n randomString,\n getAndCache,\n fetchConformanceStatement\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri: meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint\n };\n });\n}\n\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\"\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\ninterface Task {\n controller: AbortController;\n promise: Promise;\n complete?: boolean;\n}\n\n/**\n * This works similarly to `Promise.any()`. The tasks are objects containing a\n * request promise and it's AbortController. Returns a promise that will be\n * resolved with the return value of the first successful request, or rejected\n * with an aggregate error if all tasks fail. Any requests, other than the first\n * one that succeeds will be aborted.\n */\nfunction any(tasks: Task[]): Promise {\n const len = tasks.length;\n const errors: Error[] = [];\n let resolved = false;\n\n return new Promise((resolve, reject) => {\n\n function onSuccess(task: Task, result: any) {\n task.complete = true;\n if (!resolved) {\n resolved = true;\n tasks.forEach(t => {\n if (!t.complete) {\n t.controller.abort();\n }\n });\n resolve(result);\n }\n }\n\n function onError(error: Error) {\n if (errors.push(error) === len) {\n reject(new Error(errors.map(e => e.message).join(\"; \")));\n }\n }\n\n tasks.forEach(t => {\n t.promise.then(result => onSuccess(t, result), onError);\n });\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl] Fhir server base URL\n * @param [env] The Adapter\n */\nexport function getSecurityExtensions(env: fhirclient.Adapter, baseUrl = \"/\"): Promise\n{\n const AbortController = env.getAbortController();\n const abortController1 = new AbortController();\n const abortController2 = new AbortController();\n\n return any([{\n controller: abortController1,\n promise: getSecurityExtensionsFromWellKnownJson(baseUrl, {\n signal: abortController1.signal\n })\n }, {\n controller: abortController2,\n promise: getSecurityExtensionsFromConformanceStatement(baseUrl, {\n signal: abortController2.signal\n })\n }]);\n}\n\n/**\n * @param env\n * @param [params]\n * @param [_noRedirect] If true, resolve with the redirect url without trying to redirect to it\n */\nexport async function authorize(env: fhirclient.Adapter, params: fhirclient.AuthorizeParams = {}, _noRedirect: boolean = false): Promise\n{\n // Obtain input\n const {\n redirect_uri,\n clientSecret,\n fakeTokenResponse,\n patientId,\n encounterId,\n client_id\n } = params;\n\n let {\n iss,\n launch,\n fhirServiceUrl,\n redirectUri,\n scope = \"\",\n clientId\n } = params;\n\n const url = env.getUrl();\n const storage = env.getStorage();\n\n // For these three an url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n\n if (!clientId) {\n clientId = client_id;\n }\n\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n // prevent inheritance of tokenResponse from parent window\n await storage.unset(SMART_KEY);\n\n // create initial state\n const stateKey = randomString(16);\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n tokenResponse: {},\n key: stateKey\n };\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n // Storage.set(stateKey, state);\n await storage.set(stateKey, state);\n if (_noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(env, serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (_noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (_noRedirect) {\n return redirectUrl;\n }\n\n return await env.redirect(redirectUrl);\n}\n\n/**\n * The completeAuth function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server..\n */\nexport async function completeAuth(env: fhirclient.Adapter): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `completeAuth()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %O\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n if (!key) {\n throw new Error(\"No 'state' parameter found. Please (re)launch the app.\");\n }\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n if (!state) {\n throw new Error(\"No state found! Please (re)launch the app.\");\n }\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state?.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n if (!code) {\n throw new Error(\"'code' url parameter is required\");\n }\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = buildTokenRequest(env, code, state);\n debug(\"Token request options: %O\", requestOptions);\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n if (!tokenResponse.access_token) {\n throw new Error(\"Failed to obtain access token.\");\n }\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state?.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport function buildTokenRequest(env: fhirclient.Adapter, code: string, state: fhirclient.ClientState): RequestInit\n{\n const { redirectUri, clientSecret, tokenUri, clientId } = state;\n\n if (!redirectUri) {\n throw new Error(\"Missing state.redirectUri\");\n }\n\n if (!tokenUri) {\n throw new Error(\"Missing state.tokenUri\");\n }\n\n if (!clientId) {\n throw new Error(\"Missing state.clientId\");\n }\n\n const requestOptions: fhirclient.JsonObject = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.Authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\"Using state.clientSecret to construct the authorization header: %s\", requestOptions.headers.Authorization);\n } else {\n debug(\"No clientSecret found in state. Adding the clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n return requestOptions as RequestInit;\n}\n\n/**\n * @param env\n * @param [onSuccess]\n * @param [onError]\n */\nexport async function ready(env: fhirclient.Adapter, onSuccess?: (client: Client) => any, onError?: (error: Error) => any): Promise\n{\n let task = completeAuth(env);\n if (onSuccess) {\n task = task.then(onSuccess);\n }\n if (onError) {\n task = task.catch(onError);\n }\n return task;\n}\n\nexport async function init(env: fhirclient.Adapter, options: fhirclient.AuthorizeParams): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return completeAuth(env);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, options).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/build/fhir-client.min.js b/dist/build/fhir-client.min.js index 48f8b581..07b7d0a8 100644 --- a/dist/build/fhir-client.min.js +++ b/dist/build/fhir-client.min.js @@ -1,2 +1,2 @@ -window.FHIR=function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=124)}([function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,r){var n=r(2),o=r(77),i=r(6),a=r(80),u=r(81),s=r(125),c=o("wks"),f=n.Symbol,l=s?f:a;t.exports=function(t){return i(c,t)||(u&&i(f,t)?c[t]=f[t]:c[t]=l("Symbol."+t)),c[t]}},function(t,e,r){(function(e){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")()}).call(this,r(49))},function(t,e,r){var n=r(2),o=r(30).f,i=r(11),a=r(7),u=r(50),s=r(128),c=r(32);t.exports=function(t,e){var r,f,l,h,p,d=t.target,v=t.global,y=t.stat;if(r=v?n:y?n[d]||u(d,{}):(n[d]||{}).prototype)for(f in e){if(h=e[f],l=t.noTargetGet?(p=o(r,f))&&p.value:r[f],!c(v?f:d+(y?".":"#")+f,t.forced)&&void 0!==l){if(typeof h==typeof l)continue;s(h,l)}(t.sham||l&&l.sham)&&i(h,"sham",!0),a(r,f,h,t)}}},function(t,e,r){var n=r(5);t.exports=function(t){if(!n(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e,r){var n=r(2),o=r(11),i=r(6),a=r(50),u=r(52),s=r(15),c=s.get,f=s.enforce,l=String(String).split("String");(t.exports=function(t,e,r,u){var s=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,h=!!u&&!!u.noTargetGet;"function"==typeof r&&("string"!=typeof e||i(r,"name")||o(r,"name",e),f(r).source=l.join("string"==typeof e?e:"")),t!==n?(s?!h&&t[e]&&(c=!0):delete t[e],c?t[e]=r:o(t,e,r)):c?t[e]=r:a(e,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(t,e,r){var n=r(0);t.exports=!n((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,e,r){var n=r(19),o=Math.min;t.exports=function(t){return t>0?o(n(t),9007199254740991):0}},function(t,e,r){var n=r(8),o=r(79),i=r(4),a=r(28),u=Object.defineProperty;e.f=n?u:function(t,e,r){if(i(t),e=a(e,!0),i(r),o)try{return u(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},function(t,e,r){var n=r(8),o=r(10),i=r(23);t.exports=n?function(t,e,r){return o.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(14);t.exports=function(t){return Object(n(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n,o,i,a=r(126),u=r(2),s=r(5),c=r(11),f=r(6),l=r(53),h=r(54),p=u.WeakMap;if(a){var d=new p,v=d.get,y=d.has,g=d.set;n=function(t,e){return g.call(d,t,e),e},o=function(t){return v.call(d,t)||{}},i=function(t){return y.call(d,t)}}else{var m=l("state");h[m]=!0,n=function(t,e){return c(t,m,e),e},o=function(t){return f(t,m)?t[m]:{}},i=function(t){return f(t,m)}}t.exports={set:n,get:o,has:i,enforce:function(t){return i(t)?o(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!s(e)||(r=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,e,r){var n=r(130),o=r(2),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(n[t])||i(o[t]):n[t]&&n[t][e]||o[t]&&o[t][e]}},function(t,e,r){var n=r(48),o=r(7),i=r(127);n||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,e){t.exports=!1},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(33);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}}},function(t,e,r){"use strict";var n=r(3),o=r(42);n({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(31),o=r(14);t.exports=function(t){return n(o(t))}},function(t,e,r){var n=r(10).f,o=r(6),i=r(1)("toStringTag");t.exports=function(t,e,r){t&&!o(t=r?t:t.prototype,i)&&n(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,r){"use strict";var n=r(71),o=r(4),i=r(13),a=r(9),u=r(19),s=r(14),c=r(72),f=r(73),l=Math.max,h=Math.min,p=Math.floor,d=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;n("replace",2,(function(t,e,r,n){return[function(r,n){var o=s(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,i){if(n.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var s=r(e,t,this,i);if(s.done)return s.value}var p=o(t),d=String(this),v="function"==typeof i;v||(i=String(i));var g=p.global;if(g){var m=p.unicode;p.lastIndex=0}for(var b=[];;){var w=f(p,d);if(null===w)break;if(b.push(w),!g)break;""===String(w[0])&&(p.lastIndex=c(d,a(p.lastIndex),m))}for(var x,E="",S=0,k=0;k=S&&(E+=d.slice(S,O)+j,S=O+R.length)}return E+d.slice(S)}];function y(t,r,n,o,a,u){var s=n+t.length,c=o.length,f=v;return void 0!==a&&(a=i(a),f=d),e.call(u,f,(function(e,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(s);case"<":u=a[i.slice(1,-1)];break;default:var f=+i;if(0===f)return e;if(f>c){var l=p(f/10);return 0===l?e:l<=c?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):e}u=o[f-1]}return void 0===u?"":u}))}}))},function(t,e,r){var n=r(5);t.exports=function(t,e){if(!n(t))return t;var r,o;if(e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!n(o=r.call(t)))return o;if(!e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,r){"use strict";var n,o,i,a,u=r(3),s=r(18),c=r(2),f=r(16),l=r(86),h=r(7),p=r(87),d=r(25),v=r(88),y=r(5),g=r(33),m=r(58),b=r(12),w=r(52),x=r(132),E=r(133),S=r(59),k=r(91).set,R=r(134),O=r(95),C=r(135),P=r(96),_=r(136),A=r(15),j=r(32),T=r(1),L=r(60),I=T("species"),U="Promise",F=A.get,M=A.set,N=A.getterFor(U),q=l,B=c.TypeError,D=c.document,z=c.process,G=f("fetch"),H=P.f,$=H,Y="process"==b(z),V=!!(D&&D.createEvent&&c.dispatchEvent),K=j(U,(function(){if(!(w(q)!==String(q))){if(66===L)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(s&&!q.prototype.finally)return!0;if(L>=51&&/native code/.test(q))return!1;var t=q.resolve(1),e=function(t){t((function(){}),(function(){}))};return(t.constructor={})[I]=e,!(t.then((function(){}))instanceof e)})),J=K||!E((function(t){q.all(t).catch((function(){}))})),W=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},X=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;R((function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&et(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(B("Promise-chain cycle")):(s=W(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&Q(t,e)}))}},Z=function(t,e,r){var n,o;V?((n=D.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),c.dispatchEvent(n)):n={promise:e,reason:r},(o=c["on"+t])?o(n):"unhandledrejection"===t&&C("Unhandled promise rejection",r)},Q=function(t,e){k.call(c,(function(){var r,n=e.value;if(tt(e)&&(r=_((function(){Y?z.emit("unhandledRejection",n,t):Z("unhandledrejection",t,n)})),e.rejection=Y||tt(e)?2:1,r.error))throw r.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},et=function(t,e){k.call(c,(function(){Y?z.emit("rejectionHandled",t):Z("rejectionhandled",t,e.value)}))},rt=function(t,e,r,n){return function(o){t(e,r,o,n)}},nt=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,X(t,e,!0))},ot=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw B("Promise can't be resolved itself");var o=W(r);o?R((function(){var n={done:!1};try{o.call(r,rt(ot,t,n,e),rt(nt,t,n,e))}catch(r){nt(t,n,r,e)}})):(e.value=r,e.state=1,X(t,e,!1))}catch(r){nt(t,{done:!1},r,e)}}};K&&(q=function(t){m(this,q,U),g(t),n.call(this);var e=F(this);try{t(rt(ot,this,e),rt(nt,this,e))}catch(t){nt(this,e,t)}},(n=function(t){M(this,{type:U,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=p(q.prototype,{then:function(t,e){var r=N(this),n=H(S(this,q));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=Y?z.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&X(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new n,e=F(t);this.promise=t,this.resolve=rt(ot,t,e),this.reject=rt(nt,t,e)},P.f=H=function(t){return t===q||t===i?new o(t):$(t)},s||"function"!=typeof l||(a=l.prototype.then,h(l.prototype,"then",(function(t,e){var r=this;return new q((function(t,e){a.call(r,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof G&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return O(q,G.apply(c,arguments))}}))),u({global:!0,wrap:!0,forced:K},{Promise:q}),d(q,U,!1,!0),v(U),i=f(U),u({target:U,stat:!0,forced:K},{reject:function(t){var e=H(this);return e.reject.call(void 0,t),e.promise}}),u({target:U,stat:!0,forced:s||K},{resolve:function(t){return O(s&&this===i?q:this,t)}}),u({target:U,stat:!0,forced:J},{all:function(t){var e=this,r=H(e),n=r.resolve,o=r.reject,i=_((function(){var r=g(e.resolve),i=[],a=0,u=1;x(t,(function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then((function(t){c||(c=!0,i[s]=t,--u||n(i))}),o)})),--u||n(i)}));return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=H(e),n=r.reject,o=_((function(){var o=g(e.resolve);x(t,(function(t){o.call(e,t).then(r.resolve,n)}))}));return o.error&&n(o.value),r.promise}})},function(t,e,r){var n=r(8),o=r(82),i=r(23),a=r(24),u=r(28),s=r(6),c=r(79),f=Object.getOwnPropertyDescriptor;e.f=n?f:function(t,e){if(t=a(t),e=u(e,!0),c)try{return f(t,e)}catch(t){}if(s(t,e))return i(!o.f.call(t,e),t[e])}},function(t,e,r){var n=r(0),o=r(12),i="".split;t.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,e,r){var n=r(0),o=/#|\.prototype\./,i=function(t,e){var r=u[a(t)];return r==c||r!=s&&("function"==typeof e?n(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},s=i.NATIVE="N",c=i.POLYFILL="P";t.exports=i},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,r){var n=r(55),o=r(26),i=r(1)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){"use strict";var n=r(3),o=r(0),i=r(61),a=r(5),u=r(13),s=r(9),c=r(62),f=r(36),l=r(37),h=r(1),p=r(60),d=h("isConcatSpreadable"),v=p>=51||!o((function(){var t=[];return t[d]=!1,t.concat()[0]!==t})),y=l("concat"),g=function(t){if(!a(t))return!1;var e=t[d];return void 0!==e?!!e:i(t)};n({target:"Array",proto:!0,forced:!v||!y},{concat:function(t){var e,r,n,o,i,a=u(this),l=f(a,0),h=0;for(e=-1,n=arguments.length;e9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r=9007199254740991)throw TypeError("Maximum allowed index exceeded");c(l,h++,i)}return l.length=h,l}})},function(t,e,r){var n=r(5),o=r(61),i=r(1)("species");t.exports=function(t,e){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?n(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)}},function(t,e,r){var n=r(0),o=r(1),i=r(60),a=o("species");t.exports=function(t){return i>=51||!n((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e,r){"use strict";var n=r(24),o=r(63),i=r(26),a=r(15),u=r(98),s=a.set,c=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,e){s(this,{type:"Array Iterator",target:n(t),index:0,kind:e})}),(function(){var t=c(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,e,r){var n,o=r(4),i=r(97),a=r(57),u=r(54),s=r(92),c=r(51),f=r(53),l=f("IE_PROTO"),h=function(){},p=function(t){return"