UNPKG

@getopenpay/openpay-js

Version:

Accept payments through OpenPay, right on your site

177 lines (176 loc) 27.2 kB
import { d as _ } from "./diag-api-CWQhqUTV.js"; import { S as A, a as d, b as y, c as h, d as v } from "./sdk-info-ChuKu8zW.js"; function E() { return "unknown_service"; } var f = function() { return f = Object.assign || function(u) { for (var n, e = 1, s = arguments.length; e < s; e++) { n = arguments[e]; for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (u[i] = n[i]); } return u; }, f.apply(this, arguments); }, m = function(u, n, e, s) { function i(t) { return t instanceof e ? t : new e(function(a) { a(t); }); } return new (e || (e = Promise))(function(t, a) { function o(c) { try { r(s.next(c)); } catch (b) { a(b); } } function l(c) { try { r(s.throw(c)); } catch (b) { a(b); } } function r(c) { c.done ? t(c.value) : i(c.value).then(o, l); } r((s = s.apply(u, n || [])).next()); }); }, S = function(u, n) { var e = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, s, i, t, a; return a = { next: o(0), throw: o(1), return: o(2) }, typeof Symbol == "function" && (a[Symbol.iterator] = function() { return this; }), a; function o(r) { return function(c) { return l([r, c]); }; } function l(r) { if (s) throw new TypeError("Generator is already executing."); for (; e; ) try { if (s = 1, i && (t = r[0] & 2 ? i.return : r[0] ? i.throw || ((t = i.return) && t.call(i), 0) : i.next) && !(t = t.call(i, r[1])).done) return t; switch (i = 0, t && (r = [r[0] & 2, t.value]), r[0]) { case 0: case 1: t = r; break; case 4: return e.label++, { value: r[1], done: !1 }; case 5: e.label++, i = r[1], r = [0]; continue; case 7: r = e.ops.pop(), e.trys.pop(); continue; default: if (t = e.trys, !(t = t.length > 0 && t[t.length - 1]) && (r[0] === 6 || r[0] === 2)) { e = 0; continue; } if (r[0] === 3 && (!t || r[1] > t[0] && r[1] < t[3])) { e.label = r[1]; break; } if (r[0] === 6 && e.label < t[1]) { e.label = t[1], t = r; break; } if (t && e.label < t[2]) { e.label = t[2], e.ops.push(r); break; } t[2] && e.ops.pop(), e.trys.pop(); continue; } r = n.call(u, e); } catch (c) { r = [6, c], i = 0; } finally { s = t = 0; } if (r[0] & 5) throw r[1]; return { value: r[0] ? r[1] : void 0, done: !0 }; } }, g = function(u, n) { var e = typeof Symbol == "function" && u[Symbol.iterator]; if (!e) return u; var s = e.call(u), i, t = [], a; try { for (; (n === void 0 || n-- > 0) && !(i = s.next()).done; ) t.push(i.value); } catch (o) { a = { error: o }; } finally { try { i && !i.done && (e = s.return) && e.call(s); } finally { if (a) throw a.error; } } return t; }, R = ( /** @class */ (function() { function u(n, e) { var s = this, i; this._attributes = n, this.asyncAttributesPending = e != null, this._syncAttributes = (i = this._attributes) !== null && i !== void 0 ? i : {}, this._asyncAttributesPromise = e?.then(function(t) { return s._attributes = Object.assign({}, s._attributes, t), s.asyncAttributesPending = !1, t; }, function(t) { return _.debug("a resource's async attributes promise rejected: %s", t), s.asyncAttributesPending = !1, {}; }); } return u.empty = function() { return u.EMPTY; }, u.default = function() { var n; return new u((n = {}, n[A] = E(), n[y] = d[y], n[h] = d[h], n[v] = d[v], n)); }, Object.defineProperty(u.prototype, "attributes", { get: function() { var n; return this.asyncAttributesPending && _.error("Accessing resource attributes before async attributes settled"), (n = this._attributes) !== null && n !== void 0 ? n : {}; }, enumerable: !1, configurable: !0 }), u.prototype.waitForAsyncAttributes = function() { return m(this, void 0, void 0, function() { return S(this, function(n) { switch (n.label) { case 0: return this.asyncAttributesPending ? [4, this._asyncAttributesPromise] : [3, 2]; case 1: n.sent(), n.label = 2; case 2: return [ 2 /*return*/ ]; } }); }); }, u.prototype.merge = function(n) { var e = this, s; if (!n) return this; var i = f(f({}, this._syncAttributes), (s = n._syncAttributes) !== null && s !== void 0 ? s : n.attributes); if (!this._asyncAttributesPromise && !n._asyncAttributesPromise) return new u(i); var t = Promise.all([ this._asyncAttributesPromise, n._asyncAttributesPromise ]).then(function(a) { var o, l = g(a, 2), r = l[0], c = l[1]; return f(f(f(f({}, e._syncAttributes), r), (o = n._syncAttributes) !== null && o !== void 0 ? o : n.attributes), c); }); return new u(i, t); }, u.EMPTY = new u({}), u; })() ); export { R, E as d }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiUmVzb3VyY2UtIX57MDAyfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGQgYXMgZGlhZyB9IGZyb20gJy4vZGlhZy1hcGktIX57MDA4fX4uanMnO1xuaW1wb3J0IHsgUyBhcyBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUUsIGEgYXMgU0RLX0lORk8sIGIgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRSwgYyBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUUsIGQgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OIH0gZnJvbSAnLi9zZGstaW5mby0hfnswMGh9fi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5mdW5jdGlvbiBkZWZhdWx0U2VydmljZU5hbWUoKSB7XG4gICAgcmV0dXJuICd1bmtub3duX3NlcnZpY2UnO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fYXNzaWduID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG52YXIgX19hd2FpdGVyID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG52YXIgX19nZW5lcmF0b3IgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX2dlbmVyYXRvcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGJvZHkpIHtcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xuICAgIH1cbn07XG52YXIgX19yZWFkID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19yZWFkKSB8fCBmdW5jdGlvbiAobywgbikge1xuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgICBpZiAoIW0pIHJldHVybiBvO1xuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICAgIH1cbiAgICByZXR1cm4gYXI7XG59O1xuLyoqXG4gKiBBIFJlc291cmNlIGRlc2NyaWJlcyB0aGUgZW50aXR5IGZvciB3aGljaCBhIHNpZ25hbHMgKG1ldHJpY3Mgb3IgdHJhY2UpIGFyZVxuICogY29sbGVjdGVkLlxuICovXG52YXIgUmVzb3VyY2UgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gUmVzb3VyY2UoXG4gICAgLyoqXG4gICAgICogQSBkaWN0aW9uYXJ5IG9mIGF0dHJpYnV0ZXMgd2l0aCBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgcHJvdmlkZVxuICAgICAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlbnRpdHkgYXMgbnVtYmVycywgc3RyaW5ncyBvciBib29sZWFuc1xuICAgICAqIFRPRE86IENvbnNpZGVyIHRvIGFkZCBjaGVjay92YWxpZGF0aW9uIG9uIGF0dHJpYnV0ZXMuXG4gICAgICovXG4gICAgYXR0cmlidXRlcywgYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgICAgICB0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcgPSBhc3luY0F0dHJpYnV0ZXNQcm9taXNlICE9IG51bGw7XG4gICAgICAgIHRoaXMuX3N5bmNBdHRyaWJ1dGVzID0gKF9hID0gdGhpcy5fYXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG4gICAgICAgIHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UgPSBhc3luY0F0dHJpYnV0ZXNQcm9taXNlID09PSBudWxsIHx8IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFzeW5jQXR0cmlidXRlc1Byb21pc2UudGhlbihmdW5jdGlvbiAoYXN5bmNBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBfdGhpcy5fYXR0cmlidXRlcyA9IE9iamVjdC5hc3NpZ24oe30sIF90aGlzLl9hdHRyaWJ1dGVzLCBhc3luY0F0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgX3RoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGFzeW5jQXR0cmlidXRlcztcbiAgICAgICAgfSwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgZGlhZy5kZWJ1ZyhcImEgcmVzb3VyY2UncyBhc3luYyBhdHRyaWJ1dGVzIHByb21pc2UgcmVqZWN0ZWQ6ICVzXCIsIGVycik7XG4gICAgICAgICAgICBfdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGVtcHR5IFJlc291cmNlXG4gICAgICovXG4gICAgUmVzb3VyY2UuZW1wdHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBSZXNvdXJjZS5FTVBUWTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBSZXNvdXJjZSB0aGF0IGlkZW50aWZpZXMgdGhlIFNESyBpbiB1c2UuXG4gICAgICovXG4gICAgUmVzb3VyY2UuZGVmYXVsdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gbmV3IFJlc291cmNlKChfYSA9IHt9LFxuICAgICAgICAgICAgX2FbU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FXSA9IGRlZmF1bHRTZXJ2aWNlTmFtZSgpLFxuICAgICAgICAgICAgX2FbU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRV0gPSBTREtfSU5GT1tTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFXSxcbiAgICAgICAgICAgIF9hW1NFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRV0gPSBTREtfSU5GT1tTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdLFxuICAgICAgICAgICAgX2FbU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OXSA9IFNES19JTkZPW1NFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTl0sXG4gICAgICAgICAgICBfYSkpO1xuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlc291cmNlLnByb3RvdHlwZSwgXCJhdHRyaWJ1dGVzXCIsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAodGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nKSB7XG4gICAgICAgICAgICAgICAgZGlhZy5lcnJvcignQWNjZXNzaW5nIHJlc291cmNlIGF0dHJpYnV0ZXMgYmVmb3JlIGFzeW5jIGF0dHJpYnV0ZXMgc2V0dGxlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIG5ldmVyIGJlIHJlamVjdGVkLiBSZXNvbHZlcyB3aGVuIGFsbCBhc3luYyBhdHRyaWJ1dGVzIGhhdmUgZmluaXNoZWQgYmVpbmcgYWRkZWQgdG9cbiAgICAgKiB0aGlzIFJlc291cmNlJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyB1c2VmdWwgaW4gZXhwb3J0ZXJzIHRvIGJsb2NrIHVudGlsIHJlc291cmNlIGRldGVjdGlvblxuICAgICAqIGhhcyBmaW5pc2hlZC5cbiAgICAgKi9cbiAgICBSZXNvdXJjZS5wcm90b3R5cGUud2FpdEZvckFzeW5jQXR0cmlidXRlcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHJldHVybiBbMyAvKmJyZWFrKi8sIDJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZV07XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMjtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIG5ldywgbWVyZ2VkIHtAbGluayBSZXNvdXJjZX0gYnkgbWVyZ2luZyB0aGUgY3VycmVudCBSZXNvdXJjZVxuICAgICAqIHdpdGggdGhlIG90aGVyIFJlc291cmNlLiBJbiBjYXNlIG9mIGEgY29sbGlzaW9uLCBvdGhlciBSZXNvdXJjZSB0YWtlc1xuICAgICAqIHByZWNlZGVuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3RoZXIgdGhlIFJlc291cmNlIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGlzLlxuICAgICAqIEByZXR1cm5zIHRoZSBuZXdseSBtZXJnZWQgUmVzb3VyY2UuXG4gICAgICovXG4gICAgUmVzb3VyY2UucHJvdG90eXBlLm1lcmdlID0gZnVuY3Rpb24gKG90aGVyKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFvdGhlcilcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAvLyBTcGFuQXR0cmlidXRlcyBmcm9tIG90aGVyIHJlc291cmNlIG92ZXJ3cml0ZSBhdHRyaWJ1dGVzIGZyb20gdGhpcyByZXNvdXJjZS5cbiAgICAgICAgdmFyIG1lcmdlZFN5bmNBdHRyaWJ1dGVzID0gX19hc3NpZ24oX19hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgKChfYSA9IG90aGVyLl9zeW5jQXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogb3RoZXIuYXR0cmlidXRlcykpO1xuICAgICAgICBpZiAoIXRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UgJiZcbiAgICAgICAgICAgICFvdGhlci5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShtZXJnZWRTeW5jQXR0cmlidXRlcyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlID0gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSxcbiAgICAgICAgICAgIG90aGVyLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlLFxuICAgICAgICBdKS50aGVuKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgdmFyIF9iO1xuICAgICAgICAgICAgdmFyIF9jID0gX19yZWFkKF9hLCAyKSwgdGhpc0FzeW5jQXR0cmlidXRlcyA9IF9jWzBdLCBvdGhlckFzeW5jQXR0cmlidXRlcyA9IF9jWzFdO1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKHt9LCBfdGhpcy5fc3luY0F0dHJpYnV0ZXMpLCB0aGlzQXN5bmNBdHRyaWJ1dGVzKSwgKChfYiA9IG90aGVyLl9zeW5jQXR0cmlidXRlcykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogb3RoZXIuYXR0cmlidXRlcykpLCBvdGhlckFzeW5jQXR0cmlidXRlcyk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IFJlc291cmNlKG1lcmdlZFN5bmNBdHRyaWJ1dGVzLCBtZXJnZWRBdHRyaWJ1dGVzUHJvbWlzZSk7XG4gICAgfTtcbiAgICBSZXNvdXJjZS5FTVBUWSA9IG5ldyBSZXNvdXJjZSh7fSk7XG4gICAgcmV0dXJuIFJlc291cmNlO1xufSgpKTtcblxuZXhwb3J0IHsgUmVzb3VyY2UgYXMgUiwgZGVmYXVsdFNlcnZpY2VOYW1lIGFzIGQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQVk7QUFDMUIsU0FBUyxLQUFLQyxHQUEwQixLQUFLQyxHQUFVLEtBQUtDLEdBQW9DLEtBQUtDLEdBQWdDLEtBQUtDLFNBQXlDO0FBaUJuTCxTQUFTQyxJQUFxQjtBQUMxQixTQUFPO0FBQ1g7QUFpQkEsSUFBSUMsSUFBZ0QsV0FBWTtBQUM1RCxTQUFBQSxJQUFXLE9BQU8sVUFBVSxTQUFTQyxHQUFHO0FBQ3BDLGFBQVNDLEdBQUdDLElBQUksR0FBR0MsSUFBSSxVQUFVLFFBQVFELElBQUlDLEdBQUdELEtBQUs7QUFDakQsTUFBQUQsSUFBSSxVQUFVQyxDQUFDO0FBQ2YsZUFBU0UsS0FBS0gsRUFBRyxDQUFJLE9BQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdHLENBQUMsTUFDMURKLEVBQUVJLENBQUMsSUFBSUgsRUFBRUcsQ0FBQztBQUFBLElBQ2xCO0FBQ0EsV0FBT0o7QUFBQSxFQUNYLEdBQ09ELEVBQVMsTUFBTSxNQUFNLFNBQVM7QUFDekMsR0FDSU0sSUFBa0QsU0FBVUMsR0FBU0MsR0FBWUMsR0FBR0MsR0FBVztBQUMvRixXQUFTQyxFQUFNQyxHQUFPO0FBQUUsV0FBT0EsYUFBaUJILElBQUlHLElBQVEsSUFBSUgsRUFBRSxTQUFVSSxHQUFTO0FBQUUsTUFBQUEsRUFBUUQsQ0FBSztBQUFBLElBQUcsQ0FBQztBQUFBLEVBQUc7QUFDM0csU0FBTyxLQUFLSCxNQUFNQSxJQUFJLFVBQVUsU0FBVUksR0FBU0MsR0FBUTtBQUN2RCxhQUFTQyxFQUFVSCxHQUFPO0FBQUUsVUFBSTtBQUFFLFFBQUFJLEVBQUtOLEVBQVUsS0FBS0UsQ0FBSyxDQUFDO0FBQUEsTUFBRyxTQUFTSyxHQUFHO0FBQUUsUUFBQUgsRUFBT0csQ0FBQztBQUFBLE1BQUc7QUFBQSxJQUFFO0FBQzFGLGFBQVNDLEVBQVNOLEdBQU87QUFBRSxVQUFJO0FBQUUsUUFBQUksRUFB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QkQsRUFBRyxDQUFDLEdBQUdFLElBQXVCRixFQUFHLENBQUM7QUFDaEYsZUFBTzlDLEVBQVNBLEVBQVNBLEVBQVNBLEVBQVMsQ0FBQyxHQUFHc0MsRUFBTSxlQUFlLEdBQUdTLENBQW1CLElBQUtGLElBQUtILEVBQU0scUJBQXFCLFFBQVFHLE1BQU8sU0FBU0EsSUFBS0gsRUFBTSxVQUFXLEdBQUdNLENBQW9CO0FBQUEsTUFDeE0sQ0FBQztBQUNELGFBQU8sSUFBSWIsRUFBU1EsR0FBc0JDLENBQXVCO0FBQUEsSUFDckUsR0FDQVQsRUFBUyxRQUFRLElBQUlBLEVBQVMsQ0FBQyxDQUFDLEdBQ3pCQTtBQUFBLEVBQ1gsR0FBRTtBQUFBOyIsCiAgIm5hbWVzIjogWyJkaWFnIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRSIsICJTREtfSU5GTyIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRSIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT04iLCAiZGVmYXVsdFNlcnZpY2VOYW1lIiwgIl9fYXNzaWduIiwgInQiLCAicyIsICJpIiwgIm4iLCAicCIsICJfX2F3YWl0ZXIiLCAidGhpc0FyZyIsICJfYXJndW1lbnRzIiwgIlAiLCAiZ2VuZXJhdG9yIiwgImFkb3B0IiwgInZhbHVlIiwgInJlc29sdmUiLCAicmVqZWN0IiwgImZ1bGZpbGxlZCIsICJzdGVwIiwgImUiLCAicmVqZWN0ZWQiLCAicmVzdWx0IiwgIl9fZ2VuZXJhdG9yIiwgImJvZHkiLCAiXyIsICJmIiwgInkiLCAiZyIsICJ2ZXJiIiwgInYiLCAib3AiLCAiX19yZWFkIiwgIm8iLCAibSIsICJyIiwgImFyIiwgImVycm9yIiwgIlJlc291cmNlIiwgImF0dHJpYnV0ZXMiLCAiYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSIsICJfdGhpcyIsICJfYSIsICJhc3luY0F0dHJpYnV0ZXMiLCAiZXJyIiwgIm90aGVyIiwgIm1lcmdlZFN5bmNBdHRyaWJ1dGVzIiwgIm1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlIiwgIl9iIiwgIl9jIiwgInRoaXNBc3luY0F0dHJpYnV0ZXMiLCAib3RoZXJBc3luY0F0dHJpYnV0ZXMiXQp9Cg==