{"version":3,"file":"firebase-app.js","sources":["../../node_modules/whatwg-fetch/fetch.js","../../node_modules/promise-polyfill/lib/polyfill.js","../polyfill/node_modules/core-js/internals/a-function.js","../polyfill/node_modules/core-js/internals/internal-state.js","../polyfill/node_modules/core-js/internals/bind-context.js","../polyfill/node_modules/core-js/internals/fails.js","../polyfill/node_modules/core-js/internals/classof-raw.js","../polyfill/node_modules/core-js/internals/indexed-object.js","../polyfill/node_modules/core-js/internals/require-object-coercible.js","../polyfill/node_modules/core-js/internals/to-object.js","../polyfill/node_modules/core-js/internals/to-integer.js","../polyfill/node_modules/core-js/internals/to-length.js","../polyfill/node_modules/core-js/internals/is-object.js","../polyfill/node_modules/core-js/internals/is-array.js","../polyfill/node_modules/core-js/internals/global.js","../polyfill/node_modules/core-js/internals/descriptors.js","../polyfill/node_modules/core-js/internals/document-create-element.js","../polyfill/node_modules/core-js/internals/ie8-dom-define.js","../polyfill/node_modules/core-js/internals/an-object.js","../polyfill/node_modules/core-js/internals/to-primitive.js","../polyfill/node_modules/core-js/internals/object-define-property.js","../polyfill/node_modules/core-js/internals/create-property-descriptor.js","../polyfill/node_modules/core-js/internals/hide.js","../polyfill/node_modules/core-js/internals/set-global.js","../polyfill/node_modules/core-js/internals/shared.js","../polyfill/node_modules/core-js/internals/uid.js","../polyfill/node_modules/core-js/internals/native-symbol.js","../polyfill/node_modules/core-js/internals/well-known-symbol.js","../polyfill/node_modules/core-js/internals/array-species-create.js","../polyfill/node_modules/core-js/internals/array-methods.js","../polyfill/node_modules/core-js/internals/object-property-is-enumerable.js","../polyfill/node_modules/core-js/internals/to-indexed-object.js","../polyfill/node_modules/core-js/internals/has.js","../polyfill/node_modules/core-js/internals/object-get-own-property-descriptor.js","../polyfill/node_modules/core-js/internals/function-to-string.js","../polyfill/node_modules/core-js/internals/native-weak-map.js","../polyfill/node_modules/core-js/internals/shared-key.js","../polyfill/node_modules/core-js/internals/hidden-keys.js","../polyfill/node_modules/core-js/internals/array-includes.js","../polyfill/node_modules/core-js/internals/redefine.js","../polyfill/node_modules/core-js/internals/to-absolute-index.js","../polyfill/node_modules/core-js/internals/object-keys-internal.js","../polyfill/node_modules/core-js/internals/enum-bug-keys.js","../polyfill/node_modules/core-js/internals/object-get-own-property-names.js","../polyfill/node_modules/core-js/internals/object-get-own-property-symbols.js","../polyfill/node_modules/core-js/internals/own-keys.js","../polyfill/node_modules/core-js/internals/copy-constructor-properties.js","../polyfill/node_modules/core-js/internals/is-forced.js","../polyfill/node_modules/core-js/internals/export.js","../polyfill/node_modules/core-js/internals/object-keys.js","../polyfill/node_modules/core-js/internals/object-define-properties.js","../polyfill/node_modules/core-js/internals/html.js","../polyfill/node_modules/core-js/internals/object-create.js","../polyfill/node_modules/core-js/internals/add-to-unscopables.js","../polyfill/node_modules/core-js/modules/es.array.find.js","../polyfill/node_modules/core-js/internals/entry-unbind.js","../polyfill/node_modules/core-js/modules/es.array.find-index.js","../polyfill/node_modules/core-js/es/array/find.js","../polyfill/node_modules/core-js/es/array/find-index.js","../polyfill/node_modules/core-js/internals/object-assign.js","../polyfill/node_modules/core-js/modules/es.object.assign.js","../polyfill/node_modules/core-js/internals/path.js","../polyfill/node_modules/core-js/internals/is-regexp.js","../polyfill/node_modules/core-js/es/object/assign.js","../polyfill/node_modules/core-js/internals/validate-string-method-arguments.js","../polyfill/node_modules/core-js/internals/correct-is-regexp-logic.js","../polyfill/node_modules/core-js/modules/es.string.starts-with.js","../polyfill/node_modules/core-js/es/string/starts-with.js","../polyfill/node_modules/core-js/modules/es.string.repeat.js","../polyfill/node_modules/core-js/internals/string-repeat.js","../polyfill/node_modules/core-js/es/string/repeat.js","../polyfill/node_modules/core-js/internals/array-method-has-species-support.js","../polyfill/node_modules/core-js/internals/create-property.js","../polyfill/node_modules/core-js/modules/es.array.concat.js","../polyfill/node_modules/core-js/internals/classof.js","../polyfill/node_modules/core-js/internals/object-to-string.js","../polyfill/node_modules/core-js/modules/es.object.to-string.js","../polyfill/node_modules/core-js/internals/set-to-string-tag.js","../polyfill/node_modules/core-js/internals/wrapped-well-known-symbol.js","../polyfill/node_modules/core-js/internals/define-well-known-symbol.js","../polyfill/node_modules/core-js/internals/object-get-own-property-names-external.js","../polyfill/node_modules/core-js/modules/es.symbol.js","../polyfill/node_modules/core-js/internals/enum-keys.js","../polyfill/node_modules/core-js/modules/es.symbol.async-iterator.js","../polyfill/node_modules/core-js/modules/es.symbol.description.js","../polyfill/node_modules/core-js/modules/es.symbol.has-instance.js","../polyfill/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","../polyfill/node_modules/core-js/modules/es.symbol.iterator.js","../polyfill/node_modules/core-js/modules/es.symbol.match.js","../polyfill/node_modules/core-js/modules/es.symbol.replace.js","../polyfill/node_modules/core-js/modules/es.symbol.search.js","../polyfill/node_modules/core-js/modules/es.symbol.species.js","../polyfill/node_modules/core-js/modules/es.symbol.split.js","../polyfill/node_modules/core-js/modules/es.symbol.to-primitive.js","../polyfill/node_modules/core-js/modules/es.symbol.to-string-tag.js","../polyfill/node_modules/core-js/modules/es.symbol.unscopables.js","../polyfill/node_modules/core-js/modules/es.math.to-string-tag.js","../polyfill/node_modules/core-js/modules/es.json.to-string-tag.js","../polyfill/node_modules/core-js/es/symbol/index.js","../polyfill/node_modules/core-js/modules/esnext.symbol.dispose.js","../polyfill/node_modules/core-js/modules/esnext.symbol.observable.js","../polyfill/node_modules/core-js/modules/esnext.symbol.pattern-match.js","../polyfill/node_modules/core-js/internals/string-at.js","../polyfill/node_modules/core-js/internals/iterators-core.js","../polyfill/node_modules/core-js/internals/correct-prototype-getter.js","../polyfill/node_modules/core-js/internals/object-get-prototype-of.js","../polyfill/node_modules/core-js/internals/create-iterator-constructor.js","../polyfill/node_modules/core-js/internals/object-set-prototype-of.js","../polyfill/node_modules/core-js/internals/validate-set-prototype-of-arguments.js","../polyfill/node_modules/core-js/internals/define-iterator.js","../polyfill/node_modules/core-js/modules/es.string.iterator.js","../polyfill/node_modules/core-js/internals/dom-iterables.js","../polyfill/node_modules/core-js/modules/es.array.iterator.js","../polyfill/node_modules/core-js/modules/web.dom-collections.iterator.js","../polyfill/node_modules/core-js/es/symbol/iterator.js","../util/src/deepCopy.ts","../util/src/errors.ts","../util/src/subscribe.ts","../app/src/firebaseApp.ts","../app/index.ts"],"sourcesContent":["(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (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 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 isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || 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) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\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 throw new Error('unsupported BodyInit type')\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 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 || 'omit'\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.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.trim().split('&').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 self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\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.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 xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","'use strict';\n\n/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n return constructor.resolve(callback()).then(function() {\n return constructor.reject(reason);\n });\n }\n );\n}\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = finallyConstructor;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(values) {\n return new Promise(function(resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n (typeof setImmediate === 'function' &&\n function(fn) {\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!('Promise' in globalNS)) {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = finallyConstructor;\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 NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar WeakMap = require('../internals/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 hide(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 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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar split = ''.split;\n\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","// `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 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 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');\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; // pow(2, 53) - 1 == 9007199254740991\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\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","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports = typeof window == 'object' && window && window.Math == Math ? window\n : typeof self == 'object' && self && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('../internals/fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('../internals/is-object');\nvar document = require('../internals/global').document;\n// typeof document.createElement is 'object' in old IE\nvar exist = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return exist ? document.createElement(it) : {};\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('../internals/descriptors') && !require('../internals/fails')(function () {\n return Object.defineProperty(require('../internals/document-create-element')('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\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","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('../internals/is-object');\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 (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\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');\nvar nativeDefineProperty = Object.defineProperty;\n\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 (e) { /* 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","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","var definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = require('../internals/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","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (e) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.0.0',\n mode: require('../internals/is-pure') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36));\n};\n","// Chrome 38 Symbol has incorrect toString conversion\nmodule.exports = !require('../internals/fails')(function () {\n // eslint-disable-next-line no-undef\n String(Symbol());\n});\n","var store = require('../internals/shared')('wks');\nvar uid = require('../internals/uid');\nvar Symbol = require('../internals/global').Symbol;\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar SPECIES = require('../internals/well-known-symbol')('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 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\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\n// 0 -> Array#forEach\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n// 1 -> Array#map\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// 2 -> Array#filter\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// 3 -> Array#some\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n// 4 -> Array#every\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n// 5 -> Array#find\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n// 6 -> Array#findIndex\n// https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\nmodule.exports = function (TYPE, specificCreate) {\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 var create = specificCreate || arraySpeciesCreate;\n return function ($this, callbackfn, that) {\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 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: target.push(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","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = nativeGetOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = nativeGetOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\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 hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\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');\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\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 (e) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = require('../internals/shared')('native-function-to-string', Function.toString);\n","var nativeFunctionToString = require('../internals/function-to-string');\nvar WeakMap = require('../internals/global').WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared')('keys');\nvar uid = require('../internals/uid');\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","module.exports = {};\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\n// false -> Array#indexOf\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n// true -> Array#includes\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\nmodule.exports = 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++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nrequire('../internals/shared')('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\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')) hide(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 hide(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 || nativeFunctionToString.call(this);\n});\n","var toInteger = require('../internals/to-integer');\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(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayIndexOf = require('../internals/array-includes')(false);\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 ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\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","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar hiddenKeys = require('../internals/enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\nvar Reflect = require('../internals/global').Reflect;\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = Reflect && 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 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');\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 global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\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 hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\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\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var i = 0;\n var key;\n while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);\n return O;\n};\n","var document = require('../internals/global').document;\n\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar IE_PROTO = require('../internals/shared-key')('IE_PROTO');\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nrequire('../internals/hidden-keys')[IE_PROTO] = true;\n","var UNSCOPABLES = require('../internals/well-known-symbol')('unscopables');\nvar create = require('../internals/object-create');\nvar hide = require('../internals/hide');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar internalFind = require('../internals/array-methods')(5);\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\nrequire('../internals/export')({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return internalFind(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nrequire('../internals/add-to-unscopables')(FIND);\n","var global = require('../internals/global');\nvar bind = require('../internals/bind-context');\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","'use strict';\nvar internalFindIndex = require('../internals/array-methods')(6);\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\nrequire('../internals/export')({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return internalFindIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nrequire('../internals/add-to-unscopables')(FIND_INDEX);\n","require('../../modules/es.array.find');\n\nmodule.exports = require('../../internals/entry-unbind')('Array', 'find');\n","require('../../modules/es.array.find-index');\n\nmodule.exports = require('../../internals/entry-unbind')('Array', 'findIndex');\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\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');\nvar nativeAssign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !nativeAssign || require('../internals/fails')(function () {\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) if (propertyIsEnumerable.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : nativeAssign;\n","var assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nrequire('../internals/export')({ target: 'Object', stat: true, forced: Object.assign !== assign }, { assign: assign });\n","module.exports = require('../internals/global');\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar MATCH = require('../internals/well-known-symbol')('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","require('../../modules/es.object.assign');\n\nmodule.exports = require('../../internals/path').Object.assign;\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('../internals/is-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) {\n throw TypeError('String.prototype.' + NAME + \" doesn't accept regex\");\n } return String(requireObjectCoercible(that));\n};\n","var MATCH = require('../internals/well-known-symbol')('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\nvar validateArguments = require('../internals/validate-string-method-arguments');\nvar STARTS_WITH = 'startsWith';\nvar CORRECT_IS_REGEXP_LOGIC = require('../internals/correct-is-regexp-logic')(STARTS_WITH);\nvar nativeStartsWith = ''[STARTS_WITH];\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\nrequire('../internals/export')({ target: 'String', proto: true, forced: !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = validateArguments(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","require('../../modules/es.string.starts-with');\n\nmodule.exports = require('../../internals/entry-unbind')('String', 'startsWith');\n","// `String.prototype.repeat` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nrequire('../internals/export')({ target: 'String', proto: true }, {\n repeat: require('../internals/string-repeat')\n});\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","require('../../modules/es.string.repeat');\n\nmodule.exports = require('../../internals/entry-unbind')('String', 'repeat');\n","var fails = require('../internals/fails');\nvar SPECIES = require('../internals/well-known-symbol')('species');\n\nmodule.exports = function (METHOD_NAME) {\n return !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","'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 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 IS_CONCAT_SPREADABLE = require('../internals/well-known-symbol')('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1fffffffffffff;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\nvar IS_CONCAT_SPREADABLE_SUPPORT = !require('../internals/fails')(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = require('../internals/array-method-has-species-support')('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\nrequire('../internals/export')({ 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","var classofRaw = require('../internals/classof-raw');\nvar TO_STRING_TAG = require('../internals/well-known-symbol')('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 (e) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = 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","'use strict';\nvar classof = require('../internals/classof');\nvar TO_STRING_TAG = require('../internals/well-known-symbol')('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n","var toString = require('../internals/object-to-string');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (toString !== ObjectPrototype.toString) {\n require('../internals/redefine')(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar TO_STRING_TAG = require('../internals/well-known-symbol')('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","exports.f = require('../internals/well-known-symbol');\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\nvar $export = require('../internals/export');\nvar redefine = require('../internals/redefine');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar fails = require('../internals/fails');\nvar shared = require('../internals/shared');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar enumKeys = require('../internals/enum-keys');\nvar isArray = require('../internals/is-array');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar hide = require('../internals/hide');\nvar objectKeys = require('../internals/object-keys');\nvar HIDDEN = require('../internals/shared-key')('hidden');\nvar InternalStateModule = require('../internals/internal-state');\nvar SYMBOL = 'Symbol';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\nvar ObjectPrototype = Object[PROTOTYPE];\nvar QObject = global.QObject;\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, key);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[key];\n nativeDefineProperty(it, key, D);\n if (ObjectPrototypeDescriptor && it !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, key, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) nativeDefineProperty(it, HIDDEN, createPropertyDescriptor(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = nativeObjectCreate(D, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(it, key, D);\n } return nativeDefineProperty(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIndexedObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? nativeObjectCreate(it) : $defineProperties(nativeObjectCreate(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = nativePropertyIsEnumerable.call(this, key = toPrimitive(key, true));\n if (this === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIndexedObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var D = nativeGetOwnPropertyDescriptor(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && !has(hiddenKeys, key)) result.push(key);\n } return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OP ? ObjectPrototypeSymbols : toIndexedObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectPrototype, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n require('../internals/object-get-own-property-names').f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n require('../internals/object-get-own-property-symbols').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n\n$export({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { Symbol: $Symbol });\n\nfor (var wellKnownSymbols = objectKeys(WellKnownSymbolsStore), k = 0; wellKnownSymbols.length > k;) {\n defineWellKnownSymbol(wellKnownSymbols[k++]);\n}\n\n$export({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nJSON && $export({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return nativeJSONStringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || nativeJSONStringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || nativeJSONStringify(Object(symbol)) != '{}';\n}) }, {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\n\n// all enumerable object keys, includes symbols\nmodule.exports = function (it) {\n var result = objectKeys(it);\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n if (getOwnPropertySymbols) {\n var symbols = getOwnPropertySymbols(it);\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (propertyIsEnumerable.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\nrequire('../internals/define-well-known-symbol')('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar NativeSymbol = require('../internals/global').Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n require('../internals/export')({ global: true, forced: true }, { Symbol: SymbolWrapper });\n}\n","// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\nrequire('../internals/define-well-known-symbol')('hasInstance');\n","// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\nrequire('../internals/define-well-known-symbol')('isConcatSpreadable');\n","// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\nrequire('../internals/define-well-known-symbol')('iterator');\n","// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\nrequire('../internals/define-well-known-symbol')('match');\n","// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\nrequire('../internals/define-well-known-symbol')('replace');\n","// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\nrequire('../internals/define-well-known-symbol')('search');\n","// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\nrequire('../internals/define-well-known-symbol')('species');\n","// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\nrequire('../internals/define-well-known-symbol')('split');\n","// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\nrequire('../internals/define-well-known-symbol')('toPrimitive');\n","// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\nrequire('../internals/define-well-known-symbol')('toStringTag');\n","// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\nrequire('../internals/define-well-known-symbol')('unscopables');\n","// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nrequire('../internals/set-to-string-tag')(Math, 'Math', true);\n","// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nrequire('../internals/set-to-string-tag')(require('../internals/global').JSON, 'JSON', true);\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\n\nmodule.exports = require('../../internals/path').Symbol;\n","// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-using-statement\nrequire('../internals/define-well-known-symbol')('dispose');\n","// https://github.com/tc39/proposal-observable\nrequire('../internals/define-well-known-symbol')('observable');\n","// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\nrequire('../internals/define-well-known-symbol')('patternMatch');\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n// CONVERT_TO_STRING: true -> String#at\n// CONVERT_TO_STRING: false -> String#codePointAt\nmodule.exports = function (that, pos, CONVERT_TO_STRING) {\n var S = String(requireObjectCoercible(that));\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","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar IS_PURE = require('../internals/is-pure');\nvar ITERATOR = require('../internals/well-known-symbol')('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)) hide(IteratorPrototype, ITERATOR, returnThis);\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = !require('../internals/fails')(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar IE_PROTO = require('../internals/shared-key')('IE_PROTO');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar ObjectPrototype = Object.prototype;\n\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","'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","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar validateSetPrototypeOfArguments = require('../internals/validate-set-prototype-of-arguments');\n\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { // eslint-disable-line\n var correctSetter = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n correctSetter = test instanceof Array;\n } catch (e) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n validateSetPrototypeOfArguments(O, proto);\n if (correctSetter) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\n\nmodule.exports = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) {\n throw TypeError(\"Can't set \" + String(proto) + ' as a prototype');\n }\n};\n","'use strict';\nvar $export = 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 hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar IS_PURE = require('../internals/is-pure');\nvar ITERATOR = require('../internals/well-known-symbol')('iterator');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\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 hide(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 hide(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 $export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar codePointAt = require('../internals/string-at');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\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 = codePointAt(string, index, true);\n state.index += point.length;\n return { value: point, done: false };\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","'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');\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","var DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar global = require('../internals/global');\nvar hide = require('../internals/hide');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\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 hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (e) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\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 hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (e) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","require('../../modules/es.symbol.iterator');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = require('../../internals/wrapped-well-known-symbol').f('iterator');\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Do a deep-copy of basic JavaScript Objects or Arrays.\n */\nexport function deepCopy(value: T): T {\n return deepExtend(undefined, value);\n}\n\n/**\n * Copy properties from source to target (recursively allows extension\n * of Objects and Arrays). Scalar values in the target are over-written.\n * If target is undefined, an object of the appropriate type will be created\n * (and returned).\n *\n * We recursively copy all child properties of plain Objects in the source- so\n * that namespace- like dictionaries are merged.\n *\n * Note that the target can be a function, in which case the properties in\n * the source Object are copied onto it as static properties of the Function.\n */\nexport function deepExtend(target: any, source: any): any {\n if (!(source instanceof Object)) {\n return source;\n }\n\n switch (source.constructor) {\n case Date:\n // Treat Dates like scalars; if the target date object had any child\n // properties - they will be lost!\n let dateValue = (source as any) as Date;\n return new Date(dateValue.getTime());\n\n case Object:\n if (target === undefined) {\n target = {};\n }\n break;\n\n case Array:\n // Always copy the array source and overwrite the target.\n target = [];\n break;\n\n default:\n // Not a plain Object - treat it as a scalar.\n return source;\n }\n\n for (let prop in source) {\n if (!source.hasOwnProperty(prop)) {\n continue;\n }\n target[prop] = deepExtend(target[prop], source[prop]);\n }\n\n return target;\n}\n\n// TODO: Really needed (for JSCompiler type checking)?\nexport function patchProperty(obj: any, prop: string, value: any) {\n obj[prop] = value;\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Standardized Firebase Error.\n *\n * Usage:\n *\n * // Typescript string literals for type-safe codes\n * type Err =\n * 'unknown' |\n * 'object-not-found'\n * ;\n *\n * // Closure enum for type-safe error codes\n * // at-enum {string}\n * var Err = {\n * UNKNOWN: 'unknown',\n * OBJECT_NOT_FOUND: 'object-not-found',\n * }\n *\n * let errors: Map = {\n * 'generic-error': \"Unknown error\",\n * 'file-not-found': \"Could not find file: {$file}\",\n * };\n *\n * // Type-safe function - must pass a valid error code as param.\n * let error = new ErrorFactory('service', 'Service', errors);\n *\n * ...\n * throw error.create(Err.GENERIC);\n * ...\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\n * ...\n * // Service: Could not file file: foo.txt (service/file-not-found).\n *\n * catch (e) {\n * assert(e.message === \"Could not find file: foo.txt.\");\n * if (e.code === 'service/file-not-found') {\n * console.log(\"Could not read file: \" + e['file']);\n * }\n * }\n */\nexport type ErrorList = { [code: string]: string };\n\nconst ERROR_NAME = 'FirebaseError';\n\nexport interface StringLike {\n toString: () => string;\n}\n\nlet captureStackTrace: (obj: Object, fn?: Function) => void = (Error as any)\n .captureStackTrace;\n\n// Export for faking in tests\nexport function patchCapture(captureFake?: any): any {\n let result: any = captureStackTrace;\n captureStackTrace = captureFake;\n return result;\n}\n\nexport interface FirebaseError {\n // Unique code for error - format is service/error-code-string\n code: string;\n\n // Developer-friendly error message.\n message: string;\n\n // Always 'FirebaseError'\n name: string;\n\n // Where available - stack backtrace in a string\n stack: string;\n}\n\nexport class FirebaseError implements FirebaseError {\n public stack: string;\n public name: string;\n\n constructor(public code: string, public message: string) {\n let stack: string;\n // We want the stack value, if implemented by Error\n if (captureStackTrace) {\n // Patches this.stack, omitted calls above ErrorFactory#create\n captureStackTrace(this, ErrorFactory.prototype.create);\n } else {\n try {\n // In case of IE11, stack will be set only after error is raised.\n // https://docs.microsoft.com/en-us/scripting/javascript/reference/stack-property-error-javascript\n throw Error.apply(this, arguments);\n } catch (err) {\n this.name = ERROR_NAME;\n // Make non-enumerable getter for the property.\n Object.defineProperty(this, 'stack', {\n get: function() {\n return err.stack;\n }\n });\n }\n }\n }\n}\n\n// Back-door inheritance\nFirebaseError.prototype = Object.create(Error.prototype) as FirebaseError;\nFirebaseError.prototype.constructor = FirebaseError;\n(FirebaseError.prototype as any).name = ERROR_NAME;\n\nexport class ErrorFactory {\n // Matches {$name}, by default.\n public pattern = /\\{\\$([^}]+)}/g;\n\n constructor(\n private service: string,\n private serviceName: string,\n private errors: ErrorList\n ) {\n // empty\n }\n\n create(code: T, data?: { [prop: string]: StringLike }): FirebaseError {\n if (data === undefined) {\n data = {};\n }\n\n let template = this.errors[code as string];\n\n let fullCode = this.service + '/' + code;\n let message: string;\n\n if (template === undefined) {\n message = 'Error';\n } else {\n message = template.replace(this.pattern, (match, key) => {\n let value = data![key];\n return value !== undefined ? value.toString() : '<' + key + '?>';\n });\n }\n\n // Service: Error message (service/code).\n message = this.serviceName + ': ' + message + ' (' + fullCode + ').';\n let err = new FirebaseError(fullCode, message);\n\n // Populate the Error object with message parts for programmatic\n // accesses (e.g., e.file).\n for (let prop in data) {\n if (!data.hasOwnProperty(prop) || prop.slice(-1) === '_') {\n continue;\n }\n (err as any)[prop] = data[prop];\n }\n\n return err;\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport type NextFn = (value: T) => void;\nexport type ErrorFn = (error: Error) => void;\nexport type CompleteFn = () => void;\n\nexport interface Observer {\n // Called once for each value in a stream of values.\n next: NextFn;\n\n // A stream terminates by a single call to EITHER error() or complete().\n error: ErrorFn;\n\n // No events will be sent to next() once complete() is called.\n complete: CompleteFn;\n}\n\nexport type PartialObserver = Partial>;\n\n// TODO: Support also Unsubscribe.unsubscribe?\nexport type Unsubscribe = () => void;\n\n/**\n * The Subscribe interface has two forms - passing the inline function\n * callbacks, or a object interface with callback properties.\n */\nexport interface Subscribe {\n (next?: NextFn, error?: ErrorFn, complete?: CompleteFn): Unsubscribe;\n (observer: PartialObserver): Unsubscribe;\n}\n\nexport interface Observable {\n // Subscribe method\n subscribe: Subscribe;\n}\n\nexport type Executor = (observer: Observer) => void;\n\n/**\n * Helper to make a Subscribe function (just like Promise helps make a\n * Thenable).\n *\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\nexport function createSubscribe(\n executor: Executor,\n onNoObservers?: Executor\n): Subscribe {\n let proxy = new ObserverProxy(executor, onNoObservers);\n return proxy.subscribe.bind(proxy);\n}\n\n/**\n * Implement fan-out for any number of Observers attached via a subscribe\n * function.\n */\nclass ObserverProxy implements Observer {\n private observers: Array> | undefined = [];\n private unsubscribes: Unsubscribe[] = [];\n private onNoObservers: Executor | undefined;\n private observerCount = 0;\n // Micro-task scheduling by calling task.then().\n private task = Promise.resolve();\n private finalized = false;\n private finalError: Error;\n\n /**\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\n constructor(executor: Executor, onNoObservers?: Executor) {\n this.onNoObservers = onNoObservers;\n // Call the executor asynchronously so subscribers that are called\n // synchronously after the creation of the subscribe function\n // can still receive the very first value generated in the executor.\n this.task\n .then(() => {\n executor(this);\n })\n .catch(e => {\n this.error(e);\n });\n }\n\n next(value: T) {\n this.forEachObserver((observer: Observer) => {\n observer.next(value);\n });\n }\n\n error(error: Error) {\n this.forEachObserver((observer: Observer) => {\n observer.error(error);\n });\n this.close(error);\n }\n\n complete() {\n this.forEachObserver((observer: Observer) => {\n observer.complete();\n });\n this.close();\n }\n\n /**\n * Subscribe function that can be used to add an Observer to the fan-out list.\n *\n * - We require that no event is sent to a subscriber sychronously to their\n * call to subscribe().\n */\n subscribe(\n nextOrObserver: PartialObserver | Function,\n error?: ErrorFn,\n complete?: CompleteFn\n ): Unsubscribe {\n let observer: Observer;\n\n if (\n nextOrObserver === undefined &&\n error === undefined &&\n complete === undefined\n ) {\n throw new Error('Missing Observer.');\n }\n\n // Assemble an Observer object when passed as callback functions.\n if (implementsAnyMethods(nextOrObserver, ['next', 'error', 'complete'])) {\n observer = nextOrObserver as Observer;\n } else {\n observer = {\n next: (nextOrObserver as any) as NextFn,\n error: error,\n complete: complete\n } as Observer;\n }\n\n if (observer.next === undefined) {\n observer.next = noop as NextFn;\n }\n if (observer.error === undefined) {\n observer.error = noop as ErrorFn;\n }\n if (observer.complete === undefined) {\n observer.complete = noop as CompleteFn;\n }\n\n let unsub = this.unsubscribeOne.bind(this, this.observers!.length);\n\n // Attempt to subscribe to a terminated Observable - we\n // just respond to the Observer with the final error or complete\n // event.\n if (this.finalized) {\n this.task.then(() => {\n try {\n if (this.finalError) {\n observer.error(this.finalError);\n } else {\n observer.complete();\n }\n } catch (e) {\n // nothing\n }\n return;\n });\n }\n\n this.observers!.push(observer as Observer);\n\n return unsub;\n }\n\n // Unsubscribe is synchronous - we guarantee that no events are sent to\n // any unsubscribed Observer.\n private unsubscribeOne(i: number) {\n if (this.observers === undefined || this.observers[i] === undefined) {\n return;\n }\n\n delete this.observers[i];\n\n this.observerCount -= 1;\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\n this.onNoObservers(this);\n }\n }\n\n private forEachObserver(fn: (observer: Observer) => void): void {\n if (this.finalized) {\n // Already closed by previous event....just eat the additional values.\n return;\n }\n\n // Since sendOne calls asynchronously - there is no chance that\n // this.observers will become undefined.\n for (let i = 0; i < this.observers!.length; i++) {\n this.sendOne(i, fn);\n }\n }\n\n // Call the Observer via one of it's callback function. We are careful to\n // confirm that the observe has not been unsubscribed since this asynchronous\n // function had been queued.\n private sendOne(i: number, fn: (observer: Observer) => void): void {\n // Execute the callback asynchronously\n this.task.then(() => {\n if (this.observers !== undefined && this.observers[i] !== undefined) {\n try {\n fn(this.observers[i]);\n } catch (e) {\n // Ignore exceptions raised in Observers or missing methods of an\n // Observer.\n // Log error to console. b/31404806\n if (typeof console !== 'undefined' && console.error) {\n console.error(e);\n }\n }\n }\n });\n }\n\n private close(err?: Error): void {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n if (err !== undefined) {\n this.finalError = err;\n }\n // Proxy is no longer needed - garbage collect references\n this.task.then(() => {\n this.observers = undefined;\n this.onNoObservers = undefined;\n });\n }\n}\n\n/** Turn synchronous function into one called asynchronously. */\nexport function async(fn: Function, onError?: ErrorFn): Function {\n return (...args: any[]) => {\n Promise.resolve(true)\n .then(() => {\n fn(...args);\n })\n .catch((error: Error) => {\n if (onError) {\n onError(error);\n }\n });\n };\n}\n\n/**\n * Return true if the object passed in implements any of the named methods.\n */\nfunction implementsAnyMethods(obj: any, methods: string[]): boolean {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n for (let method of methods) {\n if (method in obj && typeof obj[method] === 'function') {\n return true;\n }\n }\n\n return false;\n}\n\nfunction noop(): void {\n // do nothing\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport {\n createSubscribe,\n deepCopy,\n deepExtend,\n ErrorFactory,\n FirebaseError,\n Observer,\n patchProperty,\n Subscribe\n} from '@firebase/util';\n\nconst contains = function(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nclass FirebaseAppImpl implements FirebaseApp {\n private options_: FirebaseOptions;\n private name_: string;\n private isDeleted_ = false;\n private services_: {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n } = {};\n private _automaticDataCollectionEnabled: boolean;\n\n public INTERNAL;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private firebase_: FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this._automaticDataCollectionEnabled =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this._automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this._automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n (this.firebase_ as _FirebaseNamespace).INTERNAL.removeApp(this.name_);\n let services: FirebaseService[] = [];\n Object.keys(this.services_).forEach(serviceKey => {\n Object.keys(this.services_[serviceKey]).forEach(instanceKey => {\n services.push(this.services_[serviceKey][instanceKey]);\n });\n });\n return Promise.all(\n services.map(service => {\n return service.INTERNAL!.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\n );\n }\n\n /**\n * Return a service instance associated with this app (creating it\n * on demand), identified by the passed instanceIdentifier.\n *\n * NOTE: Currently storage is the only one that is leveraging this\n * functionality. They invoke it by calling:\n *\n * ```javascript\n * firebase.app().storage('STORAGE BUCKET ID')\n * ```\n *\n * The service name is passed to this already\n * @internal\n */\n _getService(\n name: string,\n instanceIdentifier: string = DEFAULT_ENTRY_NAME\n ): FirebaseService {\n this.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = (this.firebase_ as _FirebaseNamespace).INTERNAL.factories[\n name\n ](this, this.extendApp.bind(this), instanceSpecifier);\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error('app-deleted', { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n let apps_: { [name: string]: FirebaseApp } = {};\n let factories: { [service: string]: FirebaseServiceFactory } = {};\n let appHooks: { [service: string]: AppHook } = {};\n\n // A namespace is a plain JavaScript Object.\n let namespace = {\n // Hack to prevent Babel from modifying the object returned\n // as the firebase namespace.\n __esModule: true,\n initializeApp: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService: registerService,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n removeApp: removeApp,\n factories: factories,\n useAsService: useAsService,\n Promise: Promise,\n deepExtend: deepExtend\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, 'default', namespace);\n\n // firebase.apps is a read-only getter.\n Object.defineProperty(namespace, 'apps', {\n get: getApps\n });\n\n /**\n * Called by App.delete() - but before any services associated with the App\n * are deleted.\n */\n function removeApp(name: string): void {\n let app = apps_[name];\n callAppHooks(app, 'delete');\n delete apps_[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps_, name)) {\n error('no-app', { name: name });\n }\n return apps_[name];\n }\n\n patchProperty(app, 'App', FirebaseAppImpl);\n\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error('bad-app-name', { name: name + '' });\n }\n\n if (contains(apps_, name)) {\n error('duplicate-app', { name: name });\n }\n\n let app = new FirebaseAppImpl(\n options,\n config!,\n namespace as FirebaseNamespace\n );\n\n apps_[name!] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps_).map(name => apps_[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ): FirebaseServiceNamespace {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error('duplicate-service', { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n const serviceNamespace = (appArg: FirebaseApp = app()) => {\n if (typeof (appArg as any)[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error('invalid-app-argument', { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return (appArg as any)[name]();\n };\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n (namespace as any)[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n FirebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n /**\n * Patch the top-level firebase namespace with additional properties.\n *\n * firebase.INTERNAL.extendNamespace()\n */\n function extendNamespace(props: { [prop: string]: any }): void {\n deepExtend(namespace, props);\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n Object.keys(factories).forEach(serviceName => {\n // Ignore virtual services\n let factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n });\n }\n\n // Map the requested service to a registered service name\n // (used to map auth to serverAuth service when needed).\n function useAsService(app: FirebaseApp, name: string): string | null {\n if (name === 'serverAuth') {\n return null;\n }\n\n let useService = name;\n let options = app.options;\n\n return useService;\n }\n\n return (namespace as any) as FirebaseNamespace;\n}\n\ntype AppError =\n | 'no-app'\n | 'bad-app-name'\n | 'duplicate-app'\n | 'app-deleted'\n | 'duplicate-service'\n | 'sa-not-supported'\n | 'invalid-app-argument';\n\nfunction error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n\nconst errors: { readonly [code in AppError]: string } = {\n 'no-app':\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n 'bad-app-name': \"Illegal App name: '{$name}\",\n 'duplicate-app': \"Firebase App named '{$name}' already exists\",\n 'app-deleted': \"Firebase App named '{$name}' already deleted\",\n 'duplicate-service': \"Firebase service named '{$name}' already registered\",\n 'sa-not-supported':\n 'Initializing the Firebase SDK with a service ' +\n 'account is only allowed in a Node.js environment. On client ' +\n 'devices, you should instead initialize the SDK with an api key and ' +\n 'auth domain',\n 'invalid-app-argument':\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nlet appErrors = new ErrorFactory('app', 'Firebase', errors);\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseApp';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":["self","fetch","support","Symbol","Blob","e","viewClasses","isDataView","obj","DataView","prototype","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","indexOf","Object","toString","call","Headers","append","name","value","normalizeName","normalizeValue","oldValue","this","map","get","has","hasOwnProperty","set","forEach","callback","thisArg","keys","items","push","iteratorFor","values","entries","iterator","methods","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","url","error","response","type","redirectStatuses","redirect","RangeError","location","input","init","Promise","resolve","reject","request","xhr","XMLHttpRequest","onload","rawHeaders","options","getAllResponseHeaders","replace","split","line","parts","key","shift","trim","join","responseURL","responseText","onerror","TypeError","ontimeout","open","method","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","String","test","toLowerCase","next","done","undefined","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","result","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","buffer","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","Error","rejected","arrayBuffer","then","text","readAsText","chars","length","i","fromCharCode","readArrayBufferAsText","formData","decode","json","JSON","parse","upcased","mode","toUpperCase","referrer","form","bytes","decodeURIComponent","bodyInit","ok","finallyConstructor","constructor","reason","setTimeoutFunc","setTimeout","noop","fn","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","apply","arguments","_unhandledRejectionFn","len","Handler","ex","prom","all","arr","args","remaining","res","val","race","setImmediate","err","console","warn","globalNS","window","global","that","it","aFunction","a","b","c","exec","fails","propertyIsEnumerable","classof","argument","requireObjectCoercible","ceil","Math","floor","isNaN","min","toInteger","arg","Function","require$$0","defineProperty","document","exist","isObject","createElement","require$$1","require$$2","S","valueOf","nativeDefineProperty","DESCRIPTORS","O","P","Attributes","anObject","toPrimitive","IE8_DOM_DEFINE","bitmap","enumerable","configurable","writable","object","definePropertyModule","f","createPropertyDescriptor","hide","SHARED","store","setGlobal","module","version","copyright","id","postfix","random","concat","NATIVE_SYMBOL","uid","SPECIES","originalArray","C","TYPE","specificCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","arraySpeciesCreate","$this","callbackfn","toObject","IndexedObject","boundFunction","bind","toLength","index","target","nativePropertyIsEnumerable","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","1","V","descriptor","toIndexedObject","propertyIsEnumerableModule","WeakMap","nativeFunctionToString","shared","NATIVE_WEAK_MAP","wmget","wmhas","wmset","metadata","STATE","sharedKey","hiddenKeys","objectHas","IS_INCLUDES","enforce","getterFor","state","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","unsafe","simple","noTargetGet","source","max","arrayIndexOf","el","fromIndex","integer","names","internalObjectKeys","getOwnPropertySymbols","Reflect","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","enumBugKeys","defineProperties","Properties","objectKeys","documentElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframeDocument","iframe","documentCreateElement","script","style","display","html","appendChild","src","contentWindow","write","lt","close","F","UNSCOPABLES","ArrayPrototype","internalFind","FIND","SKIPS_HOLES","proto","find","CONSTRUCTOR","METHOD","internalFindIndex","FIND_INDEX","findIndex","nativeAssign","assign","A","B","symbol","alphabet","chr","T","argumentsLength","j","MATCH","searchString","NAME","isRegExp","STARTS_WITH","CORRECT_IS_REGEXP_LOGIC","METHOD_NAME","regexp","nativeStartsWith","startsWith","validateArguments","search","repeat","count","str","n","Infinity","propertyKey","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","foo","Boolean","isConcatSpreadable","spreadable","k","E","createProperty","TO_STRING_TAG","CORRECT_ARGUMENTS","classofRaw","tag","tryGet","callee","ObjectPrototype","TAG","path","wrappedWellKnownSymbolModule","nativeGetOwnPropertyNames","windowNames","getWindowNames","HIDDEN","SYMBOL","setInternalState","getOwnPropertyNamesExternal","$Symbol","nativeJSONStringify","stringify","TO_PRIMITIVE","wellKnownSymbol","SymbolRegistry","AllSymbols","ObjectPrototypeSymbols","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","D","ObjectPrototypeDescriptor","wrap","description","isSymbol","$defineProperty","$defineProperties","symbols","enumKeys","l","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","setter","wellKnownSymbols","defineWellKnownSymbol","for","keyFor","sym","useSetter","useSimple","$export","replacer","$replacer","setToStringTag","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","require$$18","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ITERATOR","BUGGY_SAFARI_ITERATORS","setPrototypeOf","correctSetter","validateSetPrototypeOfArguments","__proto__","IteratorsCore","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","objectGetPrototypeOf","STRING_ITERATOR","defineIterator","iterated","point","pos","CONVERT_TO_STRING","first","second","position","size","charCodeAt","charAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","addToUnscopables","ArrayValues","ArrayIteratorMethods","COLLECTION_NAME","DOMIterables","Collection","CollectionPrototype","require$$3","deepExtend","Date","getTime","prop","patchProperty","ERROR_NAME","captureStackTrace","code","message","ErrorFactory","stack","FirebaseError","service","serviceName","errors","template","fullCode","pattern","match","createSubscribe","executor","onNoObservers","proxy","ObserverProxy","subscribe","task","_this","catch","forEachObserver","observer","complete","nextOrObserver","methods_1","_i","implementsAnyMethods","unsub","unsubscribeOne","observers","finalized","finalError","observerCount","sendOne","contains","DEFAULT_ENTRY_NAME","tokenListeners","config","firebase_","name_","_automaticDataCollectionEnabled","automaticDataCollectionEnabled","options_","INTERNAL","getUid","getToken","addAuthTokenListener","removeAuthTokenListener","filter","listener","FirebaseAppImpl","checkDestroyed_","removeApp","services","services_","serviceKey","instanceKey","delete","isDeleted_","instanceIdentifier","instanceSpecifier","factories","extendApp","props","appErrors","log","no-app","bad-app-name","duplicate-app","app-deleted","duplicate-service","sa-not-supported","invalid-app-argument","isNode","process","createFirebaseNamespace","apps_","appHooks","namespace","__esModule","initializeApp","rawConfig","name_1","app","callAppHooks","apps","SDK_VERSION","registerService","createService","serviceProperties","appHook","allowMultipleInstances","getApps","serviceNamespace","appArg","_getService","extendNamespace","useAsService","eventName","factoryName","useService"],"mappings":"+LAAA,SAAUA,GAGR,IAAIA,EAAKC,MAAT,CAIA,IAAIC,EACY,oBAAqBF,EADjCE,EAEQ,WAAYF,GAAQ,aAAcG,OAF1CD,EAGI,eAAgBF,GAAQ,SAAUA,GAAQ,WAC9C,IAEE,OADA,IAAII,MACG,EACP,MAAMC,GACN,OAAO,GALqC,GAH9CH,EAWQ,aAAcF,EAXtBE,EAYW,gBAAiBF,EAGhC,GAAIE,EACF,IAAII,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EAAa,SAASC,GACxB,OAAOA,GAAOC,SAASC,UAAUC,cAAcH,IAG7CI,EAAoBC,YAAYC,QAAU,SAASN,GACrD,OAAOA,IAAmE,EAA5DF,EAAYS,QAAQC,OAAON,UAAUO,SAASC,KAAKV,KAyDrEW,EAAQT,UAAUU,OAAS,SAASC,EAAMC,GACxCD,EAAOE,EAAcF,GACrBC,EAAQE,EAAeF,GACvB,IAAIG,EAAWC,KAAKC,IAAIN,GACxBK,KAAKC,IAAIN,GAAQI,EAAWA,EAAS,IAAIH,EAAQA,GAGnDH,EAAQT,UAAkB,OAAI,SAASW,UAC9BK,KAAKC,IAAIJ,EAAcF,KAGhCF,EAAQT,UAAUkB,IAAM,SAASP,GAE/B,OADAA,EAAOE,EAAcF,GACdK,KAAKG,IAAIR,GAAQK,KAAKC,IAAIN,GAAQ,MAG3CF,EAAQT,UAAUmB,IAAM,SAASR,GAC/B,OAAOK,KAAKC,IAAIG,eAAeP,EAAcF,KAG/CF,EAAQT,UAAUqB,IAAM,SAASV,EAAMC,GACrCI,KAAKC,IAAIJ,EAAcF,IAASG,EAAeF,IAGjDH,EAAQT,UAAUsB,QAAU,SAASC,EAAUC,GAC7C,IAAK,IAAIb,KAAQK,KAAKC,IAChBD,KAAKC,IAAIG,eAAeT,IAC1BY,EAASf,KAAKgB,EAASR,KAAKC,IAAIN,GAAOA,EAAMK,OAKnDP,EAAQT,UAAUyB,KAAO,WACvB,IAAIC,EAAQ,GAEZ,OADAV,KAAKM,QAAQ,SAASV,EAAOD,GAAQe,EAAMC,KAAKhB,KACzCiB,EAAYF,IAGrBjB,EAAQT,UAAU6B,OAAS,WACzB,IAAIH,EAAQ,GAEZ,OADAV,KAAKM,QAAQ,SAASV,GAASc,EAAMC,KAAKf,KACnCgB,EAAYF,IAGrBjB,EAAQT,UAAU8B,QAAU,WAC1B,IAAIJ,EAAQ,GAEZ,OADAV,KAAKM,QAAQ,SAASV,EAAOD,GAAQe,EAAMC,KAAK,CAAChB,EAAMC,MAChDgB,EAAYF,IAGjBlC,IACFiB,EAAQT,UAAUP,OAAOsC,UAAYtB,EAAQT,UAAU8B,SAqJzD,IAAIE,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OA4C3DC,EAAQjC,UAAUkC,MAAQ,WACxB,OAAO,IAAID,EAAQjB,KAAM,CAAEmB,KAAMnB,KAAKoB,aAgCxCC,EAAK7B,KAAKyB,EAAQjC,WAgBlBqC,EAAK7B,KAAK8B,EAAStC,WAEnBsC,EAAStC,UAAUkC,MAAQ,WACzB,OAAO,IAAII,EAAStB,KAAKoB,UAAW,CAClCG,OAAQvB,KAAKuB,OACbC,WAAYxB,KAAKwB,WACjBC,QAAS,IAAIhC,EAAQO,KAAKyB,SAC1BC,IAAK1B,KAAK0B,OAIdJ,EAASK,MAAQ,WACf,IAAIC,EAAW,IAAIN,EAAS,KAAM,CAACC,OAAQ,EAAGC,WAAY,KAE1D,OADAI,EAASC,KAAO,QACTD,GAGT,IAAIE,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CR,EAASS,SAAW,SAASL,EAAKH,GAChC,IAA0C,IAAtCO,EAAiBzC,QAAQkC,GAC3B,MAAM,IAAIS,WAAW,uBAGvB,OAAO,IAAIV,EAAS,KAAM,CAACC,OAAQA,EAAQE,QAAS,CAACQ,SAAUP,MAGjEpD,EAAKmB,QAAUA,EACfnB,EAAK2C,QAAUA,EACf3C,EAAKgD,SAAWA,EAEhBhD,EAAKC,MAAQ,SAAS2D,EAAOC,GAC3B,OAAO,IAAIC,QAAQ,SAASC,EAASC,GACnC,IAAIC,EAAU,IAAItB,EAAQiB,EAAOC,GAC7BK,EAAM,IAAIC,eAEdD,EAAIE,OAAS,WACX,IArEgBC,EAChBlB,EAoEImB,EAAU,CACZrB,OAAQiB,EAAIjB,OACZC,WAAYgB,EAAIhB,WAChBC,SAxEckB,EAwEQH,EAAIK,yBAA2B,GAvEvDpB,EAAU,IAAIhC,EAGQkD,EAAWG,QAAQ,eAAgB,KACzCC,MAAM,SAASzC,QAAQ,SAAS0C,GAClD,IAAIC,EAAQD,EAAKD,MAAM,KACnBG,EAAMD,EAAME,QAAQC,OACxB,GAAIF,EAAK,CACP,IAAItD,EAAQqD,EAAMI,KAAK,KAAKD,OAC5B3B,EAAQ/B,OAAOwD,EAAKtD,MAGjB6B,IA6DHmB,EAAQlB,IAAM,gBAAiBc,EAAMA,EAAIc,YAAcV,EAAQnB,QAAQvB,IAAI,iBAC3E,IAAIiB,EAAO,aAAcqB,EAAMA,EAAIZ,SAAWY,EAAIe,aAClDlB,EAAQ,IAAIf,EAASH,EAAMyB,KAG7BJ,EAAIgB,QAAU,WACZlB,EAAO,IAAImB,UAAU,4BAGvBjB,EAAIkB,UAAY,WACdpB,EAAO,IAAImB,UAAU,4BAGvBjB,EAAImB,KAAKpB,EAAQqB,OAAQrB,EAAQb,KAAK,GAEV,YAAxBa,EAAQsB,YACVrB,EAAIsB,iBAAkB,EACW,SAAxBvB,EAAQsB,cACjBrB,EAAIsB,iBAAkB,GAGpB,iBAAkBtB,GAAOhE,IAC3BgE,EAAIuB,aAAe,QAGrBxB,EAAQd,QAAQnB,QAAQ,SAASV,EAAOD,GACtC6C,EAAIwB,iBAAiBrE,EAAMC,KAG7B4C,EAAIyB,UAAkC,IAAtB1B,EAAQnB,UAA4B,KAAOmB,EAAQnB,cAGvE9C,EAAKC,MAAM2F,UAAW,EApatB,SAASrE,EAAcF,GAIrB,GAHoB,iBAATA,IACTA,EAAOwE,OAAOxE,IAEZ,6BAA6ByE,KAAKzE,GACpC,MAAM,IAAI8D,UAAU,0CAEtB,OAAO9D,EAAK0E,cAGd,SAASvE,EAAeF,GAItB,MAHqB,iBAAVA,IACTA,EAAQuE,OAAOvE,IAEVA,EAIT,SAASgB,EAAYF,GACnB,IAAIK,EAAW,CACbuD,KAAM,WACJ,IAAI1E,EAAQc,EAAMyC,QAClB,MAAO,CAACoB,UAAgBC,IAAV5E,EAAqBA,MAAOA,KAU9C,OANIpB,IACFuC,EAAStC,OAAOsC,UAAY,WAC1B,OAAOA,IAIJA,EAGT,SAAStB,EAAQgC,GACfzB,KAAKC,IAAM,GAEPwB,aAAmBhC,EACrBgC,EAAQnB,QAAQ,SAASV,EAAOD,GAC9BK,KAAKN,OAAOC,EAAMC,IACjBI,MACMyE,MAAMC,QAAQjD,GACvBA,EAAQnB,QAAQ,SAASqE,GACvB3E,KAAKN,OAAOiF,EAAO,GAAIA,EAAO,KAC7B3E,MACMyB,GACTnC,OAAOsF,oBAAoBnD,GAASnB,QAAQ,SAASX,GACnDK,KAAKN,OAAOC,EAAM8B,EAAQ9B,KACzBK,MA0DP,SAAS6E,EAAS1D,GAChB,GAAIA,EAAK2D,SACP,OAAO1C,QAAQE,OAAO,IAAImB,UAAU,iBAEtCtC,EAAK2D,UAAW,EAGlB,SAASC,EAAgBC,GACvB,OAAO,IAAI5C,QAAQ,SAASC,EAASC,GACnC0C,EAAOtC,OAAS,WACdL,EAAQ2C,EAAOC,SAEjBD,EAAOxB,QAAU,WACflB,EAAO0C,EAAOrD,UAKpB,SAASuD,EAAsBC,GAC7B,IAAIH,EAAS,IAAII,WACbC,EAAUN,EAAgBC,GAE9B,OADAA,EAAOM,kBAAkBH,GAClBE,EAoBT,SAASE,EAAYC,GACnB,GAAIA,EAAIC,MACN,OAAOD,EAAIC,MAAM,GAEjB,IAAIC,EAAO,IAAIC,WAAWH,EAAII,YAE9B,OADAF,EAAKrF,IAAI,IAAIsF,WAAWH,IACjBE,EAAKG,OAIhB,SAASxE,IA0FP,OAzFArB,KAAK8E,UAAW,EAEhB9E,KAAK8F,UAAY,SAAS3E,GAExB,GADAnB,KAAKoB,UAAYD,EAGV,GAAoB,iBAATA,EAChBnB,KAAK+F,UAAY5E,OACZ,GAAI3C,GAAgBE,KAAKM,UAAUC,cAAckC,GACtDnB,KAAKgG,UAAY7E,OACZ,GAAI3C,GAAoByH,SAASjH,UAAUC,cAAckC,GAC9DnB,KAAKkG,cAAgB/E,OAChB,GAAI3C,GAAwB2H,gBAAgBnH,UAAUC,cAAckC,GACzEnB,KAAK+F,UAAY5E,EAAK5B,gBACjB,GAAIf,GAAuBA,GAAgBK,EAAWsC,GAC3DnB,KAAKoG,iBAAmBb,EAAYpE,EAAK0E,QAEzC7F,KAAKoB,UAAY,IAAI1C,KAAK,CAACsB,KAAKoG,uBAC3B,CAAA,IAAI5H,IAAwBW,YAAYH,UAAUC,cAAckC,KAASjC,EAAkBiC,GAGhG,MAAM,IAAIkF,MAAM,6BAFhBrG,KAAKoG,iBAAmBb,EAAYpE,QAdpCnB,KAAK+F,UAAY,GAmBd/F,KAAKyB,QAAQvB,IAAI,kBACA,iBAATiB,EACTnB,KAAKyB,QAAQpB,IAAI,eAAgB,4BACxBL,KAAKgG,WAAahG,KAAKgG,UAAUnE,KAC1C7B,KAAKyB,QAAQpB,IAAI,eAAgBL,KAAKgG,UAAUnE,MACvCrD,GAAwB2H,gBAAgBnH,UAAUC,cAAckC,IACzEnB,KAAKyB,QAAQpB,IAAI,eAAgB,qDAKnC7B,IACFwB,KAAKmF,KAAO,WACV,IAAImB,EAAWzB,EAAS7E,MACxB,GAAIsG,EACF,OAAOA,EAGT,GAAItG,KAAKgG,UACP,OAAO5D,QAAQC,QAAQrC,KAAKgG,WACvB,GAAIhG,KAAKoG,iBACd,OAAOhE,QAAQC,QAAQ,IAAI3D,KAAK,CAACsB,KAAKoG,oBACjC,GAAIpG,KAAKkG,cACd,MAAM,IAAIG,MAAM,wCAEhB,OAAOjE,QAAQC,QAAQ,IAAI3D,KAAK,CAACsB,KAAK+F,cAI1C/F,KAAKuG,YAAc,WACjB,OAAIvG,KAAKoG,iBACAvB,EAAS7E,OAASoC,QAAQC,QAAQrC,KAAKoG,kBAEvCpG,KAAKmF,OAAOqB,KAAKtB,KAK9BlF,KAAKyG,KAAO,WACV,IA3FoBtB,EAClBH,EACAK,EAyFEiB,EAAWzB,EAAS7E,MACxB,GAAIsG,EACF,OAAOA,EAGT,GAAItG,KAAKgG,UACP,OAjGkBb,EAiGInF,KAAKgG,UAhG3BhB,EAAS,IAAII,WACbC,EAAUN,EAAgBC,GAC9BA,EAAO0B,WAAWvB,GACXE,EA8FE,GAAIrF,KAAKoG,iBACd,OAAOhE,QAAQC,QA5FrB,SAA+BmD,GAI7B,IAHA,IAAIE,EAAO,IAAIC,WAAWH,GACtBmB,EAAQ,IAAIlC,MAAMiB,EAAKkB,QAElBC,EAAI,EAAGA,EAAInB,EAAKkB,OAAQC,IAC/BF,EAAME,GAAK1C,OAAO2C,aAAapB,EAAKmB,IAEtC,OAAOF,EAAMtD,KAAK,IAqFS0D,CAAsB/G,KAAKoG,mBAC7C,GAAIpG,KAAKkG,cACd,MAAM,IAAIG,MAAM,wCAEhB,OAAOjE,QAAQC,QAAQrC,KAAK+F,YAI5BvH,IACFwB,KAAKgH,SAAW,WACd,OAAOhH,KAAKyG,OAAOD,KAAKS,KAI5BjH,KAAKkH,KAAO,WACV,OAAOlH,KAAKyG,OAAOD,KAAKW,KAAKC,QAGxBpH,KAWT,SAASiB,EAAQiB,EAAOU,GAEtB,IAPuBgB,EACnByD,EAMAlG,GADJyB,EAAUA,GAAW,IACFzB,KAEnB,GAAIe,aAAiBjB,EAAS,CAC5B,GAAIiB,EAAM4C,SACR,MAAM,IAAIrB,UAAU,gBAEtBzD,KAAK0B,IAAMQ,EAAMR,IACjB1B,KAAK6D,YAAc3B,EAAM2B,YACpBjB,EAAQnB,UACXzB,KAAKyB,QAAU,IAAIhC,EAAQyC,EAAMT,UAEnCzB,KAAK4D,OAAS1B,EAAM0B,OACpB5D,KAAKsH,KAAOpF,EAAMoF,KACbnG,GAA2B,MAAnBe,EAAMd,YACjBD,EAAOe,EAAMd,UACbc,EAAM4C,UAAW,QAGnB9E,KAAK0B,IAAMyC,OAAOjC,GAWpB,GARAlC,KAAK6D,YAAcjB,EAAQiB,aAAe7D,KAAK6D,aAAe,QAC1DjB,EAAQnB,SAAYzB,KAAKyB,UAC3BzB,KAAKyB,QAAU,IAAIhC,EAAQmD,EAAQnB,UAErCzB,KAAK4D,QAhCkBA,EAgCOhB,EAAQgB,QAAU5D,KAAK4D,QAAU,MA/B3DyD,EAAUzD,EAAO2D,eACe,EAA5BvG,EAAQ3B,QAAQgI,GAAiBA,EAAUzD,GA+BnD5D,KAAKsH,KAAO1E,EAAQ0E,MAAQtH,KAAKsH,MAAQ,KACzCtH,KAAKwH,SAAW,MAEK,QAAhBxH,KAAK4D,QAAoC,SAAhB5D,KAAK4D,SAAsBzC,EACvD,MAAM,IAAIsC,UAAU,6CAEtBzD,KAAK8F,UAAU3E,GAOjB,SAAS8F,EAAO9F,GACd,IAAIsG,EAAO,IAAIxB,SASf,OARA9E,EAAKiC,OAAOL,MAAM,KAAKzC,QAAQ,SAASoH,GACtC,GAAIA,EAAO,CACT,IAAI3E,EAAQ2E,EAAM3E,MAAM,KACpBpD,EAAOoD,EAAMI,QAAQL,QAAQ,MAAO,KACpClD,EAAQmD,EAAMM,KAAK,KAAKP,QAAQ,MAAO,KAC3C2E,EAAK/H,OAAOiI,mBAAmBhI,GAAOgI,mBAAmB/H,OAGtD6H,EAqBT,SAASnG,EAASsG,EAAUhF,GACrBA,IACHA,EAAU,IAGZ5C,KAAK6B,KAAO,UACZ7B,KAAKuB,YAA4BiD,IAAnB5B,EAAQrB,OAAuB,IAAMqB,EAAQrB,OAC3DvB,KAAK6H,GAAoB,KAAf7H,KAAKuB,QAAiBvB,KAAKuB,OAAS,IAC9CvB,KAAKwB,WAAa,eAAgBoB,EAAUA,EAAQpB,WAAa,KACjExB,KAAKyB,QAAU,IAAIhC,EAAQmD,EAAQnB,SACnCzB,KAAK0B,IAAMkB,EAAQlB,KAAO,GAC1B1B,KAAK8F,UAAU8B,IAnYnB,CAidmB,oBAATtJ,KAAuBA,UAAO0B,2KC5cxC,SAAS8H,EAAmBvH,GAC1B,IAAIwH,EAAc/H,KAAK+H,YACvB,OAAO/H,KAAKwG,KACV,SAAS5G,GACP,OAAOmI,EAAY1F,QAAQ9B,KAAYiG,KAAK,WAC1C,OAAO5G,KAGX,SAASoI,GACP,OAAOD,EAAY1F,QAAQ9B,KAAYiG,KAAK,WAC1C,OAAOuB,EAAYzF,OAAO0F,OAQlC,IAAIC,EAAiBC,WAErB,SAASC,KAaT,SAAS/F,EAAQgG,GACf,KAAMpI,gBAAgBoC,GACpB,MAAM,IAAIqB,UAAU,wCACtB,GAAkB,mBAAP2E,EAAmB,MAAM,IAAI3E,UAAU,kBAElDzD,KAAKqI,OAAS,EAEdrI,KAAKsI,UAAW,EAEhBtI,KAAKuI,YAAS/D,EAEdxE,KAAKwI,WAAa,GAElBC,EAAUL,EAAIpI,MAGhB,SAAS0I,EAAOpK,EAAMqK,GACpB,KAAuB,IAAhBrK,EAAK+J,QACV/J,EAAOA,EAAKiK,OAEM,IAAhBjK,EAAK+J,QAIT/J,EAAKgK,UAAW,EAChBlG,EAAQwG,aAAa,WACnB,IAAIC,EAAqB,IAAhBvK,EAAK+J,OAAeM,EAASG,YAAcH,EAASI,WAC7D,GAAW,OAAPF,EAAJ,CAIA,IAAIG,EACJ,IACEA,EAAMH,EAAGvK,EAAKiK,QACd,MAAO5J,GAEP,YADA2D,EAAOqG,EAAStD,QAAS1G,GAG3B0D,EAAQsG,EAAStD,QAAS2D,QAVP,IAAhB1K,EAAK+J,OAAehG,EAAUC,GAAQqG,EAAStD,QAAS/G,EAAKiK,WAPhEjK,EAAKkK,WAAW7H,KAAKgI,GAqBzB,SAAStG,EAAQ/D,EAAM2K,GACrB,IAEE,GAAIA,IAAa3K,EACf,MAAM,IAAImF,UAAU,6CACtB,GACEwF,IACqB,iBAAbA,GAA6C,mBAAbA,GACxC,CACA,IAAIzC,EAAOyC,EAASzC,KACpB,GAAIyC,aAAoB7G,EAItB,OAHA9D,EAAK+J,OAAS,EACd/J,EAAKiK,OAASU,OACdC,EAAO5K,GAEF,GAAoB,mBAATkI,EAEhB,YADAiC,GApEML,EAoES5B,EApELhG,EAoEWyI,EAnEpB,WACLb,EAAGe,MAAM3I,EAAS4I,aAkEkB9K,GAIpCA,EAAK+J,OAAS,EACd/J,EAAKiK,OAASU,EACdC,EAAO5K,GACP,MAAOK,GACP2D,EAAOhE,EAAMK,GA5EjB,IAAcyJ,EAAI5H,EAgFlB,SAAS8B,EAAOhE,EAAM2K,GACpB3K,EAAK+J,OAAS,EACd/J,EAAKiK,OAASU,EACdC,EAAO5K,GAGT,SAAS4K,EAAO5K,GACM,IAAhBA,EAAK+J,QAA2C,IAA3B/J,EAAKkK,WAAW5B,QACvCxE,EAAQwG,aAAa,WACdtK,EAAKgK,UACRlG,EAAQiH,sBAAsB/K,EAAKiK,UAKzC,IAAK,IAAI1B,EAAI,EAAGyC,EAAMhL,EAAKkK,WAAW5B,OAAQC,EAAIyC,EAAKzC,IACrD6B,EAAOpK,EAAMA,EAAKkK,WAAW3B,IAE/BvI,EAAKkK,WAAa,KAMpB,SAASe,EAAQT,EAAaC,EAAY1D,GACxCrF,KAAK8I,YAAqC,mBAAhBA,EAA6BA,EAAc,KACrE9I,KAAK+I,WAAmC,mBAAfA,EAA4BA,EAAa,KAClE/I,KAAKqF,QAAUA,EASjB,SAASoD,EAAUL,EAAI9J,GACrB,IAAIiG,GAAO,EACX,IACE6D,EACE,SAASxI,GACH2E,IACJA,GAAO,EACPlC,EAAQ/D,EAAMsB,KAEhB,SAASoI,GACHzD,IACJA,GAAO,EACPjC,EAAOhE,EAAM0J,MAGjB,MAAOwB,GACP,GAAIjF,EAAM,OACVA,GAAO,EACPjC,EAAOhE,EAAMkL,MAITxK,UAAiB,MAAI,SAAS+J,GACpC,OAAO/I,KAAKwG,KAAK,KAAMuC,MAGjB/J,UAAUwH,KAAO,SAASsC,EAAaC,GAE7C,IAAIU,EAAO,IAAIzJ,KAAK+H,YAAYI,GAGhC,OADAO,EAAO1I,KAAM,IAAIuJ,EAAQT,EAAaC,EAAYU,IAC3CA,KAGDzK,UAAmB,QAAI8I,IAEvB4B,IAAM,SAASC,GACrB,OAAO,IAAIvH,EAAQ,SAASC,EAASC,GACnC,IAAKqH,QAA6B,IAAfA,EAAI/C,OACrB,MAAM,IAAInD,UAAU,gCACtB,IAAImG,EAAOnF,MAAMzF,UAAUyG,MAAMjG,KAAKmK,GACtC,GAAoB,IAAhBC,EAAKhD,OAAc,OAAOvE,EAAQ,IACtC,IAAIwH,EAAYD,EAAKhD,OAErB,SAASkD,EAAIjD,EAAGkD,GACd,IACE,GAAIA,IAAuB,iBAARA,GAAmC,mBAARA,GAAqB,CACjE,IAAIvD,EAAOuD,EAAIvD,KACf,GAAoB,mBAATA,EAQT,YAPAA,EAAKhH,KACHuK,EACA,SAASA,GACPD,EAAIjD,EAAGkD,IAETzH,GAKNsH,EAAK/C,GAAKkD,EACU,KAAdF,GACJxH,EAAQuH,GAEV,MAAOJ,GACPlH,EAAOkH,IAIX,IAAK,IAAI3C,EAAI,EAAGA,EAAI+C,EAAKhD,OAAQC,IAC/BiD,EAAIjD,EAAG+C,EAAK/C,SAKVxE,QAAU,SAASzC,GACzB,OAAIA,GAA0B,iBAAVA,GAAsBA,EAAMmI,cAAgB3F,EACvDxC,EAGF,IAAIwC,EAAQ,SAASC,GAC1BA,EAAQzC,QAIJ0C,OAAS,SAAS1C,GACxB,OAAO,IAAIwC,EAAQ,SAASC,EAASC,GACnCA,EAAO1C,QAIHoK,KAAO,SAASnJ,GACtB,OAAO,IAAIuB,EAAQ,SAASC,EAASC,GACnC,IAAK,IAAIuE,EAAI,EAAGyC,EAAMzI,EAAO+F,OAAQC,EAAIyC,EAAKzC,IAC5ChG,EAAOgG,GAAGL,KAAKnE,EAASC,QAMtBsG,aACmB,mBAAjBqB,cACN,SAAS7B,GACP6B,aAAa7B,KAEjB,SAASA,GACPH,EAAeG,EAAI,MAGfiB,sBAAwB,SAA+Ba,GACtC,oBAAZC,SAA2BA,SACpCA,QAAQC,KAAK,wCAAyCF,IAK1D,IAAIG,EAAW,WAIb,GAAoB,oBAAT/L,KACT,OAAOA,KAET,GAAsB,oBAAXgM,OACT,OAAOA,OAET,QAAsB,IAAXC,EACT,OAAOA,EAET,MAAM,IAAIlE,MAAM,kCAbH,GAgBT,YAAagE,EAEPA,EAASjI,QAAQpD,UAAmB,UAC9CqL,EAASjI,QAAQpD,UAAmB,QAAI8I,GAFxCuC,EAAkB,QAAIjI,ECpRxB,ICOI/B,EAAKH,EAAKC,ICJG,SAAUiI,EAAIoC,EAAM5D,GAEnC,GFLe,SAAU6D,GACzB,GAAiB,mBAANA,EACT,MAAMhH,UAAUU,OAAOsG,GAAM,sBEE/BC,CAAUtC,QACG5D,IAATgG,EAAoB,OAAOpC,EAC/B,OAAQxB,GACN,KAAK,EAAG,OAAO,WACb,OAAOwB,EAAG5I,KAAKgL,IAEjB,KAAK,EAAG,OAAO,SAAUG,GACvB,OAAOvC,EAAG5I,KAAKgL,EAAMG,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOxC,EAAG5I,KAAKgL,EAAMG,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGC,GAC7B,OAAOzC,EAAG5I,KAAKgL,EAAMG,EAAGC,EAAGC,IAG/B,OAAO,WACL,OAAOzC,EAAGe,MAAMqB,EAAMpB,eCrBT,SAAU0B,GACzB,IACE,QAASA,IACT,MAAOnM,GACP,OAAO,ICJPY,EAAW,GAAGA,WAED,SAAUkL,GACzB,OAAOlL,EAASC,KAAKiL,GAAIhF,MAAM,GAAI,ICAjC1C,EAAQ,GAAGA,QAEEgI,EAAM,WAGrB,OAAQzL,OAAO,KAAK0L,qBAAqB,KACtC,SAAUP,GACb,MAAsB,UAAfQ,EAAQR,GAAkB1H,EAAMvD,KAAKiL,EAAI,IAAMnL,OAAOmL,IAC3DnL,SCTa,SAAUmL,GACzB,GAAUjG,MAANiG,EAAiB,MAAMhH,UAAU,wBAA0BgH,GAC/D,OAAOA,KCAQ,SAAUS,GACzB,OAAO5L,OAAO6L,EAAuBD,KCLnCE,EAAOC,KAAKD,KACZE,EAAQD,KAAKC,QAIA,SAAUJ,GACzB,OAAOK,MAAML,GAAYA,GAAY,GAAgB,EAAXA,EAAeI,EAAQF,GAAMF,ICLrEM,EAAMH,KAAKG,MAIE,SAAUN,GACzB,OAAkB,EAAXA,EAAeM,EAAIC,EAAUP,GAAW,kBAAoB,KCNpD,SAAUT,GACzB,MAAqB,iBAAPA,EAAyB,OAAPA,EAA4B,mBAAPA,KCGtChG,MAAMC,SAAW,SAAiBgH,GACjD,MAAuB,SAAhBT,EAAQS,MCJiB,iBAAVpB,QAAsBA,QAAUA,OAAOe,MAAQA,KAAOf,OAC3D,iBAARhM,MAAoBA,MAAQA,KAAK+M,MAAQA,KAAO/M,KAEvDqN,SAAS,cAATA,MCHcC,EAA8B,WAC9C,OAA+E,GAAxEtM,OAAOuM,eAAe,GAAI,IAAK,CAAE3L,IAAK,WAAc,OAAO,KAAQyK,ICDxEmB,EAAWF,EAA+BE,SAE1CC,EAAQC,EAASF,IAAaE,EAASF,EAASG,iBAEnC,SAAUxB,GACzB,OAAOsB,EAAQD,EAASG,cAAcxB,GAAM,OCL5BmB,IAAwCM,EAA8B,WACtF,OAEQ,GAFD5M,OAAOuM,eAAeM,EAAgD,OAAQ,IAAK,CACxFjM,IAAK,WAAc,OAAO,KACzByK,MCFY,SAAUF,GACzB,IAAKuB,EAASvB,GACZ,MAAMhH,UAAUU,OAAOsG,GAAM,qBAC7B,OAAOA,KCDM,SAAUA,EAAI2B,GAC7B,IAAKJ,EAASvB,GAAK,OAAOA,EAC1B,IAAIrC,EAAI2B,EACR,GAAIqC,GAAkC,mBAArBhE,EAAKqC,EAAGlL,YAA4ByM,EAASjC,EAAM3B,EAAG5I,KAAKiL,IAAM,OAAOV,EACzF,GAAgC,mBAApB3B,EAAKqC,EAAG4B,WAA2BL,EAASjC,EAAM3B,EAAG5I,KAAKiL,IAAM,OAAOV,EACnF,IAAKqC,GAAkC,mBAArBhE,EAAKqC,EAAGlL,YAA4ByM,EAASjC,EAAM3B,EAAG5I,KAAKiL,IAAM,OAAOV,EAC1F,MAAMtG,UAAU,4CCNd6I,EAAuBhN,OAAOuM,oBAEtBU,EAAcD,EAAuB,SAAwBE,EAAGC,EAAGC,GAI7E,GAHAC,EAASH,GACTC,EAAIG,EAAYH,GAAG,GACnBE,EAASD,GACLG,EAAgB,IAClB,OAAOP,EAAqBE,EAAGC,EAAGC,GAClC,MAAO/N,IACT,GAAI,QAAS+N,GAAc,QAASA,EAAY,MAAMjJ,UAAU,2BAEhE,MADI,UAAWiJ,IAAYF,EAAEC,GAAKC,EAAW9M,OACtC4M,MCfQ,SAAUM,EAAQlN,GACjC,MAAO,CACLmN,aAAuB,EAATD,GACdE,eAAyB,EAATF,GAChBG,WAAqB,EAATH,GACZlN,MAAOA,MCFMgM,EAAsC,SAAUsB,EAAQhK,EAAKtD,GAC5E,OAAOuN,EAAqBC,EAAEF,EAAQhK,EAAKmK,EAAyB,EAAGzN,KACrE,SAAUsN,EAAQhK,EAAKtD,GAEzB,OADAsN,EAAOhK,GAAOtD,EACPsN,KCJQ,SAAUhK,EAAKtD,GAC9B,IACE0N,EAAK/C,EAAQrH,EAAKtD,GAClB,MAAOjB,GACP4L,EAAOrH,GAAOtD,EACd,OAAOA,mBCNX,IAAI2N,EAAS,qBACTC,EAAQjD,EAAOgD,IAAWE,EAAUF,EAAQ,KAE/CG,UAAiB,SAAUxK,EAAKtD,GAC/B,OAAO4N,EAAMtK,KAASsK,EAAMtK,QAAiBsB,IAAV5E,EAAsBA,EAAQ,MAChE,WAAY,IAAIe,KAAK,CACtBgN,QAAS,QACTrG,KAAiD,SACjDsG,UAAW,2CCVTC,EAAK,EACLC,EAAUzC,KAAK0C,WAEF,SAAU7K,GACzB,MAAO,UAAU8K,YAAexJ,IAARtB,EAAoB,GAAKA,EAAK,QAAS2K,EAAKC,GAASvO,SAAS,SCHtEqM,EAA8B,cCD5C4B,EAAQ5B,EAA+B,OAEvCnN,EAASyN,EAA+BzN,SAG3B,SAAUkB,GACzB,OAAO6N,EAAM7N,KAAU6N,EAAM7N,GAAQsO,GAAiBxP,EAAOkB,KACvDsO,EAAgBxP,EAASyP,GAAK,UAAYvO,KCL9CwO,EAAUvC,EAA0C,aAIvC,SAAUwC,EAAexH,GACxC,IAAIyH,EASF,OARE3J,EAAQ0J,KAGM,mBAFhBC,EAAID,EAAcrG,cAEasG,IAAM5J,QAASC,EAAQ2J,EAAErP,WAC/CgN,EAASqC,IAEN,QADVA,EAAIA,EAAEF,MACUE,OAAI7J,GAH+C6J,OAAI7J,GAKlE,SAAWA,IAAN6J,EAAkB5J,MAAQ4J,GAAc,IAAXzH,EAAe,EAAIA,OCK/C,SAAU0H,EAAMC,GAC/B,IAAIC,EAAiB,GAARF,EACTG,EAAoB,GAARH,EACZI,EAAkB,GAARJ,EACVK,EAAmB,GAARL,EACXM,EAAwB,GAARN,EAChBO,EAAmB,GAARP,GAAaM,EACxBE,EAASP,GAAkBQ,EAC/B,OAAO,SAAUC,EAAOC,EAAYzE,GAQlC,IAPA,IAMI5K,EAAOqF,EANPuH,EAAI0C,EAASF,GACb1Q,EAAO6Q,EAAc3C,GACrB4C,EAAgBC,EAAKJ,EAAYzE,EAAM,GACvC5D,EAAS0I,EAAShR,EAAKsI,QACvB2I,EAAQ,EACRC,EAAShB,EAASM,EAAOE,EAAOpI,GAAU6H,EAAYK,EAAOE,EAAO,QAAKxK,EAE9D+K,EAAT3I,EAAgB2I,IAAS,IAAIV,GAAYU,KAASjR,KAEtD2G,EAASmK,EADTxP,EAAQtB,EAAKiR,GACiBA,EAAO/C,GACjC8B,GACF,GAAIE,EAAQgB,EAAOD,GAAStK,OACvB,GAAIA,EAAQ,OAAQqJ,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAO1O,EACf,KAAK,EAAG,OAAO2P,EACf,KAAK,EAAGC,EAAO7O,KAAKf,QACf,GAAI+O,EAAU,OAAO,EAGhC,OAAOC,GAAiB,EAAIF,GAAWC,EAAWA,EAAWa,ICjD7DC,GAA6B,GAAGzE,qBAChC0E,GAAiCpQ,OAAOqQ,+BAG1BD,KAAmCD,GAA2BjQ,KAAK,CAAEoQ,EAAG,GAAK,GAErE,SAA8BC,GACtD,IAAIC,EAAaJ,GAA+B1P,KAAM6P,GACtD,QAASC,GAAcA,EAAW/C,YAChC0C,OCNa,SAAUhF,GACzB,OAAO0E,EAAchE,EAAuBV,KCL1CrK,GAAiB,GAAGA,kBAEP,SAAUqK,EAAIvH,GAC7B,OAAO9C,GAAeZ,KAAKiL,EAAIvH,ICI7BwM,GAAiCpQ,OAAOqQ,+BAEhCpD,EAAcmD,GAAiC,SAAkClD,EAAGC,GAG9F,GAFAD,EAAIuD,GAAgBvD,GACpBC,EAAIG,EAAYH,GAAG,GACfI,EAAgB,IAClB,OAAO6C,GAA+BlD,EAAGC,GACzC,MAAO9N,IACT,GAAIwB,GAAIqM,EAAGC,GAAI,OAAOY,GAA0B2C,GAA2B5C,EAAE5N,KAAKgN,EAAGC,GAAID,EAAEC,SCf5Eb,EAA+B,4BAA6BD,SAASpM,UCClF0Q,GAAUrE,EAA+BqE,WAET,mBAAZA,IAA0B,cAAc7L,KAAK8L,GAAuB1Q,KAAKyQ,KCH7FE,GAASvE,EAA+B,WAG3B,SAAU1I,GACzB,OAAOiN,GAAOjN,KAASiN,GAAOjN,GAAOgL,EAAIhL,QCJ1B,GlCMb+M,GAAUrE,EAA+BqE,QAgB7C,GAAIG,GAAiB,CACnB,IAAI5C,GAAQ,IAAIyC,GACZI,GAAQ7C,GAAMtN,IACdoQ,GAAQ9C,GAAMrN,IACdoQ,GAAQ/C,GAAMnN,IAClBA,EAAM,SAAUoK,EAAI+F,GAElB,OADAD,GAAM/Q,KAAKgO,GAAO/C,EAAI+F,GACfA,GAETtQ,EAAM,SAAUuK,GACd,OAAO4F,GAAM7Q,KAAKgO,GAAO/C,IAAO,IAElCtK,EAAM,SAAUsK,GACd,OAAO6F,GAAM9Q,KAAKgO,GAAO/C,QAEtB,CACL,IAAIgG,GAAQC,GAAU,SACtBC,GAAWF,KAAS,EACpBpQ,EAAM,SAAUoK,EAAI+F,GAElB,OADAlD,EAAK7C,EAAIgG,GAAOD,GACTA,GAETtQ,EAAM,SAAUuK,GACd,OAAOmG,GAAUnG,EAAIgG,IAAShG,EAAGgG,IAAS,IAE5CtQ,EAAM,SAAUsK,GACd,OAAOmG,GAAUnG,EAAIgG,KAIzB,ImC3C2BI,MnC2CV,CACfxQ,IAAKA,EACLH,IAAKA,EACLC,IAAKA,EACL2Q,QA/CY,SAAUrG,GACtB,OAAOtK,EAAIsK,GAAMvK,EAAIuK,GAAMpK,EAAIoK,EAAI,KA+CnCsG,UA5Cc,SAAUzC,GACxB,OAAO,SAAU7D,GACf,IAAIuG,EACJ,IAAKhF,EAASvB,KAAQuG,EAAQ9Q,EAAIuK,IAAK5I,OAASyM,EAC9C,MAAM7K,UAAU,0BAA4B6K,EAAO,aACnD,OAAO0C,sBoCZb,IAAIC,EAAmBC,GAAoBhR,IACvCiR,EAAuBD,GAAoBJ,QAC3CM,EAAWjN,OAAO+L,IAAwBnN,MAAM,cAErB,gBAAiB,SAAU0H,GACxD,OAAOyF,GAAuB1Q,KAAKiL,MAGpCiD,UAAiB,SAAUlB,EAAGtJ,EAAKtD,EAAOgD,GACzC,IAAIyO,IAASzO,KAAYA,EAAQyO,OAC7BC,IAAS1O,KAAYA,EAAQmK,WAC7BwE,IAAc3O,KAAYA,EAAQ2O,YAClB,mBAAT3R,IACS,iBAAPsD,GAAoB/C,GAAIP,EAAO,SAAS0N,EAAK1N,EAAO,OAAQsD,GACvEiO,EAAqBvR,GAAO4R,OAASJ,EAAS/N,KAAmB,iBAAPH,EAAkBA,EAAM,KAEhFsJ,IAAMjC,GAIE8G,GAEAE,GAAe/E,EAAEtJ,KAC3BoO,GAAS,UAFF9E,EAAEtJ,GAIPoO,EAAQ9E,EAAEtJ,GAAOtD,EAChB0N,EAAKd,EAAGtJ,EAAKtD,IATZ0R,EAAQ9E,EAAEtJ,GAAOtD,EAChB6N,EAAUvK,EAAKtD,KAUrB+L,SAAS3M,UAAW,WAAY,WACjC,MAAsB,mBAARgB,MAAsBiR,EAAiBjR,MAAMwR,QAAUtB,GAAuB1Q,KAAKQ,UClC/FyR,GAAMpG,KAAKoG,IACXjG,GAAMH,KAAKG,ICAXkG,IHOuBb,IGP+B,EHQjD,SAAU7B,EAAO2C,EAAIC,GAC1B,IEJ8BhL,EAC5BiL,EFMEjS,EAHA4M,EAAIuD,GAAgBf,GACpBpI,EAAS0I,EAAS9C,EAAE5F,QACpB2I,GEN0B3I,EFMSA,GELrCiL,EAAUpG,EFKgBmG,IEJb,EAAIH,GAAII,EAAUjL,EAAQ,GAAK4E,GAAIqG,EAASjL,IFQ3D,GAAIiK,IAAec,GAAMA,GAAI,KAAgBpC,EAAT3I,GAGlC,IAFAhH,EAAQ4M,EAAE+C,OAEG3P,EAAO,OAAO,OAEtB,KAAe2P,EAAT3I,EAAgB2I,IAAS,IAAIsB,IAAetB,KAAS/C,IAC5DA,EAAE+C,KAAWoC,EAAI,OAAOd,IAAetB,GAAS,EACpD,OAAQsB,KAAgB,OGnBb,SAAU3D,EAAQ4E,GACjC,IAGI5O,EAHAsJ,EAAIuD,GAAgB7C,GACpBrG,EAAI,EACJ5B,EAAS,GAEb,IAAK/B,KAAOsJ,GAAIrM,GAAIwQ,GAAYzN,IAAQ/C,GAAIqM,EAAGtJ,IAAQ+B,EAAOtE,KAAKuC,GAEnE,KAAO4O,EAAMlL,OAASC,GAAO1G,GAAIqM,EAAGtJ,EAAM4O,EAAMjL,SAC7C6K,GAAazM,EAAQ/B,IAAQ+B,EAAOtE,KAAKuC,IAE5C,OAAO+B,MCdQ,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,WCNE0L,GAAa/E,GAAsCoC,OAAO,SAAU,mBAE5D1O,OAAOsF,qBAAuB,SAA6B4H,GACrE,OAAOuF,GAAmBvF,EAAGmE,YCLnBrR,OAAO0S,uBCGfC,GAAUrG,EAA+BqG,WAG5BA,IAAWA,GAAQC,SAAW,SAAiBzH,GAC9D,IAAIhK,EAAO0R,GAA0B/E,EAAET,EAASlC,IAC5CuH,EAAwBI,GAA4BhF,EACxD,OAAO4E,EAAwBvR,EAAKuN,OAAOgE,EAAsBvH,IAAOhK,MCJzD,SAAU+O,EAAQgC,GAIjC,IAHA,IAAI/Q,EAAOyR,GAAQV,GACf3F,EAAiBsB,EAAqBC,EACtCuC,EAA2B0C,GAA+BjF,EACrDvG,EAAI,EAAGA,EAAIpG,EAAKmG,OAAQC,IAAK,CACpC,IAAI3D,EAAMzC,EAAKoG,GACV1G,GAAIqP,EAAQtM,IAAM2I,EAAe2D,EAAQtM,EAAKyM,EAAyB6B,EAAQtO,MCVpFoP,GAAc,kBAEdC,GAAW,SAAUC,EAASC,GAChC,IAAI7S,EAAQ8S,GAAKC,GAAUH,IAC3B,OAAO5S,GAASgT,IACZhT,GAASiT,KACW,mBAAbJ,EAA0B1H,EAAM0H,KACrCA,IAGJE,GAAYJ,GAASI,UAAY,SAAUG,GAC7C,OAAO3O,OAAO2O,GAAQhQ,QAAQwP,GAAa,KAAKjO,eAG9CqO,GAAOH,GAASG,KAAO,GACvBG,GAASN,GAASM,OAAS,IAC3BD,GAAWL,GAASK,SAAW,OAElBL,GClBb5C,GAA2B/D,GAA2DwB,KAqBzE,SAAUxK,EAAS4O,GAClC,IAGYhC,EAAQtM,EAAK6P,EAAgBC,EAAgBlD,EAHrDmD,EAASrQ,EAAQ4M,OACjB0D,EAAStQ,EAAQ2H,OACjB4I,EAASvQ,EAAQwQ,KASrB,GANE5D,EADE0D,EACO3I,EACA4I,EACA5I,EAAO0I,IAAWxF,EAAUwF,EAAQ,KAEnC1I,EAAO0I,IAAW,IAAIjU,UAEtB,IAAKkE,KAAOsO,EAAQ,CAQ9B,GAPAwB,EAAiBxB,EAAOtO,GAGtB6P,EAFEnQ,EAAQ2O,aACVzB,EAAaH,GAAyBH,EAAQtM,KACf4M,EAAWlQ,MACpB4P,EAAOtM,IACtBqP,GAASW,EAAShQ,EAAM+P,GAAUE,EAAS,IAAM,KAAOjQ,EAAKN,EAAQyQ,cAE5C7O,IAAnBuO,EAA8B,CAC3C,UAAWC,UAA0BD,EAAgB,SACrDO,GAA0BN,EAAgBD,IAGxCnQ,EAAQ2Q,MAASR,GAAkBA,EAAeQ,OACpDjG,EAAK0F,EAAgB,QAAQ,GAG/BQ,GAAShE,EAAQtM,EAAK8P,EAAgBpQ,QC/CzBtD,OAAOmB,MAAQ,SAAc+L,GAC5C,OAAOuF,GAAmBvF,EAAGiH,QCAdlH,EAAcjN,OAAOoU,iBAAmB,SAA0BlH,EAAGmH,GACpFhH,EAASH,GAKT,IAJA,IAGItJ,EAHAzC,EAAOmT,GAAWD,GAClB/M,EAASnG,EAAKmG,OACdC,EAAI,EAEQA,EAATD,GAAYuG,EAAqBC,EAAEZ,EAAGtJ,EAAMzC,EAAKoG,KAAM8M,EAAWzQ,IACzE,OAAOsJ,GCZLV,GAAWF,EAA+BE,YAE7BA,IAAYA,GAAS+H,gBCIlCC,GAAWlI,GAAmC,YAC9CmI,GAAY,YACZC,GAAQ,aAGRC,GAAa,WAEf,IAMIC,EANAC,EAASC,EAAsB,UAC/BxN,EAAS6M,GAAY7M,OAErByN,EAAS,SAYb,IARAF,EAAOG,MAAMC,QAAU,OACvBC,GAAKC,YAAYN,GACjBA,EAAOO,IAAMvQ,OAJJ,gBAKT+P,EAAiBC,EAAOQ,cAAc7I,UACvBnI,OACfuQ,EAAeU,MAAMC,8BAAoDR,EARhE,KASTH,EAAeY,QACfb,GAAaC,EAAea,EACrBnO,YAAiBqN,GAAWF,IAAWN,GAAY7M,IAC1D,OAAOqN,SAGQ3U,OAAOwP,QAAU,SAAgBtC,EAAGmH,GACnD,IAAI1O,EAQJ,OAPU,OAANuH,GACFwH,GAAMD,IAAapH,EAASH,GAC5BvH,EAAS,IAAI+O,GACbA,GAAMD,IAAa,KAEnB9O,EAAO6O,IAAYtH,GACdvH,EAASgP,UACMzP,IAAfmP,EAA2B1O,EAASyO,GAAiBzO,EAAQ0O,OAGlCG,KAAY,EC5ChD,IAAIkB,GAAcpJ,EAA0C,eAGxDqJ,GAAiBxQ,MAAMzF,UAIQwF,MAA/ByQ,GAAeD,KACjB1H,EAAK2H,GAAgBD,GAAalG,GAAO,OAI3C,OAAiB,SAAU5L,GACzB+R,GAAeD,IAAa9R,IAAO,GCZjCgS,GAAetJ,GAAsC,GACrDuJ,GAAO,OACPC,IAAc,EAGdD,KAAQ,IAAI1Q,MAAM,GAAG0Q,IAAM,WAAcC,IAAc,OAI5B,CAAE5F,OAAQ,QAAS6F,OAAO,EAAMhC,OAAQ+B,IAAe,CACpFE,KAAM,SAAcrG,GAClB,OAAOiG,GAAalV,KAAMiP,EAA+B,EAAnB7F,UAAUxC,OAAawC,UAAU,QAAK5E,SAKrC2Q,ICf3C,IAAI3V,GAAOmM,SAASnM,QAEH,SAAU+V,EAAaC,EAAQ5O,GAC9C,OAAOyI,EAAK7P,GAAM+K,EAAOgL,GAAavW,UAAUwW,GAAS5O,ICJvD6O,ICCavJ,GAAwC,QAAS,QDD1CN,GAAsC,IAC1D8J,GAAa,YACbN,IAAc,EAGdM,KAAc,IAAIjR,MAAM,GAAGiR,IAAY,WAAcN,IAAc,OAIxC,CAAE5F,OAAQ,QAAS6F,OAAO,EAAMhC,OAAQ+B,IAAe,CACpFO,UAAW,SAAmB1G,GAC5B,OAAOwG,GAAkBzV,KAAMiP,EAA+B,EAAnB7F,UAAUxC,OAAawC,UAAU,QAAK5E,SAK1CkR,IEf1BxJ,GAAwC,QAAS,aAAlE,ICKI0J,GAAetW,OAAOuW,WAGRD,IAAgBhK,EAA8B,WAC9D,IAAIkK,EAAI,GACJC,EAAI,GAEJC,EAASvX,SACTwX,EAAW,uBAGf,OAFAH,EAAEE,GAAU,EACZC,EAASlT,MAAM,IAAIzC,QAAQ,SAAU4V,GAAOH,EAAEG,GAAOA,IACf,GAA/BN,GAAa,GAAIE,GAAGE,IAAgBpC,GAAWgC,GAAa,GAAIG,IAAI1S,KAAK,KAAO4S,IACpF,SAAgBzG,EAAQgC,GAM3B,IALA,IAAI2E,EAAIjH,EAASM,GACb4G,EAAkBhN,UAAUxC,OAC5B2I,EAAQ,EACRyC,EAAwBI,GAA4BhF,EACpDpC,EAAuBgF,GAA2B5C,EAC7BmC,EAAlB6G,GAML,IALA,IAIIlT,EAJAkJ,EAAI+C,EAAc/F,UAAUmG,MAC5B9O,EAAOuR,EAAwB4B,GAAWxH,GAAG4B,OAAOgE,EAAsB5F,IAAMwH,GAAWxH,GAC3FxF,EAASnG,EAAKmG,OACdyP,EAAI,EAEQA,EAATzP,GAAgBoE,EAAqBxL,KAAK4M,EAAGlJ,EAAMzC,EAAK4V,QAAOF,EAAEjT,GAAOkJ,EAAElJ,IACjF,OAAOiT,GACPP,MC7B2B,CAAEpG,OAAQ,SAAU4D,MAAM,EAAMC,OAAQ/T,OAAOuW,SAAWA,IAAU,CAAEA,OAAQA,KCJ7G,OAAiBjK,ECEb0K,ICAapK,GAAgC5M,OAAOuW,ODA5CjK,EAA0C,aEErC,SAAUpB,EAAM+L,EAAcC,GAC7C,GFGOxK,EAFkBvB,EEDZ8L,UFGsC/R,KAA1BiS,EAAWhM,EAAG6L,KAA0BG,EAA0B,UAAfxL,EAAQR,IEFlF,MAAMhH,UAAU,oBAAsB+S,EAAO,yBFAhC,IAAU/L,EACrBgM,EEAF,OAAOtS,OAAOgH,EAAuBX,KCPrC8L,GAAQ1K,EAA0C,SCGlD8K,GAAc,aACdC,GDFa,SAAUC,GACzB,IAAIC,EAAS,IACb,IACE,MAAMD,GAAaC,GACnB,MAAOlY,GACP,IAEE,OADAkY,EAAOP,KAAS,EACT,MAAMM,GAAaC,GAC1B,MAAOzJ,KACT,OAAO,ECPmBxB,CAAgD8K,IAC1EI,GAAmB,GAAGJ,OAIK,CAAElH,OAAQ,SAAU6F,OAAO,EAAMhC,QAASsD,IAA2B,CAClGI,WAAY,SAAoBR,GAC9B,IAAI/L,EAAOwM,GAAkBhX,KAAMuW,EAAcG,IAC7CnH,EAAQD,EAASjE,KAAKG,IAAuB,EAAnBpC,UAAUxC,OAAawC,UAAU,QAAK5E,EAAWgG,EAAK5D,SAChFqQ,EAAS9S,OAAOoS,GACpB,OAAOO,GACHA,GAAiBtX,KAAKgL,EAAMyM,EAAQ1H,GACpC/E,EAAK/E,MAAM8J,EAAOA,EAAQ0H,EAAOrQ,UAAYqQ,KCdpC/K,GAAwC,SAAU,iBCApC,CAAEsD,OAAQ,SAAU6F,OAAO,GAAQ,CAChE6B,OCGe,GAAGA,QAAU,SAAgBC,GAC5C,IAAIC,EAAMjT,OAAOgH,EAAuBnL,OACpCiF,EAAS,GACToS,EAAI5L,EAAU0L,GAClB,GAAIE,EAAI,GAAKA,GAAKC,EAAAA,EAAU,MAAMtV,WAAW,+BAC7C,KAAU,EAAJqV,GAAQA,KAAO,KAAOD,GAAOA,GAAc,EAAJC,IAAOpS,GAAUmS,GAC9D,OAAOnS,KCVQiH,GAAwC,SAAU,UAAnE,ICC2B0K,MCEV,SAAU1J,EAAQhK,EAAKtD,GACtC,IAAI2X,EAAc3K,EAAY1J,GAC1BqU,KAAerK,EAAQC,EAAqBC,EAAEF,EAAQqK,EAAalK,EAAyB,EAAGzN,IAC9FsN,EAAOqK,GAAe3X,GDPzBuO,GAAUvC,EAA0C,WEMpD4L,GAAuB5L,EAA0C,sBACjE6L,GAAmB,iBACnBC,GAAiC,iCAEjCC,IAAgCzL,EAA8B,WAChE,IAAI0L,EAAQ,GAEZ,OADAA,EAAMJ,KAAwB,EACvBI,EAAM5J,SAAS,KAAO4J,IAG3BC,IFduBjB,GEcoD,UFbrE7L,EAAM,WACZ,IAAI6M,EAAQ,GAKZ,OAJkBA,EAAM7P,YAAc,IAC1BoG,IAAW,WACrB,MAAO,CAAE2J,IAAK,IAE2B,IAApCF,EAAMhB,IAAamB,SAASD,OESnCE,GAAqB,SAAUxL,GACjC,IAAKR,EAASQ,GAAI,OAAO,EACzB,IAAIyL,EAAazL,EAAEgL,IACnB,YAAsBhT,IAAfyT,IAA6BA,EAAavT,EAAQ8H,OAQ5B,CAAEgD,OAAQ,QAAS6F,OAAO,EAAMhC,QALjDsE,KAAiCE,IAKkC,CAC/E7J,OAAQ,SAAgBtC,GACtB,IAGI7E,EAAGqR,EAAGtR,EAAQ0C,EAAK6O,EAHnB3L,EAAI0C,EAASlP,MACb8V,EAAI/G,EAAmBvC,EAAG,GAC1B6K,EAAI,EAER,IAAKxQ,GAAK,EAAGD,EAASwC,UAAUxC,OAAQC,EAAID,EAAQC,IAElD,GADAsR,GAAW,IAAPtR,EAAW2F,EAAIpD,UAAUvC,GACzBmR,GAAmBG,GAAI,CAEzB,GADA7O,EAAMgG,EAAS6I,EAAEvR,QACH6Q,GAAVJ,EAAI/N,EAAwB,MAAM7F,UAAUiU,IAChD,IAAKQ,EAAI,EAAGA,EAAI5O,EAAK4O,IAAKb,IAASa,KAAKC,GAAGC,GAAetC,EAAGuB,EAAGc,EAAED,QAC7D,CACL,GAAST,IAALJ,EAAuB,MAAM5T,UAAUiU,IAC3CU,GAAetC,EAAGuB,IAAKc,GAI3B,OADArC,EAAElP,OAASyQ,EACJvB,KC/CX,IAAIuC,GAAgBzM,EAA0C,eAE1D0M,GAAuE,aAAnDC,EAAW,WAAc,OAAOnP,UAArB,ICA/BhF,GAAO,GAEXA,GAHoBwH,EAA0C,gBAGxC,IAItB,OAAkC,eAAjBzH,OAAOC,IAAyB,WAC/C,MAAO,iBDKOI,KAFWiG,ECHGzK,MDKF,YAAqB,OAAPyK,EAAc,OAEM,iBAAhD+N,EAXD,SAAU/N,EAAIvH,GACzB,IACE,OAAOuH,EAAGvH,GACV,MAAOvE,KAQS8Z,CAAOjM,EAAIlN,OAAOmL,GAAK4N,KAA8BG,EAEnEF,GAAoBC,EAAW/L,GAEH,WAA3BvH,EAASsT,EAAW/L,KAAsC,mBAAZA,EAAEkM,OAAuB,YAAczT,GCXtD,IDGrB,IAAUwF,EACrB+B,EAAGgM,EAAKvT,GCHVb,GAAK7E,SCVLoZ,GAAkBrZ,OAAON,UAIzBO,KAAaoZ,GAAgBpZ,UAC/BqM,GAAiC+M,GAAiB,WAAYpZ,GAAU,CAAE8R,QAAQ,ICNpF,IAAIxF,GAAiBD,EAA+CwB,EAEhEiL,GAAgBnM,EAA0C,kBAE7C,SAAUzB,EAAImO,EAAKzF,GAC9B1I,IAAOtK,GAAIsK,EAAK0I,EAAS1I,EAAKA,EAAGzL,UAAWqZ,KAC9CxM,GAAepB,EAAI4N,GAAe,CAAErL,cAAc,EAAMpN,MAAOgZ,WCNvDhN,GCGRC,GAAiBD,EAA+CwB,KAEnD,SAAUoJ,GACzB,IAAI/X,EAASoa,GAAKpa,SAAWoa,GAAKpa,OAAS,IACtC0B,GAAI1B,EAAQ+X,IAAO3K,GAAepN,EAAQ+X,EAAM,CACnD5W,MAAOkZ,GAA6B1L,EAAEoJ,MCNtCuC,GAA4BnN,GAAsDwB,EAClF7N,GAAW,GAAGA,SAEdyZ,GAA+B,iBAAV1O,QAAsBA,QAAUhL,OAAOsF,oBAC5DtF,OAAOsF,oBAAoB0F,QAAU,SAUtB,SAA6BG,GAC9C,OAAOuO,IAAoC,mBAArBzZ,GAASC,KAAKiL,GATjB,SAAUA,GAC7B,IACE,OAAOsO,GAA0BtO,GACjC,MAAO9L,GACP,OAAOqa,GAAYvT,SAMjBwT,CAAexO,GACfsO,GAA0BhJ,GAAgBtF,MCW5CyO,GAAStN,GAAmC,UAE5CuN,GAAS,SACTC,GAAmBlI,GAAoB7Q,IACvC4Q,GAAmBC,GAAoBH,UAAUoI,IACjDzJ,GAAiC2C,GAA+BjF,EAChEd,GAAuBa,EAAqBC,EAC5C2L,GAA4BM,GAA4BjM,EACxDkM,GAAU/O,EAAO9L,OACjB0I,GAAOoD,EAAOpD,KACdoS,GAAsBpS,IAAQA,GAAKqS,UACnCzF,GAAY,YACZ0F,GAAeC,EAAgB,eAC/BjK,GAA6BO,GAA2B5C,EACxDuM,GAAiBxJ,EAAO,mBACxByJ,GAAazJ,EAAO,WACpB0J,GAAyB1J,EAAO,cAChC2J,GAAwB3J,EAAO,OAC/BwI,GAAkBrZ,OAAOyU,IACzBgG,GAAUxP,EAAOwP,QAGjBC,IAAcD,KAAYA,GAAQhG,MAAegG,GAAQhG,IAAWkG,UAGpEC,GAAsB3N,GAAexB,EAAM,WAC7C,OAES,GAFFoP,GAAmB7N,GAAqB,GAAI,IAAK,CACtDpM,IAAK,WAAc,OAAOoM,GAAqBtM,KAAM,IAAK,CAAEJ,MAAO,IAAK+K,MACtEA,IACD,SAAUF,EAAIvH,EAAKkX,GACtB,IAAIC,EAA4B3K,GAA+BiJ,GAAiBzV,GAC5EmX,UAAkC1B,GAAgBzV,GACtDoJ,GAAqB7B,EAAIvH,EAAKkX,GAC1BC,GAA6B5P,IAAOkO,IACtCrM,GAAqBqM,GAAiBzV,EAAKmX,IAE3C/N,GAEAgO,GAAO,SAAU9B,EAAK+B,GACxB,IAAIvE,EAAS4D,GAAWpB,GAAO2B,GAAmBb,GAAQvF,KAO1D,OANAqF,GAAiBpD,EAAQ,CACvBnU,KAAMsX,GACNX,IAAKA,EACL+B,YAAaA,IAEVhO,IAAayJ,EAAOuE,YAAcA,GAChCvE,GAGLwE,GAAWvM,GAA4C,iBAApBqL,GAAQvY,SAAuB,SAAU0J,GAC9E,MAAoB,iBAANA,GACZ,SAAUA,GACZ,OAAOnL,OAAOmL,aAAe6O,IAG3BmB,GAAkB,SAAwBhQ,EAAIvH,EAAKkX,GAKrD,OAJI3P,IAAOkO,IAAiB8B,GAAgBZ,GAAwB3W,EAAKkX,GACzEzN,EAASlC,GACTvH,EAAM0J,EAAY1J,GAAK,GACvByJ,EAASyN,GACLja,GAAIyZ,GAAY1W,IACbkX,EAAErN,YAID5M,GAAIsK,EAAIyO,KAAWzO,EAAGyO,IAAQhW,KAAMuH,EAAGyO,IAAQhW,IAAO,GAC1DkX,EAAID,GAAmBC,EAAG,CAAErN,WAAYM,EAAyB,GAAG,OAJ/DlN,GAAIsK,EAAIyO,KAAS5M,GAAqB7B,EAAIyO,GAAQ7L,EAAyB,EAAG,KACnF5C,EAAGyO,IAAQhW,IAAO,GAIXgX,GAAoBzP,EAAIvH,EAAKkX,IAC/B9N,GAAqB7B,EAAIvH,EAAKkX,IAGrCM,GAAoB,SAA0BjQ,EAAIgC,GACpDE,EAASlC,GAKT,IAJA,IAGIvH,EAHAzC,EClGW,SAAUgK,GACzB,IAAIxF,EAAS2O,GAAWnJ,GACpBuH,EAAwBI,GAA4BhF,EACxD,GAAI4E,EAKF,IAJA,IAGI9O,EAHAyX,EAAU3I,EAAsBvH,GAChCO,EAAuBgF,GAA2B5C,EAClDvG,EAAI,EAED8T,EAAQ/T,OAASC,GAAOmE,EAAqBxL,KAAKiL,EAAIvH,EAAMyX,EAAQ9T,OAAO5B,EAAOtE,KAAKuC,GAC9F,OAAO+B,EDyFE2V,CAASnO,EAAIsD,GAAgBtD,IACpC5F,EAAI,EACJgU,EAAIpa,EAAKmG,OAEFC,EAAJgU,GAAOJ,GAAgBhQ,EAAIvH,EAAMzC,EAAKoG,KAAM4F,EAAEvJ,IACrD,OAAOuH,GAOLqQ,GAAwB,SAA8B5X,GACxD,IAAIiV,EAAI1I,GAA2BjQ,KAAKQ,KAAMkD,EAAM0J,EAAY1J,GAAK,IACrE,QAAIlD,OAAS2Y,IAAmBxY,GAAIyZ,GAAY1W,KAAS/C,GAAI0Z,GAAwB3W,QAC9EiV,IAAMhY,GAAIH,KAAMkD,KAAS/C,GAAIyZ,GAAY1W,IAAQ/C,GAAIH,KAAMkZ,KAAWlZ,KAAKkZ,IAAQhW,KAAOiV,IAG/F4C,GAA4B,SAAkCtQ,EAAIvH,GAGpE,GAFAuH,EAAKsF,GAAgBtF,GACrBvH,EAAM0J,EAAY1J,GAAK,GACnBuH,IAAOkO,KAAmBxY,GAAIyZ,GAAY1W,IAAS/C,GAAI0Z,GAAwB3W,GAAnF,CACA,IAAIkX,EAAI1K,GAA+BjF,EAAIvH,GAE3C,OADIkX,IAAKja,GAAIyZ,GAAY1W,IAAU/C,GAAIsK,EAAIyO,KAAWzO,EAAGyO,IAAQhW,KAAOkX,EAAErN,YAAa,GAChFqN,IAGLY,GAAuB,SAA6BvQ,GAKtD,IAJA,IAGIvH,EAHA4O,EAAQiH,GAA0BhJ,GAAgBtF,IAClDxF,EAAS,GACT4B,EAAI,EAEDiL,EAAMlL,OAASC,GACf1G,GAAIyZ,GAAY1W,EAAM4O,EAAMjL,OAAU1G,GAAIwQ,GAAYzN,IAAM+B,EAAOtE,KAAKuC,GAC7E,OAAO+B,GAGPgW,GAAyB,SAA+BxQ,GAM1D,IALA,IAIIvH,EAJAgY,EAAQzQ,IAAOkO,GACf7G,EAAQiH,GAA0BmC,EAAQrB,GAAyB9J,GAAgBtF,IACnFxF,EAAS,GACT4B,EAAI,EAEDiL,EAAMlL,OAASC,IAChB1G,GAAIyZ,GAAY1W,EAAM4O,EAAMjL,OAAUqU,IAAQ/a,GAAIwY,GAAiBzV,IAAc+B,EAAOtE,KAAKiZ,GAAW1W,IAC5G,OAAO+B,GAKNgJ,IAaHuF,IAZA8F,GAAU,WACR,GAAItZ,gBAAgBsZ,GAAS,MAAM7V,UAAU,+BAC7C,IAAI8W,OAA+B/V,IAAjB4E,UAAU,QAAmB5E,EAAYL,OAAOiF,UAAU,IACxEoP,EAAMtK,EAAIqM,GACVY,EAAS,SAAUvb,GACjBI,OAAS2Y,IAAiBwC,EAAO3b,KAAKqa,GAAwBja,GAC9DO,GAAIH,KAAMkZ,KAAW/Y,GAAIH,KAAKkZ,IAASV,KAAMxY,KAAKkZ,IAAQV,IAAO,GACrE0B,GAAoBla,KAAMwY,EAAKnL,EAAyB,EAAGzN,KAG7D,OADI2M,GAAeyN,IAAYE,GAAoBvB,GAAiBH,EAAK,CAAExL,cAAc,EAAM3M,IAAK8a,IAC7Fb,GAAK9B,EAAK+B,KAEFxG,IAAY,WAAY,WACvC,OAAO9C,GAAiBjR,MAAMwY,MAGhCxI,GAA2B5C,EAAI0N,GAC/B3N,EAAqBC,EAAIqN,GACzBpI,GAA+BjF,EAAI2N,GACnC7O,GAAsDkB,EAAIiM,GAA4BjM,EAAI4N,GAC1F7O,GAAwDiB,EAAI6N,GAExD1O,IAEFD,GAAqBgN,GAAQvF,IAAY,cAAe,CACtD/G,cAAc,EACd9M,IAAK,WACH,OAAO+Q,GAAiBjR,MAAMua,eAIhC/G,GAASmF,GAAiB,uBAAwBmC,GAAuB,CAAEzJ,QAAQ,KAIvFyH,GAA6B1L,EAAI,SAAUzN,GACzC,OAAO2a,GAAKZ,EAAgB/Z,GAAOA,QAI/B,CAAE4K,QAAQ,EAAM+P,MAAM,EAAMjH,QAASpF,EAAesF,MAAOtF,GAAiB,CAAExP,OAAQ6a,KAE9F,IAAK,IAAI8B,GAAmBxH,GAAWkG,IAAwB5B,GAAI,EAAGkD,GAAiBxU,OAASsR,IAC9FmD,GAAsBD,GAAiBlD,UAGjC,CAAE1I,OAAQ2J,GAAQ/F,MAAM,EAAMC,QAASpF,GAAiB,CAG9DqN,IAAO,SAAUpY,GACf,OAAO/C,GAAIwZ,GAAgBzW,GAAO,IAC9ByW,GAAezW,GACfyW,GAAezW,GAAOoW,GAAQpW,IAIpCqY,OAAQ,SAAgBC,GACtB,IAAKhB,GAASgB,GAAM,MAAM/X,UAAU+X,EAAM,oBAC1C,IAAK,IAAItY,KAAOyW,GAAgB,GAAIA,GAAezW,KAASsY,EAAK,OAAOtY,GAE1EuY,UAAW,WAAczB,IAAa,GACtC0B,UAAW,WAAc1B,IAAa,QAGhC,CAAExK,OAAQ,SAAU4D,MAAM,EAAMC,QAASpF,EAAesF,MAAOhH,GAAe,CAGpFuC,OA9GY,SAAgBrE,EAAIgC,GAChC,YAAajI,IAANiI,EAAkB0N,GAAmB1P,GAAMiQ,GAAkBP,GAAmB1P,GAAKgC,IAgH5FZ,eAAgB4O,GAGhB/G,iBAAkBgH,GAGlB/K,yBAA0BoL,QAGpB,CAAEvL,OAAQ,SAAU4D,MAAM,EAAMC,QAASpF,GAAiB,CAGhErJ,oBAAqBoW,GAGrBhJ,sBAAuBiJ,SAKjBU,GAAQ,CAAEnM,OAAQ,OAAQ4D,MAAM,EAAMC,QAASpF,GAAiBlD,EAAM,WAC5E,IAAIiL,EAASsD,KAEb,MAAwC,UAAjCC,GAAoB,CAACvD,KAEe,MAAtCuD,GAAoB,CAAE5O,EAAGqL,KAEc,MAAvCuD,GAAoBja,OAAO0W,OAC5B,CACJwD,UAAW,SAAmB/O,GAI5B,IAHA,IAEImR,EAAUC,EAFVjS,EAAO,CAACa,GACR5D,EAAI,EAEDuC,UAAUxC,OAASC,GAAG+C,EAAKjJ,KAAKyI,UAAUvC,MAEjD,GADAgV,EAAYD,EAAWhS,EAAK,IACvBoC,EAAS4P,SAAoBpX,IAAPiG,KAAoB+P,GAAS/P,GAMxD,OALK/F,EAAQkX,KAAWA,EAAW,SAAU1Y,EAAKtD,GAEhD,GADwB,mBAAbic,IAAyBjc,EAAQic,EAAUrc,KAAKQ,KAAMkD,EAAKtD,KACjE4a,GAAS5a,GAAQ,OAAOA,IAE/BgK,EAAK,GAAKgS,EACHrC,GAAoBpQ,MAAMhC,GAAMyC,MAMtC0P,GAAQvF,IAAW0F,KAAenM,EAAKgM,GAAQvF,IAAY0F,GAAcH,GAAQvF,IAAW1H,SAGjGyP,GAAexC,GAASH,IAExBxI,GAAWuI,KAAU,KElR4B,iBCIjD,IAAIrN,GAAiBD,EAA+CwB,EAEhE2O,GAAe7P,EAA+BzN,OAElD,GAAI8N,GAAsC,mBAAhBwP,OAAiC,gBAAiBA,GAAa/c,iBAExDwF,IAA/BuX,KAAexB,aACd,CACD,IAAIyB,GAA8B,GAE9BC,GAAgB,WAClB,IAAI1B,EAAcnR,UAAUxC,OAAS,QAAsBpC,IAAjB4E,UAAU,QAAmB5E,EAAYL,OAAOiF,UAAU,IAChGnE,EAASjF,gBAAgBic,GACzB,IAAIF,GAAaxB,QAED/V,IAAhB+V,EAA4BwB,KAAiBA,GAAaxB,GAE9D,MADoB,KAAhBA,IAAoByB,GAA4B/W,IAAU,GACvDA,GAETqO,GAA0B2I,GAAeF,IACzC,IAAIG,GAAkBD,GAAcjd,UAAY+c,GAAa/c,UAC7Dkd,GAAgBnU,YAAckU,GAE9B,IAAIE,GAAiBD,GAAgB3c,SACjC6c,GAAyC,gBAAhCjY,OAAO4X,GAAa,SAC7BlF,GAAS,wBACbhL,GAAeqQ,GAAiB,cAAe,CAC7ClP,cAAc,EACd9M,IAAK,WACH,IAAI8V,EAAShK,EAAShM,MAAQA,KAAKqM,UAAYrM,KAC3C8S,EAASqJ,GAAe3c,KAAKwW,GACjC,GAAI7V,GAAI6b,GAA6BhG,GAAS,MAAO,GACrD,IAAIqG,EAAOD,GAAStJ,EAAOrN,MAAM,GAAI,GAAKqN,EAAOhQ,QAAQ+T,GAAQ,MACjE,MAAgB,KAATwF,OAAc7X,EAAY6X,KAIrClQ,GAA+B,CAAE5B,QAAQ,EAAM8I,QAAQ,GAAQ,CAAE5U,OAAQwd,QCzC1B,kBCAA,yBCAA,eCAA,YCAA,cCAA,aCAA,cCAA,YCAA,kBCAA,kBCAA,kBCAP5Q,KAAM,QAAQ,MCAda,EAA+B/E,KAAM,QAAQ,GCiBtEmV,GAAgC7d,UCjBA,cCDA,iBCCA,gBCEjD,ICQI8d,GAAmBC,GAAmCC,OCZxC7Q,EAA8B,WAC9C,SAASmJ,KAET,OADAA,EAAE/V,UAAU+I,YAAc,KACnBzI,OAAOod,eAAe,IAAI3H,KAASA,EAAE/V,YCA1C8U,GAAWlI,GAAmC,YAE9C+M,GAAkBrZ,OAAON,aAEZ2d,GAA2Brd,OAAOod,eAAiB,SAAUlQ,GAE5E,OADAA,EAAI0C,EAAS1C,GACTrM,GAAIqM,EAAGsH,IAAkBtH,EAAEsH,IACH,mBAAjBtH,EAAEzE,aAA6ByE,aAAaA,EAAEzE,YAChDyE,EAAEzE,YAAY/I,UACdwN,aAAalN,OAASqZ,GAAkB,MFP/CiE,GAAWhR,EAA0C,YACrDiR,IAAyB,EAQzB,GAAGpc,OAGC,SAFNgc,GAAgB,GAAGhc,SAIjB+b,GAAoCE,GAAeA,GAAeD,QACxBnd,OAAON,YAAWud,GAAoBC,IAHlDK,IAAyB,GAOlCrY,MAArB+X,KAAgCA,GAAoB,IAGvCpc,GAAIoc,GAAmBK,KAAWtP,EAAKiP,GAAmBK,GAnB1D,WAAc,OAAO5c,OAqBtC,OAAiB,CACfuc,kBAAmBA,GACnBM,uBAAwBA,IG9BtBN,GAAoB3Q,GAAuC2Q,qBCG9Cjd,OAAOwd,iBAAmB,aAAe,GAAK,WAC7D,IAEI3B,EAFA4B,GAAgB,EAChB3Y,EAAO,GAEX,KACE+W,EAAS7b,OAAOqQ,yBAAyBrQ,OAAON,UAAW,aAAaqB,KACjEb,KAAK4E,EAAM,IAClB2Y,EAAgB3Y,aAAgBK,MAChC,MAAO9F,IACT,OAAO,SAAwB6N,EAAG6I,GAIhC,OCda,SAAU7I,EAAG6I,GAE5B,GADA1I,EAASH,IACJR,EAASqJ,IAAoB,OAAVA,EACtB,MAAM5R,UAAU,aAAeU,OAAOkR,GAAS,mBDQ/C2H,CAAgCxQ,EAAG6I,GAC/B0H,EAAe5B,EAAO3b,KAAKgN,EAAG6I,GAC7B7I,EAAEyQ,UAAY5H,EACZ7I,GAboD,QAezDhI,GEVFoY,GAAWhR,EAA0C,YAGrD2Q,GAAoBW,GAAcX,kBAClCM,GAAyBK,GAAcL,uBAEvCM,GAAS,SACTC,GAAU,UAEVC,GAAa,WAAc,OAAOrd,SAErB,SAAUsd,EAAU9G,EAAM+G,EAAqBjZ,EAAMkZ,EAASC,EAAQC,GHXtE,IAAUH,EAA2BjZ,EAChD+T,EADgD/T,EGYCA,EHXjD+T,EGW2C7B,EHXpB,aADF+G,EGYCA,GHVNve,UAAY8P,GAAOyN,GAAmB,CAAEjY,KAAM+I,EAAyB,EAAG/I,KAC9FwX,GAAeyB,EAAqBlF,GAAe,GGWnD,IAkBIsF,EAA0B3c,EAAS4c,EAlBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASN,GAAWO,EAAiB,OAAOA,EAChD,IAAKlB,IAA0BiB,KAAQE,EAAmB,OAAOA,EAAkBF,GACnF,OAAQA,GACN,IAbK,OAcL,KAAKX,GACL,KAAKC,GAAS,OAAO,WAAqB,OAAO,IAAIG,EAAoBvd,KAAM8d,IAC/E,OAAO,WAAc,OAAO,IAAIP,EAAoBvd,QAGpDqY,EAAgB7B,EAAO,YACvByH,GAAwB,EACxBD,EAAoBV,EAASte,UAC7Bkf,EAAiBF,EAAkBpB,KAClCoB,EAAkB,eAClBR,GAAWQ,EAAkBR,GAC9BO,GAAmBlB,IAA0BqB,GAAkBL,EAAmBL,GAClFW,EAA4B,SAAR3H,GAAkBwH,EAAkBld,SAA4Bod,EAiCxF,GA7BIC,IACFR,EAA2BjB,GAAeyB,EAAkB3e,KAAK,IAAI8d,IACjEf,KAAsBjd,OAAON,WAAa2e,EAAyBrZ,OACjE8Z,GAA2BT,KAA8BpB,KACvDO,GACFA,GAAea,EAA0BpB,IACa,mBAAtCoB,EAAyBf,KACzCtP,EAAKqQ,EAA0Bf,GAAUS,KAI7CvB,GAAe6B,EAA0BtF,GAAe,KAMxDmF,GAAWL,IAAUe,GAAkBA,EAAeve,OAASwd,KACjEc,GAAwB,EACxBF,EAAkB,WAAoB,OAAOG,EAAe1e,KAAKQ,QAI/Dge,EAA0CpB,MAAcmB,GAC1DzQ,EAAK0Q,EAAmBpB,GAAUmB,GAKhCP,EAMF,GALAxc,EAAU,CACRH,OAAQgd,EAAmBV,IAC3B1c,KAAMgd,EAASM,EAAkBF,EA9D5B,QA+DL/c,QAAS+c,EAAmBT,KAE1BM,EAAQ,IAAKE,KAAO5c,GAClB6b,KAA0BoB,GAA2BL,KAAOI,GAC9DxK,GAASwK,EAAmBJ,EAAK5c,EAAQ4c,SAEtCjC,GAAQ,CAAEnM,OAAQgH,EAAMnB,OAAO,EAAMhC,OAAQwJ,IAA0BoB,GAAyBjd,GAGzG,OAAOA,GClFLqd,GAAkB,kBAClBjF,GAAmBlI,GAAoB7Q,IACvC4Q,GAAmBC,GAAoBH,UAAUsN,IAIrDC,GAAena,OAAQ,SAAU,SAAUoa,GACzCnF,GAAiBpZ,KAAM,CACrB6B,KAAMwc,GACNvL,OAAQ3O,OAAOoa,GACfhP,MAAO,KAIR,WACD,IAGIiP,ERlB2BC,EAAKC,EAIhCC,EAAOC,EAHPxS,EACAyS,EACAC,EQYA9N,EAAQC,GAAiBjR,MACzB8S,EAAS9B,EAAM8B,OACfvD,EAAQyB,EAAMzB,MAElB,OAAIA,GAASuD,EAAOlM,OAAe,CAAEhH,WAAO4E,EAAWD,MAAM,IRnB9Bka,EQoBHlP,ERpBQmP,GQoBD,ERnB/BtS,EAAIjI,OAAOgH,EQmBK2H,IRlBhB+L,EAAWpT,EAAUgT,GACrBK,EAAO1S,EAAExF,OQiBb4X,ERfIK,EAAW,GAAiBC,GAAZD,EAAyBH,EAAoB,QAAKla,GACtEma,EAAQvS,EAAE2S,WAAWF,IACN,OAAkB,MAARF,GAAkBE,EAAW,IAAMC,IACtDF,EAASxS,EAAE2S,WAAWF,EAAW,IAAM,OAAmB,MAATD,EACjDF,EAAoBtS,EAAE4S,OAAOH,GAAYF,EACzCD,EAAoBtS,EAAE3G,MAAMoZ,EAAUA,EAAW,GAA+BD,EAAS,OAAlCD,EAAQ,OAAU,IAA0B,MQWzG3N,EAAMzB,OAASiP,EAAM5X,OACd,CAAEhH,MAAO4e,EAAOja,MAAM,MCxB/B,OAAiB,CACf0a,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,GC3BTC,GAAiB,iBACjB5H,GAAmBlI,GAAoB7Q,IACvC4Q,GAAmBC,GAAoBH,UAAUiQ,OAYpC1C,GAAe7Z,MAAO,QAAS,SAAU8Z,EAAU0C,GAClE7H,GAAiBpZ,KAAM,CACrB6B,KAAMmf,GACNxR,OAAQO,GAAgBwO,GACxBhP,MAAO,EACP0R,KAAMA,KAIP,WACD,IAAIjQ,EAAQC,GAAiBjR,MACzBwP,EAASwB,EAAMxB,OACfyR,EAAOjQ,EAAMiQ,KACb1R,EAAQyB,EAAMzB,QAClB,OAAKC,GAAUD,GAASC,EAAO5I,OAEtB,CAAEhH,MADToR,EAAMxB,YAAShL,EACYD,MAAM,GAEvB,QAAR0c,EAAuB,CAAErhB,MAAO2P,EAAOhL,MAAM,GACrC,UAAR0c,EAAyB,CAAErhB,MAAO4P,EAAOD,GAAQhL,MAAM,GACpD,CAAE3E,MAAO,CAAC2P,EAAOC,EAAOD,IAAShL,MAAM,IAC7C,UAQH2c,GAAiB,QACjBA,GAAiB,UACjBA,GAAiB,WC9CjB,IAAItE,GAAWlD,EAAgB,YAC3BrB,GAAgBqB,EAAgB,eAChCyH,GAAcC,GAAqBvgB,OAEvC,IAAK,IAAIwgB,MAAmBC,GAAc,CACxC,IAAIC,GAAahX,EAAO8W,IACpBG,GAAsBD,IAAcA,GAAWviB,UACnD,GAAIwiB,GAAqB,CAEvB,GAAIA,GAAoB5E,MAAcuE,GAAa,IACjD7T,EAAKkU,GAAqB5E,GAAUuE,IACpC,MAAOxiB,GACP6iB,GAAoB5E,IAAYuE,GAGlC,GADKK,GAAoBnJ,KAAgB/K,EAAKkU,GAAqBnJ,GAAegJ,IAC9EC,GAAaD,IAAkB,IAAK,IAAIzK,MAAewK,GAEzD,GAAII,GAAoB5K,MAAiBwK,GAAqBxK,IAAc,IAC1EtJ,EAAKkU,GAAqB5K,GAAawK,GAAqBxK,KAC5D,MAAOjY,GACP6iB,GAAoB5K,IAAewK,GAAqBxK,MCrB/C6K,GAAqDrU,EAAE,YCgCxE,SAAgBsU,GAAWlS,EAAagC,GACtC,KAAMA,aAAkBlS,QACtB,OAAOkS,EAGT,OAAQA,EAAOzJ,aACb,KAAK4Z,KAIH,OAAO,IAAIA,KADMnQ,EACSoQ,WAE5B,KAAKtiB,YACYkF,IAAXgL,IACFA,EAAS,IAEX,MAEF,KAAK/K,MAEH+K,EAAS,GACT,MAEF,QAEE,OAAOgC,EAGX,IAAK,IAAIqQ,KAAQrQ,EACVA,EAAOpR,eAAeyhB,KAG3BrS,EAAOqS,GAAQH,GAAWlS,EAAOqS,GAAOrQ,EAAOqQ,KAGjD,OAAOrS,EAIT,SAAgBsS,GAAchjB,EAAU+iB,EAAcjiB,GACpDd,EAAI+iB,GAAQjiB,EClBd,IAAMmiB,GAAa,gBAMfC,GAA2D3b,MAC5D2b,qBA2BD,SAAmBC,EAAqBC,GAGtC,GAHiBliB,UAAAiiB,EAAqBjiB,aAAAkiB,EAGlCF,GAEFA,GAAkBhiB,KAAMmiB,GAAanjB,UAAU8P,aAE/C,IAGE,MAAMzI,MAAM8C,MAAMnJ,KAAMoJ,WACxB,MAAOc,GACPlK,KAAKL,KAAOoiB,GAEZziB,OAAOuM,eAAe7L,KAAM,QAAS,CACnCE,IAAK,WACH,OAAOgK,EAAIkY,WASvBC,GAAcrjB,UAAYM,OAAOwP,OAAOzI,MAAMrH,YAC9CqjB,GAAcrjB,UAAU+I,YAAcsa,IACvBrjB,UAAkBW,KAAOoiB,GAExC,kBAIE,WACUO,EACAC,EACAC,GAFAxiB,aAAAsiB,EACAtiB,iBAAAuiB,EACAviB,YAAAwiB,EALHxiB,aAAU,gBA4CnB,OAlCEmiB,mBAAA,SAAOF,EAASvP,QACDlO,IAATkO,IACFA,EAAO,IAGT,IAGIwP,EAHAO,EAAWziB,KAAKwiB,OAAOP,GAEvBS,EAAW1iB,KAAKsiB,QAAU,IAAML,EAIlCC,OADe1d,IAAbie,EACQ,QAEAA,EAAS3f,QAAQ9C,KAAK2iB,QAAS,SAACC,EAAO1f,GAC/C,IAAItD,EAAQ8S,EAAMxP,GAClB,YAAiBsB,IAAV5E,EAAsBA,EAAML,WAAa,IAAM2D,EAAM,OAKhEgf,EAAUliB,KAAKuiB,YAAc,KAAOL,EAAU,KAAOQ,EAAW,KAChE,IAAIxY,EAAM,IAAImY,GAAcK,EAAUR,GAItC,IAAK,IAAIL,KAAQnP,EACVA,EAAKtS,eAAeyhB,IAA4B,MAAnBA,EAAKpc,OAAO,KAG7CyE,EAAY2X,GAAQnP,EAAKmP,IAG5B,OAAO3X,QCzGX,SAAgB2Y,GACdC,EACAC,GAEA,IAAIC,EAAQ,IAAIC,GAAiBH,EAAUC,GAC3C,OAAOC,EAAME,UAAU7T,KAAK2T,GAO9B,kBAeE,WAAYF,EAAuBC,GAAnC,WAdQ/iB,eAA4C,GAC5CA,kBAA8B,GAE9BA,mBAAgB,EAEhBA,UAAOoC,QAAQC,UACfrC,gBAAY,EASlBA,KAAK+iB,cAAgBA,EAIrB/iB,KAAKmjB,KACF3c,KAAK,WACJsc,EAASM,KAEVC,MAAM,SAAA1kB,GACLykB,EAAKzhB,MAAMhD,KA0JnB,OAtJEskB,iBAAA,SAAKrjB,GACHI,KAAKsjB,gBAAgB,SAACC,GACpBA,EAASjf,KAAK1E,MAIlBqjB,kBAAA,SAAMthB,GACJ3B,KAAKsjB,gBAAgB,SAACC,GACpBA,EAAS5hB,MAAMA,KAEjB3B,KAAK8U,MAAMnT,IAGbshB,qBAAA,WACEjjB,KAAKsjB,gBAAgB,SAACC,GACpBA,EAASC,aAEXxjB,KAAK8U,SASPmO,sBAAA,SACEQ,EACA9hB,EACA6hB,GAHF,IAKMD,SAEJ,QACqB/e,IAAnBif,QACUjf,IAAV7C,QACa6C,IAAbgf,EAEA,MAAM,IAAInd,MAAM,0BAcI7B,KAPpB+e,EA6HN,SAA8BzkB,EAAUkC,GACtC,GAAmB,iBAARlC,GAA4B,OAARA,EAC7B,OAAO,EAGT,IAAmB,QAAA4kB,IAAAC,WAAAA,IAAS,CAAvB,IAAI/f,OACP,GAAIA,KAAU9E,GAA8B,mBAAhBA,EAAI8E,GAC9B,OAAO,EAIX,OAAO,EA3IDggB,CAAqBH,EAAgB,CAAC,OAAQ,QAAS,aAC9CA,EAEA,CACTnf,KAAOmf,EACP9hB,MAAOA,EACP6hB,SAAUA,IAIDlf,OACXif,EAASjf,KAAO6D,SAEK3D,IAAnB+e,EAAS5hB,QACX4hB,EAAS5hB,MAAQwG,SAEO3D,IAAtB+e,EAASC,WACXD,EAASC,SAAWrb,IAGtB,IAAI0b,EAAQ7jB,KAAK8jB,eAAezU,KAAKrP,KAAMA,KAAK+jB,UAAWnd,QAsB3D,OAjBI5G,KAAKgkB,WACPhkB,KAAKmjB,KAAK3c,KAAK,WACb,IACM4c,EAAKa,WACPV,EAAS5hB,MAAMyhB,EAAKa,YAEpBV,EAASC,WAEX,MAAO7kB,OAObqB,KAAK+jB,UAAWpjB,KAAK4iB,GAEdM,GAKDZ,2BAAR,SAAuBpc,QACErC,IAAnBxE,KAAK+jB,gBAAiDvf,IAAtBxE,KAAK+jB,UAAUld,YAI5C7G,KAAK+jB,UAAUld,GAEtB7G,KAAKkkB,eAAiB,EACK,IAAvBlkB,KAAKkkB,oBAA8C1f,IAAvBxE,KAAK+iB,eACnC/iB,KAAK+iB,cAAc/iB,QAIfijB,4BAAR,SAAwB7a,GACtB,IAAIpI,KAAKgkB,UAOT,IAAK,IAAInd,EAAI,EAAGA,EAAI7G,KAAK+jB,UAAWnd,OAAQC,IAC1C7G,KAAKmkB,QAAQtd,EAAGuB,IAOZ6a,oBAAR,SAAgBpc,EAAWuB,GAA3B,WAEEpI,KAAKmjB,KAAK3c,KAAK,WACb,QAAuBhC,IAAnB4e,EAAKW,gBAAiDvf,IAAtB4e,EAAKW,UAAUld,GACjD,IACEuB,EAAGgb,EAAKW,UAAUld,IAClB,MAAOlI,GAIgB,oBAAZwL,SAA2BA,QAAQxI,OAC5CwI,QAAQxI,MAAMhD,OAOhBskB,kBAAR,SAAc/Y,GAAd,WACMlK,KAAKgkB,YAGThkB,KAAKgkB,WAAY,OACLxf,IAAR0F,IACFlK,KAAKikB,WAAa/Z,GAGpBlK,KAAKmjB,KAAK3c,KAAK,WACb4c,EAAKW,eAAYvf,EACjB4e,EAAKL,mBAAgBve,WAqC3B,SAAS2D,MCnPT,IAAMic,GAAW,SAAStlB,EAAKoE,GAC7B,OAAO5D,OAAON,UAAUoB,eAAeZ,KAAKV,EAAKoE,IAG7CmhB,GAAqB,YAIvBC,GAAwB,iBAmB1B,WACE1hB,EACA2hB,EACQC,GAAAxkB,eAAAwkB,EAbFxkB,iBAAa,EACbA,eAIJ,GAUFA,KAAKykB,MAAQF,EAAO5kB,KACpBK,KAAK0kB,gCACHH,EAAOI,iCAAkC,EAC3C3kB,KAAK4kB,SHxDAlD,QAAWld,EGwD0B5B,GAC1C5C,KAAK6kB,SAAW,CACdC,OAAQ,WAAM,OAAA,MACdC,SAAU,WAAM,OAAA3iB,QAAQC,QAAQ,OAChC2iB,qBAAsB,SAACzkB,GACrB+jB,GAAe3jB,KAAKJ,GAEpB2H,WAAW,WAAM,OAAA3H,EAAS,OAAO,IAEnC0kB,wBAAyB,SAAA1kB,GACvB+jB,GAAiBA,GAAeY,OAC9B,SAAAC,GAAY,OAAAA,IAAa5kB,MAiInC,OA3HEjB,sBAAI8lB,kDAAJ,WAEE,OADAplB,KAAKqlB,kBACErlB,KAAK0kB,qCAGd,SAAmC3a,GACjC/J,KAAKqlB,kBACLrlB,KAAK0kB,gCAAkC3a,mCAGzCzK,sBAAI8lB,wBAAJ,WAEE,OADAplB,KAAKqlB,kBACErlB,KAAKykB,uCAGdnlB,sBAAI8lB,2BAAJ,WAEE,OADAplB,KAAKqlB,kBACErlB,KAAK4kB,0CAGdQ,mBAAA,WAAA,WACE,OAAO,IAAIhjB,QAAQ,SAAAC,GACjB+gB,EAAKiC,kBACLhjB,MAECmE,KAAK,WACH4c,EAAKoB,UAAiCK,SAASS,UAAUlC,EAAKqB,OAC/D,IAAIc,EAA8B,GAMlC,OALAjmB,OAAOmB,KAAK2iB,EAAKoC,WAAWllB,QAAQ,SAAAmlB,GAClCnmB,OAAOmB,KAAK2iB,EAAKoC,UAAUC,IAAanlB,QAAQ,SAAAolB,GAC9CH,EAAS5kB,KAAKyiB,EAAKoC,UAAUC,GAAYC,QAGtCtjB,QAAQsH,IACb6b,EAAStlB,IAAI,SAAAqiB,GACX,OAAOA,EAAQuC,SAAUc,cAI9Bnf,KACC,WACE4c,EAAKwC,YAAa,EAClBxC,EAAKoC,UAAY,MAmBzBJ,wBAAA,SACEzlB,EACAkmB,GAQA,gBARAA,MAEA7lB,KAAKqlB,kBAEArlB,KAAKwlB,UAAU7lB,KAClBK,KAAKwlB,UAAU7lB,GAAQ,KAGpBK,KAAKwlB,UAAU7lB,GAAMkmB,GAAqB,CAK7C,IAAMC,EACJD,IAAuBxB,GACnBwB,OACArhB,EACA8d,EAAWtiB,KAAKwkB,UAAiCK,SAASkB,UAC9DpmB,GACAK,KAAMA,KAAKgmB,UAAU3W,KAAKrP,MAAO8lB,GACnC9lB,KAAKwlB,UAAU7lB,GAAMkmB,GAAsBvD,EAG7C,OAAOtiB,KAAKwlB,UAAU7lB,GAAMkmB,IAOtBT,sBAAR,SAAkBa,GAAlB,WAEEvE,GAAW1hB,KAAMimB,GAWbA,EAAMpB,UAAYoB,EAAMpB,SAASG,uBACnCV,GAAehkB,QAAQ,SAAA6kB,GACrB/B,EAAKyB,SAASG,qBAAqBG,KAErCb,GAAiB,KAQbc,4BAAR,WACMplB,KAAK4lB,YACPjkB,GAAM,cAAe,CAAEhC,KAAMK,KAAKykB,cAsPxC,SAAS9iB,GAAMsgB,EAAgBrY,GAC7B,MAAMsc,GAAUpX,OAAOmT,EAAMrY,GAhP9Bwb,GAAgBpmB,UAAUW,MAAQylB,GAAgBpmB,UAAU4D,SAC3DwiB,GAAgBpmB,UAAU2mB,QAC1Bxb,QAAQgc,IAAI,MAiPd,IAkBID,GAAY,IAAI/D,GAAuB,MAAO,WAlBM,CACtDiE,SACE,iFAEFC,eAAgB,6BAChBC,gBAAiB,8CACjBC,cAAe,+CACfC,oBAAqB,sDACrBC,mBACE,0LAIFC,uBACE,4ECzcAC,IAAS,EACb,IACEA,GACqD,qBAAnDrnB,OAAON,UAAUO,SAASC,KAAK+K,OAAOqc,SACxC,MAAOjoB,WAETgoB,IACExc,QAAQC,KAAK,4iBD4Mf,SAAgByc,IACd,IAAIC,EAAyC,GACzCf,EAA2D,GAC3DgB,EAA2C,GAG3CC,EAAY,CAGdC,YAAY,EACZC,cAmEF,SAAuBtkB,EAA0BukB,GAC/C,gBAD+CA,MACtB,iBAAdA,GAAwC,OAAdA,EAAoB,CACvD,IAAMC,EAAOD,EACbA,EAAY,CAAExnB,QAGhB,IAAM4kB,EAAS4C,OAEK3iB,IAAhB+f,EAAO5kB,OACT4kB,EAAO5kB,KAAO0kB,IAGR,IAAA1kB,SAEY,iBAATA,GAAsBA,GAC/BgC,GAAM,eAAgB,CAAEhC,KAAMA,EAAO,KAGnCykB,GAAS0C,EAAOnnB,IAClBgC,GAAM,gBAAiB,CAAEhC,KAAMA,IAGjC,IAAI0nB,EAAM,IAAIjC,GACZxiB,EACA2hB,EACAyC,GAMF,OAFAM,EADAR,EAAMnnB,GAAS0nB,EACG,UAEXA,GAjGPA,IAAKA,EACLE,KAAM,KACNnlB,QAASA,QACTolB,YAAa,QACb3C,SAAU,CACR4C,gBA8GJ,SACE9nB,EACA+nB,EACAC,EACAC,EACAC,GAGI9B,EAAUpmB,IACZgC,GAAM,oBAAqB,CAAEhC,KAAMA,IAIrComB,EAAUpmB,GAAQ+nB,EAGdE,IACFb,EAASpnB,GAAQioB,EAGjBE,IAAUxnB,QAAQ,SAAA+mB,GAChBO,EAAQ,SAAUP,MAKtB,IAAMU,EAAmB,SAACC,GAQxB,oBARwBA,EAAsBX,KACT,mBAAzBW,EAAeroB,IAGzBgC,GAAM,uBAAwB,CAAEhC,KAAMA,IAIhCqoB,EAAeroB,MAiBzB,YAb0B6E,IAAtBmjB,GACFjG,GAAWqG,EAAkBJ,GAI9BX,EAAkBrnB,GAAQooB,EAG3B3C,GAAgBpmB,UAAUW,GAAQ,eAAS,aAAAgkB,mBAAAA,IAAA/Z,kBAEzC,OADmB5J,KAAKioB,YAAY5Y,KAAKrP,KAAML,GAC7BwJ,MAAMnJ,KAAM6nB,EAAyBje,EAAO,KAGzDme,GAhKLlB,wBAAyBA,EACzBqB,gBAuKJ,SAAyBjC,GACvBvE,GAAWsF,EAAWf,IAvKpBpD,gBAAiBA,GACjBV,aAAcA,GACdmD,UA6BJ,SAAmB3lB,GAEjB2nB,EADUR,EAAMnnB,GACE,iBACXmnB,EAAMnnB,IA/BXomB,UAAWA,EACXoC,aAAcA,EACd/lB,QAASA,QACTsf,WAAYA,KAkChB,SAAS2F,EAAI1nB,GAKX,OAHKykB,GAAS0C,EADdnnB,EAAOA,GAAQ0kB,KAEb1iB,GAAM,SAAU,CAAEhC,KAAMA,IAEnBmnB,EAAMnnB,GAkDf,SAASmoB,IAEP,OAAOxoB,OAAOmB,KAAKqmB,GAAO7mB,IAAI,SAAAN,GAAQ,OAAAmnB,EAAMnnB,KAyE9C,SAAS2nB,EAAaD,EAAkBe,GACtC9oB,OAAOmB,KAAKslB,GAAWzlB,QAAQ,SAAAiiB,GAE7B,IAAI8F,EAAcF,EAAad,EAAK9E,GAChB,OAAhB8F,GAIAtB,EAASsB,IACXtB,EAASsB,GAAaD,EAAWf,KAOvC,SAASc,EAAad,EAAkB1nB,GACtC,GAAa,eAATA,EACF,OAAO,KAGT,IAAI2oB,EAAa3oB,EAGjB,OAFc0nB,EAAIzkB,QAEX0lB,EAGT,OAjLAxG,GAAckF,EAAW,UAAWA,GAGpC1nB,OAAOuM,eAAemb,EAAW,OAAQ,CACvC9mB,IAAK4nB,IAwBPhG,GAAcuF,EAAK,MAAOjC,IAqJlB4B,ECtZcH"}