@monei-js/components 1.6.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.cjs.development.js +0 -1
- package/dist/components.cjs.development.js.map +1 -1
- package/dist/components.cjs.production.min.js +1 -1
- package/dist/components.cjs.production.min.js.map +1 -1
- package/dist/components.esm.js +0 -1
- package/dist/components.esm.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.cjs.production.min.js","sources":["../src/enums.ts","../../node_modules/regenerator-runtime/runtime.js","../src/utils.ts","../src/config.ts","../src/api.ts","../../node_modules/post-robot/dist/post-robot.js","../../node_modules/post-robot/index.js","../../node_modules/zoid/dist/zoid.frameworks.js","../../node_modules/belter/dist/belter.js","../src/container.ts","../src/cardInput/index.ts","../src/bizum/container.ts","../src/paymentModal/index.ts","../src/paypal/index.ts","../src/bizum/modal.ts","../src/cofidis/container.ts","../src/bizum/index.ts","../src/cofidis/modal.ts","../src/cofidisLoan/container.ts","../src/cofidis/widget.ts","../src/cofidis/index.ts","../src/cofidisLoan/modal.ts","../src/types.ts","../src/cofidisLoan/widget.ts","../src/cofidisLoan/index.ts","../src/googlePay/index.ts","../src/paymentRequest/index.ts","../src/index.ts"],"sourcesContent":["export enum CLASS {\n VISIBLE = 'is-visible',\n INVISIBLE = 'is-invisible'\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import {CSSObject} from '../types/css';\nimport {GetPaymentMethodsResponse} from './types';\n\nexport const transformStyle = (style: CSSObject) => {\n return Object.keys(style).reduce<any>((result, prop) => {\n if (typeof style[prop] === 'string') {\n result[prop] = style[prop];\n } else {\n result[prop] = `${style[prop]}px`;\n }\n return result;\n }, {});\n};\n\nexport const loadScript = (\n src: string,\n nonce?: string,\n dataset?: Record<string, string | undefined>\n): Promise<void> => {\n return new Promise((resolve, reject) => {\n if (Array.from(document.scripts).findIndex((s) => s.src === src) !== -1) {\n resolve();\n }\n const script = document.createElement('script');\n script.src = src;\n script.onload = () => resolve();\n script.onerror = (error) => reject(error);\n if (nonce) {\n script.setAttribute('nonce', nonce);\n }\n if (dataset) {\n Object.keys(dataset).forEach((key) => {\n if (dataset[key]) {\n script.dataset[key] = dataset[key];\n }\n });\n }\n document.head.appendChild(script);\n });\n};\n\nexport const stringify = (obj: Record<string, any>) => {\n return Object.keys(obj)\n .reduce<string[]>((result, key) => {\n if (obj[key] !== undefined) {\n result.push(`${key}=${obj[key]}`);\n }\n return result;\n }, [])\n .join('&');\n};\n\nexport const fixLocalstorage = () => {\n let localStorage: Storage;\n try {\n localStorage = window.localStorage;\n } catch (error) {\n const localStorageMock = (() => {\n let store = new Map();\n return {\n getItem(key: string): string {\n return store.get(key);\n },\n\n setItem: function (key: string, value: string) {\n store.set(key, value);\n },\n\n clear: function () {\n store = new Map();\n },\n\n removeItem: function (key: string) {\n store.delete(key);\n }\n };\n })();\n\n Object.defineProperty(window, 'localStorage', {value: localStorageMock});\n localStorage = localStorageMock as Storage;\n }\n return localStorage;\n};\n\nconst getLanguage = () => {\n let lang;\n const localStorage = fixLocalstorage();\n try {\n lang = localStorage.getItem('i18nextLng');\n } catch (error) {}\n if (lang) {\n return lang.split('-')[0];\n }\n return '';\n};\n\nexport const getClientEnv = () => {\n const env = [\n window.screen.colorDepth,\n window.screen.height,\n window.screen.width,\n new Date().getTimezoneOffset(),\n getLanguage()\n ].join('|');\n return window.btoa(env);\n};\n\nexport const withError = async <T>(p: Promise<T>): Promise<[Error | undefined, T | undefined]> => {\n try {\n return [undefined, await p];\n } catch (err) {\n return [err, undefined];\n }\n};\n\nexport const isMethodSupported = (config: GetPaymentMethodsResponse, paymentMethod: string) => {\n return config.paymentMethods && config.paymentMethods.includes(paymentMethod);\n};\n\nexport const validateComponentProps = (props: any) => {\n if (props.paymentId) return;\n if (props.accountId && props.amount && props.currency) return;\n throw new Error('You need to provide paymentId or accountId amount and currency');\n};\n","type Stage = 'local' | 'dev' | 'prod';\n\nconst stage = (process.env.STAGE as Stage) || 'local';\nconst domain = process.env.DOMAIN || 'http://192.168.18.3:3001';\nconst version = process.env.VERSION || 'v1';\n\ntype Config = {\n version: string;\n domain: string;\n stage: string;\n isProduction: boolean;\n paymentPageUrl: string;\n posPaymentPageUrl: string;\n cardInputUrl: string;\n paymentModalUrl: string;\n bizumUrl: string;\n bizumButtonUrl: string;\n cofidisUrl: string;\n cofidisButtonUrl: string;\n cofidisWidgetUrl: string;\n cofidisLoanUrl: string;\n cofidisLoanButtonUrl: string;\n cofidisLoanWidgetUrl: string;\n paypalUrl: string;\n apiUrl: string;\n googlePayUrl: string;\n paymentRequestUrl: string;\n secureDomain: string;\n click2PayUrl: string;\n click2PayButtonUrl: string;\n};\n\nconst globalConfig = {\n domain,\n version,\n stage,\n isProduction: stage === 'prod',\n paymentPageUrl: `${domain}/${version}/payment-page/`,\n posPaymentPageUrl: `${domain}/${version}/pos-payment-page/`,\n cardInputUrl: `${domain}/${version}/inner-card-input/`,\n paymentModalUrl: `${domain}/${version}/inner-payment-modal/`,\n paypalUrl: `${domain}/${version}/inner-paypal/`,\n bizumUrl: `${domain}/${version}/inner-bizum/`,\n bizumButtonUrl: `${domain}/${version}/inner-bizum-button/`,\n cofidisUrl: `${domain}/${version}/inner-cofidis/`,\n cofidisButtonUrl: `${domain}/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `${domain}/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `${domain}/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `${domain}/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `${domain}/${version}/inner-cofidis-loan-widget/`,\n googlePayUrl: `${domain}/${version}/inner-google-pay/`,\n paymentRequestUrl: `${domain}/${version}/inner-payment-request/`,\n click2PayUrl: `${domain}/${version}/inner-click2pay/`,\n click2PayButtonUrl: `${domain}/${version}/inner-click2pay-button/`\n};\n\nconst stageConfig = {\n local: {\n paymentPageUrl: `http://localhost:8080/`,\n posPaymentPageUrl: `http://192.168.18.3:8080/`,\n cardInputUrl: `http://192.168.18.3:3001/${version}/inner-card-input/`,\n paymentModalUrl: `http://192.168.18.3:3002/${version}/inner-payment-modal/`,\n paypalUrl: `http://192.168.18.3:3003/${version}/inner-paypal/`,\n bizumUrl: `http://192.168.18.3:3004/${version}/inner-bizum/`,\n bizumButtonUrl: `http://192.168.18.3:3005/${version}/inner-bizum-button/`,\n googlePayUrl: `http://192.168.18.3:3006/${version}/inner-google-pay/`,\n paymentRequestUrl: `https://monei-local.ngrok.io/${version}/inner-payment-request/`,\n click2PayUrl: `http://192.168.18.3:3008/inner-click2pay/`,\n click2PayButtonUrl: `http://192.168.18.3:3009/inner-click2pay-button/`,\n cofidisUrl: `http://192.168.18.3:3010/${version}/inner-cofidis/`,\n cofidisButtonUrl: `http://192.168.18.3:3011/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `http://192.168.18.3:3012/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `http://192.168.18.3:3013/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `http://192.168.18.3:3014/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `http://192.168.18.3:3015/${version}/inner-cofidis-loan-widget/`,\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com'\n },\n dev: {\n apiUrl: 'https://api.microapps-staging.com/v1',\n secureDomain: 'https://secure.microapps-staging.com'\n },\n prod: {\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com'\n }\n};\n\nexport const config = {...globalConfig, ...stageConfig[stage]} as Config;\n","import {getClientEnv, stringify, withError} from './utils';\nimport {config} from './config';\nimport {\n CalculateFinancingRequest,\n CalculateFinancingResponse,\n CreateApplePaySessionRequest,\n CreatePaymentRequest,\n CreateTokenRequest,\n CreateTokenResponse,\n GetPaymentMethodsRequest,\n GetPaymentMethodsResponse,\n PaymentResult,\n SendPaymentReceiptRequest,\n ValidateBizumPhoneRequest\n} from './types';\nimport {ConfirmPaymentParams} from './paymentModal';\n\ntype RequestParams = {\n method?: string;\n headers?: any;\n body?: any;\n};\nconst request = async (url: string, {method = 'GET', headers, body}: RequestParams = {}) => {\n if (method === 'POST') headers = {'Content-Type': 'application/json', ...headers};\n const res = await fetch(`${config.apiUrl}${url}`, {\n method,\n headers,\n body: body ? JSON.stringify(body) : undefined\n });\n const [, result] = await withError(res.json());\n if (!res.ok) throw result || new Error(res.statusText);\n return result;\n};\n\nconst pmCache: Record<string, Promise<GetPaymentMethodsResponse>> = {};\n\nexport const getPaymentMethods = async ({\n accountId,\n paymentId\n}: GetPaymentMethodsRequest): Promise<GetPaymentMethodsResponse> => {\n let params: GetPaymentMethodsRequest;\n if (paymentId) params = {paymentId};\n else if (accountId) params = {accountId};\n else throw new Error('You need to provide paymentId or accountId');\n const query = stringify(params);\n if (pmCache[query]) return pmCache[query];\n const promise = request(`/payment-methods?${query}`);\n pmCache[query] = promise;\n return promise;\n};\n\nexport const createToken = async ({\n paymentMethod,\n paymentId,\n sessionId,\n amount,\n currency,\n accountId\n}: CreateTokenRequest): Promise<CreateTokenResponse> => {\n let body: CreateTokenRequest;\n if (paymentId) {\n body = {paymentId, paymentMethod};\n } else if (accountId) {\n body = {accountId, paymentMethod, sessionId, amount, currency};\n } else throw new Error('You need to provide paymentId or accountId');\n return request('/tokens', {\n method: 'POST',\n headers: {'Client-Env': getClientEnv()},\n body: body\n });\n};\n\nexport const getPayment = async (paymentId: string): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-get`);\n};\n\nexport const confirmPayment = async ({paymentId, ...body}: ConfirmPaymentParams): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-confirm`, {\n method: 'POST',\n headers: {'Client-Env': getClientEnv()},\n body\n });\n};\n\nexport const createPayment = async ({signature, ...body}: CreatePaymentRequest): Promise<PaymentResult> => {\n return request('/client-payments', {\n method: 'POST',\n headers: {\n 'Client-Env': getClientEnv(),\n 'Client-Signature': signature\n },\n body\n });\n};\n\nexport const sendPaymentReceipt = async ({\n paymentId,\n customerEmail,\n signature,\n language\n}: SendPaymentReceiptRequest): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-receipt`, {\n method: 'POST',\n body: {customerEmail, signature, language}\n });\n};\n\nexport const createApplePaySession = async (body: CreateApplePaySessionRequest) => {\n return request(`/apple-pay/sessions`, {method: 'POST', body});\n};\n\nexport const calculateFinancing = async (req: CalculateFinancingRequest): Promise<CalculateFinancingResponse> => {\n return request(`/cofidis/calculate-financing`, {method: 'POST', body: req});\n};\n\nexport const validateBizumPhone = async (req: ValidateBizumPhoneRequest): Promise<{isValid: boolean}> => {\n return request(`/bizum/validate-phone`, {method: 'POST', body: req});\n};\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i20 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i20 < _Array$prototype$slic2.length; _i20++) {\n var script = _Array$prototype$slic2[_i20];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"zoid\", [], factory) : \"object\" == typeof exports ? exports.zoid = factory() : root.zoid = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"create\", (function() {\n return create;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return component_destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyComponents\", (function() {\n return destroyComponents;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyAll\", (function() {\n return destroyAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_TYPE\", (function() {\n return PROP_TYPE;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_SERIALIZATION\", (function() {\n return PROP_SERIALIZATION;\n }));\n __webpack_require__.d(__webpack_exports__, \"CONTEXT\", (function() {\n return CONTEXT;\n }));\n __webpack_require__.d(__webpack_exports__, \"EVENT\", (function() {\n return EVENT;\n }));\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var WINDOW_TYPE = {\n IFRAME: \"iframe\",\n POPUP: \"popup\"\n };\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function utils_getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !utils_getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = utils_getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = utils_getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }\n function getTop(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (utils_getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = getAllChildFrames(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (utils_getParent(frame) === frame) return frame;\n }\n }\n function getAllFramesInWindow(win) {\n var top = getTop(win);\n if (!top) throw new Error(\"Can not determine top window\");\n var result = [].concat(getAllChildFrames(top), [ top ]);\n -1 === result.indexOf(win) && (result = [].concat(result, [ win ], getAllChildFrames(win)));\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function utils_getUserAgent(win) {\n return (win = win || window).navigator.mockUserAgent || win.navigator.userAgent;\n }\n function getFrameByName(win, name) {\n var winFrames = getFrames(win);\n for (var _i9 = 0; _i9 < winFrames.length; _i9++) {\n var childFrame = winFrames[_i9];\n try {\n if (isSameDomain(childFrame) && childFrame.name === name && -1 !== winFrames.indexOf(childFrame)) return childFrame;\n } catch (err) {}\n }\n try {\n if (-1 !== winFrames.indexOf(win.frames[name])) return win.frames[name];\n } catch (err) {}\n try {\n if (-1 !== winFrames.indexOf(win[name])) return win[name];\n } catch (err) {}\n }\n function isOpener(parent, child) {\n return parent === getOpener(child);\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || utils_getParent(win) || void 0;\n }\n function anyMatch(collection1, collection2) {\n for (var _i17 = 0; _i17 < collection1.length; _i17++) {\n var item1 = collection1[_i17];\n for (var _i19 = 0; _i19 < collection2.length; _i19++) if (item1 === collection2[_i19]) return !0;\n }\n return !1;\n }\n function getDistanceFromTop(win) {\n void 0 === win && (win = window);\n var distance = 0;\n var parent = win;\n for (;parent; ) (parent = utils_getParent(parent)) && (distance += 1);\n return distance;\n }\n function isSameTopWindow(win1, win2) {\n var top1 = getTop(win1) || win1;\n var top2 = getTop(win2) || win2;\n try {\n if (top1 && top2) return top1 === top2;\n } catch (err) {}\n var allFrames1 = getAllFramesInWindow(win1);\n var allFrames2 = getAllFramesInWindow(win2);\n if (anyMatch(allFrames1, allFrames2)) return !0;\n var opener1 = getOpener(top1);\n var opener2 = getOpener(top2);\n return opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2) || opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1), \n !1;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function getDomainFromUrl(url) {\n return url.match(/^(https?|mock|file):\\/\\//) ? url.split(\"/\").slice(0, 3).join(\"/\") : getDomain();\n }\n function onCloseWindow(win, callback, delay, maxtime) {\n void 0 === delay && (delay = 1e3);\n void 0 === maxtime && (maxtime = 1 / 0);\n var timeout;\n !function check() {\n if (isWindowClosed(win)) {\n timeout && clearTimeout(timeout);\n return callback();\n }\n if (maxtime <= 0) clearTimeout(timeout); else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n }();\n return {\n cancel: function() {\n timeout && clearTimeout(timeout);\n }\n };\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function normalizeMockUrl(url) {\n if (!(domain = getDomainFromUrl(url), 0 === domain.indexOf(\"mock:\"))) return url;\n var domain;\n throw new Error(\"Mock urls not supported out of test mode\");\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function identity(item) {\n return item;\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObjectObject(obj) {\n return \"object\" == typeof (item = obj) && null !== item && \"[object Object]\" === {}.toString.call(obj);\n var item;\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function isDefined(value) {\n return null != value;\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return str.replace(/\\?/g, \"%3F\").replace(/&/g, \"%26\").replace(/#/g, \"%23\").replace(/\\+/g, \"%2B\");\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? function(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key];\n })).map((function(key) {\n return urlEncode(key) + \"=\" + urlEncode(obj[key]);\n })).join(\"&\");\n }(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\n }\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function dom_iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = function(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && function(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }(element, options.styleSheet);\n if (options.html) {\n if (\"iframe\" === tag) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n element.innerHTML = options.html;\n }\n return element;\n }(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && function(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && function(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return parseInt(max * toNum(dim) / 100, 10);\n if (\"string\" == typeof (str = dim) && /^[0-9]+px$/.test(str)) return toNum(dim);\n var str;\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function awaitWindowHello(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n function needsBridgeForBrowser() {\n return !!utils_getUserAgent(window).match(/MSIE|trident|edge\\/12|edge\\/13/i);\n }\n function needsBridgeForWin(win) {\n return !isSameTopWindow(window, win);\n }\n function needsBridgeForDomain(domain, win) {\n if (domain) {\n if (getDomain() !== getDomainFromUrl(domain)) return !0;\n } else if (win && !isSameDomain(win)) return !0;\n return !1;\n }\n function needsBridge(_ref) {\n var win = _ref.win, domain = _ref.domain;\n return !(!needsBridgeForBrowser() || domain && !needsBridgeForDomain(domain, win) || win && !needsBridgeForWin(win));\n }\n function getBridgeName(domain) {\n return \"__postrobot_bridge___\" + (domain = domain || getDomainFromUrl(domain)).replace(/[^a-zA-Z0-9]+/g, \"_\");\n }\n function isBridge() {\n return Boolean(window.name && window.name === getBridgeName(getDomain()));\n }\n var documentBodyReady = new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function registerRemoteWindow(win) {\n windowStore(\"remoteWindowPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }\n function findRemoteWindow(win) {\n var remoteWinPromise = windowStore(\"remoteWindowPromises\").get(win);\n if (!remoteWinPromise) throw new Error(\"Remote window promise not found\");\n return remoteWinPromise;\n }\n function registerRemoteSendMessage(win, domain, sendMessage) {\n findRemoteWindow(win).resolve((function(remoteWin, remoteDomain, message) {\n if (remoteWin !== win) throw new Error(\"Remote window does not match window\");\n if (!matchDomain(remoteDomain, domain)) throw new Error(\"Remote domain \" + remoteDomain + \" does not match domain \" + domain);\n sendMessage.fireAndForget(message);\n }));\n }\n function rejectRemoteSendMessage(win, err) {\n findRemoteWindow(win).reject(err).catch(src_util_noop);\n }\n function linkWindow(_ref3) {\n var win = _ref3.win, name = _ref3.name, domain = _ref3.domain;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n var popupWindowsByWin = windowStore(\"popupWindowsByWin\");\n for (var _i2 = 0, _popupWindowsByName$k2 = popupWindowsByName.keys(); _i2 < _popupWindowsByName$k2.length; _i2++) {\n var winName = _popupWindowsByName$k2[_i2];\n var _details = popupWindowsByName.get(winName);\n _details && !isWindowClosed(_details.win) || popupWindowsByName.del(winName);\n }\n if (isWindowClosed(win)) return {\n win: win,\n name: name,\n domain: domain\n };\n var details = popupWindowsByWin.getOrSet(win, (function() {\n return name ? popupWindowsByName.getOrSet(name, (function() {\n return {\n win: win,\n name: name\n };\n })) : {\n win: win\n };\n }));\n if (details.win && details.win !== win) throw new Error(\"Different window already linked for window: \" + (name || \"undefined\"));\n if (name) {\n details.name = name;\n popupWindowsByName.set(name, details);\n }\n if (domain) {\n details.domain = domain;\n registerRemoteWindow(win);\n }\n popupWindowsByWin.set(win, details);\n return details;\n }\n function setupBridge(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n windowOpen = window.open, window.open = function(url, name, options, last) {\n var win = windowOpen.call(this, normalizeMockUrl(url), name, options, last);\n if (!win) return win;\n linkWindow({\n win: win,\n name: name,\n domain: url ? getDomainFromUrl(url) : null\n });\n return win;\n };\n var windowOpen;\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n on(\"postrobot_open_tunnel\", (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var bridgePromise = globalStore(\"bridges\").get(origin);\n if (!bridgePromise) throw new Error(\"Can not find bridge promise for domain \" + origin);\n return bridgePromise.then((function(bridge) {\n if (source !== bridge) throw new Error(\"Message source does not matched registered bridge for domain \" + origin);\n if (!data.name) throw new Error(\"Register window expected to be passed window name\");\n if (!data.sendMessage) throw new Error(\"Register window expected to be passed sendMessage method\");\n if (!popupWindowsByName.has(data.name)) throw new Error(\"Window with name \" + data.name + \" does not exist, or was not opened by this window\");\n var getWindowDetails = function() {\n return popupWindowsByName.get(data.name);\n };\n if (!getWindowDetails().domain) throw new Error(\"We do not have a registered domain for window \" + data.name);\n if (getWindowDetails().domain !== origin) throw new Error(\"Message origin \" + origin + \" does not matched registered window origin \" + (getWindowDetails().domain || \"unknown\"));\n registerRemoteSendMessage(getWindowDetails().win, origin, data.sendMessage);\n return {\n sendMessage: function(message) {\n if (window && !window.closed && getWindowDetails()) {\n var domain = getWindowDetails().domain;\n if (domain) try {\n receiveMessage({\n data: message,\n origin: domain,\n source: getWindowDetails().win\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }\n };\n }));\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n !function(_ref2) {\n var send = _ref2.send;\n global_getGlobal(window).openTunnelToParent = function(_ref3) {\n var name = _ref3.name, source = _ref3.source, canary = _ref3.canary, sendMessage = _ref3.sendMessage;\n var tunnelWindows = globalStore(\"tunnelWindows\");\n var parentWindow = utils_getParent(window);\n if (!parentWindow) throw new Error(\"No parent window found to open tunnel to\");\n var id = function(_ref) {\n var name = _ref.name, source = _ref.source, canary = _ref.canary, sendMessage = _ref.sendMessage;\n !function() {\n var tunnelWindows = globalStore(\"tunnelWindows\");\n for (var _i2 = 0, _tunnelWindows$keys2 = tunnelWindows.keys(); _i2 < _tunnelWindows$keys2.length; _i2++) {\n var key = _tunnelWindows$keys2[_i2];\n isWindowClosed(tunnelWindows[key].source) && tunnelWindows.del(key);\n }\n }();\n var id = uniqueID();\n globalStore(\"tunnelWindows\").set(id, {\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return id;\n }({\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return send(parentWindow, \"postrobot_open_tunnel\", {\n name: name,\n sendMessage: function() {\n var tunnelWindow = tunnelWindows.get(id);\n if (tunnelWindow && tunnelWindow.source && !isWindowClosed(tunnelWindow.source)) {\n try {\n tunnelWindow.canary();\n } catch (err) {\n return;\n }\n tunnelWindow.sendMessage.apply(this, arguments);\n }\n }\n }, {\n domain: \"*\"\n });\n };\n }({\n send: send\n });\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n promise_ZalgoPromise.try((function() {\n var opener = getOpener(window);\n if (opener && needsBridge({\n win: opener\n })) {\n registerRemoteWindow(opener);\n return (win = opener, windowStore(\"remoteBridgeAwaiters\").getOrSet(win, (function() {\n return promise_ZalgoPromise.try((function() {\n var frame = getFrameByName(win, getBridgeName(getDomain()));\n if (frame) return isSameDomain(frame) && global_getGlobal(assertSameDomain(frame)) ? frame : new promise_ZalgoPromise((function(resolve) {\n var interval;\n var timeout;\n interval = setInterval((function() {\n if (frame && isSameDomain(frame) && global_getGlobal(assertSameDomain(frame))) {\n clearInterval(interval);\n clearTimeout(timeout);\n return resolve(frame);\n }\n }), 100);\n timeout = setTimeout((function() {\n clearInterval(interval);\n return resolve();\n }), 2e3);\n }));\n }));\n }))).then((function(bridge) {\n return bridge ? window.name ? global_getGlobal(assertSameDomain(bridge)).openTunnelToParent({\n name: window.name,\n source: window,\n canary: function() {},\n sendMessage: function(message) {\n try {\n window;\n } catch (err) {\n return;\n }\n if (window && !window.closed) try {\n receiveMessage({\n data: message,\n origin: this.origin,\n source: this.source\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }).then((function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n if (source !== opener) throw new Error(\"Source does not match opener\");\n registerRemoteSendMessage(source, origin, data.sendMessage);\n })).catch((function(err) {\n rejectRemoteSendMessage(opener, err);\n throw err;\n })) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: window does not have a name\")) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: no bridge found in opener\"));\n }));\n var win;\n }\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n }\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? WINDOW_TYPE.POPUP : WINDOW_TYPE.IFRAME;\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n linkWindow({\n win: win,\n name: name\n });\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return type === WINDOW_TYPE.POPUP;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return arrayFrom(args).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_bridge = function(win, serializedMessage, domain) {\n if (!needsBridgeForBrowser() && !isBridge()) throw new Error(\"Bridge not needed for browser\");\n if (isSameDomain(win)) throw new Error(\"Post message through bridge disabled between same domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use bridge to communicate between two different windows, not between frames\");\n !function(win, domain, message) {\n var messagingChild = isOpener(window, win);\n var messagingParent = isOpener(win, window);\n if (!messagingChild && !messagingParent) throw new Error(\"Can only send messages to and from parent and popup windows\");\n findRemoteWindow(win).then((function(sendMessage) {\n return sendMessage(win, domain, message);\n }));\n }(win, domain, serializedMessage);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_global = function(win, serializedMessage) {\n if (!utils_getUserAgent(window).match(/MSIE|rv:11|trident|edge\\/12|edge\\/13/i)) throw new Error(\"Global messaging not needed for browser\");\n if (!isSameDomain(win)) throw new Error(\"Post message through global disabled between different domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use global to communicate between two different windows, not between frames\");\n var foreignGlobal = global_getGlobal(win);\n if (!foreignGlobal) throw new Error(\"Can not find postRobot global on foreign window\");\n foreignGlobal.receiveMessage({\n source: window,\n origin: getDomain(),\n data: serializedMessage\n });\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (getTop(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return awaitWindowHello(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = safeInterval((function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : void 0 : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }), 500);\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n var src_bridge;\n src_bridge = {\n setupBridge: setupBridge,\n openBridge: function(url, domain) {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n domain = domain || getDomainFromUrl(url);\n return bridges.getOrSet(domain, (function() {\n return promise_ZalgoPromise.try((function() {\n if (getDomain() === domain) throw new Error(\"Can not open bridge on the same domain as current domain: \" + domain);\n var name = getBridgeName(domain);\n if (getFrameByName(window, name)) throw new Error(\"Frame with name \" + name + \" already exists on page\");\n var iframe = function(name, url) {\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"name\", name);\n iframe.setAttribute(\"id\", name);\n iframe.setAttribute(\"style\", \"display: none; margin: 0; padding: 0; border: 0px none; overflow: hidden;\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"border\", \"0\");\n iframe.setAttribute(\"scrolling\", \"no\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"tabindex\", \"-1\");\n iframe.setAttribute(\"hidden\", \"true\");\n iframe.setAttribute(\"title\", \"\");\n iframe.setAttribute(\"role\", \"presentation\");\n iframe.src = url;\n return iframe;\n }(name, url);\n bridgeFrames.set(domain, iframe);\n return documentBodyReady.then((function(body) {\n body.appendChild(iframe);\n var bridge = iframe.contentWindow;\n return new promise_ZalgoPromise((function(resolve, reject) {\n iframe.addEventListener(\"load\", resolve);\n iframe.addEventListener(\"error\", reject);\n })).then((function() {\n return awaitWindowHello(bridge, 5e3, \"Bridge \" + url);\n })).then((function() {\n return bridge;\n }));\n }));\n }));\n }));\n },\n linkWindow: linkWindow,\n linkUrl: function(win, url) {\n linkWindow({\n win: win,\n domain: getDomainFromUrl(url)\n });\n },\n isBridge: isBridge,\n needsBridge: needsBridge,\n needsBridgeForBrowser: needsBridgeForBrowser,\n hasBridge: function(url, domain) {\n return globalStore(\"bridges\").has(domain || getDomainFromUrl(url));\n },\n needsBridgeForWin: needsBridgeForWin,\n needsBridgeForDomain: needsBridgeForDomain,\n destroyBridges: function() {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n for (var _i4 = 0, _bridgeFrames$keys2 = bridgeFrames.keys(); _i4 < _bridgeFrames$keys2.length; _i4++) {\n var frame = bridgeFrames.get(_bridgeFrames$keys2[_i4]);\n frame && frame.parentNode && frame.parentNode.removeChild(frame);\n }\n bridgeFrames.reset();\n bridges.reset();\n }\n };\n function lib_global_getGlobal(win) {\n void 0 === win && (win = window);\n if (!isSameDomain(win)) throw new Error(\"Can not get global for window on different domain\");\n win.__zoid_9_0_63__ || (win.__zoid_9_0_63__ = {});\n return win.__zoid_9_0_63__;\n }\n function getProxyObject(obj) {\n return {\n get: function() {\n var _this = this;\n return promise_ZalgoPromise.try((function() {\n if (_this.source && _this.source !== window) throw new Error(\"Can not call get on proxy object from a remote window\");\n return obj;\n }));\n }\n };\n }\n var PROP_TYPE = {\n STRING: \"string\",\n OBJECT: \"object\",\n FUNCTION: \"function\",\n BOOLEAN: \"boolean\",\n NUMBER: \"number\",\n ARRAY: \"array\"\n };\n var PROP_SERIALIZATION = {\n JSON: \"json\",\n DOTIFY: \"dotify\",\n BASE64: \"base64\"\n };\n var CONTEXT = WINDOW_TYPE;\n var EVENT = {\n RENDER: \"zoid-render\",\n RENDERED: \"zoid-rendered\",\n DISPLAY: \"zoid-display\",\n ERROR: \"zoid-error\",\n CLOSE: \"zoid-close\",\n DESTROY: \"zoid-destroy\",\n PROPS: \"zoid-props\",\n RESIZE: \"zoid-resize\",\n FOCUS: \"zoid-focus\"\n };\n function normalizeChildProp(propsDef, props, key, value, helpers) {\n if (!propsDef.hasOwnProperty(key)) return value;\n var prop = propsDef[key];\n return \"function\" == typeof prop.childDecorate ? prop.childDecorate({\n value: value,\n uid: helpers.uid,\n close: helpers.close,\n focus: helpers.focus,\n onError: helpers.onError,\n onProps: helpers.onProps,\n resize: helpers.resize,\n getParent: helpers.getParent,\n getParentDomain: helpers.getParentDomain,\n show: helpers.show,\n hide: helpers.hide\n }) : value;\n }\n function parseChildWindowName(windowName) {\n return inlineMemoize(parseChildWindowName, (function() {\n if (!windowName) throw new Error(\"No window name\");\n var _windowName$split = windowName.split(\"__\"), zoidcomp = _windowName$split[1], name = _windowName$split[2], encodedPayload = _windowName$split[3];\n if (\"zoid\" !== zoidcomp) throw new Error(\"Window not rendered by zoid - got \" + zoidcomp);\n if (!name) throw new Error(\"Expected component name\");\n if (!encodedPayload) throw new Error(\"Expected encoded payload\");\n try {\n return JSON.parse(function(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }(encodedPayload));\n } catch (err) {\n throw new Error(\"Can not decode window name payload: \" + encodedPayload + \": \" + stringifyError(err));\n }\n }), [ windowName ]);\n }\n function getChildPayload() {\n try {\n return parseChildWindowName(window.name);\n } catch (err) {}\n }\n function child_focus() {\n return promise_ZalgoPromise.try((function() {\n window.focus();\n }));\n }\n function child_destroy() {\n return promise_ZalgoPromise.try((function() {\n window.close();\n }));\n }\n function props_getQueryParam(prop, key, value) {\n return promise_ZalgoPromise.try((function() {\n return \"function\" == typeof prop.queryParam ? prop.queryParam({\n value: value\n }) : \"string\" == typeof prop.queryParam ? prop.queryParam : key;\n }));\n }\n function getQueryValue(prop, key, value) {\n return promise_ZalgoPromise.try((function() {\n return \"function\" == typeof prop.queryValue && isDefined(value) ? prop.queryValue({\n value: value\n }) : value;\n }));\n }\n function parentComponent(options, overrides, parentWin) {\n void 0 === overrides && (overrides = {});\n void 0 === parentWin && (parentWin = window);\n var propsDef = options.propsDef, containerTemplate = options.containerTemplate, prerenderTemplate = options.prerenderTemplate, tag = options.tag, name = options.name, attributes = options.attributes, dimensions = options.dimensions, autoResize = options.autoResize, url = options.url, domainMatch = options.domain;\n var initPromise = new promise_ZalgoPromise;\n var handledErrors = [];\n var clean = cleanup();\n var state = {};\n var internalState = {\n visible: !0\n };\n var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, \n {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n });\n var triggered, handlers;\n var props = overrides.props ? overrides.props : {};\n var currentProxyWin;\n var currentProxyContainer;\n var childComponent;\n var onErrorOverride = overrides.onError;\n var getProxyContainerOverride = overrides.getProxyContainer;\n var showOverride = overrides.show;\n var hideOverride = overrides.hide;\n var closeOverride = overrides.close;\n var renderContainerOverride = overrides.renderContainer;\n var getProxyWindowOverride = overrides.getProxyWindow;\n var setProxyWinOverride = overrides.setProxyWin;\n var openFrameOverride = overrides.openFrame;\n var openPrerenderFrameOverride = overrides.openPrerenderFrame;\n var prerenderOverride = overrides.prerender;\n var openOverride = overrides.open;\n var openPrerenderOverride = overrides.openPrerender;\n var watchForUnloadOverride = overrides.watchForUnload;\n var getInternalStateOverride = overrides.getInternalState;\n var setInternalStateOverride = overrides.setInternalState;\n var getPropsForChild = function(domain) {\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n prop && !1 === prop.sendToChild || prop && prop.sameDomain && !matchDomain(domain, getDomain(window)) || (result[key] = props[key]);\n }\n return promise_ZalgoPromise.hash(result);\n };\n var getInternalState = function() {\n return promise_ZalgoPromise.try((function() {\n return getInternalStateOverride ? getInternalStateOverride() : internalState;\n }));\n };\n var setInternalState = function(newInternalState) {\n return promise_ZalgoPromise.try((function() {\n return setInternalStateOverride ? setInternalStateOverride(newInternalState) : internalState = _extends({}, internalState, newInternalState);\n }));\n };\n var getProxyWindow = function() {\n return getProxyWindowOverride ? getProxyWindowOverride() : promise_ZalgoPromise.try((function() {\n var windowProp = props.window;\n if (windowProp) {\n var _proxyWin = setup_toProxyWindow(windowProp);\n clean.register((function() {\n return windowProp.close();\n }));\n return _proxyWin;\n }\n return new window_ProxyWindow({\n send: send_send\n });\n }));\n };\n var getProxyContainer = function(container) {\n return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise.try((function() {\n return elementReady(container);\n })).then((function(containerElement) {\n isShadowElement(containerElement) && (containerElement = function(element) {\n var shadowHost = function(element) {\n var shadowRoot = function(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }(element);\n if (shadowRoot.host) return shadowRoot.host;\n }(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }(containerElement));\n return getProxyObject(containerElement);\n }));\n };\n var setProxyWin = function(proxyWin) {\n return setProxyWinOverride ? setProxyWinOverride(proxyWin) : promise_ZalgoPromise.try((function() {\n currentProxyWin = proxyWin;\n }));\n };\n var show = function() {\n return showOverride ? showOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !0\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(showElement) : null\n }).then(src_util_noop);\n };\n var hide = function() {\n return hideOverride ? hideOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !1\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(hideElement) : null\n }).then(src_util_noop);\n };\n var getUrl = function() {\n return \"function\" == typeof url ? url({\n props: props\n }) : url;\n };\n var getAttributes = function() {\n return \"function\" == typeof attributes ? attributes({\n props: props\n }) : attributes;\n };\n var getChildDomain = function() {\n return domainMatch && \"string\" == typeof domainMatch ? domainMatch : getDomainFromUrl(getUrl());\n };\n var getDomainMatcher = function() {\n return domainMatch && util_isRegex(domainMatch) ? domainMatch : getChildDomain();\n };\n var openFrame = function(context, _ref) {\n var windowName = _ref.windowName;\n return openFrameOverride ? openFrameOverride(context, {\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: windowName,\n title: name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerenderFrame = function(context) {\n return openPrerenderFrameOverride ? openPrerenderFrameOverride(context) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: \"__zoid_prerender_frame__\" + name + \"_\" + uniqueID() + \"__\",\n title: \"prerender__\" + name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerender = function(context, proxyWin, proxyPrerenderFrame) {\n return openPrerenderOverride ? openPrerenderOverride(context, proxyWin, proxyPrerenderFrame) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyPrerenderFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyPrerenderFrame.get().then((function(prerenderFrame) {\n clean.register((function() {\n return destroyElement(prerenderFrame);\n }));\n return awaitFrameWindow(prerenderFrame).then((function(prerenderFrameWindow) {\n return assertSameDomain(prerenderFrameWindow);\n })).then((function(win) {\n return setup_toProxyWindow(win);\n }));\n }));\n }\n if (context === CONTEXT.POPUP) return proxyWin;\n throw new Error(\"No render context available for \" + context);\n }));\n };\n var focus = function() {\n return promise_ZalgoPromise.try((function() {\n if (currentProxyWin) return promise_ZalgoPromise.all([ event.trigger(EVENT.FOCUS), currentProxyWin.focus() ]).then(src_util_noop);\n }));\n };\n var getWindowRef = function(target, domain, uid, context) {\n if (domain === getDomain(window)) {\n var global = lib_global_getGlobal(window);\n global.windows = global.windows || {};\n global.windows[uid] = window;\n clean.register((function() {\n delete global.windows[uid];\n }));\n return {\n type: \"global\",\n uid: uid\n };\n }\n return context === CONTEXT.POPUP ? {\n type: \"opener\"\n } : {\n type: \"parent\",\n distance: getDistanceFromTop(window)\n };\n };\n var initChild = function(childExports) {\n return promise_ZalgoPromise.try((function() {\n childComponent = childExports;\n initPromise.resolve();\n clean.register((function() {\n return childExports.close.fireAndForget().catch(src_util_noop);\n }));\n }));\n };\n var resize = function(_ref2) {\n var width = _ref2.width, height = _ref2.height;\n return promise_ZalgoPromise.try((function() {\n event.trigger(EVENT.RESIZE, {\n width: width,\n height: height\n });\n }));\n };\n var destroy = function(err) {\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.DESTROY);\n })).catch(src_util_noop).then((function() {\n return clean.all(err);\n })).then((function() {\n initPromise.asyncReject(err || new Error(\"Component destroyed\"));\n }));\n };\n var close = memoize((function(err) {\n return promise_ZalgoPromise.try((function() {\n if (closeOverride) {\n if (isWindowClosed(closeOverride.__source__)) return;\n return closeOverride();\n }\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.CLOSE);\n })).then((function() {\n return destroy(err || new Error(\"Component closed\"));\n }));\n }));\n }));\n var open = function(context, _ref3) {\n var proxyWin = _ref3.proxyWin, proxyFrame = _ref3.proxyFrame, windowName = _ref3.windowName;\n return openOverride ? openOverride(context, {\n proxyWin: proxyWin,\n proxyFrame: proxyFrame,\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyFrame.get().then((function(frame) {\n return awaitFrameWindow(frame).then((function(win) {\n clean.register((function() {\n return destroyElement(frame);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }));\n }));\n }\n if (context === CONTEXT.POPUP) {\n var width = dimensions.width, height = dimensions.height;\n width = normalizeDimension(width, window.outerWidth);\n height = normalizeDimension(height, window.outerWidth);\n var win = function(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(\"\", name, params, !0);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }(0, _extends({\n name: windowName,\n width: width,\n height: height\n }, getAttributes().popup));\n clean.register((function() {\n return closeWindow(win);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }\n throw new Error(\"No render context available for \" + context);\n })).then((function(win) {\n proxyWin.setWindow(win, {\n send: send_send\n });\n return proxyWin;\n }));\n };\n var watchForUnload = function() {\n return promise_ZalgoPromise.try((function() {\n var unloadWindowListener = addEventListener(window, \"unload\", once((function() {\n destroy(new Error(\"Window navigated away\"));\n })));\n var closeParentWindowListener = onCloseWindow(parentWin, destroy, 3e3);\n clean.register(closeParentWindowListener.cancel);\n clean.register(unloadWindowListener.cancel);\n if (watchForUnloadOverride) return watchForUnloadOverride();\n }));\n };\n var checkWindowClose = function(proxyWin) {\n var closed = !1;\n return proxyWin.isClosed().then((function(isClosed) {\n if (isClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n return promise_ZalgoPromise.delay(200).then((function() {\n return proxyWin.isClosed();\n })).then((function(secondIsClosed) {\n if (secondIsClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n }));\n })).then((function() {\n return closed;\n }));\n };\n var onError = function(err) {\n return onErrorOverride ? onErrorOverride(err) : promise_ZalgoPromise.try((function() {\n if (-1 === handledErrors.indexOf(err)) {\n handledErrors.push(err);\n initPromise.asyncReject(err);\n return event.trigger(EVENT.ERROR, err);\n }\n }));\n };\n initChild.onError = onError;\n var renderTemplate = function(renderer, _ref6) {\n return renderer({\n container: _ref6.container,\n context: _ref6.context,\n uid: _ref6.uid,\n doc: _ref6.doc,\n frame: _ref6.frame,\n prerenderFrame: _ref6.prerenderFrame,\n focus: focus,\n close: close,\n state: state,\n props: props,\n tag: tag,\n dimensions: dimensions,\n event: event\n });\n };\n var prerender = function(proxyPrerenderWin, _ref7) {\n var context = _ref7.context, uid = _ref7.uid;\n return prerenderOverride ? prerenderOverride(proxyPrerenderWin, {\n context: context,\n uid: uid\n }) : promise_ZalgoPromise.try((function() {\n if (prerenderTemplate) {\n var prerenderWindow = proxyPrerenderWin.getWindow();\n if (prerenderWindow && isSameDomain(prerenderWindow) && function(win) {\n try {\n if (!win.location.href) return !0;\n if (\"about:blank\" === win.location.href) return !0;\n } catch (err) {}\n return !1;\n }(prerenderWindow)) {\n var doc = (prerenderWindow = assertSameDomain(prerenderWindow)).document;\n var el = renderTemplate(prerenderTemplate, {\n context: context,\n uid: uid,\n doc: doc\n });\n if (el) {\n if (el.ownerDocument !== doc) throw new Error(\"Expected prerender template to have been created with document from child window\");\n !function(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }(prerenderWindow, el);\n var _autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, _autoResize$element = autoResize.element, element = void 0 === _autoResize$element ? \"body\" : _autoResize$element;\n if ((element = getElementSafe(element, doc)) && (width || height)) {\n var prerenderResizeListener = onResize(element, (function(_ref8) {\n resize({\n width: width ? _ref8.width : void 0,\n height: height ? _ref8.height : void 0\n });\n }), {\n width: width,\n height: height,\n win: prerenderWindow\n });\n event.on(EVENT.RENDERED, prerenderResizeListener.cancel);\n }\n }\n }\n }\n }));\n };\n var renderContainer = function(proxyContainer, _ref9) {\n var proxyFrame = _ref9.proxyFrame, proxyPrerenderFrame = _ref9.proxyPrerenderFrame, context = _ref9.context, uid = _ref9.uid;\n return renderContainerOverride ? renderContainerOverride(proxyContainer, {\n proxyFrame: proxyFrame,\n proxyPrerenderFrame: proxyPrerenderFrame,\n context: context,\n uid: uid\n }) : promise_ZalgoPromise.hash({\n container: proxyContainer.get(),\n frame: proxyFrame ? proxyFrame.get() : null,\n prerenderFrame: proxyPrerenderFrame ? proxyPrerenderFrame.get() : null,\n internalState: getInternalState()\n }).then((function(_ref10) {\n var container = _ref10.container, visible = _ref10.internalState.visible;\n var innerContainer = renderTemplate(containerTemplate, {\n context: context,\n uid: uid,\n container: container,\n frame: _ref10.frame,\n prerenderFrame: _ref10.prerenderFrame,\n doc: document\n });\n if (innerContainer) {\n visible || hideElement(innerContainer);\n appendChild(container, innerContainer);\n var containerWatcher = function(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = assertSameDomain(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }(innerContainer, (function() {\n return close(new Error(\"Detected container element removed from DOM\"));\n }));\n clean.register((function() {\n return containerWatcher.cancel();\n }));\n clean.register((function() {\n return destroyElement(innerContainer);\n }));\n return currentProxyContainer = getProxyObject(innerContainer);\n }\n }));\n };\n var getHelpers = function() {\n return {\n state: state,\n event: event,\n close: close,\n focus: focus,\n resize: resize,\n onError: onError,\n updateProps: updateProps,\n show: show,\n hide: hide\n };\n };\n var setProps = function(newProps, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var helpers = getHelpers();\n !function(propsDef, props, inputProps, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n extend(props, inputProps = inputProps || {});\n var propNames = isUpdate ? [] : [].concat(Object.keys(propsDef));\n for (var _i2 = 0, _Object$keys2 = Object.keys(inputProps); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n -1 === propNames.indexOf(key) && propNames.push(key);\n }\n var aliases = [];\n var state = helpers.state, close = helpers.close, focus = helpers.focus, event = helpers.event, onError = helpers.onError;\n for (var _i4 = 0; _i4 < propNames.length; _i4++) {\n var _key = propNames[_i4];\n var propDef = propsDef[_key];\n var value = inputProps[_key];\n if (propDef) {\n var alias = propDef.alias;\n if (alias) {\n !isDefined(value) && isDefined(inputProps[alias]) && (value = inputProps[alias]);\n aliases.push(alias);\n }\n propDef.value && (value = propDef.value({\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n !isDefined(value) && propDef.default && (value = propDef.default({\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n if (isDefined(value) && (\"array\" === propDef.type ? !Array.isArray(value) : typeof value !== propDef.type)) throw new TypeError(\"Prop is not of type \" + propDef.type + \": \" + _key);\n props[_key] = value;\n }\n }\n for (var _i6 = 0; _i6 < aliases.length; _i6++) delete props[aliases[_i6]];\n for (var _i8 = 0, _Object$keys4 = Object.keys(props); _i8 < _Object$keys4.length; _i8++) {\n var _key2 = _Object$keys4[_i8];\n var _propDef = propsDef[_key2];\n var _value = props[_key2];\n _propDef && isDefined(_value) && _propDef.decorate && (props[_key2] = _propDef.decorate({\n value: _value,\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n }\n for (var _i10 = 0, _Object$keys6 = Object.keys(propsDef); _i10 < _Object$keys6.length; _i10++) {\n var _key3 = _Object$keys6[_i10];\n if (!1 !== propsDef[_key3].required && !isDefined(props[_key3])) throw new Error('Expected prop \"' + _key3 + '\" to be defined');\n }\n }(propsDef, props, newProps, helpers, isUpdate);\n };\n var updateProps = function(newProps) {\n setProps(newProps, !0);\n return initPromise.then((function() {\n var child = childComponent;\n var proxyWin = currentProxyWin;\n if (child && proxyWin) return getPropsForChild(getDomainMatcher()).then((function(childProps) {\n return child.updateProps(childProps).catch((function(err) {\n return checkWindowClose(proxyWin).then((function(closed) {\n if (!closed) throw err;\n }));\n }));\n }));\n }));\n };\n return {\n init: function() {\n !function() {\n event.on(EVENT.RENDER, (function() {\n return props.onRender();\n }));\n event.on(EVENT.DISPLAY, (function() {\n return props.onDisplay();\n }));\n event.on(EVENT.RENDERED, (function() {\n return props.onRendered();\n }));\n event.on(EVENT.CLOSE, (function() {\n return props.onClose();\n }));\n event.on(EVENT.DESTROY, (function() {\n return props.onDestroy();\n }));\n event.on(EVENT.RESIZE, (function() {\n return props.onResize();\n }));\n event.on(EVENT.FOCUS, (function() {\n return props.onFocus();\n }));\n event.on(EVENT.PROPS, (function(newProps) {\n return props.onProps(newProps);\n }));\n event.on(EVENT.ERROR, (function(err) {\n return props && props.onError ? props.onError(err) : initPromise.reject(err).then((function() {\n setTimeout((function() {\n throw err;\n }), 1);\n }));\n }));\n clean.register(event.reset);\n }();\n },\n render: function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n var uid = \"zoid-\" + tag + \"-\" + uniqueID();\n var domain = getDomainMatcher();\n var childDomain = getChildDomain();\n !function(target, domain, container) {\n if (target !== window) {\n if (!isSameTopWindow(window, target)) throw new Error(\"Can only renderTo an adjacent frame\");\n var origin = getDomain();\n if (!matchDomain(domain, origin) && !isSameDomain(target)) throw new Error(\"Can not render remotely to \" + domain.toString() + \" - can only render to \" + origin);\n if (container && \"string\" != typeof container) throw new Error(\"Container passed to renderTo must be a string selector, got \" + typeof container + \" }\");\n }\n }(target, domain, container);\n var delegatePromise = promise_ZalgoPromise.try((function() {\n if (target !== window) return function(context, target) {\n var delegateProps = {};\n for (var _i4 = 0, _Object$keys4 = Object.keys(props); _i4 < _Object$keys4.length; _i4++) {\n var propName = _Object$keys4[_i4];\n var propDef = propsDef[propName];\n propDef && propDef.allowDelegate && (delegateProps[propName] = props[propName]);\n }\n var childOverridesPromise = send_send(target, \"zoid_delegate_\" + name, {\n overrides: {\n props: delegateProps,\n event: event,\n close: close,\n onError: onError,\n getInternalState: getInternalState,\n setInternalState: setInternalState\n }\n }).then((function(_ref11) {\n var parentComp = _ref11.data.parent;\n clean.register((function(err) {\n if (!isWindowClosed(target)) return parentComp.destroy(err);\n }));\n return parentComp.getDelegateOverrides();\n })).catch((function(err) {\n throw new Error(\"Unable to delegate rendering. Possibly the component is not loaded in the target window.\\n\\n\" + stringifyError(err));\n }));\n getProxyContainerOverride = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyContainer.apply(childOverrides, args);\n }));\n };\n renderContainerOverride = function() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.renderContainer.apply(childOverrides, args);\n }));\n };\n showOverride = function() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.show.apply(childOverrides, args);\n }));\n };\n hideOverride = function() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.hide.apply(childOverrides, args);\n }));\n };\n watchForUnloadOverride = function() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) args[_key5] = arguments[_key5];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.watchForUnload.apply(childOverrides, args);\n }));\n };\n if (context === CONTEXT.IFRAME) {\n getProxyWindowOverride = function() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) args[_key6] = arguments[_key6];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyWindow.apply(childOverrides, args);\n }));\n };\n openFrameOverride = function() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) args[_key7] = arguments[_key7];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openFrame.apply(childOverrides, args);\n }));\n };\n openPrerenderFrameOverride = function() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) args[_key8] = arguments[_key8];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerenderFrame.apply(childOverrides, args);\n }));\n };\n prerenderOverride = function() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) args[_key9] = arguments[_key9];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.prerender.apply(childOverrides, args);\n }));\n };\n openOverride = function() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) args[_key10] = arguments[_key10];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.open.apply(childOverrides, args);\n }));\n };\n openPrerenderOverride = function() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) args[_key11] = arguments[_key11];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerender.apply(childOverrides, args);\n }));\n };\n } else context === CONTEXT.POPUP && (setProxyWinOverride = function() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) args[_key12] = arguments[_key12];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.setProxyWin.apply(childOverrides, args);\n }));\n });\n return childOverridesPromise;\n }(context, target);\n }));\n var windowProp = props.window;\n var watchForUnloadPromise = watchForUnload();\n var buildUrlPromise = function(propsDef, props) {\n var params = {};\n var keys = Object.keys(props);\n return promise_ZalgoPromise.all(keys.map((function(key) {\n var prop = propsDef[key];\n if (prop) return promise_ZalgoPromise.resolve().then((function() {\n var value = props[key];\n if (value && prop.queryParam) return value;\n })).then((function(value) {\n if (null != value) return promise_ZalgoPromise.all([ props_getQueryParam(prop, key, value), getQueryValue(prop, 0, value) ]).then((function(_ref) {\n var queryParam = _ref[0], queryValue = _ref[1];\n var result;\n if (\"boolean\" == typeof queryValue) result = queryValue.toString(); else if (\"string\" == typeof queryValue) result = queryValue.toString(); else if (\"object\" == typeof queryValue && null !== queryValue) {\n if (prop.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(queryValue); else if (prop.serialization === PROP_SERIALIZATION.BASE64) result = btoa(JSON.stringify(queryValue)); else if (prop.serialization === PROP_SERIALIZATION.DOTIFY || !prop.serialization) {\n result = function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = obj[key].toString());\n return newobj;\n }(queryValue, key);\n for (var _i12 = 0, _Object$keys8 = Object.keys(result); _i12 < _Object$keys8.length; _i12++) {\n var dotkey = _Object$keys8[_i12];\n params[dotkey] = result[dotkey];\n }\n return;\n }\n } else \"number\" == typeof queryValue && (result = queryValue.toString());\n params[queryParam] = result;\n }));\n }));\n }))).then((function() {\n return params;\n }));\n }(propsDef, props).then((function(query) {\n return function(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }(normalizeMockUrl(getUrl()), {\n query: query\n });\n }));\n var onRenderPromise = event.trigger(EVENT.RENDER);\n var getProxyContainerPromise = getProxyContainer(container);\n var getProxyWindowPromise = getProxyWindow();\n var buildWindowNamePromise = getProxyWindowPromise.then((function(proxyWin) {\n return function(_temp) {\n var _ref4 = void 0 === _temp ? {} : _temp, proxyWin = _ref4.proxyWin, childDomain = _ref4.childDomain, domain = _ref4.domain, context = (void 0 === _ref4.target && window, \n _ref4.context), uid = _ref4.uid;\n return function(proxyWin, childDomain, domain, uid) {\n return getPropsForChild(domain).then((function(childProps) {\n var value = setup_serializeMessage(proxyWin, domain, childProps);\n var propRef = childDomain === getDomain() ? {\n type: \"uid\",\n uid: uid\n } : {\n type: \"raw\",\n value: value\n };\n if (\"uid\" === propRef.type) {\n var global = lib_global_getGlobal(window);\n global.props = global.props || {};\n global.props[uid] = value;\n clean.register((function() {\n delete global.props[uid];\n }));\n }\n return propRef;\n }));\n }(proxyWin, childDomain, domain, uid).then((function(propsRef) {\n return {\n uid: uid,\n context: context,\n tag: tag,\n version: \"9_0_63\",\n childDomain: childDomain,\n parentDomain: getDomain(window),\n parent: getWindowRef(0, childDomain, uid, context),\n props: propsRef,\n exports: setup_serializeMessage(proxyWin, domain, (win = proxyWin, {\n init: initChild,\n close: close,\n checkClose: function() {\n return checkWindowClose(win);\n },\n resize: resize,\n onError: onError,\n show: show,\n hide: hide\n }))\n };\n var win;\n }));\n }({\n proxyWin: (_ref5 = {\n proxyWin: proxyWin,\n childDomain: childDomain,\n domain: domain,\n target: target,\n context: context,\n uid: uid\n }).proxyWin,\n childDomain: _ref5.childDomain,\n domain: _ref5.domain,\n target: _ref5.target,\n context: _ref5.context,\n uid: _ref5.uid\n }).then((function(childPayload) {\n return \"__zoid__\" + name + \"__\" + base64encode(JSON.stringify(childPayload)) + \"__\";\n }));\n var _ref5;\n }));\n var openFramePromise = buildWindowNamePromise.then((function(windowName) {\n return openFrame(context, {\n windowName: windowName\n });\n }));\n var openPrerenderFramePromise = openPrerenderFrame(context);\n var renderContainerPromise = promise_ZalgoPromise.hash({\n proxyContainer: getProxyContainerPromise,\n proxyFrame: openFramePromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref12) {\n return renderContainer(_ref12.proxyContainer, {\n context: context,\n uid: uid,\n proxyFrame: _ref12.proxyFrame,\n proxyPrerenderFrame: _ref12.proxyPrerenderFrame\n });\n })).then((function(proxyContainer) {\n return proxyContainer;\n }));\n var openPromise = promise_ZalgoPromise.hash({\n windowName: buildWindowNamePromise,\n proxyFrame: openFramePromise,\n proxyWin: getProxyWindowPromise\n }).then((function(_ref13) {\n var proxyWin = _ref13.proxyWin;\n return windowProp ? proxyWin : open(context, {\n windowName: _ref13.windowName,\n proxyWin: proxyWin,\n proxyFrame: _ref13.proxyFrame\n });\n }));\n var openPrerenderPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref14) {\n return openPrerender(context, _ref14.proxyWin, _ref14.proxyPrerenderFrame);\n }));\n var setStatePromise = openPromise.then((function(proxyWin) {\n currentProxyWin = proxyWin;\n return setProxyWin(proxyWin);\n }));\n var prerenderPromise = promise_ZalgoPromise.hash({\n proxyPrerenderWin: openPrerenderPromise,\n state: setStatePromise\n }).then((function(_ref15) {\n return prerender(_ref15.proxyPrerenderWin, {\n context: context,\n uid: uid\n });\n }));\n var setWindowNamePromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowName: buildWindowNamePromise\n }).then((function(_ref16) {\n if (windowProp) return _ref16.proxyWin.setName(_ref16.windowName);\n }));\n var loadUrlPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n builtUrl: buildUrlPromise,\n windowName: setWindowNamePromise,\n prerender: prerenderPromise\n }).then((function(_ref17) {\n return _ref17.proxyWin.setLocation(_ref17.builtUrl);\n }));\n var watchForClosePromise = openPromise.then((function(proxyWin) {\n !function watchForClose(proxyWin, context) {\n var cancelled = !1;\n clean.register((function() {\n cancelled = !0;\n }));\n return promise_ZalgoPromise.delay(2e3).then((function() {\n return proxyWin.isClosed();\n })).then((function(isClosed) {\n return isClosed ? close(new Error(\"Detected \" + context + \" close\")) : cancelled ? void 0 : watchForClose(proxyWin, context);\n }));\n }(proxyWin, context);\n }));\n var onDisplayPromise = promise_ZalgoPromise.hash({\n container: renderContainerPromise,\n prerender: prerenderPromise\n }).then((function() {\n return event.trigger(EVENT.DISPLAY);\n }));\n var openBridgePromise = openPromise.then((function(proxyWin) {\n return function(proxyWin, domain, context) {\n return promise_ZalgoPromise.try((function() {\n return proxyWin.awaitWindow();\n })).then((function(win) {\n if (src_bridge && src_bridge.needsBridge({\n win: win,\n domain: domain\n }) && !src_bridge.hasBridge(domain, domain)) {\n var bridgeUrl = \"function\" == typeof options.bridgeUrl ? options.bridgeUrl({\n props: props\n }) : options.bridgeUrl;\n if (!bridgeUrl) throw new Error(\"Bridge needed to render \" + context);\n var bridgeDomain = getDomainFromUrl(bridgeUrl);\n src_bridge.linkUrl(win, domain);\n return src_bridge.openBridge(normalizeMockUrl(bridgeUrl), bridgeDomain);\n }\n }));\n }(proxyWin, childDomain, context);\n }));\n var runTimeoutPromise = loadUrlPromise.then((function() {\n return promise_ZalgoPromise.try((function() {\n var timeout = props.timeout;\n if (timeout) return initPromise.timeout(timeout, new Error(\"Loading component timed out after \" + timeout + \" milliseconds\"));\n }));\n }));\n var onRenderedPromise = initPromise.then((function() {\n return event.trigger(EVENT.RENDERED);\n }));\n return promise_ZalgoPromise.hash({\n initPromise: initPromise,\n buildUrlPromise: buildUrlPromise,\n onRenderPromise: onRenderPromise,\n getProxyContainerPromise: getProxyContainerPromise,\n openFramePromise: openFramePromise,\n openPrerenderFramePromise: openPrerenderFramePromise,\n renderContainerPromise: renderContainerPromise,\n openPromise: openPromise,\n openPrerenderPromise: openPrerenderPromise,\n setStatePromise: setStatePromise,\n prerenderPromise: prerenderPromise,\n loadUrlPromise: loadUrlPromise,\n buildWindowNamePromise: buildWindowNamePromise,\n setWindowNamePromise: setWindowNamePromise,\n watchForClosePromise: watchForClosePromise,\n onDisplayPromise: onDisplayPromise,\n openBridgePromise: openBridgePromise,\n runTimeoutPromise: runTimeoutPromise,\n onRenderedPromise: onRenderedPromise,\n delegatePromise: delegatePromise,\n watchForUnloadPromise: watchForUnloadPromise\n });\n })).catch((function(err) {\n return promise_ZalgoPromise.all([ onError(err), destroy(err) ]).then((function() {\n throw err;\n }), (function() {\n throw err;\n }));\n })).then(src_util_noop);\n },\n destroy: destroy,\n setProps: setProps,\n getHelpers: getHelpers,\n getDelegateOverrides: function() {\n return promise_ZalgoPromise.try((function() {\n return {\n getProxyContainer: getProxyContainer,\n show: show,\n hide: hide,\n renderContainer: renderContainer,\n getProxyWindow: getProxyWindow,\n watchForUnload: watchForUnload,\n openFrame: openFrame,\n openPrerenderFrame: openPrerenderFrame,\n prerender: prerender,\n open: open,\n openPrerender: openPrerender,\n setProxyWin: setProxyWin\n };\n }));\n }\n };\n }\n var react = {\n register: function(tag, propsDef, init, _ref) {\n var React = _ref.React, ReactDOM = _ref.ReactDOM;\n return function(_React$Component) {\n _inheritsLoose(_class, _React$Component);\n function _class() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = _class.prototype;\n _proto.render = function() {\n return React.createElement(\"div\", null);\n };\n _proto.componentDidMount = function() {\n var el = ReactDOM.findDOMNode(this);\n var parent = init(extend({}, this.props));\n parent.render(el, CONTEXT.IFRAME);\n this.setState({\n parent: parent\n });\n };\n _proto.componentDidUpdate = function() {\n this.state && this.state.parent && this.state.parent.updateProps(extend({}, this.props)).catch(src_util_noop);\n };\n return _class;\n }(React.Component);\n }\n };\n var vue = {\n register: function(tag, propsDef, init, Vue) {\n return Vue.component(tag, {\n render: function(createElement) {\n return createElement(\"div\");\n },\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, this.$attrs));\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n });\n }\n };\n var angular = {\n register: function(tag, propsDef, init, ng) {\n return ng.module(tag, []).directive(tag.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n })), (function() {\n var scope = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(propsDef); _i2 < _Object$keys2.length; _i2++) scope[_Object$keys2[_i2]] = \"=\";\n scope.props = \"=\";\n return {\n scope: scope,\n restrict: \"E\",\n controller: [ \"$scope\", \"$element\", function($scope, $element) {\n function safeApply() {\n if (\"$apply\" !== $scope.$root.$$phase && \"$digest\" !== $scope.$root.$$phase) try {\n $scope.$apply();\n } catch (err) {}\n }\n var getProps = function() {\n return replaceObject($scope.props, (function(item) {\n return \"function\" == typeof item ? function() {\n var result = item.apply(this, arguments);\n safeApply();\n return result;\n } : item;\n }));\n };\n var instance = init(getProps());\n instance.render($element[0], CONTEXT.IFRAME);\n $scope.$watch((function() {\n instance.updateProps(getProps()).catch(src_util_noop);\n }));\n } ]\n };\n }));\n }\n };\n var angular2 = {\n register: function(tag, propsDef, init, _ref) {\n var NgModule = _ref.NgModule, ElementRef = _ref.ElementRef, NgZone = _ref.NgZone;\n var getProps = function(component) {\n return replaceObject(_extends({}, component.internalProps, component.props), (function(item) {\n return \"function\" == typeof item ? function() {\n var _arguments = arguments, _this = this;\n return component.zone.run((function() {\n return item.apply(_this, _arguments);\n }));\n } : item;\n }));\n };\n var ComponentInstance = (0, _ref.Component)({\n selector: tag,\n template: \"<div></div>\",\n inputs: [ \"props\" ]\n }).Class({\n constructor: [ ElementRef, NgZone, function(elementRef, zone) {\n this._props = {};\n this.elementRef = elementRef;\n this.zone = zone;\n } ],\n ngOnInit: function() {\n var targetElement = this.elementRef.nativeElement;\n this.parent = init(getProps(this));\n this.parent.render(targetElement, CONTEXT.IFRAME);\n },\n ngDoCheck: function() {\n if (this.parent && !function(obj1, obj2) {\n var checked = {};\n for (var key in obj1) if (obj1.hasOwnProperty(key)) {\n checked[key] = !0;\n if (obj1[key] !== obj2[key]) return !1;\n }\n for (var _key in obj2) if (!checked[_key]) return !1;\n return !0;\n }(this._props, this.props)) {\n this._props = _extends({}, this.props);\n this.parent.updateProps(getProps(this));\n }\n }\n });\n return NgModule({\n declarations: [ ComponentInstance ],\n exports: [ ComponentInstance ]\n }).Class({\n constructor: function() {}\n });\n }\n };\n function defaultContainerTemplate(_ref) {\n var uid = _ref.uid, frame = _ref.frame, prerenderFrame = _ref.prerenderFrame, doc = _ref.doc, props = _ref.props, event = _ref.event, _ref$dimensions = _ref.dimensions, width = _ref$dimensions.width, height = _ref$dimensions.height;\n if (frame && prerenderFrame) {\n var div = doc.createElement(\"div\");\n div.setAttribute(\"id\", uid);\n var style = doc.createElement(\"style\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n style.appendChild(doc.createTextNode(\"\\n #\" + uid + \" {\\n display: inline-block;\\n position: relative;\\n width: \" + width + \";\\n height: \" + height + \";\\n }\\n\\n #\" + uid + \" > iframe {\\n display: inline-block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n transition: opacity .2s ease-in-out;\\n }\\n\\n #\" + uid + \" > iframe.zoid-invisible {\\n opacity: 0;\\n }\\n\\n #\" + uid + \" > iframe.zoid-visible {\\n opacity: 1;\\n }\\n \"));\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n prerenderFrame.classList.add(\"zoid-visible\");\n frame.classList.add(\"zoid-invisible\");\n event.on(EVENT.RENDERED, (function() {\n prerenderFrame.classList.remove(\"zoid-visible\");\n prerenderFrame.classList.add(\"zoid-invisible\");\n frame.classList.remove(\"zoid-invisible\");\n frame.classList.add(\"zoid-visible\");\n setTimeout((function() {\n destroyElement(prerenderFrame);\n }), 1);\n }));\n event.on(EVENT.RESIZE, (function(_ref2) {\n var newWidth = _ref2.width, newHeight = _ref2.height;\n \"number\" == typeof newWidth && (div.style.width = toCSS(newWidth));\n \"number\" == typeof newHeight && (div.style.height = toCSS(newHeight));\n }));\n return div;\n }\n }\n function defaultPrerenderTemplate(_ref) {\n var doc = _ref.doc, props = _ref.props;\n var html = doc.createElement(\"html\");\n var body = doc.createElement(\"body\");\n var style = doc.createElement(\"style\");\n var spinner = doc.createElement(\"div\");\n spinner.classList.add(\"spinner\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n html.appendChild(body);\n body.appendChild(spinner);\n body.appendChild(style);\n style.appendChild(doc.createTextNode(\"\\n html, body {\\n width: 100%;\\n height: 100%;\\n }\\n\\n .spinner {\\n position: fixed;\\n max-height: 60vmin;\\n max-width: 60vmin;\\n height: 40px;\\n width: 40px;\\n top: 50%;\\n left: 50%;\\n box-sizing: border-box;\\n border: 3px solid rgba(0, 0, 0, .2);\\n border-top-color: rgba(33, 128, 192, 0.8);\\n border-radius: 100%;\\n animation: rotation .7s infinite linear;\\n }\\n\\n @keyframes rotation {\\n from {\\n transform: translateX(-50%) translateY(-50%) rotate(0deg);\\n }\\n to {\\n transform: translateX(-50%) translateY(-50%) rotate(359deg);\\n }\\n }\\n \"));\n return html;\n }\n var props_defaultNoop = function() {\n return src_util_noop;\n };\n var props_decorateOnce = function(_ref) {\n return once(_ref.value);\n };\n var cleanInstances = cleanup();\n var cleanZoid = cleanup();\n function component_component(opts) {\n var options = function(options) {\n var tag = options.tag, url = options.url, domain = options.domain, bridgeUrl = options.bridgeUrl, _options$props = options.props, propsDef = void 0 === _options$props ? {} : _options$props, _options$dimensions = options.dimensions, dimensions = void 0 === _options$dimensions ? {} : _options$dimensions, _options$autoResize = options.autoResize, autoResize = void 0 === _options$autoResize ? {} : _options$autoResize, _options$allowedParen = options.allowedParentDomains, allowedParentDomains = void 0 === _options$allowedParen ? \"*\" : _options$allowedParen, _options$attributes = options.attributes, attributes = void 0 === _options$attributes ? {} : _options$attributes, _options$defaultConte = options.defaultContext, defaultContext = void 0 === _options$defaultConte ? CONTEXT.IFRAME : _options$defaultConte, _options$containerTem = options.containerTemplate, containerTemplate = void 0 === _options$containerTem ? defaultContainerTemplate : _options$containerTem, _options$prerenderTem = options.prerenderTemplate, prerenderTemplate = void 0 === _options$prerenderTem ? defaultPrerenderTemplate : _options$prerenderTem, validate = options.validate, _options$eligible = options.eligible, eligible = void 0 === _options$eligible ? function() {\n return {\n eligible: !0\n };\n } : _options$eligible, _options$logger = options.logger, logger = void 0 === _options$logger ? {\n info: src_util_noop\n } : _options$logger;\n var name = tag.replace(/-/g, \"_\");\n var _dimensions$width = dimensions.width, width = void 0 === _dimensions$width ? \"300px\" : _dimensions$width, _dimensions$height = dimensions.height, height = void 0 === _dimensions$height ? \"150px\" : _dimensions$height;\n propsDef = _extends({}, {\n window: {\n type: \"object\",\n sendToChild: !1,\n required: !1,\n allowDelegate: !0,\n validate: function(_ref2) {\n var value = _ref2.value;\n if (!isWindow(value) && !window_ProxyWindow.isProxyWindow(value)) throw new Error(\"Expected Window or ProxyWindow\");\n if (isWindow(value)) {\n if (isWindowClosed(value)) throw new Error(\"Window is closed\");\n if (!isSameDomain(value)) throw new Error(\"Window is not same domain\");\n }\n },\n decorate: function(_ref3) {\n return setup_toProxyWindow(_ref3.value);\n }\n },\n timeout: {\n type: \"number\",\n required: !1,\n sendToChild: !1\n },\n close: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref4) {\n return _ref4.close;\n }\n },\n focus: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref5) {\n return _ref5.focus;\n }\n },\n resize: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref6) {\n return _ref6.resize;\n }\n },\n uid: {\n type: \"string\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref7) {\n return _ref7.uid;\n }\n },\n cspNonce: {\n type: \"string\",\n required: !1\n },\n getParent: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref8) {\n return _ref8.getParent;\n }\n },\n getParentDomain: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref9) {\n return _ref9.getParentDomain;\n }\n },\n show: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref10) {\n return _ref10.show;\n }\n },\n hide: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref11) {\n return _ref11.hide;\n }\n },\n onDisplay: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRendered: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRender: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onClose: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onDestroy: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onResize: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onFocus: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onError: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref12) {\n return _ref12.onError;\n }\n },\n onProps: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n childDecorate: function(_ref13) {\n return _ref13.onProps;\n }\n }\n }, propsDef);\n if (!containerTemplate) throw new Error(\"Container template required\");\n return {\n name: name,\n tag: tag,\n url: url,\n domain: domain,\n bridgeUrl: bridgeUrl,\n propsDef: propsDef,\n dimensions: {\n width: width,\n height: height\n },\n autoResize: autoResize,\n allowedParentDomains: allowedParentDomains,\n attributes: attributes,\n defaultContext: defaultContext,\n containerTemplate: containerTemplate,\n prerenderTemplate: prerenderTemplate,\n validate: validate,\n logger: logger,\n eligible: eligible\n };\n }(opts);\n var name = options.name, tag = options.tag, defaultContext = options.defaultContext, propsDef = options.propsDef, eligible = options.eligible;\n var global = lib_global_getGlobal();\n var driverCache = {};\n var instances = [];\n var isChild = function() {\n var payload = getChildPayload();\n return Boolean(payload && payload.tag === tag && payload.childDomain === getDomain());\n };\n var registerChild = memoize((function() {\n if (isChild()) {\n if (window.xprops) {\n delete global.components[tag];\n throw new Error(\"Can not register \" + name + \" as child - child already registered\");\n }\n var child = function(options) {\n var propsDef = options.propsDef, autoResize = options.autoResize, allowedParentDomains = options.allowedParentDomains;\n var onPropHandlers = [];\n var childPayload = getChildPayload();\n var props;\n if (!childPayload) throw new Error(\"No child payload found\");\n if (\"9_0_63\" !== childPayload.version) throw new Error(\"Parent window has zoid version \" + childPayload.version + \", child window has version 9_0_63\");\n var uid = childPayload.uid, parentDomain = childPayload.parentDomain, exports = childPayload.exports, context = childPayload.context, propsRef = childPayload.props;\n var parentComponentWindow = function(ref) {\n var type = ref.type;\n if (\"opener\" === type) return assertExists(\"opener\", getOpener(window));\n if (\"parent\" === type && \"number\" == typeof ref.distance) return assertExists(\"parent\", function(win, n) {\n void 0 === n && (n = 1);\n return function(win, n) {\n void 0 === n && (n = 1);\n var parent = win;\n for (var i = 0; i < n; i++) {\n if (!parent) return;\n parent = utils_getParent(parent);\n }\n return parent;\n }(win, getDistanceFromTop(win) - n);\n }(window, ref.distance));\n if (\"global\" === type && ref.uid && \"string\" == typeof ref.uid) {\n var uid = ref.uid;\n var ancestor = getAncestor(window);\n if (!ancestor) throw new Error(\"Can not find ancestor window\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var frame = _getAllFramesInWindow2[_i2];\n if (isSameDomain(frame)) {\n var global = lib_global_getGlobal(frame);\n if (global && global.windows && global.windows[uid]) return global.windows[uid];\n }\n }\n }\n throw new Error(\"Unable to find \" + type + \" parent component window\");\n }(childPayload.parent);\n var parent = setup_deserializeMessage(parentComponentWindow, parentDomain, exports);\n var show = parent.show, hide = parent.hide, close = parent.close;\n var getParent = function() {\n return parentComponentWindow;\n };\n var getParentDomain = function() {\n return parentDomain;\n };\n var onProps = function(handler) {\n onPropHandlers.push(handler);\n };\n var onError = function(err) {\n return promise_ZalgoPromise.try((function() {\n if (parent && parent.onError) return parent.onError(err);\n throw err;\n }));\n };\n var resize = function(_ref2) {\n return parent.resize.fireAndForget({\n width: _ref2.width,\n height: _ref2.height\n });\n };\n var setProps = function(newProps, origin, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var normalizedProps = function(parentComponentWindow, propsDef, props, origin, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n if (!prop || !prop.sameDomain || origin === getDomain(window) && isSameDomain(parentComponentWindow)) {\n var value = normalizeChildProp(propsDef, 0, key, props[key], helpers);\n result[key] = value;\n prop && prop.alias && !result[prop.alias] && (result[prop.alias] = value);\n }\n }\n if (!isUpdate) for (var _i4 = 0, _Object$keys4 = Object.keys(propsDef); _i4 < _Object$keys4.length; _i4++) {\n var _key = _Object$keys4[_i4];\n props.hasOwnProperty(_key) || (result[_key] = normalizeChildProp(propsDef, 0, _key, void 0, helpers));\n }\n return result;\n }(parentComponentWindow, propsDef, newProps, origin, {\n show: show,\n hide: hide,\n close: close,\n focus: child_focus,\n onError: onError,\n resize: resize,\n onProps: onProps,\n getParent: getParent,\n getParentDomain: getParentDomain,\n uid: uid\n }, isUpdate);\n props ? extend(props, normalizedProps) : props = normalizedProps;\n for (var _i4 = 0; _i4 < onPropHandlers.length; _i4++) (0, onPropHandlers[_i4])(props);\n };\n var updateProps = function(newProps) {\n return promise_ZalgoPromise.try((function() {\n return setProps(newProps, parentDomain, !0);\n }));\n };\n return {\n init: function() {\n return promise_ZalgoPromise.try((function() {\n !function(allowedParentDomains, domain) {\n if (!matchDomain(allowedParentDomains, domain)) throw new Error(\"Can not be rendered by domain: \" + domain);\n }(allowedParentDomains, parentDomain);\n markWindowKnown(parentComponentWindow);\n !function() {\n window.addEventListener(\"beforeunload\", (function() {\n parent.checkClose.fireAndForget();\n }));\n window.addEventListener(\"unload\", (function() {\n parent.checkClose.fireAndForget();\n }));\n onCloseWindow(parentComponentWindow, (function() {\n child_destroy();\n }));\n }();\n return parent.init({\n updateProps: updateProps,\n close: child_destroy\n });\n })).then((function() {\n return (_autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, \n _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, \n _autoResize$element = autoResize.element, elementReady(void 0 === _autoResize$element ? \"body\" : _autoResize$element).catch(src_util_noop).then((function(element) {\n return {\n width: width,\n height: height,\n element: element\n };\n }))).then((function(_ref3) {\n var width = _ref3.width, height = _ref3.height, element = _ref3.element;\n element && (width || height) && context !== CONTEXT.POPUP && onResize(element, (function(_ref4) {\n resize({\n width: width ? _ref4.width : void 0,\n height: height ? _ref4.height : void 0\n });\n }), {\n width: width,\n height: height\n });\n }));\n var _autoResize$width, width, _autoResize$height, height, _autoResize$element;\n })).catch((function(err) {\n onError(err);\n }));\n },\n getProps: function() {\n if (props) return props;\n setProps(function(parentComponentWindow, domain, _ref) {\n var type = _ref.type, uid = _ref.uid;\n var props;\n if (\"raw\" === type) props = _ref.value; else if (\"uid\" === type) {\n if (!isSameDomain(parentComponentWindow)) throw new Error(\"Parent component window is on a different domain - expected \" + getDomain() + \" - can not retrieve props\");\n var global = lib_global_getGlobal(parentComponentWindow);\n props = assertExists(\"props\", global && global.props[uid]);\n }\n if (!props) throw new Error(\"Could not find props\");\n return setup_deserializeMessage(parentComponentWindow, domain, props);\n }(parentComponentWindow, parentDomain, propsRef), parentDomain);\n return props;\n }\n };\n }(options);\n child.init();\n return child;\n }\n }));\n var init = function init(props) {\n var instance;\n var _eligible = eligible({\n props: props = props || {}\n }), eligibility = _eligible.eligible, reason = _eligible.reason;\n var onDestroy = props.onDestroy;\n props.onDestroy = function() {\n instance && eligibility && instances.splice(instances.indexOf(instance), 1);\n if (onDestroy) return onDestroy.apply(void 0, arguments);\n };\n var parent = parentComponent(options);\n parent.init();\n eligibility ? parent.setProps(props) : props.onDestroy && props.onDestroy();\n cleanInstances.register((function(err) {\n parent.destroy(err || new Error(\"zoid destroyed all components\"));\n }));\n var _render = function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n if (!eligibility) {\n var err = new Error(reason || name + \" component is not eligible\");\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }\n if (!isWindow(target)) throw new Error(\"Must pass window to renderTo\");\n return function(props, context) {\n return promise_ZalgoPromise.try((function() {\n if (props.window) return setup_toProxyWindow(props.window).getType();\n if (context) {\n if (context !== CONTEXT.IFRAME && context !== CONTEXT.POPUP) throw new Error(\"Unrecognized context: \" + context);\n return context;\n }\n return defaultContext;\n }));\n }(props, context);\n })).then((function(finalContext) {\n container = function(context, container) {\n if (container) {\n if (\"string\" != typeof container && !isElement(container)) throw new TypeError(\"Expected string or element selector to be passed\");\n return container;\n }\n if (context === CONTEXT.POPUP) return \"body\";\n throw new Error(\"Expected element to be passed to render iframe\");\n }(finalContext, container);\n return parent.render(target, container, finalContext);\n })).catch((function(err) {\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }));\n };\n instance = _extends({}, parent.getHelpers(), {\n isEligible: function() {\n return eligibility;\n },\n clone: function(_temp) {\n var _ref3$decorate = (void 0 === _temp ? {} : _temp).decorate;\n return init((void 0 === _ref3$decorate ? identity : _ref3$decorate)(props));\n },\n render: function(container, context) {\n return _render(window, container, context);\n },\n renderTo: function(target, container, context) {\n return _render(target, container, context);\n }\n });\n eligibility && instances.push(instance);\n return instance;\n };\n registerChild();\n !function() {\n var allowDelegateListener = on_on(\"zoid_allow_delegate_\" + name, (function() {\n return !0;\n }));\n var delegateListener = on_on(\"zoid_delegate_\" + name, (function(_ref) {\n return {\n parent: parentComponent(options, _ref.data.overrides, _ref.source)\n };\n }));\n cleanZoid.register(allowDelegateListener.cancel);\n cleanZoid.register(delegateListener.cancel);\n }();\n global.components = global.components || {};\n if (global.components[tag]) throw new Error(\"Can not register multiple components with the same tag: \" + tag);\n global.components[tag] = !0;\n return {\n init: init,\n instances: instances,\n driver: function(driverName, dep) {\n var drivers = {\n react: react,\n angular: angular,\n vue: vue,\n angular2: angular2\n };\n if (!drivers[driverName]) throw new Error(\"Could not find driver for framework: \" + driverName);\n driverCache[driverName] || (driverCache[driverName] = drivers[driverName].register(tag, propsDef, init, dep));\n return driverCache[driverName];\n },\n isChild: isChild,\n canRenderTo: function(win) {\n return send_send(win, \"zoid_allow_delegate_\" + name).then((function(_ref2) {\n return _ref2.data;\n })).catch((function() {\n return !1;\n }));\n },\n registerChild: registerChild\n };\n }\n function create(options) {\n !function() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return addEventListener(window, \"message\", (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n setupBridge({\n on: on_on,\n send: send_send,\n receiveMessage: receive_receiveMessage\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }();\n var comp = component_component(options);\n var init = function(props) {\n return comp.init(props);\n };\n init.driver = function(name, dep) {\n return comp.driver(name, dep);\n };\n init.isChild = function() {\n return comp.isChild();\n };\n init.canRenderTo = function(win) {\n return comp.canRenderTo(win);\n };\n init.instances = comp.instances;\n var child = comp.registerChild();\n child && (window.xprops = init.xprops = child.getProps());\n return init;\n }\n function destroyComponents(err) {\n src_bridge && src_bridge.destroyBridges();\n var destroyPromise = cleanInstances.all(err);\n cleanInstances = cleanup();\n return destroyPromise;\n }\n var destroyAll = destroyComponents;\n function component_destroy(err) {\n destroyAll();\n delete window.__zoid_9_0_63__;\n !function() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }();\n return cleanZoid.all(err);\n }\n } ]);\n}));","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"belter\", [], factory) : \"object\" == typeof exports ? exports.belter = factory() : root.belter = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"getUserAgent\", (function() {\n return getUserAgent;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDevice\", (function() {\n return isDevice;\n }));\n __webpack_require__.d(__webpack_exports__, \"isWebView\", (function() {\n return isWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isStandAlone\", (function() {\n return isStandAlone;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFacebookWebView\", (function() {\n return isFacebookWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFirefoxIOS\", (function() {\n return isFirefoxIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isEdgeIOS\", (function() {\n return isEdgeIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isOperaMini\", (function() {\n return isOperaMini;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroid\", (function() {\n return isAndroid;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIos\", (function() {\n return isIos;\n }));\n __webpack_require__.d(__webpack_exports__, \"isGoogleSearchApp\", (function() {\n return isGoogleSearchApp;\n }));\n __webpack_require__.d(__webpack_exports__, \"isQQBrowser\", (function() {\n return isQQBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIosWebview\", (function() {\n return isIosWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVC\", (function() {\n return isSFVC;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVCorSafari\", (function() {\n return isSFVCorSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroidWebview\", (function() {\n return isAndroidWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIE\", (function() {\n return device_isIE;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIECompHeader\", (function() {\n return isIECompHeader;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElectron\", (function() {\n return isElectron;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIEIntranet\", (function() {\n return isIEIntranet;\n }));\n __webpack_require__.d(__webpack_exports__, \"isMacOsCna\", (function() {\n return isMacOsCna;\n }));\n __webpack_require__.d(__webpack_exports__, \"supportsPopups\", (function() {\n return supportsPopups;\n }));\n __webpack_require__.d(__webpack_exports__, \"isChrome\", (function() {\n return isChrome;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSafari\", (function() {\n return isSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isApplePaySupported\", (function() {\n return isApplePaySupported;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentReady\", (function() {\n return isDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentInteractive\", (function() {\n return isDocumentInteractive;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlEncode\", (function() {\n return urlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForWindowReady\", (function() {\n return waitForWindowReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentReady\", (function() {\n return waitForDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentBody\", (function() {\n return waitForDocumentBody;\n }));\n __webpack_require__.d(__webpack_exports__, \"parseQuery\", (function() {\n return parseQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"getQueryParam\", (function() {\n return getQueryParam;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlWillRedirectPage\", (function() {\n return urlWillRedirectPage;\n }));\n __webpack_require__.d(__webpack_exports__, \"formatQuery\", (function() {\n return formatQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendQuery\", (function() {\n return extendQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendUrl\", (function() {\n return extendUrl;\n }));\n __webpack_require__.d(__webpack_exports__, \"redirect\", (function() {\n return redirect;\n }));\n __webpack_require__.d(__webpack_exports__, \"hasMetaViewPort\", (function() {\n return hasMetaViewPort;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementVisible\", (function() {\n return isElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPerformance\", (function() {\n return getPerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"enablePerformance\", (function() {\n return enablePerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPageRenderTime\", (function() {\n return getPageRenderTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"htmlEncode\", (function() {\n return htmlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"isBrowser\", (function() {\n return dom_isBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"querySelectorAll\", (function() {\n return querySelectorAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"onClick\", (function() {\n return onClick;\n }));\n __webpack_require__.d(__webpack_exports__, \"getScript\", (function() {\n return getScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"isLocalStorageEnabled\", (function() {\n return isLocalStorageEnabled;\n }));\n __webpack_require__.d(__webpack_exports__, \"getBrowserLocales\", (function() {\n return getBrowserLocales;\n }));\n __webpack_require__.d(__webpack_exports__, \"appendChild\", (function() {\n return appendChild;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElement\", (function() {\n return isElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElementSafe\", (function() {\n return getElementSafe;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElement\", (function() {\n return getElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"elementReady\", (function() {\n return elementReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"popup\", (function() {\n return popup;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeToWindow\", (function() {\n return writeToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeElementToWindow\", (function() {\n return writeElementToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setStyle\", (function() {\n return setStyle;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameLoad\", (function() {\n return awaitFrameLoad;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameWindow\", (function() {\n return awaitFrameWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"createElement\", (function() {\n return createElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"iframe\", (function() {\n return iframe;\n }));\n __webpack_require__.d(__webpack_exports__, \"addEventListener\", (function() {\n return addEventListener;\n }));\n __webpack_require__.d(__webpack_exports__, \"bindEvents\", (function() {\n return bindEvents;\n }));\n __webpack_require__.d(__webpack_exports__, \"setVendorCSS\", (function() {\n return setVendorCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"animate\", (function() {\n return animate;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementVisible\", (function() {\n return makeElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementInvisible\", (function() {\n return makeElementInvisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"showElement\", (function() {\n return showElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"hideElement\", (function() {\n return hideElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyElement\", (function() {\n return destroyElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"showAndAnimate\", (function() {\n return showAndAnimate;\n }));\n __webpack_require__.d(__webpack_exports__, \"animateAndHide\", (function() {\n return animateAndHide;\n }));\n __webpack_require__.d(__webpack_exports__, \"addClass\", (function() {\n return addClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeClass\", (function() {\n return removeClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementClosed\", (function() {\n return isElementClosed;\n }));\n __webpack_require__.d(__webpack_exports__, \"watchElementForClose\", (function() {\n return watchElementForClose;\n }));\n __webpack_require__.d(__webpack_exports__, \"fixScripts\", (function() {\n return fixScripts;\n }));\n __webpack_require__.d(__webpack_exports__, \"onResize\", (function() {\n return onResize;\n }));\n __webpack_require__.d(__webpack_exports__, \"getResourceLoadTime\", (function() {\n return getResourceLoadTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"isShadowElement\", (function() {\n return isShadowElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowRoot\", (function() {\n return getShadowRoot;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowHost\", (function() {\n return getShadowHost;\n }));\n __webpack_require__.d(__webpack_exports__, \"insertShadowSlot\", (function() {\n return insertShadowSlot;\n }));\n __webpack_require__.d(__webpack_exports__, \"preventClickFocus\", (function() {\n return preventClickFocus;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStackTrace\", (function() {\n return getStackTrace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScript\", (function() {\n return getCurrentScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScriptUID\", (function() {\n return getCurrentScriptUID;\n }));\n __webpack_require__.d(__webpack_exports__, \"experiment\", (function() {\n return experiment;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobalNameSpace\", (function() {\n return getGlobalNameSpace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStorage\", (function() {\n return getStorage;\n }));\n __webpack_require__.d(__webpack_exports__, \"getFunctionName\", (function() {\n return getFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"setFunctionName\", (function() {\n return setFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64encode\", (function() {\n return base64encode;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64decode\", (function() {\n return base64decode;\n }));\n __webpack_require__.d(__webpack_exports__, \"uniqueID\", (function() {\n return uniqueID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobal\", (function() {\n return getGlobal;\n }));\n __webpack_require__.d(__webpack_exports__, \"getObjectID\", (function() {\n return getObjectID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getEmptyObject\", (function() {\n return getEmptyObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoize\", (function() {\n return memoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseIdentity\", (function() {\n return promiseIdentity;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizePromise\", (function() {\n return memoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"promisify\", (function() {\n return promisify;\n }));\n __webpack_require__.d(__webpack_exports__, \"inlineMemoize\", (function() {\n return inlineMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"noop\", (function() {\n return src_util_noop;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return once;\n }));\n __webpack_require__.d(__webpack_exports__, \"hashStr\", (function() {\n return hashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"strHashStr\", (function() {\n return strHashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"match\", (function() {\n return match;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitKey\", (function() {\n return awaitKey;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyError\", (function() {\n return stringifyError;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyErrorMessage\", (function() {\n return stringifyErrorMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringify\", (function() {\n return stringify;\n }));\n __webpack_require__.d(__webpack_exports__, \"domainMatches\", (function() {\n return domainMatches;\n }));\n __webpack_require__.d(__webpack_exports__, \"patchMethod\", (function() {\n return patchMethod;\n }));\n __webpack_require__.d(__webpack_exports__, \"extend\", (function() {\n return extend;\n }));\n __webpack_require__.d(__webpack_exports__, \"values\", (function() {\n return util_values;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizedValues\", (function() {\n return memoizedValues;\n }));\n __webpack_require__.d(__webpack_exports__, \"perc\", (function() {\n return perc;\n }));\n __webpack_require__.d(__webpack_exports__, \"min\", (function() {\n return min;\n }));\n __webpack_require__.d(__webpack_exports__, \"max\", (function() {\n return max;\n }));\n __webpack_require__.d(__webpack_exports__, \"roundUp\", (function() {\n return roundUp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexMap\", (function() {\n return regexMap;\n }));\n __webpack_require__.d(__webpack_exports__, \"svgToBase64\", (function() {\n return svgToBase64;\n }));\n __webpack_require__.d(__webpack_exports__, \"objFilter\", (function() {\n return objFilter;\n }));\n __webpack_require__.d(__webpack_exports__, \"identity\", (function() {\n return identity;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexTokenize\", (function() {\n return regexTokenize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseDebounce\", (function() {\n return promiseDebounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeInterval\", (function() {\n return safeInterval;\n }));\n __webpack_require__.d(__webpack_exports__, \"isInteger\", (function() {\n return isInteger;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFloat\", (function() {\n return isFloat;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializePrimitive\", (function() {\n return serializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializePrimitive\", (function() {\n return deserializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"dotify\", (function() {\n return dotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"undotify\", (function() {\n return undotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"eventEmitter\", (function() {\n return eventEmitter;\n }));\n __webpack_require__.d(__webpack_exports__, \"camelToDasherize\", (function() {\n return camelToDasherize;\n }));\n __webpack_require__.d(__webpack_exports__, \"dasherizeToCamel\", (function() {\n return dasherizeToCamel;\n }));\n __webpack_require__.d(__webpack_exports__, \"capitalizeFirstLetter\", (function() {\n return capitalizeFirstLetter;\n }));\n __webpack_require__.d(__webpack_exports__, \"get\", (function() {\n return util_get;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeTimeout\", (function() {\n return safeTimeout;\n }));\n __webpack_require__.d(__webpack_exports__, \"defineLazyProp\", (function() {\n return defineLazyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"arrayFrom\", (function() {\n return arrayFrom;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObject\", (function() {\n return isObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObjectObject\", (function() {\n return isObjectObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPlainObject\", (function() {\n return isPlainObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"replaceObject\", (function() {\n return replaceObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"copyProp\", (function() {\n return copyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regex\", (function() {\n return regex;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexAll\", (function() {\n return regexAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDefined\", (function() {\n return isDefined;\n }));\n __webpack_require__.d(__webpack_exports__, \"cycle\", (function() {\n return cycle;\n }));\n __webpack_require__.d(__webpack_exports__, \"debounce\", (function() {\n return debounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"isRegex\", (function() {\n return util_isRegex;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoize\", (function() {\n return util_weakMapMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoizePromise\", (function() {\n return util_weakMapMemoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"getOrSet\", (function() {\n return getOrSet;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanup\", (function() {\n return cleanup;\n }));\n __webpack_require__.d(__webpack_exports__, \"tryCatch\", (function() {\n return tryCatch;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeFromArray\", (function() {\n return removeFromArray;\n }));\n __webpack_require__.d(__webpack_exports__, \"assertExists\", (function() {\n return assertExists;\n }));\n __webpack_require__.d(__webpack_exports__, \"unique\", (function() {\n return unique;\n }));\n __webpack_require__.d(__webpack_exports__, \"constHas\", (function() {\n return constHas;\n }));\n __webpack_require__.d(__webpack_exports__, \"dedupeErrors\", (function() {\n return dedupeErrors;\n }));\n __webpack_require__.d(__webpack_exports__, \"ExtendableError\", (function() {\n return util_ExtendableError;\n }));\n __webpack_require__.d(__webpack_exports__, \"request\", (function() {\n return request;\n }));\n __webpack_require__.d(__webpack_exports__, \"addHeaderBuilder\", (function() {\n return addHeaderBuilder;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return types_TYPES;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoized\", (function() {\n return memoized;\n }));\n __webpack_require__.d(__webpack_exports__, \"promise\", (function() {\n return decorators_promise;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPerc\", (function() {\n return isPerc;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPx\", (function() {\n return isPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toNum\", (function() {\n return toNum;\n }));\n __webpack_require__.d(__webpack_exports__, \"toPx\", (function() {\n return toPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toCSS\", (function() {\n return toCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"percOf\", (function() {\n return percOf;\n }));\n __webpack_require__.d(__webpack_exports__, \"normalizeDimension\", (function() {\n return normalizeDimension;\n }));\n __webpack_require__.d(__webpack_exports__, \"wrapPromise\", (function() {\n return wrapPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"KEY_CODES\", (function() {\n return KEY_CODES;\n }));\n __webpack_require__.d(__webpack_exports__, \"ATTRIBUTES\", (function() {\n return ATTRIBUTES;\n }));\n __webpack_require__.d(__webpack_exports__, \"iPhoneScreenHeightMatrix\", (function() {\n return iPhoneScreenHeightMatrix;\n }));\n var iPhoneScreenHeightMatrix = {\n 926: {\n device: \"iPhone 12 Pro Max\",\n textSizeHeights: [ 752, 748, 744, 738 ],\n zoomHeight: {\n 1.15: [ 752, 747, 744, 738 ],\n 1.25: [ 753, 748, 744, 738 ],\n 1.5: [ 752, 749, 744, 738 ],\n 1.75: [ 753, 747, 744, 739 ],\n 2: [ 752, 748, 744 ],\n 2.5: [ 753, 748 ],\n 3: [ 753, 744 ]\n },\n maybeSafari: {\n 2: [ 738 ],\n 2.5: [ 745, 738 ],\n 3: [ 747, 738 ]\n }\n },\n 896: {\n device: \"iPhone XS Max, iPhone 11 Pro Max, iPhone XR, iPhone 11\",\n textSizeHeights: [ 721, 717, 713, 707 ],\n zoomHeight: {\n 1.15: [ 721, 716, 713, 707 ],\n 1.25: [ 721, 718, 713, 708 ],\n 1.5: [ 722, 717, 713 ],\n 1.75: [ 721, 718, 712, 707 ],\n 2: [ 722, 718, 714, 708 ],\n 2.5: [ 720, 718, 713, 708 ],\n 3: [ 720, 717, 708 ]\n },\n maybeSafari: {\n 1.5: [ 707 ],\n 3: [ 714 ]\n }\n },\n 844: {\n device: \"iPhone 12, iPhone 12 Pro\",\n textSizeHeights: [ 670, 666, 662, 656 ],\n zoomHeight: {\n 1.15: [ 670, 666, 662 ],\n 1.25: [ 670, 666, 663, 656 ],\n 1.5: [ 671, 666, 662 ],\n 1.75: [ 670, 667, 662, 656 ],\n 2: [ 670, 666, 662 ],\n 2.5: [ 670, 663 ],\n 3: [ 669, 666, 663, 657 ]\n },\n maybeSafari: {\n 1.15: [ 656 ],\n 1.5: [ 656 ],\n 2: [ 656 ],\n 2.5: [ 665, 655 ],\n 3: [ 663 ]\n }\n },\n 812: {\n device: \"iPhone X, iPhone XS, iPhone 11 Pro, iPhone 12 Mini\",\n textSizeHeights: [ 641, 637, 633, 627 ],\n zoomHeight: {\n 1.15: [ 641, 637, 633, 627 ],\n 1.25: [ 641, 638, 633, 628 ],\n 1.5: [ 641, 638, 633, 627 ],\n 1.75: [ 641, 637, 634 ],\n 2: [ 642, 638, 634, 628 ],\n 2.5: [ 640, 638, 633, 628 ],\n 3: [ 642, 633 ]\n },\n maybeSafari: {\n 1.75: [ 627 ],\n 3: [ 636, 627 ]\n }\n },\n 736: {\n device: \"iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus\",\n textSizeHeights: [ 628, 624, 620, 614 ],\n zoomHeight: {\n 1.15: [ 628, 624, 620, 614 ],\n 1.25: [ 628, 624, 620, 614 ],\n 1.5: [ 629, 624, 620 ],\n 1.75: [ 628, 625, 620, 614 ],\n 2: [ 628, 624, 620 ],\n 2.5: [ 628, 625, 620, 615 ],\n 3: [ 627, 624, 615 ]\n },\n maybeSafari: {\n 1.5: [ 614 ],\n 2: [ 614 ],\n 3: [ 621 ]\n }\n },\n 667: {\n device: \"iPhone 6, iPhone 6S, iPhone 7, iPhone 8, iPhone SE2\",\n textSizeHeights: [ 559, 555, 551, 545 ],\n zoomHeight: {\n 1.15: [ 559, 555, 551, 545 ],\n 1.25: [ 559, 555, 551, 545 ],\n 1.5: [ 560, 555, 551 ],\n 1.75: [ 558, 555, 551 ],\n 2: [ 560, 556, 552, 546 ],\n 2.5: [ 560, 555, 550 ],\n 3: [ 558, 555, 546 ]\n },\n maybeSafari: {\n 1.5: [ 545 ],\n 1.75: [ 544 ],\n 2.5: [ 545 ],\n 3: [ 552 ]\n }\n }\n };\n function getUserAgent() {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n }\n function isDevice(userAgent) {\n void 0 === userAgent && (userAgent = getUserAgent());\n return !!userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i);\n }\n function isWebView() {\n var userAgent = getUserAgent();\n return /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i.test(userAgent) || /\\bwv\\b/.test(userAgent) || /Android.*Version\\/(\\d)\\.(\\d)/i.test(userAgent);\n }\n function isStandAlone() {\n return !0 === window.navigator.standalone || window.matchMedia(\"(display-mode: standalone)\").matches;\n }\n function isFacebookWebView(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FBAN/.test(ua) || /FBAV/.test(ua);\n }\n function isFirefoxIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FxiOS/i.test(ua);\n }\n function isEdgeIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /EdgiOS/i.test(ua);\n }\n function isOperaMini(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Opera Mini/i.test(ua);\n }\n function isAndroid(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Android/.test(ua);\n }\n function isIos(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /iPhone|iPod|iPad/.test(ua);\n }\n function isGoogleSearchApp(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /\\bGSA\\b/.test(ua);\n }\n function isQQBrowser(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /QQBrowser/.test(ua);\n }\n function isIosWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isIos(ua) && (!!isGoogleSearchApp(ua) || /.+AppleWebKit(?!.*Safari)|.*WKWebView/.test(ua));\n }\n function isSFVC(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n return scale > 1 && device.zoomHeight[scale] ? -1 !== device.zoomHeight[scale].indexOf(computedHeight) : -1 !== device.textSizeHeights.indexOf(computedHeight);\n }\n return !1;\n }\n function isSFVCorSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var sfvc = isSFVC(ua);\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n var possibleSafariSizes = device.maybeSafari;\n var maybeSafari = !1;\n scale > 1 && possibleSafariSizes[scale] && -1 !== possibleSafariSizes[scale].indexOf(computedHeight) && (maybeSafari = !0);\n return sfvc || maybeSafari;\n }\n return !1;\n }\n function isAndroidWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isAndroid(ua) && /Version\\/[\\d.]+/.test(ua) && !isOperaMini(ua);\n }\n function device_isIE() {\n return !!window.document.documentMode || Boolean(window.navigator && window.navigator.userAgent && /Edge|MSIE|rv:11/i.test(window.navigator.userAgent));\n }\n function isIECompHeader() {\n var mHttp = window.document.querySelector('meta[http-equiv=\"X-UA-Compatible\"]');\n var mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n return !(!mHttp || !mContent);\n }\n function isElectron() {\n return !(\"undefined\" == typeof process || !process.versions || !process.versions.electron);\n }\n function isIEIntranet() {\n if (window.document.documentMode) try {\n var status = window.status;\n window.status = \"testIntranetMode\";\n if (\"testIntranetMode\" === window.status) {\n window.status = status;\n return !0;\n }\n return !1;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n function isMacOsCna() {\n var userAgent = getUserAgent();\n return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent);\n }\n function supportsPopups(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) || isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone());\n }\n function isChrome(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Chrome|Chromium|CriOS/.test(ua);\n }\n function isSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Safari/.test(ua) && !isChrome(ua);\n }\n function isApplePaySupported() {\n try {\n if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && window.ApplePaySession.canMakePayments()) return !0;\n } catch (e) {\n return !1;\n }\n return !1;\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = function(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function base64decode(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n function getGlobal() {\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"No global found\");\n }\n var objectIDs;\n function getObjectID(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + getObjectID(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function promiseIdentity(item) {\n return promise_ZalgoPromise.resolve(item);\n }\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function promisify(method, options) {\n void 0 === options && (options = {});\n function promisifiedFunction() {\n return promise_ZalgoPromise.try(method, this, arguments);\n }\n options.name && (promisifiedFunction.displayName = options.name + \":promisified\");\n return setFunctionName(promisifiedFunction, getFunctionName(method) + \"::promisified\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function hashStr(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) hash += str[i].charCodeAt(0) * Math.pow(i % 10 + 1, 5);\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n }\n function strHashStr(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }\n function match(str, pattern) {\n var regmatch = str.match(pattern);\n if (regmatch) return regmatch[1];\n }\n function awaitKey(obj, key) {\n return new promise_ZalgoPromise((function(resolve) {\n var value = obj[key];\n if (value) return resolve(value);\n delete obj[key];\n Object.defineProperty(obj, key, {\n configurable: !0,\n set: function(item) {\n (value = item) && resolve(value);\n },\n get: function() {\n return value;\n }\n });\n }));\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringifyErrorMessage(err) {\n var defaultMessage = \"<unknown error: \" + {}.toString.call(err) + \">\";\n return err ? err instanceof Error ? err.message || defaultMessage : \"string\" == typeof err.message && err.message || defaultMessage : defaultMessage;\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function domainMatches(hostname, domain) {\n var index = (hostname = hostname.split(\"://\")[1]).indexOf(domain);\n return -1 !== index && hostname.slice(index) === domain;\n }\n function patchMethod(obj, name, handler) {\n var original = obj[name];\n obj[name] = function() {\n var _arguments2 = arguments, _this2 = this;\n return handler({\n context: this,\n args: [].slice.call(arguments),\n original: original,\n callOriginal: function() {\n return original.apply(_this2, _arguments2);\n }\n });\n };\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n var util_values = function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n };\n var memoizedValues = memoize(util_values);\n function perc(pixels, percentage) {\n return Math.round(pixels * percentage / 100);\n }\n function min() {\n return Math.min.apply(Math, arguments);\n }\n function max() {\n return Math.max.apply(Math, arguments);\n }\n function roundUp(num, nearest) {\n var remainder = num % nearest;\n return remainder ? num - remainder + nearest : num;\n }\n function regexMap(str, regexp, handler) {\n var results = [];\n str.replace(regexp, (function(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n }));\n return results;\n }\n function svgToBase64(svg) {\n return \"data:image/svg+xml;base64,\" + base64encode(svg);\n }\n function objFilter(obj, filter) {\n void 0 === filter && (filter = Boolean);\n var result = {};\n for (var key in obj) obj.hasOwnProperty(key) && filter(obj[key], key) && (result[key] = obj[key]);\n return result;\n }\n function identity(item) {\n return item;\n }\n function regexTokenize(text, regexp) {\n var result = [];\n text.replace(regexp, (function(token) {\n result.push(token);\n return \"\";\n }));\n return result;\n }\n function promiseDebounce(method, delay) {\n void 0 === delay && (delay = 50);\n var promise;\n var timeout;\n return setFunctionName((function() {\n timeout && clearTimeout(timeout);\n var localPromise = promise = promise || new promise_ZalgoPromise;\n timeout = setTimeout((function() {\n promise = null;\n timeout = null;\n promise_ZalgoPromise.try(method).then((function(result) {\n localPromise.resolve(result);\n }), (function(err) {\n localPromise.reject(err);\n }));\n }), delay);\n return localPromise;\n }), getFunctionName(method) + \"::promiseDebounced\");\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function isInteger(str) {\n return Boolean(str.match(/^[0-9]+$/));\n }\n function isFloat(str) {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n }\n function serializePrimitive(value) {\n return value.toString();\n }\n function deserializePrimitive(value) {\n return \"true\" === value || \"false\" !== value && (isInteger(value) ? parseInt(value, 10) : isFloat(value) ? parseFloat(value) : value);\n }\n function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = serializePrimitive(obj[key]));\n return newobj;\n }\n function undotify(obj) {\n var result = {};\n for (var key in obj) if (obj.hasOwnProperty(key) && \"string\" == typeof obj[key]) {\n var value = obj[key];\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(\",\").map(deserializePrimitive);\n } else value = deserializePrimitive(value);\n var keyResult = result;\n var parts = key.split(\".\");\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var isLast = i + 1 === parts.length;\n var isIndex = !isLast && isInteger(parts[i + 1]);\n if (\"constructor\" === part || \"prototype\" === part || \"__proto__\" === part) throw new Error(\"Disallowed key: \" + part);\n isLast ? keyResult[part] = value : keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n return result;\n }\n function eventEmitter() {\n var triggered = {};\n var handlers = {};\n return {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n };\n }\n function camelToDasherize(string) {\n return string.replace(/([A-Z])/g, (function(g) {\n return \"-\" + g.toLowerCase();\n }));\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n }\n function util_get(item, path, def) {\n if (!path) return def;\n var pathParts = path.split(\".\");\n for (var i = 0; i < pathParts.length; i++) {\n if (\"object\" != typeof item || null === item) return def;\n item = item[pathParts[i]];\n }\n return void 0 === item ? def : item;\n }\n function safeTimeout(method, time) {\n var interval = safeInterval((function() {\n if ((time -= 100) <= 0) {\n interval.cancel();\n method();\n }\n }), 100);\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObject(item) {\n return \"object\" == typeof item && null !== item;\n }\n function isObjectObject(obj) {\n return isObject(obj) && \"[object Object]\" === {}.toString.call(obj);\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function copyProp(source, target, name, def) {\n if (source.hasOwnProperty(name)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, name);\n Object.defineProperty(target, name, descriptor);\n } else target[name] = def;\n }\n function regex(pattern, string, start) {\n void 0 === start && (start = 0);\n \"string\" == typeof pattern && (pattern = new RegExp(pattern));\n var result = string.slice(start).match(pattern);\n if (result) {\n var index = result.index;\n var regmatch = result[0];\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n replace: function(text) {\n return regmatch ? \"\" + regmatch.slice(0, start + index) + text + regmatch.slice(index + regmatch.length) : \"\";\n }\n };\n }\n }\n function regexAll(pattern, string) {\n var matches = [];\n var start = 0;\n for (;;) {\n var regmatch = regex(pattern, string, start);\n if (!regmatch) break;\n matches.push(regmatch);\n start = match.end;\n }\n return matches;\n }\n function isDefined(value) {\n return null != value;\n }\n function cycle(method) {\n return promise_ZalgoPromise.try(method).then((function() {\n return cycle(method);\n }));\n }\n function debounce(method, time) {\n void 0 === time && (time = 100);\n var timeout;\n return setFunctionName((function() {\n var _arguments3 = arguments, _this3 = this;\n clearTimeout(timeout);\n timeout = setTimeout((function() {\n return method.apply(_this3, _arguments3);\n }), time);\n }), getFunctionName(method) + \"::debounced\");\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var util_weakMapMemoize = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this4 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this4, arg);\n }));\n };\n };\n var util_weakMapMemoizePromise = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this5 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this5, arg).finally((function() {\n weakmap.delete(arg);\n }));\n }));\n };\n };\n function getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function tryCatch(fn) {\n var result;\n var error;\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n return {\n result: result,\n error: error\n };\n }\n function removeFromArray(arr, item) {\n var index = arr.indexOf(item);\n -1 !== index && arr.splice(index, 1);\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n function unique(arr) {\n var result = {};\n for (var _i4 = 0; _i4 < arr.length; _i4++) result[arr[_i4]] = !0;\n return Object.keys(result);\n }\n var constHas = function(constant, value) {\n return -1 !== memoizedValues(constant).indexOf(value);\n };\n function dedupeErrors(handler) {\n var seenErrors = [];\n var seenStringifiedErrors = {};\n return function(err) {\n if (-1 === seenErrors.indexOf(err)) {\n seenErrors.push(err);\n var stringifiedError = stringifyError(err);\n if (!seenStringifiedErrors[stringifiedError]) {\n seenStringifiedErrors[stringifiedError] = !0;\n return handler(err);\n }\n }\n };\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n var KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n };\n var ATTRIBUTES = {\n UID: \"data-uid\"\n };\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n function waitForWindowReady() {\n return inlineMemoize(waitForWindowReady, (function() {\n return new promise_ZalgoPromise((function(resolve) {\n isDocumentReady() && resolve();\n window.addEventListener(\"load\", (function() {\n return resolve();\n }));\n }));\n }));\n }\n var waitForDocumentReady = memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function waitForDocumentBody() {\n return promise_ZalgoPromise.try((function() {\n return document.body ? document.body : waitForDocumentReady().then((function() {\n if (document.body) return document.body;\n throw new Error(\"Document ready but document.body not present\");\n }));\n }));\n }\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function getQueryParam(name) {\n return parseQuery(window.location.search.slice(1))[name];\n }\n function urlWillRedirectPage(url) {\n return -1 === url.indexOf(\"#\") || 0 !== url.indexOf(\"#\") && url.split(\"#\")[0] !== window.location.href.split(\"#\")[0];\n }\n function formatQuery(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? formatQuery(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function extendUrl(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }\n function redirect(url, win) {\n void 0 === win && (win = window);\n return new promise_ZalgoPromise((function(resolve) {\n win.location = url;\n urlWillRedirectPage(url) || resolve();\n }));\n }\n function hasMetaViewPort() {\n var meta = document.querySelector(\"meta[name=viewport]\");\n return !(isDevice() && window.screen.width < 660 && !meta);\n }\n function isElementVisible(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }\n function getPerformance() {\n return inlineMemoize(getPerformance, (function() {\n var performance = window.performance;\n if (performance && performance.now && performance.timing && performance.timing.connectEnd && performance.timing.navigationStart && Math.abs(performance.now() - Date.now()) > 1e3 && performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart) > 0) return performance;\n }));\n }\n function enablePerformance() {\n return Boolean(getPerformance());\n }\n function getPageRenderTime() {\n return waitForDocumentReady().then((function() {\n var performance = getPerformance();\n if (performance) {\n var timing = performance.timing;\n return timing.connectEnd && timing.domInteractive ? timing.domInteractive - timing.connectEnd : void 0;\n }\n }));\n }\n function htmlEncode(html) {\n void 0 === html && (html = \"\");\n return html.toString().replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\n }\n function dom_isBrowser() {\n return \"undefined\" != typeof window && void 0 !== window.location;\n }\n function querySelectorAll(selector, doc) {\n void 0 === doc && (doc = window.document);\n return [].slice.call(doc.querySelectorAll(selector));\n }\n function onClick(element, handler) {\n element.addEventListener(\"touchstart\", src_util_noop);\n element.addEventListener(\"click\", handler);\n element.addEventListener(\"keypress\", (function(event) {\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) return handler(event);\n }));\n }\n function getScript(_ref) {\n var _ref$host = _ref.host, host = void 0 === _ref$host ? window.location.host : _ref$host, path = _ref.path, _ref$reverse = _ref.reverse, reverse = void 0 !== _ref$reverse && _ref$reverse;\n return inlineMemoize(getScript, (function() {\n var url = \"\" + host + path;\n var scripts = [].slice.call(document.getElementsByTagName(\"script\"));\n reverse && scripts.reverse();\n for (var _i4 = 0; _i4 < scripts.length; _i4++) {\n var script = scripts[_i4];\n if (script.src && script.src.replace(/^https?:\\/\\//, \"\").split(\"?\")[0] === url) return script;\n }\n }), [ path ]);\n }\n function isLocalStorageEnabled() {\n return inlineMemoize(isLocalStorageEnabled, (function() {\n try {\n if (\"undefined\" == typeof window) return !1;\n if (window.localStorage) {\n var value = Math.random().toString();\n window.localStorage.setItem(\"__test__localStorage__\", value);\n var result = window.localStorage.getItem(\"__test__localStorage__\");\n window.localStorage.removeItem(\"__test__localStorage__\");\n if (value === result) return !0;\n }\n } catch (err) {}\n return !1;\n }));\n }\n function getBrowserLocales() {\n var nav = window.navigator;\n var locales = nav.languages ? [].concat(nav.languages) : [];\n nav.language && locales.push(nav.language);\n nav.userLanguage && locales.push(nav.userLanguage);\n return locales.map((function(locale) {\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n var _locale$split = locale.split(/[-_]/);\n return {\n country: _locale$split[1],\n lang: _locale$split[0]\n };\n }\n return locale && locale.match(/^[a-z]{2}$/) ? {\n lang: locale\n } : null;\n })).filter(Boolean);\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function getElement(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\n }\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n function popup(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }\n function writeToWindow(win, html) {\n try {\n win.document.open();\n win.document.write(html);\n win.document.close();\n } catch (err) {\n try {\n win.location = \"javascript: document.open(); document.write(\" + JSON.stringify(html) + \"); document.close();\";\n } catch (err2) {}\n }\n }\n function writeElementToWindow(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }\n function setStyle(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function createElement(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && setStyle(element, options.styleSheet);\n container && appendChild(container, element);\n if (options.html) if (\"iframe\" === tag) {\n if (!container || !element.contentWindow) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n writeToWindow(element.contentWindow, options.html);\n } else element.innerHTML = options.html;\n return element;\n }\n function iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = createElement(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && getElement(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function bindEvents(element, eventNames, handler) {\n handler = once(handler);\n for (var _i12 = 0; _i12 < eventNames.length; _i12++) element.addEventListener(eventNames[_i12], handler);\n return {\n cancel: once((function() {\n for (var _i14 = 0; _i14 < eventNames.length; _i14++) element.removeEventListener(eventNames[_i14], handler);\n }))\n };\n }\n var VENDOR_PREFIXES = [ \"webkit\", \"moz\", \"ms\", \"o\" ];\n function setVendorCSS(element, name, value) {\n element.style[name] = value;\n var capitalizedName = capitalizeFirstLetter(name);\n for (var _i16 = 0; _i16 < VENDOR_PREFIXES.length; _i16++) element.style[\"\" + VENDOR_PREFIXES[_i16] + capitalizedName] = value;\n }\n var ANIMATION_START_EVENTS = [ \"animationstart\", \"webkitAnimationStart\", \"oAnimationStart\", \"MSAnimationStart\" ];\n var ANIMATION_END_EVENTS = [ \"animationend\", \"webkitAnimationEnd\", \"oAnimationEnd\", \"MSAnimationEnd\" ];\n function animate(element, name, clean, timeout) {\n void 0 === timeout && (timeout = 1e3);\n return new promise_ZalgoPromise((function(resolve, reject) {\n var el = getElement(element);\n if (!el) return resolve();\n var hasStarted = !1;\n var startTimeout;\n var endTimeout;\n var startEvent;\n var endEvent;\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n clearTimeout(startTimeout);\n event.stopPropagation();\n startEvent.cancel();\n hasStarted = !0;\n endTimeout = setTimeout((function() {\n cleanUp();\n resolve();\n }), timeout);\n }\n }));\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n cleanUp();\n return \"string\" == typeof event.animationName && event.animationName !== name ? reject(\"Expected animation name to be \" + name + \", found \" + event.animationName) : resolve();\n }\n }));\n setVendorCSS(el, \"animationName\", name);\n startTimeout = setTimeout((function() {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }), 200);\n clean && clean(cleanUp);\n }));\n }\n function makeElementVisible(element) {\n element.style.setProperty(\"visibility\", \"\");\n }\n function makeElementInvisible(element) {\n element.style.setProperty(\"visibility\", \"hidden\", \"important\");\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function showAndAnimate(element, name, clean) {\n var animation = animate(element, name, clean);\n showElement(element);\n return animation;\n }\n function animateAndHide(element, name, clean) {\n return animate(element, name, clean).then((function() {\n hideElement(element);\n }));\n }\n function addClass(element, name) {\n element.classList.add(name);\n }\n function removeClass(element, name) {\n element.classList.remove(name);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function watchElementForClose(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = function(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }\n function fixScripts(el, doc) {\n void 0 === doc && (doc = window.document);\n for (var _i20 = 0, _querySelectorAll2 = querySelectorAll(\"script\", el); _i20 < _querySelectorAll2.length; _i20++) {\n var script = _querySelectorAll2[_i20];\n var parentNode = script.parentNode;\n if (parentNode) {\n var newScript = doc.createElement(\"script\");\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n }\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && isElementVisible(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function getResourceLoadTime(url) {\n var performance = getPerformance();\n if (performance && \"function\" == typeof performance.getEntries) {\n var entries = performance.getEntries();\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i];\n if (entry && entry.name && 0 === entry.name.indexOf(url) && \"number\" == typeof entry.duration) return Math.floor(entry.duration);\n }\n }\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n function getShadowRoot(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }\n function getShadowHost(element) {\n var shadowRoot = getShadowRoot(element);\n if (shadowRoot.host) return shadowRoot.host;\n }\n function insertShadowSlot(element) {\n var shadowHost = getShadowHost(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }\n function preventClickFocus(el) {\n var onFocus = function onFocus(event) {\n el.removeEventListener(\"focus\", onFocus);\n event.preventDefault();\n el.blur();\n return !1;\n };\n el.addEventListener(\"mousedown\", (function() {\n el.addEventListener(\"focus\", onFocus);\n setTimeout((function() {\n el.removeEventListener(\"focus\", onFocus);\n }), 1);\n }));\n }\n function getStackTrace() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = getStackTrace();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n var getCurrentScriptUID = memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(ATTRIBUTES.UID);\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(ATTRIBUTES.UID + \"-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(ATTRIBUTES.UID + \"-auto\", uid);\n return uid;\n }));\n function getStorage(_ref) {\n var name = _ref.name, _ref$lifetime = _ref.lifetime, lifetime = void 0 === _ref$lifetime ? 12e5 : _ref$lifetime;\n return inlineMemoize(getStorage, (function() {\n var STORAGE_KEY = \"__\" + name + \"_storage__\";\n var newStateID = uniqueID();\n var accessedStorage;\n function getState(handler) {\n var localStorageEnabled = isLocalStorageEnabled();\n var storage;\n accessedStorage && (storage = accessedStorage);\n if (!storage && localStorageEnabled) {\n var rawStorage = window.localStorage.getItem(STORAGE_KEY);\n rawStorage && (storage = JSON.parse(rawStorage));\n }\n storage || (storage = getGlobal()[STORAGE_KEY]);\n storage || (storage = {\n id: newStateID\n });\n storage.id || (storage.id = newStateID);\n accessedStorage = storage;\n var result = handler(storage);\n localStorageEnabled ? window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage)) : getGlobal()[STORAGE_KEY] = storage;\n accessedStorage = null;\n return result;\n }\n function getID() {\n return getState((function(storage) {\n return storage.id;\n }));\n }\n function getSession(handler) {\n return getState((function(storage) {\n var session = storage.__session__;\n var now = Date.now();\n session && now - session.created > lifetime && (session = null);\n session || (session = {\n guid: uniqueID(),\n created: now\n });\n storage.__session__ = session;\n return handler(session);\n }));\n }\n return {\n getState: getState,\n getID: getID,\n isStateFresh: function() {\n return getID() === newStateID;\n },\n getSessionState: function(handler) {\n return getSession((function(session) {\n session.state = session.state || {};\n return handler(session.state);\n }));\n },\n getSessionID: function() {\n return getSession((function(session) {\n return session.guid;\n }));\n }\n };\n }), [ {\n name: name,\n lifetime: lifetime\n } ]);\n }\n function getBelterExperimentStorage() {\n return getStorage({\n name: \"belter_experiment\"\n });\n }\n function isEventUnique(name) {\n return getBelterExperimentStorage().getSessionState((function(state) {\n state.loggedBeacons = state.loggedBeacons || [];\n if (-1 === state.loggedBeacons.indexOf(name)) {\n state.loggedBeacons.push(name);\n return !0;\n }\n return !1;\n }));\n }\n function getRandomInteger(range) {\n return Math.floor(Math.random() * range);\n }\n function experiment(_ref) {\n var name = _ref.name, _ref$sample = _ref.sample, sample = void 0 === _ref$sample ? 50 : _ref$sample, _ref$logTreatment = _ref.logTreatment, logTreatment = void 0 === _ref$logTreatment ? src_util_noop : _ref$logTreatment, _ref$logCheckpoint = _ref.logCheckpoint, logCheckpoint = void 0 === _ref$logCheckpoint ? src_util_noop : _ref$logCheckpoint, _ref$sticky = _ref.sticky;\n var throttle = void 0 === _ref$sticky || _ref$sticky ? function(name) {\n return getBelterExperimentStorage().getState((function(state) {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] = state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n }));\n }(name) : getRandomInteger(100);\n var group;\n var treatment = name + \"_\" + (group = throttle < sample ? \"test\" : sample >= 50 || sample <= throttle && throttle < 2 * sample ? \"control\" : \"throttle\");\n var started = !1;\n var forced = !1;\n try {\n window.localStorage && window.localStorage.getItem(name) && (forced = !0);\n } catch (err) {}\n return {\n isEnabled: function() {\n return \"test\" === group || forced;\n },\n isDisabled: function() {\n return \"test\" !== group && !forced;\n },\n getTreatment: function() {\n return treatment;\n },\n log: function(checkpoint, payload) {\n void 0 === payload && (payload = {});\n if (!started) return this;\n isEventUnique(treatment + \"_\" + JSON.stringify(payload)) && logTreatment({\n name: name,\n treatment: treatment,\n payload: payload,\n throttle: throttle\n });\n isEventUnique(treatment + \"_\" + checkpoint + \"_\" + JSON.stringify(payload)) && logCheckpoint({\n name: name,\n treatment: treatment,\n checkpoint: checkpoint,\n payload: payload,\n throttle: throttle\n });\n return this;\n },\n logStart: function(payload) {\n void 0 === payload && (payload = {});\n started = !0;\n return this.log(\"start\", payload);\n },\n logComplete: function(payload) {\n void 0 === payload && (payload = {});\n return this.log(\"complete\", payload);\n }\n };\n }\n function getGlobalNameSpace(_ref) {\n var name = _ref.name, _ref$version = _ref.version, version = void 0 === _ref$version ? \"latest\" : _ref$version;\n var global = getGlobal();\n var globalKey = \"__\" + name + \"__\" + version + \"_global__\";\n var namespace = global[globalKey] = global[globalKey] || {};\n return {\n get: function(key, defValue) {\n defValue = defValue || {};\n return namespace[key] = namespace[key] || defValue;\n }\n };\n }\n var headerBuilders = [];\n function request(_ref) {\n var url = _ref.url, _ref$method = _ref.method, method = void 0 === _ref$method ? \"get\" : _ref$method, _ref$headers = _ref.headers, headers = void 0 === _ref$headers ? {} : _ref$headers, json = _ref.json, data = _ref.data, body = _ref.body, _ref$win = _ref.win, win = void 0 === _ref$win ? window : _ref$win, _ref$timeout = _ref.timeout, timeout = void 0 === _ref$timeout ? 0 : _ref$timeout;\n return new promise_ZalgoPromise((function(resolve, reject) {\n if (json && data || json && body || data && json) throw new Error(\"Only options.json or options.data or options.body should be passed\");\n var normalizedHeaders = {};\n for (var _i4 = 0, _Object$keys2 = Object.keys(headers); _i4 < _Object$keys2.length; _i4++) {\n var _key2 = _Object$keys2[_i4];\n normalizedHeaders[_key2.toLowerCase()] = headers[_key2];\n }\n json ? normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/json\" : (data || body) && (normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/x-www-form-urlencoded; charset=utf-8\");\n normalizedHeaders.accept = normalizedHeaders.accept || \"application/json\";\n for (var _i6 = 0; _i6 < headerBuilders.length; _i6++) {\n var builtHeaders = (0, headerBuilders[_i6])();\n for (var _i8 = 0, _Object$keys4 = Object.keys(builtHeaders); _i8 < _Object$keys4.length; _i8++) {\n var _key3 = _Object$keys4[_i8];\n normalizedHeaders[_key3.toLowerCase()] = builtHeaders[_key3];\n }\n }\n var xhr = new win.XMLHttpRequest;\n xhr.addEventListener(\"load\", (function() {\n var responseHeaders = function(rawHeaders) {\n void 0 === rawHeaders && (rawHeaders = \"\");\n var result = {};\n for (var _i2 = 0, _rawHeaders$trim$spli2 = rawHeaders.trim().split(\"\\n\"); _i2 < _rawHeaders$trim$spli2.length; _i2++) {\n var _line$split = _rawHeaders$trim$spli2[_i2].split(\":\"), _key = _line$split[0], values = _line$split.slice(1);\n result[_key.toLowerCase()] = values.join(\":\").trim();\n }\n return result;\n }(this.getAllResponseHeaders());\n if (!this.status) return reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: no response status code.\"));\n var contentType = responseHeaders[\"content-type\"];\n var isJSON = contentType && (0 === contentType.indexOf(\"application/json\") || 0 === contentType.indexOf(\"text/json\"));\n var responseBody = this.responseText;\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) return reject(new Error(\"Invalid json: \" + this.responseText + \".\"));\n }\n return resolve({\n status: this.status,\n headers: responseHeaders,\n body: responseBody\n });\n }), !1);\n xhr.addEventListener(\"error\", (function(evt) {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: \" + evt.toString() + \".\"));\n }), !1);\n xhr.open(method, url, !0);\n for (var _key4 in normalizedHeaders) normalizedHeaders.hasOwnProperty(_key4) && xhr.setRequestHeader(_key4, normalizedHeaders[_key4]);\n json ? body = JSON.stringify(json) : data && (body = Object.keys(data).map((function(key) {\n return encodeURIComponent(key) + \"=\" + (data ? encodeURIComponent(data[key]) : \"\");\n })).join(\"&\"));\n xhr.timeout = timeout;\n xhr.ontimeout = function() {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" has timed out\"));\n };\n xhr.send(body);\n }));\n }\n function addHeaderBuilder(method) {\n headerBuilders.push(method);\n }\n var types_TYPES = !0;\n function memoized(target, name, descriptor) {\n descriptor.value = memoize(descriptor.value, {\n name: name,\n thisNamespace: !0\n });\n }\n function decorators_promise(target, name, descriptor) {\n descriptor.value = promisify(descriptor.value, {\n name: name\n });\n }\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function isPx(str) {\n return \"string\" == typeof str && /^[0-9]+px$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function percOf(num, perc) {\n return parseInt(num * toNum(perc) / 100, 10);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return percOf(max, dim);\n if (isPx(dim)) return toNum(dim);\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function wrapPromise(method, _temp) {\n var _ref$timeout = (void 0 === _temp ? {} : _temp).timeout;\n var expected = [];\n var promises = [];\n var timer = setTimeout((function() {\n expected.length && promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + expected[0] + \" to be called\")));\n }), void 0 === _ref$timeout ? 5e3 : _ref$timeout);\n var expect = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n removeFromArray(expected, name);\n var _tryCatch = tryCatch((function() {\n var _fn;\n return (_fn = fn).call.apply(_fn, [ _this ].concat(args));\n })), result = _tryCatch.result, error = _tryCatch.error;\n if (error) {\n promises.push(promise_ZalgoPromise.asyncReject(error));\n throw error;\n }\n promises.push(promise_ZalgoPromise.resolve(result));\n return result;\n };\n };\n var avoid = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n return function() {\n var _fn2;\n promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + name + \" to not be called\")));\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return (_fn2 = fn).call.apply(_fn2, [ this ].concat(args));\n };\n };\n var expectError = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this2 = this;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n removeFromArray(expected, name);\n var _tryCatch2 = tryCatch((function() {\n var _fn3;\n return (_fn3 = fn).call.apply(_fn3, [ _this2 ].concat(args));\n })), result = _tryCatch2.result, error = _tryCatch2.error;\n if (error) throw error;\n promises.push(promise_ZalgoPromise.resolve(result).then((function() {\n throw new Error(\"Expected \" + name + \" to throw an error\");\n }), src_util_noop));\n return result;\n };\n };\n var wait = function wait() {\n return promise_ZalgoPromise.try((function() {\n if (promises.length) return promises.pop();\n })).then((function() {\n return promises.length ? wait() : expected.length ? promise_ZalgoPromise.delay(10).then(wait) : void 0;\n }));\n };\n promises.push(promise_ZalgoPromise.try((function() {\n return method({\n expect: expect,\n avoid: avoid,\n expectError: expectError,\n error: avoid,\n wait: wait\n });\n })));\n return wait().then((function() {\n clearTimeout(timer);\n }));\n }\n } ]);\n}));","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from './enums';\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n div.setAttribute('id', uid);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n display: block;\n position: relative;\n width: ${width};\n height: ${height};\n }\n #${uid} > iframe {\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n frame.allowPaymentRequest = 'true';\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","import postRobot from 'post-robot';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {containerTemplate} from '../container';\nimport {CardInputProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {transformStyle, validateComponentProps} from '../utils';\nimport {config} from '../config';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst CREATE_TOKEN_EVENT = 'CREATE_TOKEN';\n\nconst getCreateTokenFunction = (ref: any) => {\n if (ref.state?.__createToken) {\n return ref.state.__createToken;\n }\n if (ref.parent?.state?.__createToken) {\n return ref.parent.state.__createToken;\n }\n if (ref.state?.parent?.state?.__createToken) {\n return ref.state.parent.state.__createToken;\n }\n throw new Error('Index is not registered');\n};\n\nexport const createToken = async (\n component?: MoneiComponent<CardInputProps>,\n options?: any\n): Promise<{token?: string; error?: string}> => {\n const {data} = await getCreateTokenFunction(component)(options);\n return data;\n};\n\nconst options: ComponentOptionsType<CardInputProps> = {\n tag: 'monei-card-input',\n url: config.cardInputUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n alias: 'orderId'\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onBlur: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onEnter: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onChange: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onFocus: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n placeholders: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n errorMessages: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n },\n validate: validateComponentProps,\n containerTemplate: (params) => {\n params.state.__createToken = (data: any = {}) => {\n if (!params.frame) {\n throw new Error('CardInput instance is not registered');\n }\n return postRobot.send(params.frame.contentWindow, CREATE_TOKEN_EVENT, data, {\n domain: config.domain\n });\n };\n return containerTemplate(params);\n },\n prerenderTemplate: ({doc, props}) => {\n const html = doc.createElement('html');\n const body = doc.createElement('body');\n body.style.margin = '0';\n const div = doc.createElement('div');\n div.style.height = '36px';\n div.style.boxSizing = 'border-box';\n const style = props.style || props.innerStyle;\n if (style?.base) {\n Object.assign(div.style, transformStyle(style.base));\n }\n if (style?.loading) {\n Object.assign(div.style, transformStyle(style.loading));\n }\n body.appendChild(div);\n html.appendChild(body);\n return html;\n }\n};\n\nexport const CardInput: MoneiComponent<CardInputProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {ConfirmPaymentParams, PaymentModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {PaymentResult} from '../types';\nimport {containerTemplate} from '../container';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<PaymentModalProps> = {\n tag: 'monei-payment-modal',\n url: config.paymentModalUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n isOpen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: true\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n generatePaymentToken: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n fullscreen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n customer: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n paymentMethod: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n allowedPaymentMethods: {\n type: zoid.PROP_TYPE.ARRAY,\n required: false\n },\n customDomain: {\n type: zoid.PROP_TYPE.STRING,\n default: config.secureDomain,\n required: false\n },\n billingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n shippingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n onResult: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n }\n }\n};\n\nexport const PaymentModal: MoneiComponent<PaymentModalProps> = zoid.create(options);\n\nexport const confirmPayment = async (params: ConfirmPaymentParams) => {\n const rootNode = document.createElement('div');\n const bodyOverflow = document.body.style.overflow;\n document.body.appendChild(rootNode);\n return new Promise<PaymentResult>(async (resolve, reject) => {\n const modal = new PaymentModal({\n ...params,\n isOpen: true,\n onOpen: () => {\n Object.assign(document.body.style, {overflow: 'hidden'});\n Object.assign(rootNode.style, {\n position: 'fixed',\n overflow: 'hidden',\n display: 'block',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n height: '100%',\n zIndex: 99999\n });\n },\n onResult: (result: any) => {\n resolve(result);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n },\n onError: (error: any) => {\n reject(error);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n }\n });\n await modal.render(rootNode);\n });\n};\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {PayPalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {loadScript} from '../utils';\nimport {containerTemplate} from '../container';\nimport {createToken, getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst namespace = 'monei-paypal';\n\nconst onLoadPaypal = async (props: PayPalProps, state: any, src: string) => {\n await loadScript(src, props.cspNonce, {namespace, cspNonce: props.cspNonce});\n const defaultStyle = {\n layout: 'horizontal',\n tagline: false\n };\n props.onLoad?.(true);\n let token: string | undefined;\n await window[namespace]\n .Buttons({\n createOrder: async () => {\n try {\n const result = await createToken({\n paymentId: props.paymentId,\n accountId: props.accountId,\n sessionId: props.sessionId,\n amount: props.amount,\n currency: props.currency,\n paymentMethod: {\n paypal: {}\n }\n });\n token = result.paymentToken;\n return result.paypal?.orderId;\n } catch (error) {\n props.onError?.(error);\n return;\n }\n },\n onApprove: function (data: any) {\n if (data.orderID) {\n props.onSubmit({token});\n } else {\n props.onError?.(data);\n }\n },\n style: {...defaultStyle, ...props.style}\n })\n .render(state.__container);\n};\n\nconst options: ComponentOptionsType<PayPalProps> = {\n tag: namespace,\n url: config.paypalUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: (params) => {\n params.state.__container = params.container;\n if (!params.props.accountId && !params.props.paymentId) {\n throw new Error('You need to provide paymentId or accountId');\n }\n return containerTemplate(params);\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n cspNonce: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onLoadPayPal: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props, state}: {props: PayPalProps; state: any}) {\n return onLoadPaypal.bind(null, props, state);\n }\n }\n }\n};\n\nexport const PayPal: MoneiComponent<PayPalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {BizumModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<BizumModalProps> = {\n tag: 'monei-bizum',\n url: config.bizumUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const BizumModal: MoneiComponent<BizumModalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {BizumProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {BizumModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '..';\n\nexport * from './types';\nexport * from './modal';\n\nconst options: ComponentOptionsType<BizumProps> = {\n tag: 'monei-bizum-button',\n url: config.bizumButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency}: GetPaymentMethodsResponse) => {\n const bizumModal = new BizumModal({\n amount,\n currency,\n ...props,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => bizumModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return bizumModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Bizum: MoneiComponent<BizumProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisModalProps> = {\n tag: 'monei-cofidis',\n url: config.cofidisUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisModal: MoneiComponent<CofidisModalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisWidgetProps> = {\n tag: 'monei-cofidis-widget',\n url: config.cofidisWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisWidget: MoneiComponent<CofidisWidgetProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisProps> = {\n tag: 'monei-cofidis-button',\n url: config.cofidisButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n const cofidisModal = new CofidisModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Cofidis: MoneiComponent<CofidisProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisLoanModalProps> = {\n tag: 'monei-cofidis-loan',\n url: config.cofidisLoanUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisLoanModal: MoneiComponent<CofidisLoanModalProps> = zoid.create(options);\nexport const CofidisPayModal = CofidisLoanModal;\n","export enum NextActionType {\n CONFIRM = 'CONFIRM',\n FRICTIONLESS_CHALLENGE = 'FRICTIONLESS_CHALLENGE',\n BIZUM_CHALLENGE = 'BIZUM_CHALLENGE',\n CHALLENGE = 'CHALLENGE',\n COMPLETE = 'COMPLETE'\n}\n\nexport enum CardBrand {\n Visa = 'visa',\n Mastercard = 'mastercard',\n Amex = 'amex',\n Discover = 'discover',\n Diners = 'diners',\n JCB = 'jcb',\n Maestro = 'maestro',\n UnionPay = 'unionpay',\n Elo = 'elo',\n Hipercard = 'hipercard'\n}\n\nexport interface PaymentResult {\n id: string;\n status: string;\n orderId?: string;\n amount?: number;\n currency?: string;\n accountId?: string;\n statusCode?: string;\n statusMessage?: string;\n nextAction?: {\n type: NextActionType;\n mustRedirect: boolean;\n redirectUrl: string;\n };\n}\n\nexport interface Customer {\n email?: string;\n name?: string;\n phone?: string;\n}\n\nexport interface Address {\n country?: string;\n city?: string;\n line1?: string;\n line2?: string;\n zip?: string;\n state?: string;\n}\n\nexport interface BillingDetails {\n name?: string;\n email?: string;\n phone?: string;\n company?: string;\n address?: Address;\n}\n\nexport interface PaymentMethod {\n card?: {\n cardholderName?: string;\n cardholderEmail?: string;\n };\n}\n\nexport type GetPaymentMethodsRequest = {\n accountId?: string;\n paymentId?: string;\n t?: number;\n};\n\nexport type GetPaymentMethodsResponse = {\n paymentMethods: string[];\n livemode: boolean;\n accountId: string;\n amount?: number;\n currency?: string;\n merchantName?: string;\n merchantUrl?: string;\n countryCode?: string;\n metadata: {\n card: {\n brands: CardBrand[];\n };\n paypal?: {\n clientId: string;\n merchantId: string;\n };\n googlePay?: {\n merchantId: string;\n cvcRequired?: boolean;\n };\n applePay?: {\n merchantId: string;\n };\n clickToPay?: {\n tokenSupport: boolean;\n visa: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n mastercard: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n };\n };\n};\n\nexport type CreateTokenRequest = {\n accountId?: string;\n paymentId?: string;\n sessionId?: string;\n amount?: number;\n currency?: string;\n paymentMethod: {\n card?: {\n number: string;\n expMonth: string;\n expYear: string;\n cvc: string;\n };\n paypal?: {};\n cofidis?: {};\n googlePay?: {\n token: string;\n };\n applePay?: {\n token: string;\n };\n bizum?: {\n phoneNumber: string;\n keypad?: string;\n };\n clickToPay?: {\n token: string;\n cardBrand: string;\n };\n };\n};\n\nexport type CreateTokenResponse = {\n paymentToken?: string;\n error?: string;\n paypal?: {\n orderId: string;\n };\n};\n\nexport type CreatePaymentRequest = {\n accountId: string;\n pointOfSaleId: string;\n amount: number;\n currency: string;\n signature: string;\n};\n\nexport type SendPaymentReceiptRequest = {\n paymentId: string;\n signature: string;\n customerEmail?: string;\n language?: string;\n};\n\nexport type CreateApplePaySessionRequest = {\n accountId: string;\n validationUrl: string;\n domainName: string;\n displayName: string;\n};\n\nexport type CalculateFinancingRequest = {\n amount: number;\n accountId: string;\n paymentMethod?: string;\n};\n\nexport type CalculateFinancingResponse = Array<{\n financingAmount: number;\n tin: number;\n interestAmount: number;\n tae: number;\n quote: number;\n installments: number;\n totalAmount: number;\n legalPhrase: string;\n capEuros: number;\n capPercent: number;\n}>;\n\nexport type ValidateBizumPhoneRequest = {\n accountId?: string;\n paymentId?: string;\n phoneNumber: string;\n};\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisLoanWidgetProps> = {\n tag: 'monei-cofidis-loan-widget',\n url: config.cofidisLoanWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisLoanWidget: MoneiComponent<CofidisLoanWidgetProps> = zoid.create(options);\nexport const CofidisPayWidget = CofidisLoanWidget;\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisLoanModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisLoanProps> = {\n tag: 'monei-cofidis-loan-button',\n url: config.cofidisLoanButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n const cofidisModal = new CofidisLoanModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const CofidisLoan: MoneiComponent<CofidisLoanProps> = zoid.create(options);\nexport const CofidisPay = CofidisLoan;\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {GooglePayProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<GooglePayProps> = {\n tag: 'monei-google-pay',\n url: config.googlePayUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n }\n};\n\nexport const GooglePay: MoneiComponent<GooglePayProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {PaymentRequestProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {createApplePaySession, createToken, getPaymentMethods} from '../api';\nimport {validateComponentProps} from '../utils';\n\nexport * from './types';\n\ntype Context = {\n accountId: string;\n domainName: string;\n displayName: string;\n};\n\nconst onApplePayButtonClicked = async (props: PaymentRequestProps, request: any, context: Context) => {\n const session = new window.ApplePaySession(3, request);\n session.onvalidatemerchant = async (event: any) => {\n try {\n const merchantSession = await createApplePaySession({\n ...context,\n validationUrl: event.validationURL\n });\n session.completeMerchantValidation(merchantSession);\n } catch (error) {\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event: any) => {\n const paymentToken = JSON.stringify(event.payment.token);\n const token = window.btoa(paymentToken);\n try {\n const result = await createToken({\n accountId: props.accountId,\n paymentId: props.paymentId,\n sessionId: props.sessionId,\n paymentMethod: {\n applePay: {token}\n }\n });\n props.onSubmit({token: result.paymentToken, error: result.error});\n session.completePayment({\n status: window.ApplePaySession.STATUS_SUCCESS\n });\n } catch (error) {\n props.onError?.(error);\n session.completePayment({\n status: window.ApplePaySession.STATUS_FAILURE\n });\n }\n };\n session.begin();\n};\n\nconst options: ComponentOptionsType<PaymentRequestProps> = {\n tag: 'monei-payment-request',\n url: config.paymentRequestUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __isApplePaySupported: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false,\n value: () => {\n try {\n return window.ApplePaySession?.canMakePayments();\n } catch (error) {\n return false;\n }\n }\n },\n __onApplePayButtonClicked: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props}: {props: PaymentRequestProps}) {\n return onApplePayButtonClicked.bind(null, props);\n }\n }\n }\n};\n\nexport const PaymentRequest: MoneiComponent<PaymentRequestProps> = zoid.create(options);\n","import * as _utils from './utils';\nimport * as _api from './api';\n\nexport * from './cardInput';\nexport * from './paymentModal';\nexport * from './paypal';\nexport * from './bizum';\nexport * from './cofidis';\nexport * from './cofidisLoan';\nexport * from './googlePay';\nexport * from './paymentRequest';\nexport * from './config';\nexport * from './types';\nexport const api = _api;\nexport const utils = _utils;\n"],"names":["CLASS","runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","transformStyle","style","reduce","prop","loadScript","src","nonce","dataset","Array","from","document","scripts","findIndex","s","script","createElement","onload","onerror","setAttribute","head","appendChild","stringify","join","fixLocalstorage","localStorage","store","window","localStorageMock","Map","getItem","get","setItem","set","clear","removeItem","getLanguage","lang","split","getClientEnv","env","screen","colorDepth","height","width","Date","getTimezoneOffset","btoa","withError","p","validateComponentProps","props","paymentId","accountId","amount","currency","config","paymentMethod","paymentMethods","includes","domain","process","version","stage","isProduction","paymentPageUrl","posPaymentPageUrl","cardInputUrl","paymentModalUrl","paypalUrl","bizumUrl","bizumButtonUrl","cofidisUrl","cofidisButtonUrl","cofidisWidgetUrl","cofidisLoanUrl","cofidisLoanButtonUrl","cofidisLoanWidgetUrl","googlePayUrl","paymentRequestUrl","click2PayUrl","click2PayButtonUrl","apiUrl","secureDomain","request","url","headers","body","fetch","JSON","res","json","ok","statusText","pmCache","getPaymentMethods","params","query","promise","createToken","sessionId","getPayment","confirmPayment","createPayment","signature","sendPaymentReceipt","customerEmail","language","createApplePaySession","req","factory","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","r","t","mode","__esModule","ns","bind","n","property","__webpack_exports__","isRegex","item","promise_ZalgoPromise","src_types_TYPES_0","window_ProxyWindow","setup","destroy","setup_serializeMessage","setup_deserializeMessage","createProxyWindow","setup_toProxyWindow","on_on","on_once","send_send","markWindowKnown","cleanUpWindow","IE_WIN_ACCESS_ERROR","isAboutProtocol","win","location","protocol","getParent","parent","getOpener","opener","canReadFromWindow","getActualDomain","host","getDomain","mockDomain","indexOf","isSameDomain","desc","getOwnPropertyDescriptor","assertSameDomain","isAncestorParent","child","childParent","getFrames","frames","len","frame","_i","_frame","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","message","mockclosed","top","iframeIndex","collection","contentWindow","parentNode","doc","ownerDocument","documentElement","contains","getAncestor","matchDomain","pattern","origin","isArray","Boolean","match","some","subpattern","isWindow","Window","__cross_domain_utils_window_check__","closeWindow","close","utils_isPromise","_toString","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","startActive","endActive","ZalgoPromise","handler","_this","resolved","rejected","errorHandled","handlers","dispatching","stack","_result","_error","isAsync","_proto","dispatch","_this2","_err","setTimeout","j","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","_result2","onFinally","timeout","time","_this3","clearTimeout","toPromise","all","promises","count","results","prom","hash","awaitPromises","_loop","map","items","onPossiblyUnhandledException","cancel","splice","args","apply","delay","_delay","isPromise","flush","util_safeIndexOf","objectIDs","weakmap_CrossDomainSafeWeakMap","CrossDomainSafeWeakMap","weakmap","Math","random","WeakMap","freeze","testWeakMap","testKey","_cleanupClosedWindows","isSafeToReadWrite","index","has","getOrSet","getFunctionName","__name__","setFunctionName","uniqueID","chars","replace","floor","str","encodeURIComponent","p1","String","fromCharCode","parseInt","Buffer","toISOString","toLowerCase","serializeArgs","subkey","val","uid","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","options","simpleCache","thisCache","_options$thisNamespac","thisNamespace","cacheTime","memoizeIndex","memoizedFunction","_len","arguments","_key","cache","cacheKey","cacheResult","now","memoizePromise","memoizedPromiseFunction","_arguments","_len2","_key2","src_util_noop","stringifyError","level","newErr","util_isRegex","util_getOrSet","isDocumentReady","readyState","isDocumentInteractive","interval","setInterval","clearInterval","currentScript","getCurrentScript","stackDetails","exec","scriptLocation","_i20","_Array$prototype$slic2","getElementsByTagName","currentUID","global_getGlobal","globalKey","getAttribute","getObj","globalStore","defStore","storeKey","defVal","del","_SERIALIZER","WildCard","getWildcard","global","WINDOW_WILDCARD","windowStore","winStore","getStore","getInstanceID","resolveHelloPromise","_ref","helloPromises","existingPromise","newPromise","sayHello","_ref4","send","instanceID","_ref5","data","getWindowInstanceID","_ref6","_ref7","isSerializedType","__type__","determineType","serializeType","__val__","_DESERIALIZER","SERIALIZER","code","regex","source","date","toJSON","array","string","number","defaultSerializers","DESERIALIZER","_ref2","RegExp","defaultDeserializers","cleanupProxyWindows","idToProxyWindow","_i2","_idToProxyWindow$keys2","id","shouldClean","getSerializedWindow","winPromise","_ref$id","windowNamePromise","windowTypePromise","getType","getName","focus","isClosed","setLocation","href","setName","sameDomain","frameElement","_i21","_document$querySelect2","querySelectorAll","ProxyWindow","serializedWindow","isProxyWindow","actualWindow","actualWindowPromise","getID","setWindow","isPopup","_this4","isPopupPromise","getNamePromise","reopenPromise","_ref3","open","focusPromise","getWindow","awaitWindow","matchWindow","_this5","proxyInstanceID","knownWindowInstanceID","unwrap","serialize","toProxyWindow","deserialize","_ref8","_ref9","addMethod","methodStore","proxyWindowMethods","lookupMethod","function_serializeFunction","destination","on","meth","methodSource","__id__","serializeMessage","_serialize","serializers","serializer","deserializeMessage","_deserialize","deserializers","parse","deserializer","cross_domain_zalgo_promise","serializedPromise","cross_domain_function","serializedFunction","getDeserializedFunction","opts","crossDomainFunctionWrapper","_args","fireAndForget","__origin__","__source__","cross_domain_window","SEND_MESSAGE_STRATEGIES","send_sendMessage","domainBuffer","buffer","serializedMessage","__post_robot_10_0_42__","strategies","errors","strategyName","getResponseListener","deleteResponseListener","isResponseListenerErrored","getRequestListener","requestListeners","_i4","winQualifier","nameListeners","domainListeners","__domain_regex__","_i6","_domainListeners$__DO2","_domainListeners$__DO3","listener","handleRequest","logName","sendResponse","ack","pathname","handleError","handleAck","handleResponse","receive_receiveMessage","event","receivedMessages","messages","parsedMessage","parseMessages","requestListener","addRequestListener","listenersCollection","_i8","_win2","_i10","_listenersCollection","_i12","_domain2","_i14","existingListener","regexListeners","regexListener","strDomain","errorHandler","postrobot_post_message","postMessage","domainMatcher","responseTimeout","childTimeout","actualParent","_i7","_getAllChildFrames4","getAllChildFrames","_i3","_getFrames2","_i5","_getAllChildFrames2","_i15","_getFrames8","_temp","targetDomain","actualDomain","normalizedDomain","responseListener","reqPromises","totalAckTimeout","totalResTimeout","ackTimeout","resTimeout","loop","cancelled","max","initialized","receiveMessage","addEventListener","sourceElement","originalEvent","removeEventListener","responseListeners","_responseListeners$ke2","_requestPromises$get2","require","_inheritsLoose","subClass","superClass","_extends","assign","target","dom_PopupOpenError","component_destroy","destroyComponents","destroyAll","PROP_TYPE","PROP_SERIALIZATION","CONTEXT","EVENT","WINDOW_TYPE","IFRAME","POPUP","utils_getParent","getTop","getAllFramesInWindow","concat","utils_getUserAgent","navigator","mockUserAgent","userAgent","getFrameByName","winFrames","_i9","childFrame","isOpener","anyMatch","collection1","collection2","_i17","item1","_i19","getDistanceFromTop","distance","isSameTopWindow","win1","win2","top1","top2","allFrames1","allFrames2","opener1","opener2","getDomainFromUrl","onCloseWindow","callback","maxtime","check","normalizeMockUrl","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","construct_construct","Parent","Class","a","instance","wrapNativeSuper_wrapNativeSuper","_cache","Wrapper","base64encode","inlineMemoize","logic","__inline_memoize_cache__","once","called","extend","identity","safeInterval","defineLazyProp","arrayFrom","isObjectObject","isPlainObject","replaceObject","replacer","fullKey","_loop2","itemKey","_loop3","isDefined","cleanup","cleanErr","tasks","cleaned","register","task","shift","assertExists","thing","util_ExtendableError","_Error","ExtendableError","_this6","captureStackTrace","ReferenceError","urlEncode","parseQuery","queryString","_queryString$split2","pair","decodeURIComponent","extendQuery","originalQuery","filter","isElement","element","Element","nodeType","getElementSafe","querySelector","elementReady","el","awaitFrameLoadPromises","_ExtendableError","PopupOpenError","awaitFrameLoad","_promise","awaitFrameWindow","loadedFrame","dom_iframe","container","tag","styleText","className","attributes","_Object$keys2","styleSheet","cssText","createTextNode","html","innerHTML","allowTransparency","backgroundColor","border","isIE","hasAttribute","showElement","setProperty","hideElement","destroyElement","removeChild","isElementClosed","onResize","_ref2$width","_ref2$height","_ref2$interval","_ref2$win","currentWidth","offsetWidth","currentHeight","offsetHeight","canceled","observer","getClientRects","newWidth","newHeight","ResizeObserver","observe","MutationObserver","childList","subtree","characterData","disconnect","isShadowElement","_i22","isPerc","test","toNum","toPx","toCSS","normalizeDimension","dim","awaitWindowHello","needsBridgeForBrowser","needsBridgeForWin","needsBridgeForDomain","needsBridge","getBridgeName","isBridge","documentBodyReady","registerRemoteWindow","findRemoteWindow","remoteWinPromise","registerRemoteSendMessage","sendMessage","remoteWin","remoteDomain","rejectRemoteSendMessage","linkWindow","popupWindowsByName","popupWindowsByWin","_popupWindowsByName$k2","winName","_details","details","setupBridge","windowOpen","last","bridgePromise","bridge","getWindowDetails","openTunnelToParent","canary","tunnelWindows","parentWindow","_tunnelWindows$keys2","tunnelWindow","postrobot_bridge","messagingChild","messagingParent","postrobot_global","foreignGlobal","src_bridge","lib_global_getGlobal","__zoid_9_0_63__","getProxyObject","openBridge","bridges","bridgeFrames","iframe","linkUrl","hasBridge","destroyBridges","_bridgeFrames$keys2","STRING","OBJECT","FUNCTION","BOOLEAN","NUMBER","ARRAY","DOTIFY","BASE64","RENDER","RENDERED","DISPLAY","ERROR","CLOSE","DESTROY","PROPS","RESIZE","FOCUS","normalizeChildProp","propsDef","helpers","childDecorate","onProps","resize","getParentDomain","show","hide","parseChildWindowName","windowName","_windowName$split","zoidcomp","encodedPayload","atob","charCodeAt","getChildPayload","child_focus","child_destroy","props_getQueryParam","queryParam","getQueryValue","queryValue","parentComponent","overrides","parentWin","triggered","currentProxyWin","currentProxyContainer","childComponent","containerTemplate","prerenderTemplate","dimensions","autoResize","domainMatch","initPromise","handledErrors","clean","internalState","visible","eventName","handlerList","trigger","_len3","_key3","triggerOnce","_len4","_key4","onErrorOverride","getProxyContainerOverride","getProxyContainer","showOverride","hideOverride","closeOverride","renderContainerOverride","renderContainer","getProxyWindowOverride","getProxyWindow","setProxyWinOverride","setProxyWin","openFrameOverride","openFrame","openPrerenderFrameOverride","openPrerenderFrame","prerenderOverride","prerender","openOverride","openPrerenderOverride","openPrerender","watchForUnloadOverride","watchForUnload","getInternalStateOverride","getInternalState","setInternalStateOverride","setInternalState","getPropsForChild","sendToChild","newInternalState","windowProp","_proxyWin","containerElement","shadowHost","shadowRoot","slotName","slot","slotProvider","proxyWin","setState","getUrl","getAttributes","getChildDomain","getDomainMatcher","title","proxyPrerenderFrame","prerenderFrame","prerenderFrameWindow","getWindowRef","windows","initChild","childExports","proxyFrame","outerWidth","left","round","screenX","outerHeight","screenY","status","toolbar","menubar","resizable","scrollbars","popup","unloadWindowListener","closeParentWindowListener","checkWindowClose","secondIsClosed","renderTemplate","renderer","proxyPrerenderWin","prerenderWindow","tagName","_arrayFrom2","children","_arrayFrom4","_autoResize$width","_autoResize$height","_autoResize$element","prerenderResizeListener","proxyContainer","_ref10","innerContainer","containerWatcher","sacrificialFrame","sacrificialFrameWin","mutationObservers","_i18","elementClosed","mutationElement","parentElement","mutationObserver","display","frameWin","getHelpers","updateProps","setProps","newProps","isUpdate","inputProps","propNames","aliases","propDef","alias","_Object$keys4","_propDef","_value","decorate","_Object$keys6","required","childProps","init","onRender","onDisplay","onRendered","onClose","onDestroy","onFocus","render","childDomain","delegatePromise","delegateProps","propName","allowDelegate","childOverridesPromise","_ref11","parentComp","getDelegateOverrides","childOverrides","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","_len11","_key11","_len12","_key12","watchForUnloadPromise","buildUrlPromise","serialization","dotify","prefix","newobj","every","_Object$keys8","dotkey","originalUrl","originalHash","_url$split","_originalUrl$split","hashString","onRenderPromise","getProxyContainerPromise","getProxyWindowPromise","buildWindowNamePromise","propRef","propsRef","parentDomain","checkClose","childPayload","openFramePromise","openPrerenderFramePromise","renderContainerPromise","_ref12","openPromise","_ref13","openPrerenderPromise","_ref14","setStatePromise","prerenderPromise","_ref15","setWindowNamePromise","_ref16","loadUrlPromise","builtUrl","_ref17","watchForClosePromise","watchForClose","onDisplayPromise","openBridgePromise","bridgeUrl","bridgeDomain","runTimeoutPromise","onRenderedPromise","react","React","ReactDOM","_React$Component","_class","componentDidMount","findDOMNode","componentDidUpdate","Component","vue","Vue","component","inheritAttrs","mounted","$el","$attrs","watch","deep","angular","ng","directive","g","toUpperCase","scope","restrict","controller","$scope","$element","safeApply","$root","$$phase","$apply","getProps","$watch","angular2","NgModule","ElementRef","NgZone","internalProps","zone","run","ComponentInstance","selector","template","inputs","elementRef","_props","ngOnInit","targetElement","nativeElement","ngDoCheck","obj1","obj2","checked","declarations","defaultContainerTemplate","_ref$dimensions","div","cspNonce","classList","add","remove","defaultPrerenderTemplate","spinner","props_defaultNoop","props_decorateOnce","cleanInstances","cleanZoid","comp","allowDelegateListener","delegateListener","_options$props","_options$dimensions","_options$autoResize","_options$allowedParen","allowedParentDomains","_options$attributes","_options$defaultConte","defaultContext","_options$containerTem","_options$prerenderTem","validate","_options$eligible","eligible","_options$logger","logger","_dimensions$width","_dimensions$height","driverCache","instances","isChild","payload","registerChild","xprops","components","onPropHandlers","parentComponentWindow","ref","ancestor","_getAllFramesInWindow2","normalizedProps","_eligible","eligibility","reason","_render","finalContext","isEligible","clone","_ref3$decorate","renderTo","driver","driverName","dep","drivers","canRenderTo","component_component","destroyPromise","getUserAgent","isDevice","isWebView","isStandAlone","isFacebookWebView","isFirefoxIOS","isEdgeIOS","isOperaMini","isAndroid","isIos","isGoogleSearchApp","isQQBrowser","isIosWebview","isSFVC","isSFVCorSafari","isAndroidWebview","device_isIE","isIECompHeader","isElectron","isIEIntranet","isMacOsCna","supportsPopups","isChrome","isSafari","isApplePaySupported","waitForWindowReady","waitForDocumentReady","waitForDocumentBody","getQueryParam","urlWillRedirectPage","formatQuery","extendUrl","redirect","hasMetaViewPort","isElementVisible","getPerformance","enablePerformance","getPageRenderTime","htmlEncode","dom_isBrowser","onClick","getScript","isLocalStorageEnabled","getBrowserLocales","getElement","writeToWindow","writeElementToWindow","setStyle","bindEvents","setVendorCSS","animate","makeElementVisible","makeElementInvisible","showAndAnimate","animateAndHide","addClass","removeClass","watchElementForClose","fixScripts","getResourceLoadTime","getShadowRoot","getShadowHost","insertShadowSlot","preventClickFocus","getStackTrace","getCurrentScriptUID","experiment","getGlobalNameSpace","getStorage","base64decode","getGlobal","getObjectID","promiseIdentity","promisify","hashStr","strHashStr","awaitKey","stringifyErrorMessage","domainMatches","patchMethod","util_values","memoizedValues","perc","min","roundUp","regexMap","svgToBase64","objFilter","regexTokenize","promiseDebounce","isInteger","isFloat","serializePrimitive","deserializePrimitive","undotify","eventEmitter","camelToDasherize","dasherizeToCamel","capitalizeFirstLetter","util_get","safeTimeout","isObject","copyProp","regexAll","cycle","debounce","util_weakMapMemoize","util_weakMapMemoizePromise","removeFromArray","unique","constHas","dedupeErrors","addHeaderBuilder","types_TYPES","memoized","decorators_promise","isPx","percOf","wrapPromise","KEY_CODES","ATTRIBUTES","iPhoneScreenHeightMatrix","device","textSizeHeights","zoomHeight","maybeSafari","standalone","matchMedia","matches","ua","innerHeight","scale","innerWidth","computedHeight","sfvc","possibleSafariSizes","documentMode","mHttp","mContent","versions","electron","ApplePaySession","supportsVersion","canMakePayments","promisifiedFunction","pow","sqrt","total","abs","regmatch","defaultMessage","hostname","original","_arguments2","callOriginal","pixels","percentage","num","nearest","remainder","regexp","svg","text","token","localPromise","parseFloat","keyResult","parts","part","isLast","isIndex","path","def","pathParts","descriptor","start","groups","end","_arguments3","arr","constant","seenErrors","seenStringifiedErrors","stringifiedError","ENTER","SPACE","UID","search","meta","performance","timing","connectEnd","navigationStart","domInteractive","keyCode","_ref$host","_ref$reverse","nav","locales","languages","userLanguage","locale","_locale$split","country","write","err2","eventNames","VENDOR_PREFIXES","capitalizedName","_i16","ANIMATION_START_EVENTS","ANIMATION_END_EVENTS","startTimeout","endTimeout","startEvent","endEvent","hasStarted","cleanUp","animationName","stopPropagation","animation","_querySelectorAll2","newScript","textContent","replaceChild","getEntries","entries","duration","preventDefault","blur","_ref$lifetime","lifetime","accessedStorage","STORAGE_KEY","newStateID","getState","storage","localStorageEnabled","rawStorage","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","group","_ref$sample","sample","_ref$logTreatment","logTreatment","_ref$logCheckpoint","logCheckpoint","_ref$sticky","sticky","throttle","throttlePercentiles","treatment","started","forced","isEnabled","isDisabled","getTreatment","log","checkpoint","logStart","logComplete","_ref$version","namespace","defValue","headerBuilders","_ref$method","_ref$headers","_ref$win","_ref$timeout","normalizedHeaders","accept","builtHeaders","xhr","XMLHttpRequest","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","trim","_line$split","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","setRequestHeader","ontimeout","expected","timer","expect","_tryCatch","_fn","avoid","_fn2","expectError","_tryCatch2","_fn3","wait","INVISIBLE","VISIBLE","allowPaymentRequest","zoid","belter","getCreateTokenFunction","_ref$state","__createToken","_ref$parent","_ref$parent$state","_ref$state2","_ref$state2$parent","_ref$state2$parent$st","CardInput","onBlur","onEnter","onChange","onLoad","placeholders","errorMessages","__getConfig","postRobot","margin","boxSizing","innerStyle","base","loading","PaymentModal","isOpen","generatePaymentToken","fullscreen","customer","allowedPaymentMethods","customDomain","billingDetails","shippingDetails","onResult","onOpen","rootNode","bodyOverflow","overflow","modal","position","bottom","right","zIndex","onLoadPaypal","defaultStyle","layout","tagline","Buttons","createOrder","paypal","paymentToken","_result$paypal","orderId","onApprove","orderID","onSubmit","__container","PayPal","transactionType","__onLoadPayPal","BizumModal","backdrop","BEFORE_CLOSE","phoneNumber","onBeforeClose","Bizum","__onClick","bizumModal","onpopstate","history","pushState","CofidisModal","CofidisWidget","amountInt","showLogo","Cofidis","hint","__onHintClick","cofidisModal","NextActionType","CardBrand","CofidisLoanModal","CofidisPayModal","CofidisLoanWidget","CofidisPayWidget","CofidisLoan","CofidisPay","GooglePay","onBeforeSubmit","onApplePayButtonClicked","onvalidatemerchant","validationUrl","validationURL","completeMerchantValidation","abort","onpaymentauthorized","payment","applePay","completePayment","STATUS_SUCCESS","STATUS_FAILURE","begin","PaymentRequest","__isApplePaySupported","_window$ApplePaySessi","__onApplePayButtonClicked","api","_api","utils","_utils"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.cjs.production.min.js","sources":["../src/enums.ts","../../node_modules/regenerator-runtime/runtime.js","../src/utils.ts","../src/config.ts","../src/api.ts","../../node_modules/post-robot/dist/post-robot.js","../../node_modules/post-robot/index.js","../../node_modules/zoid/dist/zoid.frameworks.js","../../node_modules/belter/dist/belter.js","../src/container.ts","../src/cardInput/index.ts","../src/bizum/container.ts","../src/paymentModal/index.ts","../src/paypal/index.ts","../src/bizum/modal.ts","../src/cofidis/container.ts","../src/bizum/index.ts","../src/cofidis/modal.ts","../src/cofidisLoan/container.ts","../src/cofidis/widget.ts","../src/cofidis/index.ts","../src/cofidisLoan/modal.ts","../src/types.ts","../src/cofidisLoan/widget.ts","../src/cofidisLoan/index.ts","../src/googlePay/index.ts","../src/paymentRequest/index.ts","../src/index.ts"],"sourcesContent":["export enum CLASS {\n VISIBLE = 'is-visible',\n INVISIBLE = 'is-invisible'\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import {CSSObject} from '../types/css';\nimport {GetPaymentMethodsResponse} from './types';\n\nexport const transformStyle = (style: CSSObject) => {\n return Object.keys(style).reduce<any>((result, prop) => {\n if (typeof style[prop] === 'string') {\n result[prop] = style[prop];\n } else {\n result[prop] = `${style[prop]}px`;\n }\n return result;\n }, {});\n};\n\nexport const loadScript = (\n src: string,\n nonce?: string,\n dataset?: Record<string, string | undefined>\n): Promise<void> => {\n return new Promise((resolve, reject) => {\n if (Array.from(document.scripts).findIndex((s) => s.src === src) !== -1) {\n resolve();\n }\n const script = document.createElement('script');\n script.src = src;\n script.onload = () => resolve();\n script.onerror = (error) => reject(error);\n if (nonce) {\n script.setAttribute('nonce', nonce);\n }\n if (dataset) {\n Object.keys(dataset).forEach((key) => {\n if (dataset[key]) {\n script.dataset[key] = dataset[key];\n }\n });\n }\n document.head.appendChild(script);\n });\n};\n\nexport const stringify = (obj: Record<string, any>) => {\n return Object.keys(obj)\n .reduce<string[]>((result, key) => {\n if (obj[key] !== undefined) {\n result.push(`${key}=${obj[key]}`);\n }\n return result;\n }, [])\n .join('&');\n};\n\nexport const fixLocalstorage = () => {\n let localStorage: Storage;\n try {\n localStorage = window.localStorage;\n } catch (error) {\n const localStorageMock = (() => {\n let store = new Map();\n return {\n getItem(key: string): string {\n return store.get(key);\n },\n\n setItem: function (key: string, value: string) {\n store.set(key, value);\n },\n\n clear: function () {\n store = new Map();\n },\n\n removeItem: function (key: string) {\n store.delete(key);\n }\n };\n })();\n\n Object.defineProperty(window, 'localStorage', {value: localStorageMock});\n localStorage = localStorageMock as Storage;\n }\n return localStorage;\n};\n\nconst getLanguage = () => {\n let lang;\n const localStorage = fixLocalstorage();\n try {\n lang = localStorage.getItem('i18nextLng');\n } catch (error) {}\n if (lang) {\n return lang.split('-')[0];\n }\n return '';\n};\n\nexport const getClientEnv = () => {\n const env = [\n window.screen.colorDepth,\n window.screen.height,\n window.screen.width,\n new Date().getTimezoneOffset(),\n getLanguage()\n ].join('|');\n return window.btoa(env);\n};\n\nexport const withError = async <T>(p: Promise<T>): Promise<[Error | undefined, T | undefined]> => {\n try {\n return [undefined, await p];\n } catch (err) {\n return [err, undefined];\n }\n};\n\nexport const isMethodSupported = (config: GetPaymentMethodsResponse, paymentMethod: string) => {\n return config.paymentMethods && config.paymentMethods.includes(paymentMethod);\n};\n\nexport const validateComponentProps = (props: any) => {\n if (props.paymentId) return;\n if (props.accountId && props.amount && props.currency) return;\n throw new Error('You need to provide paymentId or accountId amount and currency');\n};\n","type Stage = 'local' | 'dev' | 'prod';\n\nconst stage = (process.env.STAGE as Stage) || 'local';\nconst domain = process.env.DOMAIN || 'http://192.168.18.3:3001';\nconst version = process.env.VERSION || 'v1';\n\ntype Config = {\n version: string;\n domain: string;\n stage: string;\n isProduction: boolean;\n paymentPageUrl: string;\n posPaymentPageUrl: string;\n cardInputUrl: string;\n paymentModalUrl: string;\n bizumUrl: string;\n bizumButtonUrl: string;\n cofidisUrl: string;\n cofidisButtonUrl: string;\n cofidisWidgetUrl: string;\n cofidisLoanUrl: string;\n cofidisLoanButtonUrl: string;\n cofidisLoanWidgetUrl: string;\n paypalUrl: string;\n apiUrl: string;\n googlePayUrl: string;\n paymentRequestUrl: string;\n secureDomain: string;\n click2PayUrl: string;\n click2PayButtonUrl: string;\n};\n\nconst globalConfig = {\n domain,\n version,\n stage,\n isProduction: stage === 'prod',\n paymentPageUrl: `${domain}/${version}/payment-page/`,\n posPaymentPageUrl: `${domain}/${version}/pos-payment-page/`,\n cardInputUrl: `${domain}/${version}/inner-card-input/`,\n paymentModalUrl: `${domain}/${version}/inner-payment-modal/`,\n paypalUrl: `${domain}/${version}/inner-paypal/`,\n bizumUrl: `${domain}/${version}/inner-bizum/`,\n bizumButtonUrl: `${domain}/${version}/inner-bizum-button/`,\n cofidisUrl: `${domain}/${version}/inner-cofidis/`,\n cofidisButtonUrl: `${domain}/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `${domain}/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `${domain}/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `${domain}/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `${domain}/${version}/inner-cofidis-loan-widget/`,\n googlePayUrl: `${domain}/${version}/inner-google-pay/`,\n paymentRequestUrl: `${domain}/${version}/inner-payment-request/`,\n click2PayUrl: `${domain}/${version}/inner-click2pay/`,\n click2PayButtonUrl: `${domain}/${version}/inner-click2pay-button/`\n};\n\nconst stageConfig = {\n local: {\n paymentPageUrl: `http://localhost:8080/`,\n posPaymentPageUrl: `http://192.168.18.3:8080/`,\n cardInputUrl: `http://192.168.18.3:3001/${version}/inner-card-input/`,\n paymentModalUrl: `http://192.168.18.3:3002/${version}/inner-payment-modal/`,\n paypalUrl: `http://192.168.18.3:3003/${version}/inner-paypal/`,\n bizumUrl: `http://192.168.18.3:3004/${version}/inner-bizum/`,\n bizumButtonUrl: `http://192.168.18.3:3005/${version}/inner-bizum-button/`,\n googlePayUrl: `http://192.168.18.3:3006/${version}/inner-google-pay/`,\n paymentRequestUrl: `https://monei-local.ngrok.io/${version}/inner-payment-request/`,\n click2PayUrl: `http://192.168.18.3:3008/inner-click2pay/`,\n click2PayButtonUrl: `http://192.168.18.3:3009/inner-click2pay-button/`,\n cofidisUrl: `http://192.168.18.3:3010/${version}/inner-cofidis/`,\n cofidisButtonUrl: `http://192.168.18.3:3011/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `http://192.168.18.3:3012/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `http://192.168.18.3:3013/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `http://192.168.18.3:3014/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `http://192.168.18.3:3015/${version}/inner-cofidis-loan-widget/`,\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com'\n },\n dev: {\n apiUrl: 'https://api.microapps-staging.com/v1',\n secureDomain: 'https://secure.microapps-staging.com'\n },\n prod: {\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com'\n }\n};\n\nexport const config = {...globalConfig, ...stageConfig[stage]} as Config;\n","import {getClientEnv, stringify, withError} from './utils';\nimport {config} from './config';\nimport {\n CalculateFinancingRequest,\n CalculateFinancingResponse,\n CreateApplePaySessionRequest,\n CreatePaymentRequest,\n CreateTokenRequest,\n CreateTokenResponse,\n GetPaymentMethodsRequest,\n GetPaymentMethodsResponse,\n PaymentResult,\n SendPaymentReceiptRequest,\n ValidateBizumPhoneRequest\n} from './types';\nimport {ConfirmPaymentParams} from './paymentModal';\n\ntype RequestParams = {\n method?: string;\n headers?: any;\n body?: any;\n};\nconst request = async (url: string, {method = 'GET', headers, body}: RequestParams = {}) => {\n if (method === 'POST') headers = {'Content-Type': 'application/json', ...headers};\n const res = await fetch(`${config.apiUrl}${url}`, {\n method,\n headers,\n body: body ? JSON.stringify(body) : undefined\n });\n const [, result] = await withError(res.json());\n if (!res.ok) throw result || new Error(res.statusText);\n return result;\n};\n\nconst pmCache: Record<string, Promise<GetPaymentMethodsResponse>> = {};\n\nexport const getPaymentMethods = async ({\n accountId,\n paymentId\n}: GetPaymentMethodsRequest): Promise<GetPaymentMethodsResponse> => {\n let params: GetPaymentMethodsRequest;\n if (paymentId) params = {paymentId};\n else if (accountId) params = {accountId};\n else throw new Error('You need to provide paymentId or accountId');\n const query = stringify(params);\n if (pmCache[query]) return pmCache[query];\n const promise = request(`/payment-methods?${query}`);\n pmCache[query] = promise;\n return promise;\n};\n\nexport const createToken = async ({\n paymentMethod,\n paymentId,\n sessionId,\n amount,\n currency,\n accountId\n}: CreateTokenRequest): Promise<CreateTokenResponse> => {\n let body: CreateTokenRequest;\n if (paymentId) {\n body = {paymentId, paymentMethod};\n } else if (accountId) {\n body = {accountId, paymentMethod, sessionId, amount, currency};\n } else throw new Error('You need to provide paymentId or accountId');\n return request('/tokens', {\n method: 'POST',\n headers: {'Client-Env': getClientEnv()},\n body: body\n });\n};\n\nexport const getPayment = async (paymentId: string): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-get`);\n};\n\nexport const confirmPayment = async ({paymentId, ...body}: ConfirmPaymentParams): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-confirm`, {\n method: 'POST',\n headers: {'Client-Env': getClientEnv()},\n body\n });\n};\n\nexport const createPayment = async ({signature, ...body}: CreatePaymentRequest): Promise<PaymentResult> => {\n return request('/client-payments', {\n method: 'POST',\n headers: {\n 'Client-Env': getClientEnv(),\n 'Client-Signature': signature\n },\n body\n });\n};\n\nexport const sendPaymentReceipt = async ({\n paymentId,\n customerEmail,\n signature,\n language\n}: SendPaymentReceiptRequest): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-receipt`, {\n method: 'POST',\n body: {customerEmail, signature, language}\n });\n};\n\nexport const createApplePaySession = async (body: CreateApplePaySessionRequest) => {\n return request(`/apple-pay/sessions`, {method: 'POST', body});\n};\n\nexport const calculateFinancing = async (req: CalculateFinancingRequest): Promise<CalculateFinancingResponse> => {\n return request(`/cofidis/calculate-financing`, {method: 'POST', body: req});\n};\n\nexport const validateBizumPhone = async (req: ValidateBizumPhoneRequest): Promise<{isValid: boolean}> => {\n return request(`/bizum/validate-phone`, {method: 'POST', body: req});\n};\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i20 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i20 < _Array$prototype$slic2.length; _i20++) {\n var script = _Array$prototype$slic2[_i20];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"zoid\", [], factory) : \"object\" == typeof exports ? exports.zoid = factory() : root.zoid = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"create\", (function() {\n return create;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return component_destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyComponents\", (function() {\n return destroyComponents;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyAll\", (function() {\n return destroyAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_TYPE\", (function() {\n return PROP_TYPE;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_SERIALIZATION\", (function() {\n return PROP_SERIALIZATION;\n }));\n __webpack_require__.d(__webpack_exports__, \"CONTEXT\", (function() {\n return CONTEXT;\n }));\n __webpack_require__.d(__webpack_exports__, \"EVENT\", (function() {\n return EVENT;\n }));\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var WINDOW_TYPE = {\n IFRAME: \"iframe\",\n POPUP: \"popup\"\n };\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function utils_getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !utils_getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = utils_getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = utils_getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }\n function getTop(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (utils_getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = getAllChildFrames(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (utils_getParent(frame) === frame) return frame;\n }\n }\n function getAllFramesInWindow(win) {\n var top = getTop(win);\n if (!top) throw new Error(\"Can not determine top window\");\n var result = [].concat(getAllChildFrames(top), [ top ]);\n -1 === result.indexOf(win) && (result = [].concat(result, [ win ], getAllChildFrames(win)));\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function utils_getUserAgent(win) {\n return (win = win || window).navigator.mockUserAgent || win.navigator.userAgent;\n }\n function getFrameByName(win, name) {\n var winFrames = getFrames(win);\n for (var _i9 = 0; _i9 < winFrames.length; _i9++) {\n var childFrame = winFrames[_i9];\n try {\n if (isSameDomain(childFrame) && childFrame.name === name && -1 !== winFrames.indexOf(childFrame)) return childFrame;\n } catch (err) {}\n }\n try {\n if (-1 !== winFrames.indexOf(win.frames[name])) return win.frames[name];\n } catch (err) {}\n try {\n if (-1 !== winFrames.indexOf(win[name])) return win[name];\n } catch (err) {}\n }\n function isOpener(parent, child) {\n return parent === getOpener(child);\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || utils_getParent(win) || void 0;\n }\n function anyMatch(collection1, collection2) {\n for (var _i17 = 0; _i17 < collection1.length; _i17++) {\n var item1 = collection1[_i17];\n for (var _i19 = 0; _i19 < collection2.length; _i19++) if (item1 === collection2[_i19]) return !0;\n }\n return !1;\n }\n function getDistanceFromTop(win) {\n void 0 === win && (win = window);\n var distance = 0;\n var parent = win;\n for (;parent; ) (parent = utils_getParent(parent)) && (distance += 1);\n return distance;\n }\n function isSameTopWindow(win1, win2) {\n var top1 = getTop(win1) || win1;\n var top2 = getTop(win2) || win2;\n try {\n if (top1 && top2) return top1 === top2;\n } catch (err) {}\n var allFrames1 = getAllFramesInWindow(win1);\n var allFrames2 = getAllFramesInWindow(win2);\n if (anyMatch(allFrames1, allFrames2)) return !0;\n var opener1 = getOpener(top1);\n var opener2 = getOpener(top2);\n return opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2) || opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1), \n !1;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function getDomainFromUrl(url) {\n return url.match(/^(https?|mock|file):\\/\\//) ? url.split(\"/\").slice(0, 3).join(\"/\") : getDomain();\n }\n function onCloseWindow(win, callback, delay, maxtime) {\n void 0 === delay && (delay = 1e3);\n void 0 === maxtime && (maxtime = 1 / 0);\n var timeout;\n !function check() {\n if (isWindowClosed(win)) {\n timeout && clearTimeout(timeout);\n return callback();\n }\n if (maxtime <= 0) clearTimeout(timeout); else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n }();\n return {\n cancel: function() {\n timeout && clearTimeout(timeout);\n }\n };\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function normalizeMockUrl(url) {\n if (!(domain = getDomainFromUrl(url), 0 === domain.indexOf(\"mock:\"))) return url;\n var domain;\n throw new Error(\"Mock urls not supported out of test mode\");\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function identity(item) {\n return item;\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObjectObject(obj) {\n return \"object\" == typeof (item = obj) && null !== item && \"[object Object]\" === {}.toString.call(obj);\n var item;\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function isDefined(value) {\n return null != value;\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return str.replace(/\\?/g, \"%3F\").replace(/&/g, \"%26\").replace(/#/g, \"%23\").replace(/\\+/g, \"%2B\");\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? function(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key];\n })).map((function(key) {\n return urlEncode(key) + \"=\" + urlEncode(obj[key]);\n })).join(\"&\");\n }(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\n }\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function dom_iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = function(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && function(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }(element, options.styleSheet);\n if (options.html) {\n if (\"iframe\" === tag) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n element.innerHTML = options.html;\n }\n return element;\n }(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && function(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && function(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return parseInt(max * toNum(dim) / 100, 10);\n if (\"string\" == typeof (str = dim) && /^[0-9]+px$/.test(str)) return toNum(dim);\n var str;\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function awaitWindowHello(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n function needsBridgeForBrowser() {\n return !!utils_getUserAgent(window).match(/MSIE|trident|edge\\/12|edge\\/13/i);\n }\n function needsBridgeForWin(win) {\n return !isSameTopWindow(window, win);\n }\n function needsBridgeForDomain(domain, win) {\n if (domain) {\n if (getDomain() !== getDomainFromUrl(domain)) return !0;\n } else if (win && !isSameDomain(win)) return !0;\n return !1;\n }\n function needsBridge(_ref) {\n var win = _ref.win, domain = _ref.domain;\n return !(!needsBridgeForBrowser() || domain && !needsBridgeForDomain(domain, win) || win && !needsBridgeForWin(win));\n }\n function getBridgeName(domain) {\n return \"__postrobot_bridge___\" + (domain = domain || getDomainFromUrl(domain)).replace(/[^a-zA-Z0-9]+/g, \"_\");\n }\n function isBridge() {\n return Boolean(window.name && window.name === getBridgeName(getDomain()));\n }\n var documentBodyReady = new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function registerRemoteWindow(win) {\n windowStore(\"remoteWindowPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }\n function findRemoteWindow(win) {\n var remoteWinPromise = windowStore(\"remoteWindowPromises\").get(win);\n if (!remoteWinPromise) throw new Error(\"Remote window promise not found\");\n return remoteWinPromise;\n }\n function registerRemoteSendMessage(win, domain, sendMessage) {\n findRemoteWindow(win).resolve((function(remoteWin, remoteDomain, message) {\n if (remoteWin !== win) throw new Error(\"Remote window does not match window\");\n if (!matchDomain(remoteDomain, domain)) throw new Error(\"Remote domain \" + remoteDomain + \" does not match domain \" + domain);\n sendMessage.fireAndForget(message);\n }));\n }\n function rejectRemoteSendMessage(win, err) {\n findRemoteWindow(win).reject(err).catch(src_util_noop);\n }\n function linkWindow(_ref3) {\n var win = _ref3.win, name = _ref3.name, domain = _ref3.domain;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n var popupWindowsByWin = windowStore(\"popupWindowsByWin\");\n for (var _i2 = 0, _popupWindowsByName$k2 = popupWindowsByName.keys(); _i2 < _popupWindowsByName$k2.length; _i2++) {\n var winName = _popupWindowsByName$k2[_i2];\n var _details = popupWindowsByName.get(winName);\n _details && !isWindowClosed(_details.win) || popupWindowsByName.del(winName);\n }\n if (isWindowClosed(win)) return {\n win: win,\n name: name,\n domain: domain\n };\n var details = popupWindowsByWin.getOrSet(win, (function() {\n return name ? popupWindowsByName.getOrSet(name, (function() {\n return {\n win: win,\n name: name\n };\n })) : {\n win: win\n };\n }));\n if (details.win && details.win !== win) throw new Error(\"Different window already linked for window: \" + (name || \"undefined\"));\n if (name) {\n details.name = name;\n popupWindowsByName.set(name, details);\n }\n if (domain) {\n details.domain = domain;\n registerRemoteWindow(win);\n }\n popupWindowsByWin.set(win, details);\n return details;\n }\n function setupBridge(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n windowOpen = window.open, window.open = function(url, name, options, last) {\n var win = windowOpen.call(this, normalizeMockUrl(url), name, options, last);\n if (!win) return win;\n linkWindow({\n win: win,\n name: name,\n domain: url ? getDomainFromUrl(url) : null\n });\n return win;\n };\n var windowOpen;\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n on(\"postrobot_open_tunnel\", (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var bridgePromise = globalStore(\"bridges\").get(origin);\n if (!bridgePromise) throw new Error(\"Can not find bridge promise for domain \" + origin);\n return bridgePromise.then((function(bridge) {\n if (source !== bridge) throw new Error(\"Message source does not matched registered bridge for domain \" + origin);\n if (!data.name) throw new Error(\"Register window expected to be passed window name\");\n if (!data.sendMessage) throw new Error(\"Register window expected to be passed sendMessage method\");\n if (!popupWindowsByName.has(data.name)) throw new Error(\"Window with name \" + data.name + \" does not exist, or was not opened by this window\");\n var getWindowDetails = function() {\n return popupWindowsByName.get(data.name);\n };\n if (!getWindowDetails().domain) throw new Error(\"We do not have a registered domain for window \" + data.name);\n if (getWindowDetails().domain !== origin) throw new Error(\"Message origin \" + origin + \" does not matched registered window origin \" + (getWindowDetails().domain || \"unknown\"));\n registerRemoteSendMessage(getWindowDetails().win, origin, data.sendMessage);\n return {\n sendMessage: function(message) {\n if (window && !window.closed && getWindowDetails()) {\n var domain = getWindowDetails().domain;\n if (domain) try {\n receiveMessage({\n data: message,\n origin: domain,\n source: getWindowDetails().win\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }\n };\n }));\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n !function(_ref2) {\n var send = _ref2.send;\n global_getGlobal(window).openTunnelToParent = function(_ref3) {\n var name = _ref3.name, source = _ref3.source, canary = _ref3.canary, sendMessage = _ref3.sendMessage;\n var tunnelWindows = globalStore(\"tunnelWindows\");\n var parentWindow = utils_getParent(window);\n if (!parentWindow) throw new Error(\"No parent window found to open tunnel to\");\n var id = function(_ref) {\n var name = _ref.name, source = _ref.source, canary = _ref.canary, sendMessage = _ref.sendMessage;\n !function() {\n var tunnelWindows = globalStore(\"tunnelWindows\");\n for (var _i2 = 0, _tunnelWindows$keys2 = tunnelWindows.keys(); _i2 < _tunnelWindows$keys2.length; _i2++) {\n var key = _tunnelWindows$keys2[_i2];\n isWindowClosed(tunnelWindows[key].source) && tunnelWindows.del(key);\n }\n }();\n var id = uniqueID();\n globalStore(\"tunnelWindows\").set(id, {\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return id;\n }({\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return send(parentWindow, \"postrobot_open_tunnel\", {\n name: name,\n sendMessage: function() {\n var tunnelWindow = tunnelWindows.get(id);\n if (tunnelWindow && tunnelWindow.source && !isWindowClosed(tunnelWindow.source)) {\n try {\n tunnelWindow.canary();\n } catch (err) {\n return;\n }\n tunnelWindow.sendMessage.apply(this, arguments);\n }\n }\n }, {\n domain: \"*\"\n });\n };\n }({\n send: send\n });\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n promise_ZalgoPromise.try((function() {\n var opener = getOpener(window);\n if (opener && needsBridge({\n win: opener\n })) {\n registerRemoteWindow(opener);\n return (win = opener, windowStore(\"remoteBridgeAwaiters\").getOrSet(win, (function() {\n return promise_ZalgoPromise.try((function() {\n var frame = getFrameByName(win, getBridgeName(getDomain()));\n if (frame) return isSameDomain(frame) && global_getGlobal(assertSameDomain(frame)) ? frame : new promise_ZalgoPromise((function(resolve) {\n var interval;\n var timeout;\n interval = setInterval((function() {\n if (frame && isSameDomain(frame) && global_getGlobal(assertSameDomain(frame))) {\n clearInterval(interval);\n clearTimeout(timeout);\n return resolve(frame);\n }\n }), 100);\n timeout = setTimeout((function() {\n clearInterval(interval);\n return resolve();\n }), 2e3);\n }));\n }));\n }))).then((function(bridge) {\n return bridge ? window.name ? global_getGlobal(assertSameDomain(bridge)).openTunnelToParent({\n name: window.name,\n source: window,\n canary: function() {},\n sendMessage: function(message) {\n try {\n window;\n } catch (err) {\n return;\n }\n if (window && !window.closed) try {\n receiveMessage({\n data: message,\n origin: this.origin,\n source: this.source\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }).then((function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n if (source !== opener) throw new Error(\"Source does not match opener\");\n registerRemoteSendMessage(source, origin, data.sendMessage);\n })).catch((function(err) {\n rejectRemoteSendMessage(opener, err);\n throw err;\n })) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: window does not have a name\")) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: no bridge found in opener\"));\n }));\n var win;\n }\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n }\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? WINDOW_TYPE.POPUP : WINDOW_TYPE.IFRAME;\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n linkWindow({\n win: win,\n name: name\n });\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return type === WINDOW_TYPE.POPUP;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return arrayFrom(args).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_bridge = function(win, serializedMessage, domain) {\n if (!needsBridgeForBrowser() && !isBridge()) throw new Error(\"Bridge not needed for browser\");\n if (isSameDomain(win)) throw new Error(\"Post message through bridge disabled between same domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use bridge to communicate between two different windows, not between frames\");\n !function(win, domain, message) {\n var messagingChild = isOpener(window, win);\n var messagingParent = isOpener(win, window);\n if (!messagingChild && !messagingParent) throw new Error(\"Can only send messages to and from parent and popup windows\");\n findRemoteWindow(win).then((function(sendMessage) {\n return sendMessage(win, domain, message);\n }));\n }(win, domain, serializedMessage);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_global = function(win, serializedMessage) {\n if (!utils_getUserAgent(window).match(/MSIE|rv:11|trident|edge\\/12|edge\\/13/i)) throw new Error(\"Global messaging not needed for browser\");\n if (!isSameDomain(win)) throw new Error(\"Post message through global disabled between different domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use global to communicate between two different windows, not between frames\");\n var foreignGlobal = global_getGlobal(win);\n if (!foreignGlobal) throw new Error(\"Can not find postRobot global on foreign window\");\n foreignGlobal.receiveMessage({\n source: window,\n origin: getDomain(),\n data: serializedMessage\n });\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (getTop(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return awaitWindowHello(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = safeInterval((function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : void 0 : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }), 500);\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n var src_bridge;\n src_bridge = {\n setupBridge: setupBridge,\n openBridge: function(url, domain) {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n domain = domain || getDomainFromUrl(url);\n return bridges.getOrSet(domain, (function() {\n return promise_ZalgoPromise.try((function() {\n if (getDomain() === domain) throw new Error(\"Can not open bridge on the same domain as current domain: \" + domain);\n var name = getBridgeName(domain);\n if (getFrameByName(window, name)) throw new Error(\"Frame with name \" + name + \" already exists on page\");\n var iframe = function(name, url) {\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"name\", name);\n iframe.setAttribute(\"id\", name);\n iframe.setAttribute(\"style\", \"display: none; margin: 0; padding: 0; border: 0px none; overflow: hidden;\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"border\", \"0\");\n iframe.setAttribute(\"scrolling\", \"no\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"tabindex\", \"-1\");\n iframe.setAttribute(\"hidden\", \"true\");\n iframe.setAttribute(\"title\", \"\");\n iframe.setAttribute(\"role\", \"presentation\");\n iframe.src = url;\n return iframe;\n }(name, url);\n bridgeFrames.set(domain, iframe);\n return documentBodyReady.then((function(body) {\n body.appendChild(iframe);\n var bridge = iframe.contentWindow;\n return new promise_ZalgoPromise((function(resolve, reject) {\n iframe.addEventListener(\"load\", resolve);\n iframe.addEventListener(\"error\", reject);\n })).then((function() {\n return awaitWindowHello(bridge, 5e3, \"Bridge \" + url);\n })).then((function() {\n return bridge;\n }));\n }));\n }));\n }));\n },\n linkWindow: linkWindow,\n linkUrl: function(win, url) {\n linkWindow({\n win: win,\n domain: getDomainFromUrl(url)\n });\n },\n isBridge: isBridge,\n needsBridge: needsBridge,\n needsBridgeForBrowser: needsBridgeForBrowser,\n hasBridge: function(url, domain) {\n return globalStore(\"bridges\").has(domain || getDomainFromUrl(url));\n },\n needsBridgeForWin: needsBridgeForWin,\n needsBridgeForDomain: needsBridgeForDomain,\n destroyBridges: function() {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n for (var _i4 = 0, _bridgeFrames$keys2 = bridgeFrames.keys(); _i4 < _bridgeFrames$keys2.length; _i4++) {\n var frame = bridgeFrames.get(_bridgeFrames$keys2[_i4]);\n frame && frame.parentNode && frame.parentNode.removeChild(frame);\n }\n bridgeFrames.reset();\n bridges.reset();\n }\n };\n function lib_global_getGlobal(win) {\n void 0 === win && (win = window);\n if (!isSameDomain(win)) throw new Error(\"Can not get global for window on different domain\");\n win.__zoid_9_0_63__ || (win.__zoid_9_0_63__ = {});\n return win.__zoid_9_0_63__;\n }\n function getProxyObject(obj) {\n return {\n get: function() {\n var _this = this;\n return promise_ZalgoPromise.try((function() {\n if (_this.source && _this.source !== window) throw new Error(\"Can not call get on proxy object from a remote window\");\n return obj;\n }));\n }\n };\n }\n var PROP_TYPE = {\n STRING: \"string\",\n OBJECT: \"object\",\n FUNCTION: \"function\",\n BOOLEAN: \"boolean\",\n NUMBER: \"number\",\n ARRAY: \"array\"\n };\n var PROP_SERIALIZATION = {\n JSON: \"json\",\n DOTIFY: \"dotify\",\n BASE64: \"base64\"\n };\n var CONTEXT = WINDOW_TYPE;\n var EVENT = {\n RENDER: \"zoid-render\",\n RENDERED: \"zoid-rendered\",\n DISPLAY: \"zoid-display\",\n ERROR: \"zoid-error\",\n CLOSE: \"zoid-close\",\n DESTROY: \"zoid-destroy\",\n PROPS: \"zoid-props\",\n RESIZE: \"zoid-resize\",\n FOCUS: \"zoid-focus\"\n };\n function normalizeChildProp(propsDef, props, key, value, helpers) {\n if (!propsDef.hasOwnProperty(key)) return value;\n var prop = propsDef[key];\n return \"function\" == typeof prop.childDecorate ? prop.childDecorate({\n value: value,\n uid: helpers.uid,\n close: helpers.close,\n focus: helpers.focus,\n onError: helpers.onError,\n onProps: helpers.onProps,\n resize: helpers.resize,\n getParent: helpers.getParent,\n getParentDomain: helpers.getParentDomain,\n show: helpers.show,\n hide: helpers.hide\n }) : value;\n }\n function parseChildWindowName(windowName) {\n return inlineMemoize(parseChildWindowName, (function() {\n if (!windowName) throw new Error(\"No window name\");\n var _windowName$split = windowName.split(\"__\"), zoidcomp = _windowName$split[1], name = _windowName$split[2], encodedPayload = _windowName$split[3];\n if (\"zoid\" !== zoidcomp) throw new Error(\"Window not rendered by zoid - got \" + zoidcomp);\n if (!name) throw new Error(\"Expected component name\");\n if (!encodedPayload) throw new Error(\"Expected encoded payload\");\n try {\n return JSON.parse(function(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }(encodedPayload));\n } catch (err) {\n throw new Error(\"Can not decode window name payload: \" + encodedPayload + \": \" + stringifyError(err));\n }\n }), [ windowName ]);\n }\n function getChildPayload() {\n try {\n return parseChildWindowName(window.name);\n } catch (err) {}\n }\n function child_focus() {\n return promise_ZalgoPromise.try((function() {\n window.focus();\n }));\n }\n function child_destroy() {\n return promise_ZalgoPromise.try((function() {\n window.close();\n }));\n }\n function props_getQueryParam(prop, key, value) {\n return promise_ZalgoPromise.try((function() {\n return \"function\" == typeof prop.queryParam ? prop.queryParam({\n value: value\n }) : \"string\" == typeof prop.queryParam ? prop.queryParam : key;\n }));\n }\n function getQueryValue(prop, key, value) {\n return promise_ZalgoPromise.try((function() {\n return \"function\" == typeof prop.queryValue && isDefined(value) ? prop.queryValue({\n value: value\n }) : value;\n }));\n }\n function parentComponent(options, overrides, parentWin) {\n void 0 === overrides && (overrides = {});\n void 0 === parentWin && (parentWin = window);\n var propsDef = options.propsDef, containerTemplate = options.containerTemplate, prerenderTemplate = options.prerenderTemplate, tag = options.tag, name = options.name, attributes = options.attributes, dimensions = options.dimensions, autoResize = options.autoResize, url = options.url, domainMatch = options.domain;\n var initPromise = new promise_ZalgoPromise;\n var handledErrors = [];\n var clean = cleanup();\n var state = {};\n var internalState = {\n visible: !0\n };\n var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, \n {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n });\n var triggered, handlers;\n var props = overrides.props ? overrides.props : {};\n var currentProxyWin;\n var currentProxyContainer;\n var childComponent;\n var onErrorOverride = overrides.onError;\n var getProxyContainerOverride = overrides.getProxyContainer;\n var showOverride = overrides.show;\n var hideOverride = overrides.hide;\n var closeOverride = overrides.close;\n var renderContainerOverride = overrides.renderContainer;\n var getProxyWindowOverride = overrides.getProxyWindow;\n var setProxyWinOverride = overrides.setProxyWin;\n var openFrameOverride = overrides.openFrame;\n var openPrerenderFrameOverride = overrides.openPrerenderFrame;\n var prerenderOverride = overrides.prerender;\n var openOverride = overrides.open;\n var openPrerenderOverride = overrides.openPrerender;\n var watchForUnloadOverride = overrides.watchForUnload;\n var getInternalStateOverride = overrides.getInternalState;\n var setInternalStateOverride = overrides.setInternalState;\n var getPropsForChild = function(domain) {\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n prop && !1 === prop.sendToChild || prop && prop.sameDomain && !matchDomain(domain, getDomain(window)) || (result[key] = props[key]);\n }\n return promise_ZalgoPromise.hash(result);\n };\n var getInternalState = function() {\n return promise_ZalgoPromise.try((function() {\n return getInternalStateOverride ? getInternalStateOverride() : internalState;\n }));\n };\n var setInternalState = function(newInternalState) {\n return promise_ZalgoPromise.try((function() {\n return setInternalStateOverride ? setInternalStateOverride(newInternalState) : internalState = _extends({}, internalState, newInternalState);\n }));\n };\n var getProxyWindow = function() {\n return getProxyWindowOverride ? getProxyWindowOverride() : promise_ZalgoPromise.try((function() {\n var windowProp = props.window;\n if (windowProp) {\n var _proxyWin = setup_toProxyWindow(windowProp);\n clean.register((function() {\n return windowProp.close();\n }));\n return _proxyWin;\n }\n return new window_ProxyWindow({\n send: send_send\n });\n }));\n };\n var getProxyContainer = function(container) {\n return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise.try((function() {\n return elementReady(container);\n })).then((function(containerElement) {\n isShadowElement(containerElement) && (containerElement = function(element) {\n var shadowHost = function(element) {\n var shadowRoot = function(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }(element);\n if (shadowRoot.host) return shadowRoot.host;\n }(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }(containerElement));\n return getProxyObject(containerElement);\n }));\n };\n var setProxyWin = function(proxyWin) {\n return setProxyWinOverride ? setProxyWinOverride(proxyWin) : promise_ZalgoPromise.try((function() {\n currentProxyWin = proxyWin;\n }));\n };\n var show = function() {\n return showOverride ? showOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !0\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(showElement) : null\n }).then(src_util_noop);\n };\n var hide = function() {\n return hideOverride ? hideOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !1\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(hideElement) : null\n }).then(src_util_noop);\n };\n var getUrl = function() {\n return \"function\" == typeof url ? url({\n props: props\n }) : url;\n };\n var getAttributes = function() {\n return \"function\" == typeof attributes ? attributes({\n props: props\n }) : attributes;\n };\n var getChildDomain = function() {\n return domainMatch && \"string\" == typeof domainMatch ? domainMatch : getDomainFromUrl(getUrl());\n };\n var getDomainMatcher = function() {\n return domainMatch && util_isRegex(domainMatch) ? domainMatch : getChildDomain();\n };\n var openFrame = function(context, _ref) {\n var windowName = _ref.windowName;\n return openFrameOverride ? openFrameOverride(context, {\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: windowName,\n title: name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerenderFrame = function(context) {\n return openPrerenderFrameOverride ? openPrerenderFrameOverride(context) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: \"__zoid_prerender_frame__\" + name + \"_\" + uniqueID() + \"__\",\n title: \"prerender__\" + name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerender = function(context, proxyWin, proxyPrerenderFrame) {\n return openPrerenderOverride ? openPrerenderOverride(context, proxyWin, proxyPrerenderFrame) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyPrerenderFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyPrerenderFrame.get().then((function(prerenderFrame) {\n clean.register((function() {\n return destroyElement(prerenderFrame);\n }));\n return awaitFrameWindow(prerenderFrame).then((function(prerenderFrameWindow) {\n return assertSameDomain(prerenderFrameWindow);\n })).then((function(win) {\n return setup_toProxyWindow(win);\n }));\n }));\n }\n if (context === CONTEXT.POPUP) return proxyWin;\n throw new Error(\"No render context available for \" + context);\n }));\n };\n var focus = function() {\n return promise_ZalgoPromise.try((function() {\n if (currentProxyWin) return promise_ZalgoPromise.all([ event.trigger(EVENT.FOCUS), currentProxyWin.focus() ]).then(src_util_noop);\n }));\n };\n var getWindowRef = function(target, domain, uid, context) {\n if (domain === getDomain(window)) {\n var global = lib_global_getGlobal(window);\n global.windows = global.windows || {};\n global.windows[uid] = window;\n clean.register((function() {\n delete global.windows[uid];\n }));\n return {\n type: \"global\",\n uid: uid\n };\n }\n return context === CONTEXT.POPUP ? {\n type: \"opener\"\n } : {\n type: \"parent\",\n distance: getDistanceFromTop(window)\n };\n };\n var initChild = function(childExports) {\n return promise_ZalgoPromise.try((function() {\n childComponent = childExports;\n initPromise.resolve();\n clean.register((function() {\n return childExports.close.fireAndForget().catch(src_util_noop);\n }));\n }));\n };\n var resize = function(_ref2) {\n var width = _ref2.width, height = _ref2.height;\n return promise_ZalgoPromise.try((function() {\n event.trigger(EVENT.RESIZE, {\n width: width,\n height: height\n });\n }));\n };\n var destroy = function(err) {\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.DESTROY);\n })).catch(src_util_noop).then((function() {\n return clean.all(err);\n })).then((function() {\n initPromise.asyncReject(err || new Error(\"Component destroyed\"));\n }));\n };\n var close = memoize((function(err) {\n return promise_ZalgoPromise.try((function() {\n if (closeOverride) {\n if (isWindowClosed(closeOverride.__source__)) return;\n return closeOverride();\n }\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.CLOSE);\n })).then((function() {\n return destroy(err || new Error(\"Component closed\"));\n }));\n }));\n }));\n var open = function(context, _ref3) {\n var proxyWin = _ref3.proxyWin, proxyFrame = _ref3.proxyFrame, windowName = _ref3.windowName;\n return openOverride ? openOverride(context, {\n proxyWin: proxyWin,\n proxyFrame: proxyFrame,\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyFrame.get().then((function(frame) {\n return awaitFrameWindow(frame).then((function(win) {\n clean.register((function() {\n return destroyElement(frame);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }));\n }));\n }\n if (context === CONTEXT.POPUP) {\n var width = dimensions.width, height = dimensions.height;\n width = normalizeDimension(width, window.outerWidth);\n height = normalizeDimension(height, window.outerWidth);\n var win = function(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(\"\", name, params, !0);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }(0, _extends({\n name: windowName,\n width: width,\n height: height\n }, getAttributes().popup));\n clean.register((function() {\n return closeWindow(win);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }\n throw new Error(\"No render context available for \" + context);\n })).then((function(win) {\n proxyWin.setWindow(win, {\n send: send_send\n });\n return proxyWin;\n }));\n };\n var watchForUnload = function() {\n return promise_ZalgoPromise.try((function() {\n var unloadWindowListener = addEventListener(window, \"unload\", once((function() {\n destroy(new Error(\"Window navigated away\"));\n })));\n var closeParentWindowListener = onCloseWindow(parentWin, destroy, 3e3);\n clean.register(closeParentWindowListener.cancel);\n clean.register(unloadWindowListener.cancel);\n if (watchForUnloadOverride) return watchForUnloadOverride();\n }));\n };\n var checkWindowClose = function(proxyWin) {\n var closed = !1;\n return proxyWin.isClosed().then((function(isClosed) {\n if (isClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n return promise_ZalgoPromise.delay(200).then((function() {\n return proxyWin.isClosed();\n })).then((function(secondIsClosed) {\n if (secondIsClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n }));\n })).then((function() {\n return closed;\n }));\n };\n var onError = function(err) {\n return onErrorOverride ? onErrorOverride(err) : promise_ZalgoPromise.try((function() {\n if (-1 === handledErrors.indexOf(err)) {\n handledErrors.push(err);\n initPromise.asyncReject(err);\n return event.trigger(EVENT.ERROR, err);\n }\n }));\n };\n initChild.onError = onError;\n var renderTemplate = function(renderer, _ref6) {\n return renderer({\n container: _ref6.container,\n context: _ref6.context,\n uid: _ref6.uid,\n doc: _ref6.doc,\n frame: _ref6.frame,\n prerenderFrame: _ref6.prerenderFrame,\n focus: focus,\n close: close,\n state: state,\n props: props,\n tag: tag,\n dimensions: dimensions,\n event: event\n });\n };\n var prerender = function(proxyPrerenderWin, _ref7) {\n var context = _ref7.context, uid = _ref7.uid;\n return prerenderOverride ? prerenderOverride(proxyPrerenderWin, {\n context: context,\n uid: uid\n }) : promise_ZalgoPromise.try((function() {\n if (prerenderTemplate) {\n var prerenderWindow = proxyPrerenderWin.getWindow();\n if (prerenderWindow && isSameDomain(prerenderWindow) && function(win) {\n try {\n if (!win.location.href) return !0;\n if (\"about:blank\" === win.location.href) return !0;\n } catch (err) {}\n return !1;\n }(prerenderWindow)) {\n var doc = (prerenderWindow = assertSameDomain(prerenderWindow)).document;\n var el = renderTemplate(prerenderTemplate, {\n context: context,\n uid: uid,\n doc: doc\n });\n if (el) {\n if (el.ownerDocument !== doc) throw new Error(\"Expected prerender template to have been created with document from child window\");\n !function(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }(prerenderWindow, el);\n var _autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, _autoResize$element = autoResize.element, element = void 0 === _autoResize$element ? \"body\" : _autoResize$element;\n if ((element = getElementSafe(element, doc)) && (width || height)) {\n var prerenderResizeListener = onResize(element, (function(_ref8) {\n resize({\n width: width ? _ref8.width : void 0,\n height: height ? _ref8.height : void 0\n });\n }), {\n width: width,\n height: height,\n win: prerenderWindow\n });\n event.on(EVENT.RENDERED, prerenderResizeListener.cancel);\n }\n }\n }\n }\n }));\n };\n var renderContainer = function(proxyContainer, _ref9) {\n var proxyFrame = _ref9.proxyFrame, proxyPrerenderFrame = _ref9.proxyPrerenderFrame, context = _ref9.context, uid = _ref9.uid;\n return renderContainerOverride ? renderContainerOverride(proxyContainer, {\n proxyFrame: proxyFrame,\n proxyPrerenderFrame: proxyPrerenderFrame,\n context: context,\n uid: uid\n }) : promise_ZalgoPromise.hash({\n container: proxyContainer.get(),\n frame: proxyFrame ? proxyFrame.get() : null,\n prerenderFrame: proxyPrerenderFrame ? proxyPrerenderFrame.get() : null,\n internalState: getInternalState()\n }).then((function(_ref10) {\n var container = _ref10.container, visible = _ref10.internalState.visible;\n var innerContainer = renderTemplate(containerTemplate, {\n context: context,\n uid: uid,\n container: container,\n frame: _ref10.frame,\n prerenderFrame: _ref10.prerenderFrame,\n doc: document\n });\n if (innerContainer) {\n visible || hideElement(innerContainer);\n appendChild(container, innerContainer);\n var containerWatcher = function(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = assertSameDomain(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }(innerContainer, (function() {\n return close(new Error(\"Detected container element removed from DOM\"));\n }));\n clean.register((function() {\n return containerWatcher.cancel();\n }));\n clean.register((function() {\n return destroyElement(innerContainer);\n }));\n return currentProxyContainer = getProxyObject(innerContainer);\n }\n }));\n };\n var getHelpers = function() {\n return {\n state: state,\n event: event,\n close: close,\n focus: focus,\n resize: resize,\n onError: onError,\n updateProps: updateProps,\n show: show,\n hide: hide\n };\n };\n var setProps = function(newProps, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var helpers = getHelpers();\n !function(propsDef, props, inputProps, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n extend(props, inputProps = inputProps || {});\n var propNames = isUpdate ? [] : [].concat(Object.keys(propsDef));\n for (var _i2 = 0, _Object$keys2 = Object.keys(inputProps); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n -1 === propNames.indexOf(key) && propNames.push(key);\n }\n var aliases = [];\n var state = helpers.state, close = helpers.close, focus = helpers.focus, event = helpers.event, onError = helpers.onError;\n for (var _i4 = 0; _i4 < propNames.length; _i4++) {\n var _key = propNames[_i4];\n var propDef = propsDef[_key];\n var value = inputProps[_key];\n if (propDef) {\n var alias = propDef.alias;\n if (alias) {\n !isDefined(value) && isDefined(inputProps[alias]) && (value = inputProps[alias]);\n aliases.push(alias);\n }\n propDef.value && (value = propDef.value({\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n !isDefined(value) && propDef.default && (value = propDef.default({\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n if (isDefined(value) && (\"array\" === propDef.type ? !Array.isArray(value) : typeof value !== propDef.type)) throw new TypeError(\"Prop is not of type \" + propDef.type + \": \" + _key);\n props[_key] = value;\n }\n }\n for (var _i6 = 0; _i6 < aliases.length; _i6++) delete props[aliases[_i6]];\n for (var _i8 = 0, _Object$keys4 = Object.keys(props); _i8 < _Object$keys4.length; _i8++) {\n var _key2 = _Object$keys4[_i8];\n var _propDef = propsDef[_key2];\n var _value = props[_key2];\n _propDef && isDefined(_value) && _propDef.decorate && (props[_key2] = _propDef.decorate({\n value: _value,\n props: props,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError\n }));\n }\n for (var _i10 = 0, _Object$keys6 = Object.keys(propsDef); _i10 < _Object$keys6.length; _i10++) {\n var _key3 = _Object$keys6[_i10];\n if (!1 !== propsDef[_key3].required && !isDefined(props[_key3])) throw new Error('Expected prop \"' + _key3 + '\" to be defined');\n }\n }(propsDef, props, newProps, helpers, isUpdate);\n };\n var updateProps = function(newProps) {\n setProps(newProps, !0);\n return initPromise.then((function() {\n var child = childComponent;\n var proxyWin = currentProxyWin;\n if (child && proxyWin) return getPropsForChild(getDomainMatcher()).then((function(childProps) {\n return child.updateProps(childProps).catch((function(err) {\n return checkWindowClose(proxyWin).then((function(closed) {\n if (!closed) throw err;\n }));\n }));\n }));\n }));\n };\n return {\n init: function() {\n !function() {\n event.on(EVENT.RENDER, (function() {\n return props.onRender();\n }));\n event.on(EVENT.DISPLAY, (function() {\n return props.onDisplay();\n }));\n event.on(EVENT.RENDERED, (function() {\n return props.onRendered();\n }));\n event.on(EVENT.CLOSE, (function() {\n return props.onClose();\n }));\n event.on(EVENT.DESTROY, (function() {\n return props.onDestroy();\n }));\n event.on(EVENT.RESIZE, (function() {\n return props.onResize();\n }));\n event.on(EVENT.FOCUS, (function() {\n return props.onFocus();\n }));\n event.on(EVENT.PROPS, (function(newProps) {\n return props.onProps(newProps);\n }));\n event.on(EVENT.ERROR, (function(err) {\n return props && props.onError ? props.onError(err) : initPromise.reject(err).then((function() {\n setTimeout((function() {\n throw err;\n }), 1);\n }));\n }));\n clean.register(event.reset);\n }();\n },\n render: function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n var uid = \"zoid-\" + tag + \"-\" + uniqueID();\n var domain = getDomainMatcher();\n var childDomain = getChildDomain();\n !function(target, domain, container) {\n if (target !== window) {\n if (!isSameTopWindow(window, target)) throw new Error(\"Can only renderTo an adjacent frame\");\n var origin = getDomain();\n if (!matchDomain(domain, origin) && !isSameDomain(target)) throw new Error(\"Can not render remotely to \" + domain.toString() + \" - can only render to \" + origin);\n if (container && \"string\" != typeof container) throw new Error(\"Container passed to renderTo must be a string selector, got \" + typeof container + \" }\");\n }\n }(target, domain, container);\n var delegatePromise = promise_ZalgoPromise.try((function() {\n if (target !== window) return function(context, target) {\n var delegateProps = {};\n for (var _i4 = 0, _Object$keys4 = Object.keys(props); _i4 < _Object$keys4.length; _i4++) {\n var propName = _Object$keys4[_i4];\n var propDef = propsDef[propName];\n propDef && propDef.allowDelegate && (delegateProps[propName] = props[propName]);\n }\n var childOverridesPromise = send_send(target, \"zoid_delegate_\" + name, {\n overrides: {\n props: delegateProps,\n event: event,\n close: close,\n onError: onError,\n getInternalState: getInternalState,\n setInternalState: setInternalState\n }\n }).then((function(_ref11) {\n var parentComp = _ref11.data.parent;\n clean.register((function(err) {\n if (!isWindowClosed(target)) return parentComp.destroy(err);\n }));\n return parentComp.getDelegateOverrides();\n })).catch((function(err) {\n throw new Error(\"Unable to delegate rendering. Possibly the component is not loaded in the target window.\\n\\n\" + stringifyError(err));\n }));\n getProxyContainerOverride = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyContainer.apply(childOverrides, args);\n }));\n };\n renderContainerOverride = function() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.renderContainer.apply(childOverrides, args);\n }));\n };\n showOverride = function() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.show.apply(childOverrides, args);\n }));\n };\n hideOverride = function() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.hide.apply(childOverrides, args);\n }));\n };\n watchForUnloadOverride = function() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) args[_key5] = arguments[_key5];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.watchForUnload.apply(childOverrides, args);\n }));\n };\n if (context === CONTEXT.IFRAME) {\n getProxyWindowOverride = function() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) args[_key6] = arguments[_key6];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyWindow.apply(childOverrides, args);\n }));\n };\n openFrameOverride = function() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) args[_key7] = arguments[_key7];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openFrame.apply(childOverrides, args);\n }));\n };\n openPrerenderFrameOverride = function() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) args[_key8] = arguments[_key8];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerenderFrame.apply(childOverrides, args);\n }));\n };\n prerenderOverride = function() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) args[_key9] = arguments[_key9];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.prerender.apply(childOverrides, args);\n }));\n };\n openOverride = function() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) args[_key10] = arguments[_key10];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.open.apply(childOverrides, args);\n }));\n };\n openPrerenderOverride = function() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) args[_key11] = arguments[_key11];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerender.apply(childOverrides, args);\n }));\n };\n } else context === CONTEXT.POPUP && (setProxyWinOverride = function() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) args[_key12] = arguments[_key12];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.setProxyWin.apply(childOverrides, args);\n }));\n });\n return childOverridesPromise;\n }(context, target);\n }));\n var windowProp = props.window;\n var watchForUnloadPromise = watchForUnload();\n var buildUrlPromise = function(propsDef, props) {\n var params = {};\n var keys = Object.keys(props);\n return promise_ZalgoPromise.all(keys.map((function(key) {\n var prop = propsDef[key];\n if (prop) return promise_ZalgoPromise.resolve().then((function() {\n var value = props[key];\n if (value && prop.queryParam) return value;\n })).then((function(value) {\n if (null != value) return promise_ZalgoPromise.all([ props_getQueryParam(prop, key, value), getQueryValue(prop, 0, value) ]).then((function(_ref) {\n var queryParam = _ref[0], queryValue = _ref[1];\n var result;\n if (\"boolean\" == typeof queryValue) result = queryValue.toString(); else if (\"string\" == typeof queryValue) result = queryValue.toString(); else if (\"object\" == typeof queryValue && null !== queryValue) {\n if (prop.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(queryValue); else if (prop.serialization === PROP_SERIALIZATION.BASE64) result = btoa(JSON.stringify(queryValue)); else if (prop.serialization === PROP_SERIALIZATION.DOTIFY || !prop.serialization) {\n result = function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = obj[key].toString());\n return newobj;\n }(queryValue, key);\n for (var _i12 = 0, _Object$keys8 = Object.keys(result); _i12 < _Object$keys8.length; _i12++) {\n var dotkey = _Object$keys8[_i12];\n params[dotkey] = result[dotkey];\n }\n return;\n }\n } else \"number\" == typeof queryValue && (result = queryValue.toString());\n params[queryParam] = result;\n }));\n }));\n }))).then((function() {\n return params;\n }));\n }(propsDef, props).then((function(query) {\n return function(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }(normalizeMockUrl(getUrl()), {\n query: query\n });\n }));\n var onRenderPromise = event.trigger(EVENT.RENDER);\n var getProxyContainerPromise = getProxyContainer(container);\n var getProxyWindowPromise = getProxyWindow();\n var buildWindowNamePromise = getProxyWindowPromise.then((function(proxyWin) {\n return function(_temp) {\n var _ref4 = void 0 === _temp ? {} : _temp, proxyWin = _ref4.proxyWin, childDomain = _ref4.childDomain, domain = _ref4.domain, context = (void 0 === _ref4.target && window, \n _ref4.context), uid = _ref4.uid;\n return function(proxyWin, childDomain, domain, uid) {\n return getPropsForChild(domain).then((function(childProps) {\n var value = setup_serializeMessage(proxyWin, domain, childProps);\n var propRef = childDomain === getDomain() ? {\n type: \"uid\",\n uid: uid\n } : {\n type: \"raw\",\n value: value\n };\n if (\"uid\" === propRef.type) {\n var global = lib_global_getGlobal(window);\n global.props = global.props || {};\n global.props[uid] = value;\n clean.register((function() {\n delete global.props[uid];\n }));\n }\n return propRef;\n }));\n }(proxyWin, childDomain, domain, uid).then((function(propsRef) {\n return {\n uid: uid,\n context: context,\n tag: tag,\n version: \"9_0_63\",\n childDomain: childDomain,\n parentDomain: getDomain(window),\n parent: getWindowRef(0, childDomain, uid, context),\n props: propsRef,\n exports: setup_serializeMessage(proxyWin, domain, (win = proxyWin, {\n init: initChild,\n close: close,\n checkClose: function() {\n return checkWindowClose(win);\n },\n resize: resize,\n onError: onError,\n show: show,\n hide: hide\n }))\n };\n var win;\n }));\n }({\n proxyWin: (_ref5 = {\n proxyWin: proxyWin,\n childDomain: childDomain,\n domain: domain,\n target: target,\n context: context,\n uid: uid\n }).proxyWin,\n childDomain: _ref5.childDomain,\n domain: _ref5.domain,\n target: _ref5.target,\n context: _ref5.context,\n uid: _ref5.uid\n }).then((function(childPayload) {\n return \"__zoid__\" + name + \"__\" + base64encode(JSON.stringify(childPayload)) + \"__\";\n }));\n var _ref5;\n }));\n var openFramePromise = buildWindowNamePromise.then((function(windowName) {\n return openFrame(context, {\n windowName: windowName\n });\n }));\n var openPrerenderFramePromise = openPrerenderFrame(context);\n var renderContainerPromise = promise_ZalgoPromise.hash({\n proxyContainer: getProxyContainerPromise,\n proxyFrame: openFramePromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref12) {\n return renderContainer(_ref12.proxyContainer, {\n context: context,\n uid: uid,\n proxyFrame: _ref12.proxyFrame,\n proxyPrerenderFrame: _ref12.proxyPrerenderFrame\n });\n })).then((function(proxyContainer) {\n return proxyContainer;\n }));\n var openPromise = promise_ZalgoPromise.hash({\n windowName: buildWindowNamePromise,\n proxyFrame: openFramePromise,\n proxyWin: getProxyWindowPromise\n }).then((function(_ref13) {\n var proxyWin = _ref13.proxyWin;\n return windowProp ? proxyWin : open(context, {\n windowName: _ref13.windowName,\n proxyWin: proxyWin,\n proxyFrame: _ref13.proxyFrame\n });\n }));\n var openPrerenderPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref14) {\n return openPrerender(context, _ref14.proxyWin, _ref14.proxyPrerenderFrame);\n }));\n var setStatePromise = openPromise.then((function(proxyWin) {\n currentProxyWin = proxyWin;\n return setProxyWin(proxyWin);\n }));\n var prerenderPromise = promise_ZalgoPromise.hash({\n proxyPrerenderWin: openPrerenderPromise,\n state: setStatePromise\n }).then((function(_ref15) {\n return prerender(_ref15.proxyPrerenderWin, {\n context: context,\n uid: uid\n });\n }));\n var setWindowNamePromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowName: buildWindowNamePromise\n }).then((function(_ref16) {\n if (windowProp) return _ref16.proxyWin.setName(_ref16.windowName);\n }));\n var loadUrlPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n builtUrl: buildUrlPromise,\n windowName: setWindowNamePromise,\n prerender: prerenderPromise\n }).then((function(_ref17) {\n return _ref17.proxyWin.setLocation(_ref17.builtUrl);\n }));\n var watchForClosePromise = openPromise.then((function(proxyWin) {\n !function watchForClose(proxyWin, context) {\n var cancelled = !1;\n clean.register((function() {\n cancelled = !0;\n }));\n return promise_ZalgoPromise.delay(2e3).then((function() {\n return proxyWin.isClosed();\n })).then((function(isClosed) {\n return isClosed ? close(new Error(\"Detected \" + context + \" close\")) : cancelled ? void 0 : watchForClose(proxyWin, context);\n }));\n }(proxyWin, context);\n }));\n var onDisplayPromise = promise_ZalgoPromise.hash({\n container: renderContainerPromise,\n prerender: prerenderPromise\n }).then((function() {\n return event.trigger(EVENT.DISPLAY);\n }));\n var openBridgePromise = openPromise.then((function(proxyWin) {\n return function(proxyWin, domain, context) {\n return promise_ZalgoPromise.try((function() {\n return proxyWin.awaitWindow();\n })).then((function(win) {\n if (src_bridge && src_bridge.needsBridge({\n win: win,\n domain: domain\n }) && !src_bridge.hasBridge(domain, domain)) {\n var bridgeUrl = \"function\" == typeof options.bridgeUrl ? options.bridgeUrl({\n props: props\n }) : options.bridgeUrl;\n if (!bridgeUrl) throw new Error(\"Bridge needed to render \" + context);\n var bridgeDomain = getDomainFromUrl(bridgeUrl);\n src_bridge.linkUrl(win, domain);\n return src_bridge.openBridge(normalizeMockUrl(bridgeUrl), bridgeDomain);\n }\n }));\n }(proxyWin, childDomain, context);\n }));\n var runTimeoutPromise = loadUrlPromise.then((function() {\n return promise_ZalgoPromise.try((function() {\n var timeout = props.timeout;\n if (timeout) return initPromise.timeout(timeout, new Error(\"Loading component timed out after \" + timeout + \" milliseconds\"));\n }));\n }));\n var onRenderedPromise = initPromise.then((function() {\n return event.trigger(EVENT.RENDERED);\n }));\n return promise_ZalgoPromise.hash({\n initPromise: initPromise,\n buildUrlPromise: buildUrlPromise,\n onRenderPromise: onRenderPromise,\n getProxyContainerPromise: getProxyContainerPromise,\n openFramePromise: openFramePromise,\n openPrerenderFramePromise: openPrerenderFramePromise,\n renderContainerPromise: renderContainerPromise,\n openPromise: openPromise,\n openPrerenderPromise: openPrerenderPromise,\n setStatePromise: setStatePromise,\n prerenderPromise: prerenderPromise,\n loadUrlPromise: loadUrlPromise,\n buildWindowNamePromise: buildWindowNamePromise,\n setWindowNamePromise: setWindowNamePromise,\n watchForClosePromise: watchForClosePromise,\n onDisplayPromise: onDisplayPromise,\n openBridgePromise: openBridgePromise,\n runTimeoutPromise: runTimeoutPromise,\n onRenderedPromise: onRenderedPromise,\n delegatePromise: delegatePromise,\n watchForUnloadPromise: watchForUnloadPromise\n });\n })).catch((function(err) {\n return promise_ZalgoPromise.all([ onError(err), destroy(err) ]).then((function() {\n throw err;\n }), (function() {\n throw err;\n }));\n })).then(src_util_noop);\n },\n destroy: destroy,\n setProps: setProps,\n getHelpers: getHelpers,\n getDelegateOverrides: function() {\n return promise_ZalgoPromise.try((function() {\n return {\n getProxyContainer: getProxyContainer,\n show: show,\n hide: hide,\n renderContainer: renderContainer,\n getProxyWindow: getProxyWindow,\n watchForUnload: watchForUnload,\n openFrame: openFrame,\n openPrerenderFrame: openPrerenderFrame,\n prerender: prerender,\n open: open,\n openPrerender: openPrerender,\n setProxyWin: setProxyWin\n };\n }));\n }\n };\n }\n var react = {\n register: function(tag, propsDef, init, _ref) {\n var React = _ref.React, ReactDOM = _ref.ReactDOM;\n return function(_React$Component) {\n _inheritsLoose(_class, _React$Component);\n function _class() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = _class.prototype;\n _proto.render = function() {\n return React.createElement(\"div\", null);\n };\n _proto.componentDidMount = function() {\n var el = ReactDOM.findDOMNode(this);\n var parent = init(extend({}, this.props));\n parent.render(el, CONTEXT.IFRAME);\n this.setState({\n parent: parent\n });\n };\n _proto.componentDidUpdate = function() {\n this.state && this.state.parent && this.state.parent.updateProps(extend({}, this.props)).catch(src_util_noop);\n };\n return _class;\n }(React.Component);\n }\n };\n var vue = {\n register: function(tag, propsDef, init, Vue) {\n return Vue.component(tag, {\n render: function(createElement) {\n return createElement(\"div\");\n },\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, this.$attrs));\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n });\n }\n };\n var angular = {\n register: function(tag, propsDef, init, ng) {\n return ng.module(tag, []).directive(tag.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n })), (function() {\n var scope = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(propsDef); _i2 < _Object$keys2.length; _i2++) scope[_Object$keys2[_i2]] = \"=\";\n scope.props = \"=\";\n return {\n scope: scope,\n restrict: \"E\",\n controller: [ \"$scope\", \"$element\", function($scope, $element) {\n function safeApply() {\n if (\"$apply\" !== $scope.$root.$$phase && \"$digest\" !== $scope.$root.$$phase) try {\n $scope.$apply();\n } catch (err) {}\n }\n var getProps = function() {\n return replaceObject($scope.props, (function(item) {\n return \"function\" == typeof item ? function() {\n var result = item.apply(this, arguments);\n safeApply();\n return result;\n } : item;\n }));\n };\n var instance = init(getProps());\n instance.render($element[0], CONTEXT.IFRAME);\n $scope.$watch((function() {\n instance.updateProps(getProps()).catch(src_util_noop);\n }));\n } ]\n };\n }));\n }\n };\n var angular2 = {\n register: function(tag, propsDef, init, _ref) {\n var NgModule = _ref.NgModule, ElementRef = _ref.ElementRef, NgZone = _ref.NgZone;\n var getProps = function(component) {\n return replaceObject(_extends({}, component.internalProps, component.props), (function(item) {\n return \"function\" == typeof item ? function() {\n var _arguments = arguments, _this = this;\n return component.zone.run((function() {\n return item.apply(_this, _arguments);\n }));\n } : item;\n }));\n };\n var ComponentInstance = (0, _ref.Component)({\n selector: tag,\n template: \"<div></div>\",\n inputs: [ \"props\" ]\n }).Class({\n constructor: [ ElementRef, NgZone, function(elementRef, zone) {\n this._props = {};\n this.elementRef = elementRef;\n this.zone = zone;\n } ],\n ngOnInit: function() {\n var targetElement = this.elementRef.nativeElement;\n this.parent = init(getProps(this));\n this.parent.render(targetElement, CONTEXT.IFRAME);\n },\n ngDoCheck: function() {\n if (this.parent && !function(obj1, obj2) {\n var checked = {};\n for (var key in obj1) if (obj1.hasOwnProperty(key)) {\n checked[key] = !0;\n if (obj1[key] !== obj2[key]) return !1;\n }\n for (var _key in obj2) if (!checked[_key]) return !1;\n return !0;\n }(this._props, this.props)) {\n this._props = _extends({}, this.props);\n this.parent.updateProps(getProps(this));\n }\n }\n });\n return NgModule({\n declarations: [ ComponentInstance ],\n exports: [ ComponentInstance ]\n }).Class({\n constructor: function() {}\n });\n }\n };\n function defaultContainerTemplate(_ref) {\n var uid = _ref.uid, frame = _ref.frame, prerenderFrame = _ref.prerenderFrame, doc = _ref.doc, props = _ref.props, event = _ref.event, _ref$dimensions = _ref.dimensions, width = _ref$dimensions.width, height = _ref$dimensions.height;\n if (frame && prerenderFrame) {\n var div = doc.createElement(\"div\");\n div.setAttribute(\"id\", uid);\n var style = doc.createElement(\"style\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n style.appendChild(doc.createTextNode(\"\\n #\" + uid + \" {\\n display: inline-block;\\n position: relative;\\n width: \" + width + \";\\n height: \" + height + \";\\n }\\n\\n #\" + uid + \" > iframe {\\n display: inline-block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n transition: opacity .2s ease-in-out;\\n }\\n\\n #\" + uid + \" > iframe.zoid-invisible {\\n opacity: 0;\\n }\\n\\n #\" + uid + \" > iframe.zoid-visible {\\n opacity: 1;\\n }\\n \"));\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n prerenderFrame.classList.add(\"zoid-visible\");\n frame.classList.add(\"zoid-invisible\");\n event.on(EVENT.RENDERED, (function() {\n prerenderFrame.classList.remove(\"zoid-visible\");\n prerenderFrame.classList.add(\"zoid-invisible\");\n frame.classList.remove(\"zoid-invisible\");\n frame.classList.add(\"zoid-visible\");\n setTimeout((function() {\n destroyElement(prerenderFrame);\n }), 1);\n }));\n event.on(EVENT.RESIZE, (function(_ref2) {\n var newWidth = _ref2.width, newHeight = _ref2.height;\n \"number\" == typeof newWidth && (div.style.width = toCSS(newWidth));\n \"number\" == typeof newHeight && (div.style.height = toCSS(newHeight));\n }));\n return div;\n }\n }\n function defaultPrerenderTemplate(_ref) {\n var doc = _ref.doc, props = _ref.props;\n var html = doc.createElement(\"html\");\n var body = doc.createElement(\"body\");\n var style = doc.createElement(\"style\");\n var spinner = doc.createElement(\"div\");\n spinner.classList.add(\"spinner\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n html.appendChild(body);\n body.appendChild(spinner);\n body.appendChild(style);\n style.appendChild(doc.createTextNode(\"\\n html, body {\\n width: 100%;\\n height: 100%;\\n }\\n\\n .spinner {\\n position: fixed;\\n max-height: 60vmin;\\n max-width: 60vmin;\\n height: 40px;\\n width: 40px;\\n top: 50%;\\n left: 50%;\\n box-sizing: border-box;\\n border: 3px solid rgba(0, 0, 0, .2);\\n border-top-color: rgba(33, 128, 192, 0.8);\\n border-radius: 100%;\\n animation: rotation .7s infinite linear;\\n }\\n\\n @keyframes rotation {\\n from {\\n transform: translateX(-50%) translateY(-50%) rotate(0deg);\\n }\\n to {\\n transform: translateX(-50%) translateY(-50%) rotate(359deg);\\n }\\n }\\n \"));\n return html;\n }\n var props_defaultNoop = function() {\n return src_util_noop;\n };\n var props_decorateOnce = function(_ref) {\n return once(_ref.value);\n };\n var cleanInstances = cleanup();\n var cleanZoid = cleanup();\n function component_component(opts) {\n var options = function(options) {\n var tag = options.tag, url = options.url, domain = options.domain, bridgeUrl = options.bridgeUrl, _options$props = options.props, propsDef = void 0 === _options$props ? {} : _options$props, _options$dimensions = options.dimensions, dimensions = void 0 === _options$dimensions ? {} : _options$dimensions, _options$autoResize = options.autoResize, autoResize = void 0 === _options$autoResize ? {} : _options$autoResize, _options$allowedParen = options.allowedParentDomains, allowedParentDomains = void 0 === _options$allowedParen ? \"*\" : _options$allowedParen, _options$attributes = options.attributes, attributes = void 0 === _options$attributes ? {} : _options$attributes, _options$defaultConte = options.defaultContext, defaultContext = void 0 === _options$defaultConte ? CONTEXT.IFRAME : _options$defaultConte, _options$containerTem = options.containerTemplate, containerTemplate = void 0 === _options$containerTem ? defaultContainerTemplate : _options$containerTem, _options$prerenderTem = options.prerenderTemplate, prerenderTemplate = void 0 === _options$prerenderTem ? defaultPrerenderTemplate : _options$prerenderTem, validate = options.validate, _options$eligible = options.eligible, eligible = void 0 === _options$eligible ? function() {\n return {\n eligible: !0\n };\n } : _options$eligible, _options$logger = options.logger, logger = void 0 === _options$logger ? {\n info: src_util_noop\n } : _options$logger;\n var name = tag.replace(/-/g, \"_\");\n var _dimensions$width = dimensions.width, width = void 0 === _dimensions$width ? \"300px\" : _dimensions$width, _dimensions$height = dimensions.height, height = void 0 === _dimensions$height ? \"150px\" : _dimensions$height;\n propsDef = _extends({}, {\n window: {\n type: \"object\",\n sendToChild: !1,\n required: !1,\n allowDelegate: !0,\n validate: function(_ref2) {\n var value = _ref2.value;\n if (!isWindow(value) && !window_ProxyWindow.isProxyWindow(value)) throw new Error(\"Expected Window or ProxyWindow\");\n if (isWindow(value)) {\n if (isWindowClosed(value)) throw new Error(\"Window is closed\");\n if (!isSameDomain(value)) throw new Error(\"Window is not same domain\");\n }\n },\n decorate: function(_ref3) {\n return setup_toProxyWindow(_ref3.value);\n }\n },\n timeout: {\n type: \"number\",\n required: !1,\n sendToChild: !1\n },\n close: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref4) {\n return _ref4.close;\n }\n },\n focus: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref5) {\n return _ref5.focus;\n }\n },\n resize: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref6) {\n return _ref6.resize;\n }\n },\n uid: {\n type: \"string\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref7) {\n return _ref7.uid;\n }\n },\n cspNonce: {\n type: \"string\",\n required: !1\n },\n getParent: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref8) {\n return _ref8.getParent;\n }\n },\n getParentDomain: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref9) {\n return _ref9.getParentDomain;\n }\n },\n show: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref10) {\n return _ref10.show;\n }\n },\n hide: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref11) {\n return _ref11.hide;\n }\n },\n onDisplay: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRendered: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRender: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onClose: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onDestroy: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onResize: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onFocus: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onError: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref12) {\n return _ref12.onError;\n }\n },\n onProps: {\n type: \"function\",\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n childDecorate: function(_ref13) {\n return _ref13.onProps;\n }\n }\n }, propsDef);\n if (!containerTemplate) throw new Error(\"Container template required\");\n return {\n name: name,\n tag: tag,\n url: url,\n domain: domain,\n bridgeUrl: bridgeUrl,\n propsDef: propsDef,\n dimensions: {\n width: width,\n height: height\n },\n autoResize: autoResize,\n allowedParentDomains: allowedParentDomains,\n attributes: attributes,\n defaultContext: defaultContext,\n containerTemplate: containerTemplate,\n prerenderTemplate: prerenderTemplate,\n validate: validate,\n logger: logger,\n eligible: eligible\n };\n }(opts);\n var name = options.name, tag = options.tag, defaultContext = options.defaultContext, propsDef = options.propsDef, eligible = options.eligible;\n var global = lib_global_getGlobal();\n var driverCache = {};\n var instances = [];\n var isChild = function() {\n var payload = getChildPayload();\n return Boolean(payload && payload.tag === tag && payload.childDomain === getDomain());\n };\n var registerChild = memoize((function() {\n if (isChild()) {\n if (window.xprops) {\n delete global.components[tag];\n throw new Error(\"Can not register \" + name + \" as child - child already registered\");\n }\n var child = function(options) {\n var propsDef = options.propsDef, autoResize = options.autoResize, allowedParentDomains = options.allowedParentDomains;\n var onPropHandlers = [];\n var childPayload = getChildPayload();\n var props;\n if (!childPayload) throw new Error(\"No child payload found\");\n if (\"9_0_63\" !== childPayload.version) throw new Error(\"Parent window has zoid version \" + childPayload.version + \", child window has version 9_0_63\");\n var uid = childPayload.uid, parentDomain = childPayload.parentDomain, exports = childPayload.exports, context = childPayload.context, propsRef = childPayload.props;\n var parentComponentWindow = function(ref) {\n var type = ref.type;\n if (\"opener\" === type) return assertExists(\"opener\", getOpener(window));\n if (\"parent\" === type && \"number\" == typeof ref.distance) return assertExists(\"parent\", function(win, n) {\n void 0 === n && (n = 1);\n return function(win, n) {\n void 0 === n && (n = 1);\n var parent = win;\n for (var i = 0; i < n; i++) {\n if (!parent) return;\n parent = utils_getParent(parent);\n }\n return parent;\n }(win, getDistanceFromTop(win) - n);\n }(window, ref.distance));\n if (\"global\" === type && ref.uid && \"string\" == typeof ref.uid) {\n var uid = ref.uid;\n var ancestor = getAncestor(window);\n if (!ancestor) throw new Error(\"Can not find ancestor window\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var frame = _getAllFramesInWindow2[_i2];\n if (isSameDomain(frame)) {\n var global = lib_global_getGlobal(frame);\n if (global && global.windows && global.windows[uid]) return global.windows[uid];\n }\n }\n }\n throw new Error(\"Unable to find \" + type + \" parent component window\");\n }(childPayload.parent);\n var parent = setup_deserializeMessage(parentComponentWindow, parentDomain, exports);\n var show = parent.show, hide = parent.hide, close = parent.close;\n var getParent = function() {\n return parentComponentWindow;\n };\n var getParentDomain = function() {\n return parentDomain;\n };\n var onProps = function(handler) {\n onPropHandlers.push(handler);\n };\n var onError = function(err) {\n return promise_ZalgoPromise.try((function() {\n if (parent && parent.onError) return parent.onError(err);\n throw err;\n }));\n };\n var resize = function(_ref2) {\n return parent.resize.fireAndForget({\n width: _ref2.width,\n height: _ref2.height\n });\n };\n var setProps = function(newProps, origin, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var normalizedProps = function(parentComponentWindow, propsDef, props, origin, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n if (!prop || !prop.sameDomain || origin === getDomain(window) && isSameDomain(parentComponentWindow)) {\n var value = normalizeChildProp(propsDef, 0, key, props[key], helpers);\n result[key] = value;\n prop && prop.alias && !result[prop.alias] && (result[prop.alias] = value);\n }\n }\n if (!isUpdate) for (var _i4 = 0, _Object$keys4 = Object.keys(propsDef); _i4 < _Object$keys4.length; _i4++) {\n var _key = _Object$keys4[_i4];\n props.hasOwnProperty(_key) || (result[_key] = normalizeChildProp(propsDef, 0, _key, void 0, helpers));\n }\n return result;\n }(parentComponentWindow, propsDef, newProps, origin, {\n show: show,\n hide: hide,\n close: close,\n focus: child_focus,\n onError: onError,\n resize: resize,\n onProps: onProps,\n getParent: getParent,\n getParentDomain: getParentDomain,\n uid: uid\n }, isUpdate);\n props ? extend(props, normalizedProps) : props = normalizedProps;\n for (var _i4 = 0; _i4 < onPropHandlers.length; _i4++) (0, onPropHandlers[_i4])(props);\n };\n var updateProps = function(newProps) {\n return promise_ZalgoPromise.try((function() {\n return setProps(newProps, parentDomain, !0);\n }));\n };\n return {\n init: function() {\n return promise_ZalgoPromise.try((function() {\n !function(allowedParentDomains, domain) {\n if (!matchDomain(allowedParentDomains, domain)) throw new Error(\"Can not be rendered by domain: \" + domain);\n }(allowedParentDomains, parentDomain);\n markWindowKnown(parentComponentWindow);\n !function() {\n window.addEventListener(\"beforeunload\", (function() {\n parent.checkClose.fireAndForget();\n }));\n window.addEventListener(\"unload\", (function() {\n parent.checkClose.fireAndForget();\n }));\n onCloseWindow(parentComponentWindow, (function() {\n child_destroy();\n }));\n }();\n return parent.init({\n updateProps: updateProps,\n close: child_destroy\n });\n })).then((function() {\n return (_autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, \n _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, \n _autoResize$element = autoResize.element, elementReady(void 0 === _autoResize$element ? \"body\" : _autoResize$element).catch(src_util_noop).then((function(element) {\n return {\n width: width,\n height: height,\n element: element\n };\n }))).then((function(_ref3) {\n var width = _ref3.width, height = _ref3.height, element = _ref3.element;\n element && (width || height) && context !== CONTEXT.POPUP && onResize(element, (function(_ref4) {\n resize({\n width: width ? _ref4.width : void 0,\n height: height ? _ref4.height : void 0\n });\n }), {\n width: width,\n height: height\n });\n }));\n var _autoResize$width, width, _autoResize$height, height, _autoResize$element;\n })).catch((function(err) {\n onError(err);\n }));\n },\n getProps: function() {\n if (props) return props;\n setProps(function(parentComponentWindow, domain, _ref) {\n var type = _ref.type, uid = _ref.uid;\n var props;\n if (\"raw\" === type) props = _ref.value; else if (\"uid\" === type) {\n if (!isSameDomain(parentComponentWindow)) throw new Error(\"Parent component window is on a different domain - expected \" + getDomain() + \" - can not retrieve props\");\n var global = lib_global_getGlobal(parentComponentWindow);\n props = assertExists(\"props\", global && global.props[uid]);\n }\n if (!props) throw new Error(\"Could not find props\");\n return setup_deserializeMessage(parentComponentWindow, domain, props);\n }(parentComponentWindow, parentDomain, propsRef), parentDomain);\n return props;\n }\n };\n }(options);\n child.init();\n return child;\n }\n }));\n var init = function init(props) {\n var instance;\n var _eligible = eligible({\n props: props = props || {}\n }), eligibility = _eligible.eligible, reason = _eligible.reason;\n var onDestroy = props.onDestroy;\n props.onDestroy = function() {\n instance && eligibility && instances.splice(instances.indexOf(instance), 1);\n if (onDestroy) return onDestroy.apply(void 0, arguments);\n };\n var parent = parentComponent(options);\n parent.init();\n eligibility ? parent.setProps(props) : props.onDestroy && props.onDestroy();\n cleanInstances.register((function(err) {\n parent.destroy(err || new Error(\"zoid destroyed all components\"));\n }));\n var _render = function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n if (!eligibility) {\n var err = new Error(reason || name + \" component is not eligible\");\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }\n if (!isWindow(target)) throw new Error(\"Must pass window to renderTo\");\n return function(props, context) {\n return promise_ZalgoPromise.try((function() {\n if (props.window) return setup_toProxyWindow(props.window).getType();\n if (context) {\n if (context !== CONTEXT.IFRAME && context !== CONTEXT.POPUP) throw new Error(\"Unrecognized context: \" + context);\n return context;\n }\n return defaultContext;\n }));\n }(props, context);\n })).then((function(finalContext) {\n container = function(context, container) {\n if (container) {\n if (\"string\" != typeof container && !isElement(container)) throw new TypeError(\"Expected string or element selector to be passed\");\n return container;\n }\n if (context === CONTEXT.POPUP) return \"body\";\n throw new Error(\"Expected element to be passed to render iframe\");\n }(finalContext, container);\n return parent.render(target, container, finalContext);\n })).catch((function(err) {\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }));\n };\n instance = _extends({}, parent.getHelpers(), {\n isEligible: function() {\n return eligibility;\n },\n clone: function(_temp) {\n var _ref3$decorate = (void 0 === _temp ? {} : _temp).decorate;\n return init((void 0 === _ref3$decorate ? identity : _ref3$decorate)(props));\n },\n render: function(container, context) {\n return _render(window, container, context);\n },\n renderTo: function(target, container, context) {\n return _render(target, container, context);\n }\n });\n eligibility && instances.push(instance);\n return instance;\n };\n registerChild();\n !function() {\n var allowDelegateListener = on_on(\"zoid_allow_delegate_\" + name, (function() {\n return !0;\n }));\n var delegateListener = on_on(\"zoid_delegate_\" + name, (function(_ref) {\n return {\n parent: parentComponent(options, _ref.data.overrides, _ref.source)\n };\n }));\n cleanZoid.register(allowDelegateListener.cancel);\n cleanZoid.register(delegateListener.cancel);\n }();\n global.components = global.components || {};\n if (global.components[tag]) throw new Error(\"Can not register multiple components with the same tag: \" + tag);\n global.components[tag] = !0;\n return {\n init: init,\n instances: instances,\n driver: function(driverName, dep) {\n var drivers = {\n react: react,\n angular: angular,\n vue: vue,\n angular2: angular2\n };\n if (!drivers[driverName]) throw new Error(\"Could not find driver for framework: \" + driverName);\n driverCache[driverName] || (driverCache[driverName] = drivers[driverName].register(tag, propsDef, init, dep));\n return driverCache[driverName];\n },\n isChild: isChild,\n canRenderTo: function(win) {\n return send_send(win, \"zoid_allow_delegate_\" + name).then((function(_ref2) {\n return _ref2.data;\n })).catch((function() {\n return !1;\n }));\n },\n registerChild: registerChild\n };\n }\n function create(options) {\n !function() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return addEventListener(window, \"message\", (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n setupBridge({\n on: on_on,\n send: send_send,\n receiveMessage: receive_receiveMessage\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }();\n var comp = component_component(options);\n var init = function(props) {\n return comp.init(props);\n };\n init.driver = function(name, dep) {\n return comp.driver(name, dep);\n };\n init.isChild = function() {\n return comp.isChild();\n };\n init.canRenderTo = function(win) {\n return comp.canRenderTo(win);\n };\n init.instances = comp.instances;\n var child = comp.registerChild();\n child && (window.xprops = init.xprops = child.getProps());\n return init;\n }\n function destroyComponents(err) {\n src_bridge && src_bridge.destroyBridges();\n var destroyPromise = cleanInstances.all(err);\n cleanInstances = cleanup();\n return destroyPromise;\n }\n var destroyAll = destroyComponents;\n function component_destroy(err) {\n destroyAll();\n delete window.__zoid_9_0_63__;\n !function() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }();\n return cleanZoid.all(err);\n }\n } ]);\n}));","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"belter\", [], factory) : \"object\" == typeof exports ? exports.belter = factory() : root.belter = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"getUserAgent\", (function() {\n return getUserAgent;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDevice\", (function() {\n return isDevice;\n }));\n __webpack_require__.d(__webpack_exports__, \"isWebView\", (function() {\n return isWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isStandAlone\", (function() {\n return isStandAlone;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFacebookWebView\", (function() {\n return isFacebookWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFirefoxIOS\", (function() {\n return isFirefoxIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isEdgeIOS\", (function() {\n return isEdgeIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isOperaMini\", (function() {\n return isOperaMini;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroid\", (function() {\n return isAndroid;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIos\", (function() {\n return isIos;\n }));\n __webpack_require__.d(__webpack_exports__, \"isGoogleSearchApp\", (function() {\n return isGoogleSearchApp;\n }));\n __webpack_require__.d(__webpack_exports__, \"isQQBrowser\", (function() {\n return isQQBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIosWebview\", (function() {\n return isIosWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVC\", (function() {\n return isSFVC;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVCorSafari\", (function() {\n return isSFVCorSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroidWebview\", (function() {\n return isAndroidWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIE\", (function() {\n return device_isIE;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIECompHeader\", (function() {\n return isIECompHeader;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElectron\", (function() {\n return isElectron;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIEIntranet\", (function() {\n return isIEIntranet;\n }));\n __webpack_require__.d(__webpack_exports__, \"isMacOsCna\", (function() {\n return isMacOsCna;\n }));\n __webpack_require__.d(__webpack_exports__, \"supportsPopups\", (function() {\n return supportsPopups;\n }));\n __webpack_require__.d(__webpack_exports__, \"isChrome\", (function() {\n return isChrome;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSafari\", (function() {\n return isSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isApplePaySupported\", (function() {\n return isApplePaySupported;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentReady\", (function() {\n return isDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentInteractive\", (function() {\n return isDocumentInteractive;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlEncode\", (function() {\n return urlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForWindowReady\", (function() {\n return waitForWindowReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentReady\", (function() {\n return waitForDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentBody\", (function() {\n return waitForDocumentBody;\n }));\n __webpack_require__.d(__webpack_exports__, \"parseQuery\", (function() {\n return parseQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"getQueryParam\", (function() {\n return getQueryParam;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlWillRedirectPage\", (function() {\n return urlWillRedirectPage;\n }));\n __webpack_require__.d(__webpack_exports__, \"formatQuery\", (function() {\n return formatQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendQuery\", (function() {\n return extendQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendUrl\", (function() {\n return extendUrl;\n }));\n __webpack_require__.d(__webpack_exports__, \"redirect\", (function() {\n return redirect;\n }));\n __webpack_require__.d(__webpack_exports__, \"hasMetaViewPort\", (function() {\n return hasMetaViewPort;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementVisible\", (function() {\n return isElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPerformance\", (function() {\n return getPerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"enablePerformance\", (function() {\n return enablePerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPageRenderTime\", (function() {\n return getPageRenderTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"htmlEncode\", (function() {\n return htmlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"isBrowser\", (function() {\n return dom_isBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"querySelectorAll\", (function() {\n return querySelectorAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"onClick\", (function() {\n return onClick;\n }));\n __webpack_require__.d(__webpack_exports__, \"getScript\", (function() {\n return getScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"isLocalStorageEnabled\", (function() {\n return isLocalStorageEnabled;\n }));\n __webpack_require__.d(__webpack_exports__, \"getBrowserLocales\", (function() {\n return getBrowserLocales;\n }));\n __webpack_require__.d(__webpack_exports__, \"appendChild\", (function() {\n return appendChild;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElement\", (function() {\n return isElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElementSafe\", (function() {\n return getElementSafe;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElement\", (function() {\n return getElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"elementReady\", (function() {\n return elementReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"popup\", (function() {\n return popup;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeToWindow\", (function() {\n return writeToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeElementToWindow\", (function() {\n return writeElementToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setStyle\", (function() {\n return setStyle;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameLoad\", (function() {\n return awaitFrameLoad;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameWindow\", (function() {\n return awaitFrameWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"createElement\", (function() {\n return createElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"iframe\", (function() {\n return iframe;\n }));\n __webpack_require__.d(__webpack_exports__, \"addEventListener\", (function() {\n return addEventListener;\n }));\n __webpack_require__.d(__webpack_exports__, \"bindEvents\", (function() {\n return bindEvents;\n }));\n __webpack_require__.d(__webpack_exports__, \"setVendorCSS\", (function() {\n return setVendorCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"animate\", (function() {\n return animate;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementVisible\", (function() {\n return makeElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementInvisible\", (function() {\n return makeElementInvisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"showElement\", (function() {\n return showElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"hideElement\", (function() {\n return hideElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyElement\", (function() {\n return destroyElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"showAndAnimate\", (function() {\n return showAndAnimate;\n }));\n __webpack_require__.d(__webpack_exports__, \"animateAndHide\", (function() {\n return animateAndHide;\n }));\n __webpack_require__.d(__webpack_exports__, \"addClass\", (function() {\n return addClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeClass\", (function() {\n return removeClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementClosed\", (function() {\n return isElementClosed;\n }));\n __webpack_require__.d(__webpack_exports__, \"watchElementForClose\", (function() {\n return watchElementForClose;\n }));\n __webpack_require__.d(__webpack_exports__, \"fixScripts\", (function() {\n return fixScripts;\n }));\n __webpack_require__.d(__webpack_exports__, \"onResize\", (function() {\n return onResize;\n }));\n __webpack_require__.d(__webpack_exports__, \"getResourceLoadTime\", (function() {\n return getResourceLoadTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"isShadowElement\", (function() {\n return isShadowElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowRoot\", (function() {\n return getShadowRoot;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowHost\", (function() {\n return getShadowHost;\n }));\n __webpack_require__.d(__webpack_exports__, \"insertShadowSlot\", (function() {\n return insertShadowSlot;\n }));\n __webpack_require__.d(__webpack_exports__, \"preventClickFocus\", (function() {\n return preventClickFocus;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStackTrace\", (function() {\n return getStackTrace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScript\", (function() {\n return getCurrentScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScriptUID\", (function() {\n return getCurrentScriptUID;\n }));\n __webpack_require__.d(__webpack_exports__, \"experiment\", (function() {\n return experiment;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobalNameSpace\", (function() {\n return getGlobalNameSpace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStorage\", (function() {\n return getStorage;\n }));\n __webpack_require__.d(__webpack_exports__, \"getFunctionName\", (function() {\n return getFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"setFunctionName\", (function() {\n return setFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64encode\", (function() {\n return base64encode;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64decode\", (function() {\n return base64decode;\n }));\n __webpack_require__.d(__webpack_exports__, \"uniqueID\", (function() {\n return uniqueID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobal\", (function() {\n return getGlobal;\n }));\n __webpack_require__.d(__webpack_exports__, \"getObjectID\", (function() {\n return getObjectID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getEmptyObject\", (function() {\n return getEmptyObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoize\", (function() {\n return memoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseIdentity\", (function() {\n return promiseIdentity;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizePromise\", (function() {\n return memoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"promisify\", (function() {\n return promisify;\n }));\n __webpack_require__.d(__webpack_exports__, \"inlineMemoize\", (function() {\n return inlineMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"noop\", (function() {\n return src_util_noop;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return once;\n }));\n __webpack_require__.d(__webpack_exports__, \"hashStr\", (function() {\n return hashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"strHashStr\", (function() {\n return strHashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"match\", (function() {\n return match;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitKey\", (function() {\n return awaitKey;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyError\", (function() {\n return stringifyError;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyErrorMessage\", (function() {\n return stringifyErrorMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringify\", (function() {\n return stringify;\n }));\n __webpack_require__.d(__webpack_exports__, \"domainMatches\", (function() {\n return domainMatches;\n }));\n __webpack_require__.d(__webpack_exports__, \"patchMethod\", (function() {\n return patchMethod;\n }));\n __webpack_require__.d(__webpack_exports__, \"extend\", (function() {\n return extend;\n }));\n __webpack_require__.d(__webpack_exports__, \"values\", (function() {\n return util_values;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizedValues\", (function() {\n return memoizedValues;\n }));\n __webpack_require__.d(__webpack_exports__, \"perc\", (function() {\n return perc;\n }));\n __webpack_require__.d(__webpack_exports__, \"min\", (function() {\n return min;\n }));\n __webpack_require__.d(__webpack_exports__, \"max\", (function() {\n return max;\n }));\n __webpack_require__.d(__webpack_exports__, \"roundUp\", (function() {\n return roundUp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexMap\", (function() {\n return regexMap;\n }));\n __webpack_require__.d(__webpack_exports__, \"svgToBase64\", (function() {\n return svgToBase64;\n }));\n __webpack_require__.d(__webpack_exports__, \"objFilter\", (function() {\n return objFilter;\n }));\n __webpack_require__.d(__webpack_exports__, \"identity\", (function() {\n return identity;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexTokenize\", (function() {\n return regexTokenize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseDebounce\", (function() {\n return promiseDebounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeInterval\", (function() {\n return safeInterval;\n }));\n __webpack_require__.d(__webpack_exports__, \"isInteger\", (function() {\n return isInteger;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFloat\", (function() {\n return isFloat;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializePrimitive\", (function() {\n return serializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializePrimitive\", (function() {\n return deserializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"dotify\", (function() {\n return dotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"undotify\", (function() {\n return undotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"eventEmitter\", (function() {\n return eventEmitter;\n }));\n __webpack_require__.d(__webpack_exports__, \"camelToDasherize\", (function() {\n return camelToDasherize;\n }));\n __webpack_require__.d(__webpack_exports__, \"dasherizeToCamel\", (function() {\n return dasherizeToCamel;\n }));\n __webpack_require__.d(__webpack_exports__, \"capitalizeFirstLetter\", (function() {\n return capitalizeFirstLetter;\n }));\n __webpack_require__.d(__webpack_exports__, \"get\", (function() {\n return util_get;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeTimeout\", (function() {\n return safeTimeout;\n }));\n __webpack_require__.d(__webpack_exports__, \"defineLazyProp\", (function() {\n return defineLazyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"arrayFrom\", (function() {\n return arrayFrom;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObject\", (function() {\n return isObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObjectObject\", (function() {\n return isObjectObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPlainObject\", (function() {\n return isPlainObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"replaceObject\", (function() {\n return replaceObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"copyProp\", (function() {\n return copyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regex\", (function() {\n return regex;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexAll\", (function() {\n return regexAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDefined\", (function() {\n return isDefined;\n }));\n __webpack_require__.d(__webpack_exports__, \"cycle\", (function() {\n return cycle;\n }));\n __webpack_require__.d(__webpack_exports__, \"debounce\", (function() {\n return debounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"isRegex\", (function() {\n return util_isRegex;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoize\", (function() {\n return util_weakMapMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoizePromise\", (function() {\n return util_weakMapMemoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"getOrSet\", (function() {\n return getOrSet;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanup\", (function() {\n return cleanup;\n }));\n __webpack_require__.d(__webpack_exports__, \"tryCatch\", (function() {\n return tryCatch;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeFromArray\", (function() {\n return removeFromArray;\n }));\n __webpack_require__.d(__webpack_exports__, \"assertExists\", (function() {\n return assertExists;\n }));\n __webpack_require__.d(__webpack_exports__, \"unique\", (function() {\n return unique;\n }));\n __webpack_require__.d(__webpack_exports__, \"constHas\", (function() {\n return constHas;\n }));\n __webpack_require__.d(__webpack_exports__, \"dedupeErrors\", (function() {\n return dedupeErrors;\n }));\n __webpack_require__.d(__webpack_exports__, \"ExtendableError\", (function() {\n return util_ExtendableError;\n }));\n __webpack_require__.d(__webpack_exports__, \"request\", (function() {\n return request;\n }));\n __webpack_require__.d(__webpack_exports__, \"addHeaderBuilder\", (function() {\n return addHeaderBuilder;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return types_TYPES;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoized\", (function() {\n return memoized;\n }));\n __webpack_require__.d(__webpack_exports__, \"promise\", (function() {\n return decorators_promise;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPerc\", (function() {\n return isPerc;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPx\", (function() {\n return isPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toNum\", (function() {\n return toNum;\n }));\n __webpack_require__.d(__webpack_exports__, \"toPx\", (function() {\n return toPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toCSS\", (function() {\n return toCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"percOf\", (function() {\n return percOf;\n }));\n __webpack_require__.d(__webpack_exports__, \"normalizeDimension\", (function() {\n return normalizeDimension;\n }));\n __webpack_require__.d(__webpack_exports__, \"wrapPromise\", (function() {\n return wrapPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"KEY_CODES\", (function() {\n return KEY_CODES;\n }));\n __webpack_require__.d(__webpack_exports__, \"ATTRIBUTES\", (function() {\n return ATTRIBUTES;\n }));\n __webpack_require__.d(__webpack_exports__, \"iPhoneScreenHeightMatrix\", (function() {\n return iPhoneScreenHeightMatrix;\n }));\n var iPhoneScreenHeightMatrix = {\n 926: {\n device: \"iPhone 12 Pro Max\",\n textSizeHeights: [ 752, 748, 744, 738 ],\n zoomHeight: {\n 1.15: [ 752, 747, 744, 738 ],\n 1.25: [ 753, 748, 744, 738 ],\n 1.5: [ 752, 749, 744, 738 ],\n 1.75: [ 753, 747, 744, 739 ],\n 2: [ 752, 748, 744 ],\n 2.5: [ 753, 748 ],\n 3: [ 753, 744 ]\n },\n maybeSafari: {\n 2: [ 738 ],\n 2.5: [ 745, 738 ],\n 3: [ 747, 738 ]\n }\n },\n 896: {\n device: \"iPhone XS Max, iPhone 11 Pro Max, iPhone XR, iPhone 11\",\n textSizeHeights: [ 721, 717, 713, 707 ],\n zoomHeight: {\n 1.15: [ 721, 716, 713, 707 ],\n 1.25: [ 721, 718, 713, 708 ],\n 1.5: [ 722, 717, 713 ],\n 1.75: [ 721, 718, 712, 707 ],\n 2: [ 722, 718, 714, 708 ],\n 2.5: [ 720, 718, 713, 708 ],\n 3: [ 720, 717, 708 ]\n },\n maybeSafari: {\n 1.5: [ 707 ],\n 3: [ 714 ]\n }\n },\n 844: {\n device: \"iPhone 12, iPhone 12 Pro\",\n textSizeHeights: [ 670, 666, 662, 656 ],\n zoomHeight: {\n 1.15: [ 670, 666, 662 ],\n 1.25: [ 670, 666, 663, 656 ],\n 1.5: [ 671, 666, 662 ],\n 1.75: [ 670, 667, 662, 656 ],\n 2: [ 670, 666, 662 ],\n 2.5: [ 670, 663 ],\n 3: [ 669, 666, 663, 657 ]\n },\n maybeSafari: {\n 1.15: [ 656 ],\n 1.5: [ 656 ],\n 2: [ 656 ],\n 2.5: [ 665, 655 ],\n 3: [ 663 ]\n }\n },\n 812: {\n device: \"iPhone X, iPhone XS, iPhone 11 Pro, iPhone 12 Mini\",\n textSizeHeights: [ 641, 637, 633, 627 ],\n zoomHeight: {\n 1.15: [ 641, 637, 633, 627 ],\n 1.25: [ 641, 638, 633, 628 ],\n 1.5: [ 641, 638, 633, 627 ],\n 1.75: [ 641, 637, 634 ],\n 2: [ 642, 638, 634, 628 ],\n 2.5: [ 640, 638, 633, 628 ],\n 3: [ 642, 633 ]\n },\n maybeSafari: {\n 1.75: [ 627 ],\n 3: [ 636, 627 ]\n }\n },\n 736: {\n device: \"iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus\",\n textSizeHeights: [ 628, 624, 620, 614 ],\n zoomHeight: {\n 1.15: [ 628, 624, 620, 614 ],\n 1.25: [ 628, 624, 620, 614 ],\n 1.5: [ 629, 624, 620 ],\n 1.75: [ 628, 625, 620, 614 ],\n 2: [ 628, 624, 620 ],\n 2.5: [ 628, 625, 620, 615 ],\n 3: [ 627, 624, 615 ]\n },\n maybeSafari: {\n 1.5: [ 614 ],\n 2: [ 614 ],\n 3: [ 621 ]\n }\n },\n 667: {\n device: \"iPhone 6, iPhone 6S, iPhone 7, iPhone 8, iPhone SE2\",\n textSizeHeights: [ 559, 555, 551, 545 ],\n zoomHeight: {\n 1.15: [ 559, 555, 551, 545 ],\n 1.25: [ 559, 555, 551, 545 ],\n 1.5: [ 560, 555, 551 ],\n 1.75: [ 558, 555, 551 ],\n 2: [ 560, 556, 552, 546 ],\n 2.5: [ 560, 555, 550 ],\n 3: [ 558, 555, 546 ]\n },\n maybeSafari: {\n 1.5: [ 545 ],\n 1.75: [ 544 ],\n 2.5: [ 545 ],\n 3: [ 552 ]\n }\n }\n };\n function getUserAgent() {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n }\n function isDevice(userAgent) {\n void 0 === userAgent && (userAgent = getUserAgent());\n return !!userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i);\n }\n function isWebView() {\n var userAgent = getUserAgent();\n return /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i.test(userAgent) || /\\bwv\\b/.test(userAgent) || /Android.*Version\\/(\\d)\\.(\\d)/i.test(userAgent);\n }\n function isStandAlone() {\n return !0 === window.navigator.standalone || window.matchMedia(\"(display-mode: standalone)\").matches;\n }\n function isFacebookWebView(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FBAN/.test(ua) || /FBAV/.test(ua);\n }\n function isFirefoxIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FxiOS/i.test(ua);\n }\n function isEdgeIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /EdgiOS/i.test(ua);\n }\n function isOperaMini(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Opera Mini/i.test(ua);\n }\n function isAndroid(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Android/.test(ua);\n }\n function isIos(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /iPhone|iPod|iPad/.test(ua);\n }\n function isGoogleSearchApp(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /\\bGSA\\b/.test(ua);\n }\n function isQQBrowser(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /QQBrowser/.test(ua);\n }\n function isIosWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isIos(ua) && (!!isGoogleSearchApp(ua) || /.+AppleWebKit(?!.*Safari)|.*WKWebView/.test(ua));\n }\n function isSFVC(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n return scale > 1 && device.zoomHeight[scale] ? -1 !== device.zoomHeight[scale].indexOf(computedHeight) : -1 !== device.textSizeHeights.indexOf(computedHeight);\n }\n return !1;\n }\n function isSFVCorSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var sfvc = isSFVC(ua);\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n var possibleSafariSizes = device.maybeSafari;\n var maybeSafari = !1;\n scale > 1 && possibleSafariSizes[scale] && -1 !== possibleSafariSizes[scale].indexOf(computedHeight) && (maybeSafari = !0);\n return sfvc || maybeSafari;\n }\n return !1;\n }\n function isAndroidWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isAndroid(ua) && /Version\\/[\\d.]+/.test(ua) && !isOperaMini(ua);\n }\n function device_isIE() {\n return !!window.document.documentMode || Boolean(window.navigator && window.navigator.userAgent && /Edge|MSIE|rv:11/i.test(window.navigator.userAgent));\n }\n function isIECompHeader() {\n var mHttp = window.document.querySelector('meta[http-equiv=\"X-UA-Compatible\"]');\n var mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n return !(!mHttp || !mContent);\n }\n function isElectron() {\n return !(\"undefined\" == typeof process || !process.versions || !process.versions.electron);\n }\n function isIEIntranet() {\n if (window.document.documentMode) try {\n var status = window.status;\n window.status = \"testIntranetMode\";\n if (\"testIntranetMode\" === window.status) {\n window.status = status;\n return !0;\n }\n return !1;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n function isMacOsCna() {\n var userAgent = getUserAgent();\n return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent);\n }\n function supportsPopups(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) || isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone());\n }\n function isChrome(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Chrome|Chromium|CriOS/.test(ua);\n }\n function isSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Safari/.test(ua) && !isChrome(ua);\n }\n function isApplePaySupported() {\n try {\n if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && window.ApplePaySession.canMakePayments()) return !0;\n } catch (e) {\n return !1;\n }\n return !1;\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = function(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function base64decode(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n function getGlobal() {\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"No global found\");\n }\n var objectIDs;\n function getObjectID(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + getObjectID(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function promiseIdentity(item) {\n return promise_ZalgoPromise.resolve(item);\n }\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function promisify(method, options) {\n void 0 === options && (options = {});\n function promisifiedFunction() {\n return promise_ZalgoPromise.try(method, this, arguments);\n }\n options.name && (promisifiedFunction.displayName = options.name + \":promisified\");\n return setFunctionName(promisifiedFunction, getFunctionName(method) + \"::promisified\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function hashStr(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) hash += str[i].charCodeAt(0) * Math.pow(i % 10 + 1, 5);\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n }\n function strHashStr(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }\n function match(str, pattern) {\n var regmatch = str.match(pattern);\n if (regmatch) return regmatch[1];\n }\n function awaitKey(obj, key) {\n return new promise_ZalgoPromise((function(resolve) {\n var value = obj[key];\n if (value) return resolve(value);\n delete obj[key];\n Object.defineProperty(obj, key, {\n configurable: !0,\n set: function(item) {\n (value = item) && resolve(value);\n },\n get: function() {\n return value;\n }\n });\n }));\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringifyErrorMessage(err) {\n var defaultMessage = \"<unknown error: \" + {}.toString.call(err) + \">\";\n return err ? err instanceof Error ? err.message || defaultMessage : \"string\" == typeof err.message && err.message || defaultMessage : defaultMessage;\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function domainMatches(hostname, domain) {\n var index = (hostname = hostname.split(\"://\")[1]).indexOf(domain);\n return -1 !== index && hostname.slice(index) === domain;\n }\n function patchMethod(obj, name, handler) {\n var original = obj[name];\n obj[name] = function() {\n var _arguments2 = arguments, _this2 = this;\n return handler({\n context: this,\n args: [].slice.call(arguments),\n original: original,\n callOriginal: function() {\n return original.apply(_this2, _arguments2);\n }\n });\n };\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n var util_values = function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n };\n var memoizedValues = memoize(util_values);\n function perc(pixels, percentage) {\n return Math.round(pixels * percentage / 100);\n }\n function min() {\n return Math.min.apply(Math, arguments);\n }\n function max() {\n return Math.max.apply(Math, arguments);\n }\n function roundUp(num, nearest) {\n var remainder = num % nearest;\n return remainder ? num - remainder + nearest : num;\n }\n function regexMap(str, regexp, handler) {\n var results = [];\n str.replace(regexp, (function(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n }));\n return results;\n }\n function svgToBase64(svg) {\n return \"data:image/svg+xml;base64,\" + base64encode(svg);\n }\n function objFilter(obj, filter) {\n void 0 === filter && (filter = Boolean);\n var result = {};\n for (var key in obj) obj.hasOwnProperty(key) && filter(obj[key], key) && (result[key] = obj[key]);\n return result;\n }\n function identity(item) {\n return item;\n }\n function regexTokenize(text, regexp) {\n var result = [];\n text.replace(regexp, (function(token) {\n result.push(token);\n return \"\";\n }));\n return result;\n }\n function promiseDebounce(method, delay) {\n void 0 === delay && (delay = 50);\n var promise;\n var timeout;\n return setFunctionName((function() {\n timeout && clearTimeout(timeout);\n var localPromise = promise = promise || new promise_ZalgoPromise;\n timeout = setTimeout((function() {\n promise = null;\n timeout = null;\n promise_ZalgoPromise.try(method).then((function(result) {\n localPromise.resolve(result);\n }), (function(err) {\n localPromise.reject(err);\n }));\n }), delay);\n return localPromise;\n }), getFunctionName(method) + \"::promiseDebounced\");\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function isInteger(str) {\n return Boolean(str.match(/^[0-9]+$/));\n }\n function isFloat(str) {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n }\n function serializePrimitive(value) {\n return value.toString();\n }\n function deserializePrimitive(value) {\n return \"true\" === value || \"false\" !== value && (isInteger(value) ? parseInt(value, 10) : isFloat(value) ? parseFloat(value) : value);\n }\n function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = serializePrimitive(obj[key]));\n return newobj;\n }\n function undotify(obj) {\n var result = {};\n for (var key in obj) if (obj.hasOwnProperty(key) && \"string\" == typeof obj[key]) {\n var value = obj[key];\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(\",\").map(deserializePrimitive);\n } else value = deserializePrimitive(value);\n var keyResult = result;\n var parts = key.split(\".\");\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var isLast = i + 1 === parts.length;\n var isIndex = !isLast && isInteger(parts[i + 1]);\n if (\"constructor\" === part || \"prototype\" === part || \"__proto__\" === part) throw new Error(\"Disallowed key: \" + part);\n isLast ? keyResult[part] = value : keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n return result;\n }\n function eventEmitter() {\n var triggered = {};\n var handlers = {};\n return {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n };\n }\n function camelToDasherize(string) {\n return string.replace(/([A-Z])/g, (function(g) {\n return \"-\" + g.toLowerCase();\n }));\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n }\n function util_get(item, path, def) {\n if (!path) return def;\n var pathParts = path.split(\".\");\n for (var i = 0; i < pathParts.length; i++) {\n if (\"object\" != typeof item || null === item) return def;\n item = item[pathParts[i]];\n }\n return void 0 === item ? def : item;\n }\n function safeTimeout(method, time) {\n var interval = safeInterval((function() {\n if ((time -= 100) <= 0) {\n interval.cancel();\n method();\n }\n }), 100);\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObject(item) {\n return \"object\" == typeof item && null !== item;\n }\n function isObjectObject(obj) {\n return isObject(obj) && \"[object Object]\" === {}.toString.call(obj);\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function copyProp(source, target, name, def) {\n if (source.hasOwnProperty(name)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, name);\n Object.defineProperty(target, name, descriptor);\n } else target[name] = def;\n }\n function regex(pattern, string, start) {\n void 0 === start && (start = 0);\n \"string\" == typeof pattern && (pattern = new RegExp(pattern));\n var result = string.slice(start).match(pattern);\n if (result) {\n var index = result.index;\n var regmatch = result[0];\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n replace: function(text) {\n return regmatch ? \"\" + regmatch.slice(0, start + index) + text + regmatch.slice(index + regmatch.length) : \"\";\n }\n };\n }\n }\n function regexAll(pattern, string) {\n var matches = [];\n var start = 0;\n for (;;) {\n var regmatch = regex(pattern, string, start);\n if (!regmatch) break;\n matches.push(regmatch);\n start = match.end;\n }\n return matches;\n }\n function isDefined(value) {\n return null != value;\n }\n function cycle(method) {\n return promise_ZalgoPromise.try(method).then((function() {\n return cycle(method);\n }));\n }\n function debounce(method, time) {\n void 0 === time && (time = 100);\n var timeout;\n return setFunctionName((function() {\n var _arguments3 = arguments, _this3 = this;\n clearTimeout(timeout);\n timeout = setTimeout((function() {\n return method.apply(_this3, _arguments3);\n }), time);\n }), getFunctionName(method) + \"::debounced\");\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var util_weakMapMemoize = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this4 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this4, arg);\n }));\n };\n };\n var util_weakMapMemoizePromise = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this5 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this5, arg).finally((function() {\n weakmap.delete(arg);\n }));\n }));\n };\n };\n function getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function tryCatch(fn) {\n var result;\n var error;\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n return {\n result: result,\n error: error\n };\n }\n function removeFromArray(arr, item) {\n var index = arr.indexOf(item);\n -1 !== index && arr.splice(index, 1);\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n function unique(arr) {\n var result = {};\n for (var _i4 = 0; _i4 < arr.length; _i4++) result[arr[_i4]] = !0;\n return Object.keys(result);\n }\n var constHas = function(constant, value) {\n return -1 !== memoizedValues(constant).indexOf(value);\n };\n function dedupeErrors(handler) {\n var seenErrors = [];\n var seenStringifiedErrors = {};\n return function(err) {\n if (-1 === seenErrors.indexOf(err)) {\n seenErrors.push(err);\n var stringifiedError = stringifyError(err);\n if (!seenStringifiedErrors[stringifiedError]) {\n seenStringifiedErrors[stringifiedError] = !0;\n return handler(err);\n }\n }\n };\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n var KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n };\n var ATTRIBUTES = {\n UID: \"data-uid\"\n };\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n function waitForWindowReady() {\n return inlineMemoize(waitForWindowReady, (function() {\n return new promise_ZalgoPromise((function(resolve) {\n isDocumentReady() && resolve();\n window.addEventListener(\"load\", (function() {\n return resolve();\n }));\n }));\n }));\n }\n var waitForDocumentReady = memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function waitForDocumentBody() {\n return promise_ZalgoPromise.try((function() {\n return document.body ? document.body : waitForDocumentReady().then((function() {\n if (document.body) return document.body;\n throw new Error(\"Document ready but document.body not present\");\n }));\n }));\n }\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function getQueryParam(name) {\n return parseQuery(window.location.search.slice(1))[name];\n }\n function urlWillRedirectPage(url) {\n return -1 === url.indexOf(\"#\") || 0 !== url.indexOf(\"#\") && url.split(\"#\")[0] !== window.location.href.split(\"#\")[0];\n }\n function formatQuery(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? formatQuery(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function extendUrl(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }\n function redirect(url, win) {\n void 0 === win && (win = window);\n return new promise_ZalgoPromise((function(resolve) {\n win.location = url;\n urlWillRedirectPage(url) || resolve();\n }));\n }\n function hasMetaViewPort() {\n var meta = document.querySelector(\"meta[name=viewport]\");\n return !(isDevice() && window.screen.width < 660 && !meta);\n }\n function isElementVisible(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }\n function getPerformance() {\n return inlineMemoize(getPerformance, (function() {\n var performance = window.performance;\n if (performance && performance.now && performance.timing && performance.timing.connectEnd && performance.timing.navigationStart && Math.abs(performance.now() - Date.now()) > 1e3 && performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart) > 0) return performance;\n }));\n }\n function enablePerformance() {\n return Boolean(getPerformance());\n }\n function getPageRenderTime() {\n return waitForDocumentReady().then((function() {\n var performance = getPerformance();\n if (performance) {\n var timing = performance.timing;\n return timing.connectEnd && timing.domInteractive ? timing.domInteractive - timing.connectEnd : void 0;\n }\n }));\n }\n function htmlEncode(html) {\n void 0 === html && (html = \"\");\n return html.toString().replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\n }\n function dom_isBrowser() {\n return \"undefined\" != typeof window && void 0 !== window.location;\n }\n function querySelectorAll(selector, doc) {\n void 0 === doc && (doc = window.document);\n return [].slice.call(doc.querySelectorAll(selector));\n }\n function onClick(element, handler) {\n element.addEventListener(\"touchstart\", src_util_noop);\n element.addEventListener(\"click\", handler);\n element.addEventListener(\"keypress\", (function(event) {\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) return handler(event);\n }));\n }\n function getScript(_ref) {\n var _ref$host = _ref.host, host = void 0 === _ref$host ? window.location.host : _ref$host, path = _ref.path, _ref$reverse = _ref.reverse, reverse = void 0 !== _ref$reverse && _ref$reverse;\n return inlineMemoize(getScript, (function() {\n var url = \"\" + host + path;\n var scripts = [].slice.call(document.getElementsByTagName(\"script\"));\n reverse && scripts.reverse();\n for (var _i4 = 0; _i4 < scripts.length; _i4++) {\n var script = scripts[_i4];\n if (script.src && script.src.replace(/^https?:\\/\\//, \"\").split(\"?\")[0] === url) return script;\n }\n }), [ path ]);\n }\n function isLocalStorageEnabled() {\n return inlineMemoize(isLocalStorageEnabled, (function() {\n try {\n if (\"undefined\" == typeof window) return !1;\n if (window.localStorage) {\n var value = Math.random().toString();\n window.localStorage.setItem(\"__test__localStorage__\", value);\n var result = window.localStorage.getItem(\"__test__localStorage__\");\n window.localStorage.removeItem(\"__test__localStorage__\");\n if (value === result) return !0;\n }\n } catch (err) {}\n return !1;\n }));\n }\n function getBrowserLocales() {\n var nav = window.navigator;\n var locales = nav.languages ? [].concat(nav.languages) : [];\n nav.language && locales.push(nav.language);\n nav.userLanguage && locales.push(nav.userLanguage);\n return locales.map((function(locale) {\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n var _locale$split = locale.split(/[-_]/);\n return {\n country: _locale$split[1],\n lang: _locale$split[0]\n };\n }\n return locale && locale.match(/^[a-z]{2}$/) ? {\n lang: locale\n } : null;\n })).filter(Boolean);\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function getElement(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\n }\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n function popup(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }\n function writeToWindow(win, html) {\n try {\n win.document.open();\n win.document.write(html);\n win.document.close();\n } catch (err) {\n try {\n win.location = \"javascript: document.open(); document.write(\" + JSON.stringify(html) + \"); document.close();\";\n } catch (err2) {}\n }\n }\n function writeElementToWindow(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }\n function setStyle(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function createElement(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && setStyle(element, options.styleSheet);\n container && appendChild(container, element);\n if (options.html) if (\"iframe\" === tag) {\n if (!container || !element.contentWindow) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n writeToWindow(element.contentWindow, options.html);\n } else element.innerHTML = options.html;\n return element;\n }\n function iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = createElement(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && getElement(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function bindEvents(element, eventNames, handler) {\n handler = once(handler);\n for (var _i12 = 0; _i12 < eventNames.length; _i12++) element.addEventListener(eventNames[_i12], handler);\n return {\n cancel: once((function() {\n for (var _i14 = 0; _i14 < eventNames.length; _i14++) element.removeEventListener(eventNames[_i14], handler);\n }))\n };\n }\n var VENDOR_PREFIXES = [ \"webkit\", \"moz\", \"ms\", \"o\" ];\n function setVendorCSS(element, name, value) {\n element.style[name] = value;\n var capitalizedName = capitalizeFirstLetter(name);\n for (var _i16 = 0; _i16 < VENDOR_PREFIXES.length; _i16++) element.style[\"\" + VENDOR_PREFIXES[_i16] + capitalizedName] = value;\n }\n var ANIMATION_START_EVENTS = [ \"animationstart\", \"webkitAnimationStart\", \"oAnimationStart\", \"MSAnimationStart\" ];\n var ANIMATION_END_EVENTS = [ \"animationend\", \"webkitAnimationEnd\", \"oAnimationEnd\", \"MSAnimationEnd\" ];\n function animate(element, name, clean, timeout) {\n void 0 === timeout && (timeout = 1e3);\n return new promise_ZalgoPromise((function(resolve, reject) {\n var el = getElement(element);\n if (!el) return resolve();\n var hasStarted = !1;\n var startTimeout;\n var endTimeout;\n var startEvent;\n var endEvent;\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n clearTimeout(startTimeout);\n event.stopPropagation();\n startEvent.cancel();\n hasStarted = !0;\n endTimeout = setTimeout((function() {\n cleanUp();\n resolve();\n }), timeout);\n }\n }));\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n cleanUp();\n return \"string\" == typeof event.animationName && event.animationName !== name ? reject(\"Expected animation name to be \" + name + \", found \" + event.animationName) : resolve();\n }\n }));\n setVendorCSS(el, \"animationName\", name);\n startTimeout = setTimeout((function() {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }), 200);\n clean && clean(cleanUp);\n }));\n }\n function makeElementVisible(element) {\n element.style.setProperty(\"visibility\", \"\");\n }\n function makeElementInvisible(element) {\n element.style.setProperty(\"visibility\", \"hidden\", \"important\");\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function showAndAnimate(element, name, clean) {\n var animation = animate(element, name, clean);\n showElement(element);\n return animation;\n }\n function animateAndHide(element, name, clean) {\n return animate(element, name, clean).then((function() {\n hideElement(element);\n }));\n }\n function addClass(element, name) {\n element.classList.add(name);\n }\n function removeClass(element, name) {\n element.classList.remove(name);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function watchElementForClose(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = function(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }\n function fixScripts(el, doc) {\n void 0 === doc && (doc = window.document);\n for (var _i20 = 0, _querySelectorAll2 = querySelectorAll(\"script\", el); _i20 < _querySelectorAll2.length; _i20++) {\n var script = _querySelectorAll2[_i20];\n var parentNode = script.parentNode;\n if (parentNode) {\n var newScript = doc.createElement(\"script\");\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n }\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && isElementVisible(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function getResourceLoadTime(url) {\n var performance = getPerformance();\n if (performance && \"function\" == typeof performance.getEntries) {\n var entries = performance.getEntries();\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i];\n if (entry && entry.name && 0 === entry.name.indexOf(url) && \"number\" == typeof entry.duration) return Math.floor(entry.duration);\n }\n }\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n function getShadowRoot(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }\n function getShadowHost(element) {\n var shadowRoot = getShadowRoot(element);\n if (shadowRoot.host) return shadowRoot.host;\n }\n function insertShadowSlot(element) {\n var shadowHost = getShadowHost(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }\n function preventClickFocus(el) {\n var onFocus = function onFocus(event) {\n el.removeEventListener(\"focus\", onFocus);\n event.preventDefault();\n el.blur();\n return !1;\n };\n el.addEventListener(\"mousedown\", (function() {\n el.addEventListener(\"focus\", onFocus);\n setTimeout((function() {\n el.removeEventListener(\"focus\", onFocus);\n }), 1);\n }));\n }\n function getStackTrace() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = getStackTrace();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n var getCurrentScriptUID = memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(ATTRIBUTES.UID);\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(ATTRIBUTES.UID + \"-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(ATTRIBUTES.UID + \"-auto\", uid);\n return uid;\n }));\n function getStorage(_ref) {\n var name = _ref.name, _ref$lifetime = _ref.lifetime, lifetime = void 0 === _ref$lifetime ? 12e5 : _ref$lifetime;\n return inlineMemoize(getStorage, (function() {\n var STORAGE_KEY = \"__\" + name + \"_storage__\";\n var newStateID = uniqueID();\n var accessedStorage;\n function getState(handler) {\n var localStorageEnabled = isLocalStorageEnabled();\n var storage;\n accessedStorage && (storage = accessedStorage);\n if (!storage && localStorageEnabled) {\n var rawStorage = window.localStorage.getItem(STORAGE_KEY);\n rawStorage && (storage = JSON.parse(rawStorage));\n }\n storage || (storage = getGlobal()[STORAGE_KEY]);\n storage || (storage = {\n id: newStateID\n });\n storage.id || (storage.id = newStateID);\n accessedStorage = storage;\n var result = handler(storage);\n localStorageEnabled ? window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage)) : getGlobal()[STORAGE_KEY] = storage;\n accessedStorage = null;\n return result;\n }\n function getID() {\n return getState((function(storage) {\n return storage.id;\n }));\n }\n function getSession(handler) {\n return getState((function(storage) {\n var session = storage.__session__;\n var now = Date.now();\n session && now - session.created > lifetime && (session = null);\n session || (session = {\n guid: uniqueID(),\n created: now\n });\n storage.__session__ = session;\n return handler(session);\n }));\n }\n return {\n getState: getState,\n getID: getID,\n isStateFresh: function() {\n return getID() === newStateID;\n },\n getSessionState: function(handler) {\n return getSession((function(session) {\n session.state = session.state || {};\n return handler(session.state);\n }));\n },\n getSessionID: function() {\n return getSession((function(session) {\n return session.guid;\n }));\n }\n };\n }), [ {\n name: name,\n lifetime: lifetime\n } ]);\n }\n function getBelterExperimentStorage() {\n return getStorage({\n name: \"belter_experiment\"\n });\n }\n function isEventUnique(name) {\n return getBelterExperimentStorage().getSessionState((function(state) {\n state.loggedBeacons = state.loggedBeacons || [];\n if (-1 === state.loggedBeacons.indexOf(name)) {\n state.loggedBeacons.push(name);\n return !0;\n }\n return !1;\n }));\n }\n function getRandomInteger(range) {\n return Math.floor(Math.random() * range);\n }\n function experiment(_ref) {\n var name = _ref.name, _ref$sample = _ref.sample, sample = void 0 === _ref$sample ? 50 : _ref$sample, _ref$logTreatment = _ref.logTreatment, logTreatment = void 0 === _ref$logTreatment ? src_util_noop : _ref$logTreatment, _ref$logCheckpoint = _ref.logCheckpoint, logCheckpoint = void 0 === _ref$logCheckpoint ? src_util_noop : _ref$logCheckpoint, _ref$sticky = _ref.sticky;\n var throttle = void 0 === _ref$sticky || _ref$sticky ? function(name) {\n return getBelterExperimentStorage().getState((function(state) {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] = state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n }));\n }(name) : getRandomInteger(100);\n var group;\n var treatment = name + \"_\" + (group = throttle < sample ? \"test\" : sample >= 50 || sample <= throttle && throttle < 2 * sample ? \"control\" : \"throttle\");\n var started = !1;\n var forced = !1;\n try {\n window.localStorage && window.localStorage.getItem(name) && (forced = !0);\n } catch (err) {}\n return {\n isEnabled: function() {\n return \"test\" === group || forced;\n },\n isDisabled: function() {\n return \"test\" !== group && !forced;\n },\n getTreatment: function() {\n return treatment;\n },\n log: function(checkpoint, payload) {\n void 0 === payload && (payload = {});\n if (!started) return this;\n isEventUnique(treatment + \"_\" + JSON.stringify(payload)) && logTreatment({\n name: name,\n treatment: treatment,\n payload: payload,\n throttle: throttle\n });\n isEventUnique(treatment + \"_\" + checkpoint + \"_\" + JSON.stringify(payload)) && logCheckpoint({\n name: name,\n treatment: treatment,\n checkpoint: checkpoint,\n payload: payload,\n throttle: throttle\n });\n return this;\n },\n logStart: function(payload) {\n void 0 === payload && (payload = {});\n started = !0;\n return this.log(\"start\", payload);\n },\n logComplete: function(payload) {\n void 0 === payload && (payload = {});\n return this.log(\"complete\", payload);\n }\n };\n }\n function getGlobalNameSpace(_ref) {\n var name = _ref.name, _ref$version = _ref.version, version = void 0 === _ref$version ? \"latest\" : _ref$version;\n var global = getGlobal();\n var globalKey = \"__\" + name + \"__\" + version + \"_global__\";\n var namespace = global[globalKey] = global[globalKey] || {};\n return {\n get: function(key, defValue) {\n defValue = defValue || {};\n return namespace[key] = namespace[key] || defValue;\n }\n };\n }\n var headerBuilders = [];\n function request(_ref) {\n var url = _ref.url, _ref$method = _ref.method, method = void 0 === _ref$method ? \"get\" : _ref$method, _ref$headers = _ref.headers, headers = void 0 === _ref$headers ? {} : _ref$headers, json = _ref.json, data = _ref.data, body = _ref.body, _ref$win = _ref.win, win = void 0 === _ref$win ? window : _ref$win, _ref$timeout = _ref.timeout, timeout = void 0 === _ref$timeout ? 0 : _ref$timeout;\n return new promise_ZalgoPromise((function(resolve, reject) {\n if (json && data || json && body || data && json) throw new Error(\"Only options.json or options.data or options.body should be passed\");\n var normalizedHeaders = {};\n for (var _i4 = 0, _Object$keys2 = Object.keys(headers); _i4 < _Object$keys2.length; _i4++) {\n var _key2 = _Object$keys2[_i4];\n normalizedHeaders[_key2.toLowerCase()] = headers[_key2];\n }\n json ? normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/json\" : (data || body) && (normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/x-www-form-urlencoded; charset=utf-8\");\n normalizedHeaders.accept = normalizedHeaders.accept || \"application/json\";\n for (var _i6 = 0; _i6 < headerBuilders.length; _i6++) {\n var builtHeaders = (0, headerBuilders[_i6])();\n for (var _i8 = 0, _Object$keys4 = Object.keys(builtHeaders); _i8 < _Object$keys4.length; _i8++) {\n var _key3 = _Object$keys4[_i8];\n normalizedHeaders[_key3.toLowerCase()] = builtHeaders[_key3];\n }\n }\n var xhr = new win.XMLHttpRequest;\n xhr.addEventListener(\"load\", (function() {\n var responseHeaders = function(rawHeaders) {\n void 0 === rawHeaders && (rawHeaders = \"\");\n var result = {};\n for (var _i2 = 0, _rawHeaders$trim$spli2 = rawHeaders.trim().split(\"\\n\"); _i2 < _rawHeaders$trim$spli2.length; _i2++) {\n var _line$split = _rawHeaders$trim$spli2[_i2].split(\":\"), _key = _line$split[0], values = _line$split.slice(1);\n result[_key.toLowerCase()] = values.join(\":\").trim();\n }\n return result;\n }(this.getAllResponseHeaders());\n if (!this.status) return reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: no response status code.\"));\n var contentType = responseHeaders[\"content-type\"];\n var isJSON = contentType && (0 === contentType.indexOf(\"application/json\") || 0 === contentType.indexOf(\"text/json\"));\n var responseBody = this.responseText;\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) return reject(new Error(\"Invalid json: \" + this.responseText + \".\"));\n }\n return resolve({\n status: this.status,\n headers: responseHeaders,\n body: responseBody\n });\n }), !1);\n xhr.addEventListener(\"error\", (function(evt) {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: \" + evt.toString() + \".\"));\n }), !1);\n xhr.open(method, url, !0);\n for (var _key4 in normalizedHeaders) normalizedHeaders.hasOwnProperty(_key4) && xhr.setRequestHeader(_key4, normalizedHeaders[_key4]);\n json ? body = JSON.stringify(json) : data && (body = Object.keys(data).map((function(key) {\n return encodeURIComponent(key) + \"=\" + (data ? encodeURIComponent(data[key]) : \"\");\n })).join(\"&\"));\n xhr.timeout = timeout;\n xhr.ontimeout = function() {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" has timed out\"));\n };\n xhr.send(body);\n }));\n }\n function addHeaderBuilder(method) {\n headerBuilders.push(method);\n }\n var types_TYPES = !0;\n function memoized(target, name, descriptor) {\n descriptor.value = memoize(descriptor.value, {\n name: name,\n thisNamespace: !0\n });\n }\n function decorators_promise(target, name, descriptor) {\n descriptor.value = promisify(descriptor.value, {\n name: name\n });\n }\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function isPx(str) {\n return \"string\" == typeof str && /^[0-9]+px$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function percOf(num, perc) {\n return parseInt(num * toNum(perc) / 100, 10);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return percOf(max, dim);\n if (isPx(dim)) return toNum(dim);\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function wrapPromise(method, _temp) {\n var _ref$timeout = (void 0 === _temp ? {} : _temp).timeout;\n var expected = [];\n var promises = [];\n var timer = setTimeout((function() {\n expected.length && promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + expected[0] + \" to be called\")));\n }), void 0 === _ref$timeout ? 5e3 : _ref$timeout);\n var expect = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n removeFromArray(expected, name);\n var _tryCatch = tryCatch((function() {\n var _fn;\n return (_fn = fn).call.apply(_fn, [ _this ].concat(args));\n })), result = _tryCatch.result, error = _tryCatch.error;\n if (error) {\n promises.push(promise_ZalgoPromise.asyncReject(error));\n throw error;\n }\n promises.push(promise_ZalgoPromise.resolve(result));\n return result;\n };\n };\n var avoid = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n return function() {\n var _fn2;\n promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + name + \" to not be called\")));\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return (_fn2 = fn).call.apply(_fn2, [ this ].concat(args));\n };\n };\n var expectError = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this2 = this;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n removeFromArray(expected, name);\n var _tryCatch2 = tryCatch((function() {\n var _fn3;\n return (_fn3 = fn).call.apply(_fn3, [ _this2 ].concat(args));\n })), result = _tryCatch2.result, error = _tryCatch2.error;\n if (error) throw error;\n promises.push(promise_ZalgoPromise.resolve(result).then((function() {\n throw new Error(\"Expected \" + name + \" to throw an error\");\n }), src_util_noop));\n return result;\n };\n };\n var wait = function wait() {\n return promise_ZalgoPromise.try((function() {\n if (promises.length) return promises.pop();\n })).then((function() {\n return promises.length ? wait() : expected.length ? promise_ZalgoPromise.delay(10).then(wait) : void 0;\n }));\n };\n promises.push(promise_ZalgoPromise.try((function() {\n return method({\n expect: expect,\n avoid: avoid,\n expectError: expectError,\n error: avoid,\n wait: wait\n });\n })));\n return wait().then((function() {\n clearTimeout(timer);\n }));\n }\n } ]);\n}));","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from './enums';\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n div.setAttribute('id', uid);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n display: block;\n position: relative;\n width: ${width};\n height: ${height};\n }\n #${uid} > iframe {\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n frame.allowPaymentRequest = 'true';\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","import postRobot from 'post-robot';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {containerTemplate} from '../container';\nimport {CardInputProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {transformStyle, validateComponentProps} from '../utils';\nimport {config} from '../config';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst CREATE_TOKEN_EVENT = 'CREATE_TOKEN';\n\nconst getCreateTokenFunction = (ref: any) => {\n if (ref.state?.__createToken) {\n return ref.state.__createToken;\n }\n if (ref.parent?.state?.__createToken) {\n return ref.parent.state.__createToken;\n }\n if (ref.state?.parent?.state?.__createToken) {\n return ref.state.parent.state.__createToken;\n }\n throw new Error('Index is not registered');\n};\n\nexport const createToken = async (\n component?: MoneiComponent<CardInputProps>,\n options?: any\n): Promise<{token?: string; error?: string}> => {\n const {data} = await getCreateTokenFunction(component)(options);\n return data;\n};\n\nconst options: ComponentOptionsType<CardInputProps> = {\n tag: 'monei-card-input',\n url: config.cardInputUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n alias: 'orderId'\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onBlur: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onEnter: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onChange: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onFocus: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n placeholders: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n errorMessages: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n },\n validate: validateComponentProps,\n containerTemplate: (params) => {\n params.state.__createToken = (data: any = {}) => {\n if (!params.frame) {\n throw new Error('CardInput instance is not registered');\n }\n return postRobot.send(params.frame.contentWindow, CREATE_TOKEN_EVENT, data, {\n domain: config.domain\n });\n };\n return containerTemplate(params);\n },\n prerenderTemplate: ({doc, props}) => {\n const html = doc.createElement('html');\n const body = doc.createElement('body');\n body.style.margin = '0';\n const div = doc.createElement('div');\n div.style.height = '36px';\n div.style.boxSizing = 'border-box';\n const style = props.style || props.innerStyle;\n if (style?.base) {\n Object.assign(div.style, transformStyle(style.base));\n }\n if (style?.loading) {\n Object.assign(div.style, transformStyle(style.loading));\n }\n body.appendChild(div);\n html.appendChild(body);\n return html;\n }\n};\n\nexport const CardInput: MoneiComponent<CardInputProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {ConfirmPaymentParams, PaymentModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {PaymentResult} from '../types';\nimport {containerTemplate} from '../container';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<PaymentModalProps> = {\n tag: 'monei-payment-modal',\n url: config.paymentModalUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n isOpen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: true\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n generatePaymentToken: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n fullscreen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n customer: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n paymentMethod: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n allowedPaymentMethods: {\n type: zoid.PROP_TYPE.ARRAY,\n required: false\n },\n customDomain: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n billingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n shippingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n onResult: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n }\n }\n};\n\nexport const PaymentModal: MoneiComponent<PaymentModalProps> = zoid.create(options);\n\nexport const confirmPayment = async (params: ConfirmPaymentParams) => {\n const rootNode = document.createElement('div');\n const bodyOverflow = document.body.style.overflow;\n document.body.appendChild(rootNode);\n return new Promise<PaymentResult>(async (resolve, reject) => {\n const modal = new PaymentModal({\n ...params,\n isOpen: true,\n onOpen: () => {\n Object.assign(document.body.style, {overflow: 'hidden'});\n Object.assign(rootNode.style, {\n position: 'fixed',\n overflow: 'hidden',\n display: 'block',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n height: '100%',\n zIndex: 99999\n });\n },\n onResult: (result: any) => {\n resolve(result);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n },\n onError: (error: any) => {\n reject(error);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n }\n });\n await modal.render(rootNode);\n });\n};\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {PayPalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {loadScript} from '../utils';\nimport {containerTemplate} from '../container';\nimport {createToken, getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst namespace = 'monei-paypal';\n\nconst onLoadPaypal = async (props: PayPalProps, state: any, src: string) => {\n await loadScript(src, props.cspNonce, {namespace, cspNonce: props.cspNonce});\n const defaultStyle = {\n layout: 'horizontal',\n tagline: false\n };\n props.onLoad?.(true);\n let token: string | undefined;\n await window[namespace]\n .Buttons({\n createOrder: async () => {\n try {\n const result = await createToken({\n paymentId: props.paymentId,\n accountId: props.accountId,\n sessionId: props.sessionId,\n amount: props.amount,\n currency: props.currency,\n paymentMethod: {\n paypal: {}\n }\n });\n token = result.paymentToken;\n return result.paypal?.orderId;\n } catch (error) {\n props.onError?.(error);\n return;\n }\n },\n onApprove: function (data: any) {\n if (data.orderID) {\n props.onSubmit({token});\n } else {\n props.onError?.(data);\n }\n },\n style: {...defaultStyle, ...props.style}\n })\n .render(state.__container);\n};\n\nconst options: ComponentOptionsType<PayPalProps> = {\n tag: namespace,\n url: config.paypalUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: (params) => {\n params.state.__container = params.container;\n if (!params.props.accountId && !params.props.paymentId) {\n throw new Error('You need to provide paymentId or accountId');\n }\n return containerTemplate(params);\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n cspNonce: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onLoadPayPal: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props, state}: {props: PayPalProps; state: any}) {\n return onLoadPaypal.bind(null, props, state);\n }\n }\n }\n};\n\nexport const PayPal: MoneiComponent<PayPalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {BizumModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<BizumModalProps> = {\n tag: 'monei-bizum',\n url: config.bizumUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const BizumModal: MoneiComponent<BizumModalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {BizumProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {BizumModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '..';\n\nexport * from './types';\nexport * from './modal';\n\nconst options: ComponentOptionsType<BizumProps> = {\n tag: 'monei-bizum-button',\n url: config.bizumButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency}: GetPaymentMethodsResponse) => {\n const bizumModal = new BizumModal({\n amount,\n currency,\n ...props,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => bizumModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return bizumModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Bizum: MoneiComponent<BizumProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisModalProps> = {\n tag: 'monei-cofidis',\n url: config.cofidisUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisModal: MoneiComponent<CofidisModalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisWidgetProps> = {\n tag: 'monei-cofidis-widget',\n url: config.cofidisWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisWidget: MoneiComponent<CofidisWidgetProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisProps> = {\n tag: 'monei-cofidis-button',\n url: config.cofidisButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n const cofidisModal = new CofidisModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Cofidis: MoneiComponent<CofidisProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisLoanModalProps> = {\n tag: 'monei-cofidis-loan',\n url: config.cofidisLoanUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisLoanModal: MoneiComponent<CofidisLoanModalProps> = zoid.create(options);\nexport const CofidisPayModal = CofidisLoanModal;\n","export enum NextActionType {\n CONFIRM = 'CONFIRM',\n FRICTIONLESS_CHALLENGE = 'FRICTIONLESS_CHALLENGE',\n BIZUM_CHALLENGE = 'BIZUM_CHALLENGE',\n CHALLENGE = 'CHALLENGE',\n COMPLETE = 'COMPLETE'\n}\n\nexport enum CardBrand {\n Visa = 'visa',\n Mastercard = 'mastercard',\n Amex = 'amex',\n Discover = 'discover',\n Diners = 'diners',\n JCB = 'jcb',\n Maestro = 'maestro',\n UnionPay = 'unionpay',\n Elo = 'elo',\n Hipercard = 'hipercard'\n}\n\nexport interface PaymentResult {\n id: string;\n status: string;\n orderId?: string;\n amount?: number;\n currency?: string;\n accountId?: string;\n statusCode?: string;\n statusMessage?: string;\n nextAction?: {\n type: NextActionType;\n mustRedirect: boolean;\n redirectUrl: string;\n };\n}\n\nexport interface Customer {\n email?: string;\n name?: string;\n phone?: string;\n}\n\nexport interface Address {\n country?: string;\n city?: string;\n line1?: string;\n line2?: string;\n zip?: string;\n state?: string;\n}\n\nexport interface BillingDetails {\n name?: string;\n email?: string;\n phone?: string;\n company?: string;\n address?: Address;\n}\n\nexport interface PaymentMethod {\n card?: {\n cardholderName?: string;\n cardholderEmail?: string;\n };\n}\n\nexport type GetPaymentMethodsRequest = {\n accountId?: string;\n paymentId?: string;\n t?: number;\n};\n\nexport type GetPaymentMethodsResponse = {\n paymentMethods: string[];\n livemode: boolean;\n accountId: string;\n amount?: number;\n currency?: string;\n merchantName?: string;\n merchantUrl?: string;\n countryCode?: string;\n metadata: {\n card: {\n brands: CardBrand[];\n };\n paypal?: {\n clientId: string;\n merchantId: string;\n };\n googlePay?: {\n merchantId: string;\n cvcRequired?: boolean;\n };\n applePay?: {\n merchantId: string;\n };\n clickToPay?: {\n tokenSupport: boolean;\n visa: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n mastercard: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n };\n };\n};\n\nexport type CreateTokenRequest = {\n accountId?: string;\n paymentId?: string;\n sessionId?: string;\n amount?: number;\n currency?: string;\n paymentMethod: {\n card?: {\n number: string;\n expMonth: string;\n expYear: string;\n cvc: string;\n };\n paypal?: {};\n cofidis?: {};\n googlePay?: {\n token: string;\n };\n applePay?: {\n token: string;\n };\n bizum?: {\n phoneNumber: string;\n keypad?: string;\n };\n clickToPay?: {\n token: string;\n cardBrand: string;\n };\n };\n};\n\nexport type CreateTokenResponse = {\n paymentToken?: string;\n error?: string;\n paypal?: {\n orderId: string;\n };\n};\n\nexport type CreatePaymentRequest = {\n accountId: string;\n pointOfSaleId: string;\n amount: number;\n currency: string;\n signature: string;\n};\n\nexport type SendPaymentReceiptRequest = {\n paymentId: string;\n signature: string;\n customerEmail?: string;\n language?: string;\n};\n\nexport type CreateApplePaySessionRequest = {\n accountId: string;\n validationUrl: string;\n domainName: string;\n displayName: string;\n};\n\nexport type CalculateFinancingRequest = {\n amount: number;\n accountId: string;\n paymentMethod?: string;\n};\n\nexport type CalculateFinancingResponse = Array<{\n financingAmount: number;\n tin: number;\n interestAmount: number;\n tae: number;\n quote: number;\n installments: number;\n totalAmount: number;\n legalPhrase: string;\n capEuros: number;\n capPercent: number;\n}>;\n\nexport type ValidateBizumPhoneRequest = {\n accountId?: string;\n paymentId?: string;\n amount?: number;\n phoneNumber: string;\n};\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisLoanWidgetProps> = {\n tag: 'monei-cofidis-loan-widget',\n url: config.cofidisLoanWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisLoanWidget: MoneiComponent<CofidisLoanWidgetProps> = zoid.create(options);\nexport const CofidisPayWidget = CofidisLoanWidget;\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {CofidisLoanProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisLoanModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisLoanProps> = {\n tag: 'monei-cofidis-loan-button',\n url: config.cofidisLoanButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n const cofidisModal = new CofidisLoanModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const CofidisLoan: MoneiComponent<CofidisLoanProps> = zoid.create(options);\nexport const CofidisPay = CofidisLoan;\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {GooglePayProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<GooglePayProps> = {\n tag: 'monei-google-pay',\n url: config.googlePayUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n }\n};\n\nexport const GooglePay: MoneiComponent<GooglePayProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from 'zoid/dist/zoid.frameworks';\nimport {PaymentRequestProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {createApplePaySession, createToken, getPaymentMethods} from '../api';\nimport {validateComponentProps} from '../utils';\n\nexport * from './types';\n\ntype Context = {\n accountId: string;\n domainName: string;\n displayName: string;\n};\n\nconst onApplePayButtonClicked = async (props: PaymentRequestProps, request: any, context: Context) => {\n const session = new window.ApplePaySession(3, request);\n session.onvalidatemerchant = async (event: any) => {\n try {\n const merchantSession = await createApplePaySession({\n ...context,\n validationUrl: event.validationURL\n });\n session.completeMerchantValidation(merchantSession);\n } catch (error) {\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event: any) => {\n const paymentToken = JSON.stringify(event.payment.token);\n const token = window.btoa(paymentToken);\n try {\n const result = await createToken({\n accountId: props.accountId,\n paymentId: props.paymentId,\n sessionId: props.sessionId,\n paymentMethod: {\n applePay: {token}\n }\n });\n props.onSubmit({token: result.paymentToken, error: result.error});\n session.completePayment({\n status: window.ApplePaySession.STATUS_SUCCESS\n });\n } catch (error) {\n props.onError?.(error);\n session.completePayment({\n status: window.ApplePaySession.STATUS_FAILURE\n });\n }\n };\n session.begin();\n};\n\nconst options: ComponentOptionsType<PaymentRequestProps> = {\n tag: 'monei-payment-request',\n url: config.paymentRequestUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __isApplePaySupported: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false,\n value: () => {\n try {\n return window.ApplePaySession?.canMakePayments();\n } catch (error) {\n return false;\n }\n }\n },\n __onApplePayButtonClicked: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props}: {props: PaymentRequestProps}) {\n return onApplePayButtonClicked.bind(null, props);\n }\n }\n }\n};\n\nexport const PaymentRequest: MoneiComponent<PaymentRequestProps> = zoid.create(options);\n","import * as _utils from './utils';\nimport * as _api from './api';\n\nexport * from './cardInput';\nexport * from './paymentModal';\nexport * from './paypal';\nexport * from './bizum';\nexport * from './cofidis';\nexport * from './cofidisLoan';\nexport * from './googlePay';\nexport * from './paymentRequest';\nexport * from './config';\nexport * from './types';\nexport const api = _api;\nexport const utils = _utils;\n"],"names":["CLASS","runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","transformStyle","style","reduce","prop","loadScript","src","nonce","dataset","Array","from","document","scripts","findIndex","s","script","createElement","onload","onerror","setAttribute","head","appendChild","stringify","join","fixLocalstorage","localStorage","store","window","localStorageMock","Map","getItem","get","setItem","set","clear","removeItem","getLanguage","lang","split","getClientEnv","env","screen","colorDepth","height","width","Date","getTimezoneOffset","btoa","withError","p","validateComponentProps","props","paymentId","accountId","amount","currency","config","paymentMethod","paymentMethods","includes","domain","process","version","stage","isProduction","paymentPageUrl","posPaymentPageUrl","cardInputUrl","paymentModalUrl","paypalUrl","bizumUrl","bizumButtonUrl","cofidisUrl","cofidisButtonUrl","cofidisWidgetUrl","cofidisLoanUrl","cofidisLoanButtonUrl","cofidisLoanWidgetUrl","googlePayUrl","paymentRequestUrl","click2PayUrl","click2PayButtonUrl","apiUrl","secureDomain","request","url","headers","body","fetch","JSON","res","json","ok","statusText","pmCache","getPaymentMethods","params","query","promise","createToken","sessionId","getPayment","confirmPayment","createPayment","signature","sendPaymentReceipt","customerEmail","language","createApplePaySession","req","factory","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","r","t","mode","__esModule","ns","bind","n","property","__webpack_exports__","isRegex","item","promise_ZalgoPromise","src_types_TYPES_0","window_ProxyWindow","setup","destroy","setup_serializeMessage","setup_deserializeMessage","createProxyWindow","setup_toProxyWindow","on_on","on_once","send_send","markWindowKnown","cleanUpWindow","IE_WIN_ACCESS_ERROR","isAboutProtocol","win","location","protocol","getParent","parent","getOpener","opener","canReadFromWindow","getActualDomain","host","getDomain","mockDomain","indexOf","isSameDomain","desc","getOwnPropertyDescriptor","assertSameDomain","isAncestorParent","child","childParent","getFrames","frames","len","frame","_i","_frame","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","message","mockclosed","top","iframeIndex","collection","contentWindow","parentNode","doc","ownerDocument","documentElement","contains","getAncestor","matchDomain","pattern","origin","isArray","Boolean","match","some","subpattern","isWindow","Window","__cross_domain_utils_window_check__","closeWindow","close","utils_isPromise","_toString","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","startActive","endActive","ZalgoPromise","handler","_this","resolved","rejected","errorHandled","handlers","dispatching","stack","_result","_error","isAsync","_proto","dispatch","_this2","_err","setTimeout","j","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","_result2","onFinally","timeout","time","_this3","clearTimeout","toPromise","all","promises","count","results","prom","hash","awaitPromises","_loop","map","items","onPossiblyUnhandledException","cancel","splice","args","apply","delay","_delay","isPromise","flush","util_safeIndexOf","objectIDs","weakmap_CrossDomainSafeWeakMap","CrossDomainSafeWeakMap","weakmap","Math","random","WeakMap","freeze","testWeakMap","testKey","_cleanupClosedWindows","isSafeToReadWrite","index","has","getOrSet","getFunctionName","__name__","setFunctionName","uniqueID","chars","replace","floor","str","encodeURIComponent","p1","String","fromCharCode","parseInt","Buffer","toISOString","toLowerCase","serializeArgs","subkey","val","uid","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","options","simpleCache","thisCache","_options$thisNamespac","thisNamespace","cacheTime","memoizeIndex","memoizedFunction","_len","arguments","_key","cache","cacheKey","cacheResult","now","memoizePromise","memoizedPromiseFunction","_arguments","_len2","_key2","src_util_noop","stringifyError","level","newErr","util_isRegex","util_getOrSet","isDocumentReady","readyState","isDocumentInteractive","interval","setInterval","clearInterval","currentScript","getCurrentScript","stackDetails","exec","scriptLocation","_i20","_Array$prototype$slic2","getElementsByTagName","currentUID","global_getGlobal","globalKey","getAttribute","getObj","globalStore","defStore","storeKey","defVal","del","_SERIALIZER","WildCard","getWildcard","global","WINDOW_WILDCARD","windowStore","winStore","getStore","getInstanceID","resolveHelloPromise","_ref","helloPromises","existingPromise","newPromise","sayHello","_ref4","send","instanceID","_ref5","data","getWindowInstanceID","_ref6","_ref7","isSerializedType","__type__","determineType","serializeType","__val__","_DESERIALIZER","SERIALIZER","code","regex","source","date","toJSON","array","string","number","defaultSerializers","DESERIALIZER","_ref2","RegExp","defaultDeserializers","cleanupProxyWindows","idToProxyWindow","_i2","_idToProxyWindow$keys2","id","shouldClean","getSerializedWindow","winPromise","_ref$id","windowNamePromise","windowTypePromise","getType","getName","focus","isClosed","setLocation","href","setName","sameDomain","frameElement","_i21","_document$querySelect2","querySelectorAll","ProxyWindow","serializedWindow","isProxyWindow","actualWindow","actualWindowPromise","getID","setWindow","isPopup","_this4","isPopupPromise","getNamePromise","reopenPromise","_ref3","open","focusPromise","getWindow","awaitWindow","matchWindow","_this5","proxyInstanceID","knownWindowInstanceID","unwrap","serialize","toProxyWindow","deserialize","_ref8","_ref9","addMethod","methodStore","proxyWindowMethods","lookupMethod","function_serializeFunction","destination","on","meth","methodSource","__id__","serializeMessage","_serialize","serializers","serializer","deserializeMessage","_deserialize","deserializers","parse","deserializer","cross_domain_zalgo_promise","serializedPromise","cross_domain_function","serializedFunction","getDeserializedFunction","opts","crossDomainFunctionWrapper","_args","fireAndForget","__origin__","__source__","cross_domain_window","SEND_MESSAGE_STRATEGIES","send_sendMessage","domainBuffer","buffer","serializedMessage","__post_robot_10_0_42__","strategies","errors","strategyName","getResponseListener","deleteResponseListener","isResponseListenerErrored","getRequestListener","requestListeners","_i4","winQualifier","nameListeners","domainListeners","__domain_regex__","_i6","_domainListeners$__DO2","_domainListeners$__DO3","listener","handleRequest","logName","sendResponse","ack","pathname","handleError","handleAck","handleResponse","receive_receiveMessage","event","receivedMessages","messages","parsedMessage","parseMessages","requestListener","addRequestListener","listenersCollection","_i8","_win2","_i10","_listenersCollection","_i12","_domain2","_i14","existingListener","regexListeners","regexListener","strDomain","errorHandler","postrobot_post_message","postMessage","domainMatcher","responseTimeout","childTimeout","actualParent","_i7","_getAllChildFrames4","getAllChildFrames","_i3","_getFrames2","_i5","_getAllChildFrames2","_i15","_getFrames8","_temp","targetDomain","actualDomain","normalizedDomain","responseListener","reqPromises","totalAckTimeout","totalResTimeout","ackTimeout","resTimeout","loop","cancelled","max","initialized","receiveMessage","addEventListener","sourceElement","originalEvent","removeEventListener","responseListeners","_responseListeners$ke2","_requestPromises$get2","require","_inheritsLoose","subClass","superClass","_extends","assign","target","dom_PopupOpenError","component_destroy","destroyComponents","destroyAll","PROP_TYPE","PROP_SERIALIZATION","CONTEXT","EVENT","WINDOW_TYPE","IFRAME","POPUP","utils_getParent","getTop","getAllFramesInWindow","concat","utils_getUserAgent","navigator","mockUserAgent","userAgent","getFrameByName","winFrames","_i9","childFrame","isOpener","anyMatch","collection1","collection2","_i17","item1","_i19","getDistanceFromTop","distance","isSameTopWindow","win1","win2","top1","top2","allFrames1","allFrames2","opener1","opener2","getDomainFromUrl","onCloseWindow","callback","maxtime","check","normalizeMockUrl","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","construct_construct","Parent","Class","a","instance","wrapNativeSuper_wrapNativeSuper","_cache","Wrapper","base64encode","inlineMemoize","logic","__inline_memoize_cache__","once","called","extend","identity","safeInterval","defineLazyProp","arrayFrom","isObjectObject","isPlainObject","replaceObject","replacer","fullKey","_loop2","itemKey","_loop3","isDefined","cleanup","cleanErr","tasks","cleaned","register","task","shift","assertExists","thing","util_ExtendableError","_Error","ExtendableError","_this6","captureStackTrace","ReferenceError","urlEncode","parseQuery","queryString","_queryString$split2","pair","decodeURIComponent","extendQuery","originalQuery","filter","isElement","element","Element","nodeType","getElementSafe","querySelector","elementReady","el","awaitFrameLoadPromises","_ExtendableError","PopupOpenError","awaitFrameLoad","_promise","awaitFrameWindow","loadedFrame","dom_iframe","container","tag","styleText","className","attributes","_Object$keys2","styleSheet","cssText","createTextNode","html","innerHTML","allowTransparency","backgroundColor","border","isIE","hasAttribute","showElement","setProperty","hideElement","destroyElement","removeChild","isElementClosed","onResize","_ref2$width","_ref2$height","_ref2$interval","_ref2$win","currentWidth","offsetWidth","currentHeight","offsetHeight","canceled","observer","getClientRects","newWidth","newHeight","ResizeObserver","observe","MutationObserver","childList","subtree","characterData","disconnect","isShadowElement","_i22","isPerc","test","toNum","toPx","toCSS","normalizeDimension","dim","awaitWindowHello","needsBridgeForBrowser","needsBridgeForWin","needsBridgeForDomain","needsBridge","getBridgeName","isBridge","documentBodyReady","registerRemoteWindow","findRemoteWindow","remoteWinPromise","registerRemoteSendMessage","sendMessage","remoteWin","remoteDomain","rejectRemoteSendMessage","linkWindow","popupWindowsByName","popupWindowsByWin","_popupWindowsByName$k2","winName","_details","details","setupBridge","windowOpen","last","bridgePromise","bridge","getWindowDetails","openTunnelToParent","canary","tunnelWindows","parentWindow","_tunnelWindows$keys2","tunnelWindow","postrobot_bridge","messagingChild","messagingParent","postrobot_global","foreignGlobal","src_bridge","lib_global_getGlobal","__zoid_9_0_63__","getProxyObject","openBridge","bridges","bridgeFrames","iframe","linkUrl","hasBridge","destroyBridges","_bridgeFrames$keys2","STRING","OBJECT","FUNCTION","BOOLEAN","NUMBER","ARRAY","DOTIFY","BASE64","RENDER","RENDERED","DISPLAY","ERROR","CLOSE","DESTROY","PROPS","RESIZE","FOCUS","normalizeChildProp","propsDef","helpers","childDecorate","onProps","resize","getParentDomain","show","hide","parseChildWindowName","windowName","_windowName$split","zoidcomp","encodedPayload","atob","charCodeAt","getChildPayload","child_focus","child_destroy","props_getQueryParam","queryParam","getQueryValue","queryValue","parentComponent","overrides","parentWin","triggered","currentProxyWin","currentProxyContainer","childComponent","containerTemplate","prerenderTemplate","dimensions","autoResize","domainMatch","initPromise","handledErrors","clean","internalState","visible","eventName","handlerList","trigger","_len3","_key3","triggerOnce","_len4","_key4","onErrorOverride","getProxyContainerOverride","getProxyContainer","showOverride","hideOverride","closeOverride","renderContainerOverride","renderContainer","getProxyWindowOverride","getProxyWindow","setProxyWinOverride","setProxyWin","openFrameOverride","openFrame","openPrerenderFrameOverride","openPrerenderFrame","prerenderOverride","prerender","openOverride","openPrerenderOverride","openPrerender","watchForUnloadOverride","watchForUnload","getInternalStateOverride","getInternalState","setInternalStateOverride","setInternalState","getPropsForChild","sendToChild","newInternalState","windowProp","_proxyWin","containerElement","shadowHost","shadowRoot","slotName","slot","slotProvider","proxyWin","setState","getUrl","getAttributes","getChildDomain","getDomainMatcher","title","proxyPrerenderFrame","prerenderFrame","prerenderFrameWindow","getWindowRef","windows","initChild","childExports","proxyFrame","outerWidth","left","round","screenX","outerHeight","screenY","status","toolbar","menubar","resizable","scrollbars","popup","unloadWindowListener","closeParentWindowListener","checkWindowClose","secondIsClosed","renderTemplate","renderer","proxyPrerenderWin","prerenderWindow","tagName","_arrayFrom2","children","_arrayFrom4","_autoResize$width","_autoResize$height","_autoResize$element","prerenderResizeListener","proxyContainer","_ref10","innerContainer","containerWatcher","sacrificialFrame","sacrificialFrameWin","mutationObservers","_i18","elementClosed","mutationElement","parentElement","mutationObserver","display","frameWin","getHelpers","updateProps","setProps","newProps","isUpdate","inputProps","propNames","aliases","propDef","alias","_Object$keys4","_propDef","_value","decorate","_Object$keys6","required","childProps","init","onRender","onDisplay","onRendered","onClose","onDestroy","onFocus","render","childDomain","delegatePromise","delegateProps","propName","allowDelegate","childOverridesPromise","_ref11","parentComp","getDelegateOverrides","childOverrides","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","_len11","_key11","_len12","_key12","watchForUnloadPromise","buildUrlPromise","serialization","dotify","prefix","newobj","every","_Object$keys8","dotkey","originalUrl","originalHash","_url$split","_originalUrl$split","hashString","onRenderPromise","getProxyContainerPromise","getProxyWindowPromise","buildWindowNamePromise","propRef","propsRef","parentDomain","checkClose","childPayload","openFramePromise","openPrerenderFramePromise","renderContainerPromise","_ref12","openPromise","_ref13","openPrerenderPromise","_ref14","setStatePromise","prerenderPromise","_ref15","setWindowNamePromise","_ref16","loadUrlPromise","builtUrl","_ref17","watchForClosePromise","watchForClose","onDisplayPromise","openBridgePromise","bridgeUrl","bridgeDomain","runTimeoutPromise","onRenderedPromise","react","React","ReactDOM","_React$Component","_class","componentDidMount","findDOMNode","componentDidUpdate","Component","vue","Vue","component","inheritAttrs","mounted","$el","$attrs","watch","deep","angular","ng","directive","g","toUpperCase","scope","restrict","controller","$scope","$element","safeApply","$root","$$phase","$apply","getProps","$watch","angular2","NgModule","ElementRef","NgZone","internalProps","zone","run","ComponentInstance","selector","template","inputs","elementRef","_props","ngOnInit","targetElement","nativeElement","ngDoCheck","obj1","obj2","checked","declarations","defaultContainerTemplate","_ref$dimensions","div","cspNonce","classList","add","remove","defaultPrerenderTemplate","spinner","props_defaultNoop","props_decorateOnce","cleanInstances","cleanZoid","comp","allowDelegateListener","delegateListener","_options$props","_options$dimensions","_options$autoResize","_options$allowedParen","allowedParentDomains","_options$attributes","_options$defaultConte","defaultContext","_options$containerTem","_options$prerenderTem","validate","_options$eligible","eligible","_options$logger","logger","_dimensions$width","_dimensions$height","driverCache","instances","isChild","payload","registerChild","xprops","components","onPropHandlers","parentComponentWindow","ref","ancestor","_getAllFramesInWindow2","normalizedProps","_eligible","eligibility","reason","_render","finalContext","isEligible","clone","_ref3$decorate","renderTo","driver","driverName","dep","drivers","canRenderTo","component_component","destroyPromise","getUserAgent","isDevice","isWebView","isStandAlone","isFacebookWebView","isFirefoxIOS","isEdgeIOS","isOperaMini","isAndroid","isIos","isGoogleSearchApp","isQQBrowser","isIosWebview","isSFVC","isSFVCorSafari","isAndroidWebview","device_isIE","isIECompHeader","isElectron","isIEIntranet","isMacOsCna","supportsPopups","isChrome","isSafari","isApplePaySupported","waitForWindowReady","waitForDocumentReady","waitForDocumentBody","getQueryParam","urlWillRedirectPage","formatQuery","extendUrl","redirect","hasMetaViewPort","isElementVisible","getPerformance","enablePerformance","getPageRenderTime","htmlEncode","dom_isBrowser","onClick","getScript","isLocalStorageEnabled","getBrowserLocales","getElement","writeToWindow","writeElementToWindow","setStyle","bindEvents","setVendorCSS","animate","makeElementVisible","makeElementInvisible","showAndAnimate","animateAndHide","addClass","removeClass","watchElementForClose","fixScripts","getResourceLoadTime","getShadowRoot","getShadowHost","insertShadowSlot","preventClickFocus","getStackTrace","getCurrentScriptUID","experiment","getGlobalNameSpace","getStorage","base64decode","getGlobal","getObjectID","promiseIdentity","promisify","hashStr","strHashStr","awaitKey","stringifyErrorMessage","domainMatches","patchMethod","util_values","memoizedValues","perc","min","roundUp","regexMap","svgToBase64","objFilter","regexTokenize","promiseDebounce","isInteger","isFloat","serializePrimitive","deserializePrimitive","undotify","eventEmitter","camelToDasherize","dasherizeToCamel","capitalizeFirstLetter","util_get","safeTimeout","isObject","copyProp","regexAll","cycle","debounce","util_weakMapMemoize","util_weakMapMemoizePromise","removeFromArray","unique","constHas","dedupeErrors","addHeaderBuilder","types_TYPES","memoized","decorators_promise","isPx","percOf","wrapPromise","KEY_CODES","ATTRIBUTES","iPhoneScreenHeightMatrix","device","textSizeHeights","zoomHeight","maybeSafari","standalone","matchMedia","matches","ua","innerHeight","scale","innerWidth","computedHeight","sfvc","possibleSafariSizes","documentMode","mHttp","mContent","versions","electron","ApplePaySession","supportsVersion","canMakePayments","promisifiedFunction","pow","sqrt","total","abs","regmatch","defaultMessage","hostname","original","_arguments2","callOriginal","pixels","percentage","num","nearest","remainder","regexp","svg","text","token","localPromise","parseFloat","keyResult","parts","part","isLast","isIndex","path","def","pathParts","descriptor","start","groups","end","_arguments3","arr","constant","seenErrors","seenStringifiedErrors","stringifiedError","ENTER","SPACE","UID","search","meta","performance","timing","connectEnd","navigationStart","domInteractive","keyCode","_ref$host","_ref$reverse","nav","locales","languages","userLanguage","locale","_locale$split","country","write","err2","eventNames","VENDOR_PREFIXES","capitalizedName","_i16","ANIMATION_START_EVENTS","ANIMATION_END_EVENTS","startTimeout","endTimeout","startEvent","endEvent","hasStarted","cleanUp","animationName","stopPropagation","animation","_querySelectorAll2","newScript","textContent","replaceChild","getEntries","entries","duration","preventDefault","blur","_ref$lifetime","lifetime","accessedStorage","STORAGE_KEY","newStateID","getState","storage","localStorageEnabled","rawStorage","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","group","_ref$sample","sample","_ref$logTreatment","logTreatment","_ref$logCheckpoint","logCheckpoint","_ref$sticky","sticky","throttle","throttlePercentiles","treatment","started","forced","isEnabled","isDisabled","getTreatment","log","checkpoint","logStart","logComplete","_ref$version","namespace","defValue","headerBuilders","_ref$method","_ref$headers","_ref$win","_ref$timeout","normalizedHeaders","accept","builtHeaders","xhr","XMLHttpRequest","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","trim","_line$split","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","setRequestHeader","ontimeout","expected","timer","expect","_tryCatch","_fn","avoid","_fn2","expectError","_tryCatch2","_fn3","wait","INVISIBLE","VISIBLE","allowPaymentRequest","zoid","belter","getCreateTokenFunction","_ref$state","__createToken","_ref$parent","_ref$parent$state","_ref$state2","_ref$state2$parent","_ref$state2$parent$st","CardInput","onBlur","onEnter","onChange","onLoad","placeholders","errorMessages","__getConfig","postRobot","margin","boxSizing","innerStyle","base","loading","PaymentModal","isOpen","generatePaymentToken","fullscreen","customer","allowedPaymentMethods","customDomain","billingDetails","shippingDetails","onResult","onOpen","rootNode","bodyOverflow","overflow","modal","position","bottom","right","zIndex","onLoadPaypal","defaultStyle","layout","tagline","Buttons","createOrder","paypal","paymentToken","_result$paypal","orderId","onApprove","orderID","onSubmit","__container","PayPal","transactionType","__onLoadPayPal","BizumModal","backdrop","BEFORE_CLOSE","phoneNumber","onBeforeClose","Bizum","__onClick","bizumModal","onpopstate","history","pushState","CofidisModal","CofidisWidget","amountInt","showLogo","Cofidis","hint","__onHintClick","cofidisModal","NextActionType","CardBrand","CofidisLoanModal","CofidisPayModal","CofidisLoanWidget","CofidisPayWidget","CofidisLoan","CofidisPay","GooglePay","onBeforeSubmit","onApplePayButtonClicked","onvalidatemerchant","validationUrl","validationURL","completeMerchantValidation","abort","onpaymentauthorized","payment","applePay","completePayment","STATUS_SUCCESS","STATUS_FAILURE","begin","PaymentRequest","__isApplePaySupported","_window$ApplePaySessi","__onApplePayButtonClicked","api","_api","utils","_utils"],"mappings":"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"}
|