choco-one-click-payment 1.1.53 → 1.1.54
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/index.esm.js +948 -930
- package/dist/index.js +24 -24
- package/index.d.ts +8 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.choco-one-click-widget{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;font-family:Sirius,sans-serif;--choco-widget-accent-color: #2F2F2F;pointer-events:none}.choco-one-click-widget--embedded{position:static;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:auto;min-height:1px}.choco-one-click-widget--embedded .choco-widget-bottom-bar{position:static;box-shadow:none;border-radius:24px}.choco-one-click-widget--embedded .choco-widget-payment-sheet{position:fixed}.choco-one-click-widget *{box-sizing:border-box;font-family:Sirius,sans-serif}.choco-one-click-widget .choco-widget-bottom-bar{opacity:0;transform:translateY(16px)}.choco-one-click-widget .choco-widget-balance-section,.choco-one-click-widget .choco-widget-payment-info{opacity:0;transform:translateY(8px)}.choco-one-click-widget--visible .choco-widget-bottom-bar,.choco-one-click-widget--visible .choco-widget-balance-section,.choco-one-click-widget--visible .choco-widget-payment-info{opacity:1;transform:translateY(0)}.choco-widget-bottom-bar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -4px 20px #0000001a;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:auto}.choco-widget-payment-info{display:flex;flex-direction:column;gap:12px;align-items:stretch;transition:transform .22s ease,opacity .2s ease}.choco-widget-payment-info-main{display:flex;gap:12px;align-items:center}.choco-widget-payment-method{gap:12px;background:#f1f2f7;border-radius:16px;padding:5px 8px;cursor:pointer;transition:background .2s ease;border:none;font-family:inherit;text-align:left;width:100%;position:relative;height:46px}.choco-widget-payment-method:disabled{cursor:not-allowed;pointer-events:none;opacity:.5}.choco-widget-payment-method.google_pay,.choco-widget-payment-method.apple_pay{max-width:140px}.choco-widget-method-icon-placeholder{font-size:24px}.choco-widget-method-details{flex:1}.choco-widget-method-label{font-size:14px;color:#000}.choco-widget-method-value{font-size:14px;font-weight:600;color:#000;display:flex;align-items:center;gap:4px}.choco-widget-method-icon-wrapper svg{display:block;width:100%;max-width:29px;max-height:18px;margin-top:2px}.choco-widget-method-icon-wrapper:empty{display:none}.choco-widget-method-icon-wrapper.google_pay svg{height:17px;max-width:35px;border:1px solid #3C4043;padding:3px 4px 2px;border-radius:8px}.choco-widget-method-name{font-size:14px;font-weight:700}.choco-widget-method-name.google_pay,.choco-widget-method-name.apple_pay{display:none}.choco-widget-method-chevron{position:absolute;right:5px;top:0;bottom:0;margin:auto 0;width:24px;height:24px}.choco-widget-freedom-card-btn{width:100%;height:46px;padding:0 13px;background:linear-gradient(to right,#17678d,#00ca82);border:none;border-radius:16px;font-size:16px;font-weight:700;font-family:inherit;color:#fff;cursor:pointer}.choco-widget-freedom-card-btn:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button{background:var(--choco-widget-accent-color);color:#fff;border:none;border-radius:16px;height:46px;padding:0 16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:100%;overflow:hidden}.choco-widget-pay-button--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-pay-button--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-pay-button--loading:after{content:"";display:block;width:100%;height:100%;background:#2f2f2f;position:absolute;left:0;top:0}.choco-widget-pay-button:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button--hidden{display:none}.choco-widget-google-pay-amount{min-width:124px;height:46px;display:flex;flex-direction:column;justify-content:center;text-align:right;width:100%}.choco-widget-google-pay-amount--hidden{display:none}.choco-widget-google-pay-amount-label{font-size:20px;font-weight:700;line-height:24px;color:#1d1d1d}.choco-widget-google-pay-amount-value{font-size:14px;line-height:18px;color:#1d1d1d;white-space:nowrap;opacity:.5}.choco-widget-google-pay-amount-value--hidden{display:none}.choco-widget-google-pay-amount-value-number{text-decoration:line-through}.choco-widget-google-pay-row--hidden{display:none}.choco-widget-wallet-blocked{pointer-events:none;opacity:.6}.choco-widget-google-pay-button-slot{width:100%}.choco-widget-google-pay-button-slot>button{width:100%!important;height:52px;min-height:52px;border-radius:12px!important;font-size:16px!important}.choco-widget-apple-pay-row--hidden{display:none}.choco-widget-apple-pay-button-slot{width:100%}.choco-widget-apple-pay-button-wrapper{position:relative;width:100%;height:52px}.choco-widget-apple-pay-button{width:100%;height:52px;min-height:52px;border:0;border-radius:12px;cursor:pointer;background:#000;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.choco-widget-apple-pay-button--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:52px;opacity:.01;z-index:2}.choco-widget-apple-pay-button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border-radius:12px;pointer-events:none;z-index:1}.choco-widget-apple-pay-button-text{font-size:16px;line-height:20px;font-weight:600;color:#fff}.choco-widget-apple-pay-button-icon{display:inline-flex;align-items:center;justify-content:center}.choco-widget-payment-sheet{position:absolute;bottom:0;left:0;right:0;top:0;background:#00000080;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease}.choco-widget-payment-sheet--open{opacity:1;pointer-events:auto}.choco-widget-payment-sheet--open .choco-widget-sheet-content{transform:translateY(0)}.choco-widget-sheet-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:8px 16px 16px;position:relative;will-change:transform}.choco-widget-sheet-content--dragging{transition:none}.choco-widget-sheet-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}.choco-widget-sheet-grabber:active{cursor:grabbing}.choco-widget-sheet-grabber:before{content:"";width:72px;height:6px;background:#e5e5e7;border-radius:42px}.choco-widget-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.choco-widget-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative}.choco-widget-sheet-title{font-size:20px;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.choco-widget-payment-sheet--edit .choco-widget-sheet-title{padding-left:30px}.choco-widget-payment-sheet--no-cards .choco-widget-sheet-title{padding-right:30px}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-title{padding:0}.choco-widget-sheet-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.choco-widget-sheet-button svg{color:#000}.choco-widget-sheet-delete-confirm{display:none;padding-top:16px}.choco-widget-payment-sheet--delete-confirm .choco-widget-payment-methods,.choco-widget-payment-sheet--delete-confirm .choco-widget-cashback-section{display:none!important}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-delete-confirm{display:block}.choco-widget-sheet-delete-confirm-text{margin:0 0 24px;font-size:16px;line-height:1.4;color:#242424;text-align:center}.choco-widget-sheet-delete-confirm-actions{display:flex;gap:12px}.choco-widget-delete-confirm-btn{flex:1;padding:14px 20px;font-size:16px;font-weight:600;font-family:inherit;border-radius:16px;border:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}.choco-widget-delete-confirm-btn--cancel{background:#f1f2f7;color:#242424}.choco-widget-delete-confirm-btn--delete{background:var(--choco-widget-accent-color);color:#fff}.choco-widget-delete-confirm-btn--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-sheet-delete-confirm-actions.choco-widget-sheet-delete-confirm-actions--loading .choco-widget-delete-confirm-btn{pointer-events:none;cursor:not-allowed;opacity:.7}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:after{content:"";display:block;width:100%;height:100%;background:#cc3434;position:absolute;left:0;top:0;border-radius:16px}.choco-widget-add-card-sheet{align-items:stretch}.choco-widget-add-card-sheet .choco-widget-add-card-sheet-content{max-height:none;height:100%;display:flex;flex-direction:column;transform:none;border-radius:0;padding:0}.choco-widget-add-card-sheet--open .choco-widget-add-card-sheet-content{transform:none}.choco-widget-add-card-sheet .choco-widget-sheet-header{flex-shrink:0;margin-bottom:0;padding:12px 0;border-bottom:1px solid #eee}.choco-widget-add-card-iframe-wrapper{flex:1;min-height:0;background:#fff}.choco-widget-add-card-iframe{width:100%;height:100%;border:none;display:block}.choco-widget-balance-section{margin-bottom:12px;padding:12px 8px;background:#f1f2f7;border-radius:12px;transition:transform .22s ease,opacity .2s ease}.choco-widget-balance-section.disabled{opacity:.5;pointer-events:none}.choco-widget-balance-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:4px 0}.choco-widget-balance-toggle:last-child{margin-bottom:0}.choco-widget-balance-toggle--disabled{opacity:.5;pointer-events:none}.choco-widget-balance-info{display:flex;align-items:center;gap:12px}.choco-widget-balance-text{display:flex;flex-direction:column}.choco-widget-balance-label-wrapper{display:flex;align-items:center;gap:8px}.choco-widget-balance-label{font-size:16px;font-weight:500}.choco-widget-balance-sublabel{font-size:12px;color:#767485;margin-top:2px}.choco-widget-balance-icon{width:22px;height:22px}.choco-widget-balance-amount{font-size:16px;font-weight:500;color:#000;white-space:nowrap}.choco-widget-toggle{position:relative;display:inline-block;width:42px;height:26px}.choco-widget-toggle input{opacity:0;width:0;height:0}.choco-widget-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d4d3df;transition:.3s;border-radius:28px}.choco-widget-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:0;top:0;margin:auto;background-color:#fff;transition:.3s;border-radius:50%}.choco-widget-toggle input:checked+.choco-widget-toggle-slider{background-color:var(--choco-widget-accent-color)}.choco-widget-toggle input:checked+.choco-widget-toggle-slider:before{transform:translate(16px)}.choco-widget-cashback-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.choco-widget-cashback-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5ee;border-radius:12px;font-size:14px;color:#ff6b00}.choco-widget-cashback-icon{font-size:20px}.choco-widget-cashback-text strong{font-weight:700}.choco-widget-payment-methods{display:flex;flex-direction:column;gap:8px}.choco-widget-method-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:all .2s ease;border:2px solid transparent;width:100%;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit}.choco-widget-method-item-icon-wrapper{width:37px}.choco-widget-method-item-icon-wrapper svg{display:block;width:100%;max-width:29px;height:29px;margin:0 auto}.choco-widget-method-item-icon-wrapper.google_pay{outline:1px solid #3C4043;padding:3px 5px 2px;border-radius:15px}.choco-widget-method-item-icon-wrapper.google_pay svg{height:15px;max-width:29px}.choco-widget-method-item-label{flex:1;font-size:16px;color:#000}.choco-widget-method-item-check,.choco-widget-method-item-trash-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px;margin:-6px 0 -6px 6px;background:none;border:none;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.choco-widget-method-item-check{height:30px;width:30px}.choco-widget-method-item-trash-btn:hover{background:#cc343414}.choco-widget-method-item-trash{flex-shrink:0;width:20px;height:20px}.choco-widget-bottom-bar-prerender{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1);height:78px}.choco-widget-payment-loading{width:30px;height:30px;animation:choco-spin 1s linear infinite;border:3px solid var(--choco-widget-accent-color);border-top:3px solid transparent;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}@keyframes choco-spin{to{transform:rotate(360deg)}}@keyframes choco-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.choco-widget-bottom-bar{padding:16px 16px 20px}.choco-widget-sheet-content{max-height:80vh}.choco-widget-sheet-title{font-size:18px}.choco-widget-method-item-label{font-size:17px}}@media(max-width:768px)and (min-height:812px){.choco-widget-bottom-bar,.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}}@supports (padding: env(safe-area-inset-bottom)){.choco-widget-bottom-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
const
|
|
2
|
+
const Er = {
|
|
3
3
|
ru: {
|
|
4
4
|
paymentMethod: "Способ оплаты",
|
|
5
5
|
selectMethod: "Выберите метод",
|
|
@@ -164,80 +164,80 @@ const br = {
|
|
|
164
164
|
errorWidgetInit: "ვიჯეტის ინიციალიზაციის შეცდომა",
|
|
165
165
|
errorPaymentProcess: "გადახდის შეცდომა"
|
|
166
166
|
}
|
|
167
|
-
},
|
|
167
|
+
}, vr = {
|
|
168
168
|
KZT: "₸",
|
|
169
169
|
GEL: "₾"
|
|
170
170
|
};
|
|
171
|
-
function
|
|
171
|
+
function Ir(e) {
|
|
172
172
|
return e === "production" ? "https://api-proxy.choco.kz" : "https://api-proxy.chocodev.kz";
|
|
173
173
|
}
|
|
174
|
-
let
|
|
175
|
-
const
|
|
176
|
-
function
|
|
177
|
-
if (!
|
|
174
|
+
let Re;
|
|
175
|
+
const Br = new Uint8Array(16);
|
|
176
|
+
function Sr() {
|
|
177
|
+
if (!Re && (Re = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Re))
|
|
178
178
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
179
|
-
return
|
|
179
|
+
return Re(Br);
|
|
180
180
|
}
|
|
181
181
|
const H = [];
|
|
182
182
|
for (let e = 0; e < 256; ++e)
|
|
183
183
|
H.push((e + 256).toString(16).slice(1));
|
|
184
|
-
function
|
|
184
|
+
function _r(e, t = 0) {
|
|
185
185
|
return H[e[t + 0]] + H[e[t + 1]] + H[e[t + 2]] + H[e[t + 3]] + "-" + H[e[t + 4]] + H[e[t + 5]] + "-" + H[e[t + 6]] + H[e[t + 7]] + "-" + H[e[t + 8]] + H[e[t + 9]] + "-" + H[e[t + 10]] + H[e[t + 11]] + H[e[t + 12]] + H[e[t + 13]] + H[e[t + 14]] + H[e[t + 15]];
|
|
186
186
|
}
|
|
187
|
-
const
|
|
188
|
-
randomUUID:
|
|
187
|
+
const Qr = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Vt = {
|
|
188
|
+
randomUUID: Qr
|
|
189
189
|
};
|
|
190
|
-
function
|
|
191
|
-
if (
|
|
192
|
-
return
|
|
190
|
+
function $e(e, t, n) {
|
|
191
|
+
if (Vt.randomUUID && !e)
|
|
192
|
+
return Vt.randomUUID();
|
|
193
193
|
e = e || {};
|
|
194
|
-
const r = e.random || (e.rng ||
|
|
195
|
-
return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128,
|
|
194
|
+
const r = e.random || (e.rng || Sr)();
|
|
195
|
+
return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, _r(r);
|
|
196
196
|
}
|
|
197
|
-
const
|
|
197
|
+
const Zt = "choco_device_id";
|
|
198
198
|
function $(e, t = "ru", n = "KZT") {
|
|
199
199
|
const r = Number(e), o = t === "ru" ? "ru-RU" : "en-US";
|
|
200
|
-
return `${r.toLocaleString(o)} ${
|
|
200
|
+
return `${r.toLocaleString(o)} ${vr[n]}`;
|
|
201
201
|
}
|
|
202
|
-
function
|
|
203
|
-
let e = localStorage.getItem(
|
|
204
|
-
return e || (e =
|
|
202
|
+
function Dn() {
|
|
203
|
+
let e = localStorage.getItem(Zt);
|
|
204
|
+
return e || (e = $e(), localStorage.setItem(Zt, e)), e;
|
|
205
205
|
}
|
|
206
|
-
function
|
|
206
|
+
function ze() {
|
|
207
207
|
if (typeof window > "u") return !1;
|
|
208
208
|
const e = window.safari !== void 0, t = window.navigator.userAgent || "", n = !!t.match(/iPad/i) || !!t.match(/iPhone/i), r = !!t.match(/WebKit/i), o = n && r && !t.match(/CriOS/i);
|
|
209
209
|
return e || o;
|
|
210
210
|
}
|
|
211
|
-
function
|
|
211
|
+
function Mn() {
|
|
212
212
|
if (typeof navigator > "u") return 0;
|
|
213
213
|
const e = navigator.userAgent || "", t = e.indexOf("OS");
|
|
214
214
|
return (e.indexOf("iPhone") > -1 || e.indexOf("iPad") > -1) && t > -1 ? Number(e.substring(t + 3, t + 6).replace("_", ".")) : 0;
|
|
215
215
|
}
|
|
216
|
-
function
|
|
216
|
+
function Rt() {
|
|
217
217
|
var i;
|
|
218
218
|
if (typeof navigator > "u") return "unknown";
|
|
219
219
|
const e = (navigator.userAgent || navigator.vendor || "").toLowerCase(), t = (navigator.platform || "").toLowerCase(), n = (((i = navigator.userAgentData) == null ? void 0 : i.platform) || "").toLowerCase(), r = `${e} ${t} ${n}`;
|
|
220
220
|
return /iphone|ipad|ipod/.test(r) || r.includes("macintosh") && typeof document < "u" && "ontouchend" in document ? "ios" : r.includes("android") ? "android" : r.includes("windows") ? "windows" : r.includes("mac") ? "macos" : "other";
|
|
221
221
|
}
|
|
222
|
-
function
|
|
222
|
+
function Ke() {
|
|
223
223
|
if (typeof navigator > "u") return !1;
|
|
224
224
|
const e = navigator.userAgentData;
|
|
225
|
-
return e != null && e.platform && ["iOS", "iPadOS"].includes(e.platform) ||
|
|
225
|
+
return e != null && e.platform && ["iOS", "iPadOS"].includes(e.platform) || Rt() === "ios" ? !0 : (navigator.userAgent || "").includes("Macintosh") && typeof document < "u" && "ontouchend" in document;
|
|
226
226
|
}
|
|
227
|
-
function
|
|
227
|
+
function Ge(e) {
|
|
228
228
|
if (typeof sessionStorage > "u") return !1;
|
|
229
229
|
const t = e === "apple_pay" ? "disableApplePay" : e === "google_pay" ? "disableGooglePay" : null;
|
|
230
230
|
return t ? sessionStorage.getItem(t) === "true" : !1;
|
|
231
231
|
}
|
|
232
|
-
function
|
|
232
|
+
function kr(e) {
|
|
233
233
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
234
234
|
}
|
|
235
|
-
var
|
|
236
|
-
function
|
|
237
|
-
return
|
|
235
|
+
var Xe = { exports: {} }, Pr = Xe.exports, $t;
|
|
236
|
+
function wr() {
|
|
237
|
+
return $t || ($t = 1, (function(e, t) {
|
|
238
238
|
(function(r, o) {
|
|
239
239
|
e.exports = o();
|
|
240
|
-
})(
|
|
240
|
+
})(Pr, function() {
|
|
241
241
|
return (
|
|
242
242
|
/******/
|
|
243
243
|
(function() {
|
|
@@ -954,16 +954,16 @@ function Pr() {
|
|
|
954
954
|
var x = O.data.channels[X];
|
|
955
955
|
x.channel && (F[x.channel] = x.token);
|
|
956
956
|
}
|
|
957
|
-
var
|
|
958
|
-
if (
|
|
959
|
-
var
|
|
957
|
+
var ye = F[s];
|
|
958
|
+
if (ye) {
|
|
959
|
+
var At = {
|
|
960
960
|
method: a._methodType.SUB_REFRESH,
|
|
961
961
|
params: {
|
|
962
962
|
channel: s,
|
|
963
|
-
token:
|
|
963
|
+
token: ye
|
|
964
964
|
}
|
|
965
|
-
},
|
|
966
|
-
|
|
965
|
+
}, Le = a._getSub(s);
|
|
966
|
+
Le !== null && a._call(At).then(function(ne) {
|
|
967
967
|
a._subRefreshResponse(s, a._decoder.decodeCommandResult(a._methodType.SUB_REFRESH, ne.result)), ne.next && ne.next();
|
|
968
968
|
}, function(ne) {
|
|
969
969
|
a._subRefreshError(s, ne.error), ne.next && ne.next();
|
|
@@ -1473,59 +1473,59 @@ function Pr() {
|
|
|
1473
1473
|
if (w in s._xhrs && delete s._xhrs[w], s._clientID === T) {
|
|
1474
1474
|
if (x.error || x.status !== 200) {
|
|
1475
1475
|
s._debug("authorization request failed");
|
|
1476
|
-
for (var
|
|
1477
|
-
if (A.hasOwnProperty(
|
|
1478
|
-
var
|
|
1479
|
-
s._subscribeError(
|
|
1476
|
+
for (var ye in A)
|
|
1477
|
+
if (A.hasOwnProperty(ye)) {
|
|
1478
|
+
var At = A[ye];
|
|
1479
|
+
s._subscribeError(At, s._createErrorObject("authorization request failed"));
|
|
1480
1480
|
}
|
|
1481
1481
|
return;
|
|
1482
1482
|
}
|
|
1483
|
-
var
|
|
1483
|
+
var Le = {};
|
|
1484
1484
|
if (x.data.channels)
|
|
1485
1485
|
for (var ne in x.data.channels) {
|
|
1486
|
-
var
|
|
1487
|
-
|
|
1486
|
+
var dt = x.data.channels[ne];
|
|
1487
|
+
dt.channel && (Le[dt.channel] = dt.token);
|
|
1488
1488
|
}
|
|
1489
|
-
var
|
|
1490
|
-
s._isBatching || (s.startBatching(),
|
|
1491
|
-
for (var
|
|
1492
|
-
if (A.hasOwnProperty(
|
|
1493
|
-
var
|
|
1494
|
-
var Z = A[
|
|
1495
|
-
if (
|
|
1496
|
-
var
|
|
1489
|
+
var Jt = !1;
|
|
1490
|
+
s._isBatching || (s.startBatching(), Jt = !0);
|
|
1491
|
+
for (var qt in A)
|
|
1492
|
+
if (A.hasOwnProperty(qt)) {
|
|
1493
|
+
var br = (function() {
|
|
1494
|
+
var Z = A[qt], zt = Le[Z];
|
|
1495
|
+
if (zt) {
|
|
1496
|
+
var me = {
|
|
1497
1497
|
method: s._methodType.SUBSCRIBE,
|
|
1498
1498
|
params: {
|
|
1499
1499
|
channel: Z,
|
|
1500
|
-
token:
|
|
1500
|
+
token: zt
|
|
1501
1501
|
}
|
|
1502
|
-
},
|
|
1503
|
-
if (
|
|
1502
|
+
}, Kt = s._getSub(Z);
|
|
1503
|
+
if (Kt === null)
|
|
1504
1504
|
return "continue";
|
|
1505
|
-
var
|
|
1506
|
-
if (
|
|
1507
|
-
|
|
1508
|
-
var
|
|
1509
|
-
if (
|
|
1510
|
-
|
|
1505
|
+
var Gt = Kt._needRecover();
|
|
1506
|
+
if (Gt === !0) {
|
|
1507
|
+
me.params.recover = !0;
|
|
1508
|
+
var ft = s._getLastSeq(Z), ht = s._getLastGen(Z);
|
|
1509
|
+
if (ft || ht)
|
|
1510
|
+
ft && (me.params.seq = ft), ht && (me.params.gen = ht);
|
|
1511
1511
|
else {
|
|
1512
|
-
var
|
|
1513
|
-
|
|
1512
|
+
var Wt = s._getLastOffset(Z);
|
|
1513
|
+
Wt && (me.params.offset = Wt);
|
|
1514
1514
|
}
|
|
1515
|
-
var
|
|
1516
|
-
|
|
1515
|
+
var Yt = s._getLastEpoch(Z);
|
|
1516
|
+
Yt && (me.params.epoch = Yt);
|
|
1517
1517
|
}
|
|
1518
|
-
s._call(
|
|
1519
|
-
s._subscribeResponse(Z,
|
|
1520
|
-
}, function(
|
|
1521
|
-
s._subscribeError(Z,
|
|
1518
|
+
s._call(me).then(function(Ae) {
|
|
1519
|
+
s._subscribeResponse(Z, Gt, s._decoder.decodeCommandResult(s._methodType.SUBSCRIBE, Ae.result)), Ae.next && Ae.next();
|
|
1520
|
+
}, function(Ae) {
|
|
1521
|
+
s._subscribeError(Z, Ae.error), Ae.next && Ae.next();
|
|
1522
1522
|
});
|
|
1523
1523
|
} else
|
|
1524
1524
|
return s._subscribeError(Z, s._createErrorObject("permission denied", 103)), "continue";
|
|
1525
1525
|
})();
|
|
1526
|
-
if (
|
|
1526
|
+
if (br === "continue") continue;
|
|
1527
1527
|
}
|
|
1528
|
-
|
|
1528
|
+
Jt && s.stopBatching();
|
|
1529
1529
|
}
|
|
1530
1530
|
};
|
|
1531
1531
|
if (this._config.onPrivateSubscribe !== null)
|
|
@@ -2246,31 +2246,31 @@ function Pr() {
|
|
|
2246
2246
|
})()
|
|
2247
2247
|
);
|
|
2248
2248
|
});
|
|
2249
|
-
})(
|
|
2249
|
+
})(Xe)), Xe.exports;
|
|
2250
2250
|
}
|
|
2251
|
-
var
|
|
2252
|
-
const
|
|
2253
|
-
let
|
|
2254
|
-
function
|
|
2251
|
+
var Tr = wr();
|
|
2252
|
+
const Lr = /* @__PURE__ */ kr(Tr);
|
|
2253
|
+
let Oe = null;
|
|
2254
|
+
function en(e, t) {
|
|
2255
2255
|
if (!(e != null && e.client_url) || !(e != null && e.token) || !(e != null && e.channel))
|
|
2256
2256
|
return console.error("[Centrifuge] Invalid socket_connections"), null;
|
|
2257
2257
|
const { client_url: n, token: r, channel: o } = e;
|
|
2258
|
-
if (o.includes("#") || console.warn("[Centrifuge] Channel should contain #user_id"),
|
|
2258
|
+
if (o.includes("#") || console.warn("[Centrifuge] Channel should contain #user_id"), Oe) {
|
|
2259
2259
|
try {
|
|
2260
|
-
console.log("[Centrifuge] Disconnecting previous instance..."),
|
|
2260
|
+
console.log("[Centrifuge] Disconnecting previous instance..."), Oe.disconnect();
|
|
2261
2261
|
} catch (c) {
|
|
2262
2262
|
console.error("[Centrifuge] Error while disconnecting previous instance:", c);
|
|
2263
2263
|
}
|
|
2264
|
-
|
|
2264
|
+
Oe = null;
|
|
2265
2265
|
}
|
|
2266
2266
|
console.log("[Centrifuge] Creating new instance:", n);
|
|
2267
|
-
const i = new
|
|
2267
|
+
const i = new Lr(n);
|
|
2268
2268
|
return i.setToken(r), i.on("connect", (c) => {
|
|
2269
2269
|
console.log("[Centrifuge] Connected", c), console.log("[Centrifuge] Subscribing to channel:", o);
|
|
2270
2270
|
const u = i.subscribe(o);
|
|
2271
2271
|
u.on("publish", (l) => {
|
|
2272
2272
|
console.log("[Centrifuge] Publish event received:", l);
|
|
2273
|
-
const h =
|
|
2273
|
+
const h = Rr(l);
|
|
2274
2274
|
h && t(h);
|
|
2275
2275
|
}), u.on("subscribe", (l) => {
|
|
2276
2276
|
console.log("[Centrifuge] ✅ Channel subscribed successfully:", o, l);
|
|
@@ -2279,27 +2279,27 @@ function $t(e, t) {
|
|
|
2279
2279
|
}), u.on("unsubscribe", (l) => {
|
|
2280
2280
|
console.log("[Centrifuge] Channel unsubscribed:", l);
|
|
2281
2281
|
});
|
|
2282
|
-
}), i.on("disconnect", (c) => console.log("[Centrifuge] Disconnected", c)), i.on("error", (c) => console.error("[Centrifuge] Error", c)), console.log("[Centrifuge] Calling connect()..."), i.connect(),
|
|
2282
|
+
}), i.on("disconnect", (c) => console.log("[Centrifuge] Disconnected", c)), i.on("error", (c) => console.error("[Centrifuge] Error", c)), console.log("[Centrifuge] Calling connect()..."), i.connect(), Oe = i, { centrifuge: i };
|
|
2283
2283
|
}
|
|
2284
|
-
function
|
|
2284
|
+
function Rr(e) {
|
|
2285
2285
|
var n, r, o;
|
|
2286
2286
|
if (console.log("[Centrifuge] Raw message received:", JSON.stringify(e)), !(e != null && e.data))
|
|
2287
2287
|
return console.warn("[Centrifuge] Empty or invalid response"), null;
|
|
2288
2288
|
let t = e.data;
|
|
2289
2289
|
return (n = t.data) != null && n.type ? t = t.data : (o = (r = t.data) == null ? void 0 : r.data) != null && o.type && (t = t.data.data), console.log("[Centrifuge] Parsed message:", t), t.type ? t : (console.warn("[Centrifuge] Message has no type:", t), null);
|
|
2290
2290
|
}
|
|
2291
|
-
function
|
|
2291
|
+
function He(e) {
|
|
2292
2292
|
return /^4[0-9]/.test(e) ? "visa" : /^5[1-5]/.test(e) || /^2[2-7]/.test(e) ? "mastercard" : "card";
|
|
2293
2293
|
}
|
|
2294
|
-
const
|
|
2294
|
+
const de = {
|
|
2295
2295
|
iconType: "kaspi_pay",
|
|
2296
2296
|
label: "Kaspi.kz",
|
|
2297
2297
|
type: "kaspi_pay"
|
|
2298
|
-
},
|
|
2298
|
+
}, xn = {
|
|
2299
2299
|
iconType: "apple_pay",
|
|
2300
2300
|
label: "Apple Pay",
|
|
2301
2301
|
type: "apple_pay"
|
|
2302
|
-
},
|
|
2302
|
+
}, Un = {
|
|
2303
2303
|
iconType: "google_pay",
|
|
2304
2304
|
label: "Google Pay",
|
|
2305
2305
|
type: "google_pay"
|
|
@@ -2307,59 +2307,59 @@ const Ae = {
|
|
|
2307
2307
|
function ee(e) {
|
|
2308
2308
|
return e === "enabled" || e === !0;
|
|
2309
2309
|
}
|
|
2310
|
-
function
|
|
2310
|
+
function tn(e) {
|
|
2311
2311
|
if (!e) return null;
|
|
2312
2312
|
let t = String(e).trim().toLowerCase();
|
|
2313
2313
|
return t.startsWith("payment_method_") && (t = t.replace("payment_method_", "")), t === "kaspi" ? "kaspi_pay" : t === "apple" ? "apple_pay" : t === "google" ? "google_pay" : t === "newcard" ? "new_card" : t === "card" ? "card" : ["kaspi_pay", "apple_pay", "google_pay", "new_card"].includes(t) ? t : null;
|
|
2314
2314
|
}
|
|
2315
|
-
function
|
|
2315
|
+
function Or(e) {
|
|
2316
2316
|
var i, c, u;
|
|
2317
2317
|
const t = e, n = ((i = t == null ? void 0 : t.context) == null ? void 0 : i.last_payment_method) ?? (t == null ? void 0 : t.last_payment_method) ?? ((c = t == null ? void 0 : t.attributes) == null ? void 0 : c.last_payment_method);
|
|
2318
2318
|
if (!n) return null;
|
|
2319
2319
|
if (typeof n == "string")
|
|
2320
|
-
return { type:
|
|
2320
|
+
return { type: tn(n), cardId: null };
|
|
2321
2321
|
if (typeof n != "object") return null;
|
|
2322
2322
|
const r = n.type ?? n.payment_method ?? n.method, o = n.card_id ?? n.cardId ?? n.id ?? ((u = n.card) == null ? void 0 : u.id) ?? null;
|
|
2323
2323
|
return {
|
|
2324
|
-
type:
|
|
2324
|
+
type: tn(r),
|
|
2325
2325
|
cardId: o != null ? String(o) : null
|
|
2326
2326
|
};
|
|
2327
2327
|
}
|
|
2328
|
-
function
|
|
2328
|
+
function Nr(e, t, n = {}) {
|
|
2329
2329
|
var S, P, k, R;
|
|
2330
|
-
const r = [], o = (S = e == null ? void 0 : e.kaspi) == null ? void 0 : S.data, i = ((P = e == null ? void 0 : e.cards_v2) == null ? void 0 : P.data) || [], c = ((R = (k = e == null ? void 0 : e.payment_methods) == null ? void 0 : k.data) == null ? void 0 : R.attributes) || {}, u = ee(c.payment_method_kaspi), l = ee(c.payment_method_card), h = typeof window < "u" && window.self === window.top, m =
|
|
2331
|
-
return o != null && o.isKaspiOnly && u && !I ? [
|
|
2330
|
+
const r = [], o = (S = e == null ? void 0 : e.kaspi) == null ? void 0 : S.data, i = ((P = e == null ? void 0 : e.cards_v2) == null ? void 0 : P.data) || [], c = ((R = (k = e == null ? void 0 : e.payment_methods) == null ? void 0 : k.data) == null ? void 0 : R.attributes) || {}, u = ee(c.payment_method_kaspi), l = ee(c.payment_method_card), h = typeof window < "u" && window.self === window.top, m = Rt() === "ios", b = !!(n != null && n.onlyKaspiAvailable), I = !!(n != null && n.disableKaspi);
|
|
2331
|
+
return o != null && o.isKaspiOnly && u && !I ? [de] : b ? o != null && o.isAvailable && u && !I ? [de] : [] : (ee(c.payment_method_apple_pay) && !Ge("apple_pay") && (ze() && h || Ke() || m || Mn() === 16) && r.push(xn), o != null && o.isAvailable && u && !I && r.push(de), l && i.filter((L) => !L.isExpired).forEach((L) => {
|
|
2332
2332
|
r.push({
|
|
2333
|
-
iconType:
|
|
2333
|
+
iconType: He(L.attributes.mask),
|
|
2334
2334
|
type: "card",
|
|
2335
2335
|
cardId: L.id,
|
|
2336
2336
|
label: `•••• ${L.attributes.mask.slice(-4)}`,
|
|
2337
2337
|
cardType: L.type,
|
|
2338
2338
|
isDefault: L.attributes.isDefault
|
|
2339
2339
|
});
|
|
2340
|
-
}), ee(c.payment_method_google_pay) && !
|
|
2340
|
+
}), ee(c.payment_method_google_pay) && !Ge("google_pay") && !(n != null && n.disableGooglePay) && !ze() && !Ke() && r.push(Un), ee(c.payment_method_new_card) && r.push({
|
|
2341
2341
|
iconType: "new_card",
|
|
2342
2342
|
type: "new_card",
|
|
2343
2343
|
label: t ? t("newCard") : "Оплата новой картой"
|
|
2344
2344
|
}), r);
|
|
2345
2345
|
}
|
|
2346
|
-
function
|
|
2346
|
+
function Ct(e, t = {}) {
|
|
2347
2347
|
var Q, S, P, k;
|
|
2348
|
-
const n = (Q = e == null ? void 0 : e.kaspi) == null ? void 0 : Q.data, r = ((S = e == null ? void 0 : e.cards_v2) == null ? void 0 : S.data) || [], o = ((k = (P = e == null ? void 0 : e.payment_methods) == null ? void 0 : P.data) == null ? void 0 : k.attributes) || {}, i = ee(o.payment_method_kaspi), c = ee(o.payment_method_card), u = !!(t != null && t.disableKaspi), l = typeof window < "u" && window.self === window.top, y =
|
|
2348
|
+
const n = (Q = e == null ? void 0 : e.kaspi) == null ? void 0 : Q.data, r = ((S = e == null ? void 0 : e.cards_v2) == null ? void 0 : S.data) || [], o = ((k = (P = e == null ? void 0 : e.payment_methods) == null ? void 0 : P.data) == null ? void 0 : k.attributes) || {}, i = ee(o.payment_method_kaspi), c = ee(o.payment_method_card), u = !!(t != null && t.disableKaspi), l = typeof window < "u" && window.self === window.top, y = Rt() === "ios", m = ee(o.payment_method_apple_pay) && !Ge("apple_pay") && (ze() && l || Ke() || y || Mn() === 16), b = ee(o.payment_method_google_pay) && !Ge("google_pay") && !(t != null && t.disableGooglePay) && !ze() && !Ke();
|
|
2349
2349
|
if (n != null && n.isKaspiOnly && i && !u || t != null && t.onlyKaspiAvailable && (n != null && n.isAvailable) && i && !u)
|
|
2350
|
-
return
|
|
2351
|
-
const I =
|
|
2350
|
+
return de;
|
|
2351
|
+
const I = Or(e);
|
|
2352
2352
|
if ((I == null ? void 0 : I.type) === "kaspi_pay" && (n != null && n.isAvailable) && i && !u)
|
|
2353
|
-
return
|
|
2354
|
-
if ((I == null ? void 0 : I.type) === "apple_pay" && m) return
|
|
2355
|
-
if ((I == null ? void 0 : I.type) === "google_pay" && b) return
|
|
2353
|
+
return de;
|
|
2354
|
+
if ((I == null ? void 0 : I.type) === "apple_pay" && m) return xn;
|
|
2355
|
+
if ((I == null ? void 0 : I.type) === "google_pay" && b) return Un;
|
|
2356
2356
|
if ((I == null ? void 0 : I.type) === "new_card" && ee(o.payment_method_new_card))
|
|
2357
2357
|
return { iconType: "new_card", type: "new_card", label: "Оплата новой картой" };
|
|
2358
2358
|
if ((I == null ? void 0 : I.type) === "card" && c) {
|
|
2359
2359
|
const R = I.cardId != null ? r.find((L) => !L.isExpired && String(L.id) === I.cardId) : null;
|
|
2360
2360
|
if (R)
|
|
2361
2361
|
return {
|
|
2362
|
-
iconType:
|
|
2362
|
+
iconType: He(R.attributes.mask),
|
|
2363
2363
|
type: "card",
|
|
2364
2364
|
cardId: R.id,
|
|
2365
2365
|
label: `•••• ${R.attributes.mask.slice(-4)}`,
|
|
@@ -2373,24 +2373,24 @@ function mt(e, t = {}) {
|
|
|
2373
2373
|
});
|
|
2374
2374
|
if (R)
|
|
2375
2375
|
return {
|
|
2376
|
-
iconType:
|
|
2376
|
+
iconType: He(R.attributes.mask),
|
|
2377
2377
|
type: "card",
|
|
2378
2378
|
cardId: R.id,
|
|
2379
2379
|
label: `•••• ${R.attributes.mask.slice(-4)}`,
|
|
2380
2380
|
cardType: R.type
|
|
2381
2381
|
};
|
|
2382
2382
|
}
|
|
2383
|
-
if (n != null && n.isAvailable && i && !u) return
|
|
2383
|
+
if (n != null && n.isAvailable && i && !u) return de;
|
|
2384
2384
|
const B = c ? r.find((R) => !R.isExpired) : null;
|
|
2385
2385
|
return B ? {
|
|
2386
|
-
iconType:
|
|
2386
|
+
iconType: He(B.attributes.mask),
|
|
2387
2387
|
type: "card",
|
|
2388
2388
|
cardId: B.id,
|
|
2389
2389
|
label: `••••${B.attributes.mask.slice(-4)}`,
|
|
2390
2390
|
cardType: B.type
|
|
2391
2391
|
} : null;
|
|
2392
2392
|
}
|
|
2393
|
-
function
|
|
2393
|
+
function Fn(e) {
|
|
2394
2394
|
if (typeof localStorage > "u") return null;
|
|
2395
2395
|
try {
|
|
2396
2396
|
return localStorage.getItem(e);
|
|
@@ -2398,21 +2398,24 @@ function Un(e) {
|
|
|
2398
2398
|
return null;
|
|
2399
2399
|
}
|
|
2400
2400
|
}
|
|
2401
|
-
function
|
|
2401
|
+
function bt(e, t) {
|
|
2402
2402
|
if (!(typeof localStorage > "u"))
|
|
2403
2403
|
try {
|
|
2404
2404
|
localStorage.setItem(e, t);
|
|
2405
2405
|
} catch {
|
|
2406
2406
|
}
|
|
2407
2407
|
}
|
|
2408
|
-
function
|
|
2408
|
+
function We(e) {
|
|
2409
2409
|
if (!(typeof localStorage > "u"))
|
|
2410
2410
|
try {
|
|
2411
2411
|
localStorage.removeItem(e);
|
|
2412
2412
|
} catch {
|
|
2413
2413
|
}
|
|
2414
2414
|
}
|
|
2415
|
-
|
|
2415
|
+
function ie(e) {
|
|
2416
|
+
return e ? { "X-Country": e } : {};
|
|
2417
|
+
}
|
|
2418
|
+
async function Dr(e, t) {
|
|
2416
2419
|
var n;
|
|
2417
2420
|
try {
|
|
2418
2421
|
const r = await e.json(), o = (n = r == null ? void 0 : r.errors) == null ? void 0 : n[0];
|
|
@@ -2421,11 +2424,11 @@ async function Nr(e, t) {
|
|
|
2421
2424
|
return `HTTP ${e.status}: ${e.statusText}`;
|
|
2422
2425
|
}
|
|
2423
2426
|
}
|
|
2424
|
-
async function
|
|
2425
|
-
const n = await
|
|
2427
|
+
async function le(e, t) {
|
|
2428
|
+
const n = await Dr(e, t);
|
|
2426
2429
|
throw Object.assign(new Error(n), { status: e.status });
|
|
2427
2430
|
}
|
|
2428
|
-
function
|
|
2431
|
+
function et(e, t, n = {}) {
|
|
2429
2432
|
const r = Number.isFinite(n.checkoutAmount) && n.checkoutAmount >= 0 ? Number(n.checkoutAmount) : e.amount, o = !!n.forceBalanceMethod, i = !!n.useBalance, c = n.voucher;
|
|
2430
2433
|
return {
|
|
2431
2434
|
checkoutAmount: r,
|
|
@@ -2434,7 +2437,7 @@ function $e(e, t, n = {}) {
|
|
|
2434
2437
|
voucher: c
|
|
2435
2438
|
};
|
|
2436
2439
|
}
|
|
2437
|
-
function
|
|
2440
|
+
function tt(e, t, n, r, o) {
|
|
2438
2441
|
return {
|
|
2439
2442
|
preorder_id: e.preorderId,
|
|
2440
2443
|
terminal_id: e.terminalId,
|
|
@@ -2450,28 +2453,30 @@ function et(e, t, n, r, o) {
|
|
|
2450
2453
|
...e.isFridge && { is_fridge: !0 }
|
|
2451
2454
|
};
|
|
2452
2455
|
}
|
|
2453
|
-
async function
|
|
2456
|
+
async function nt(e, t, n, r, o) {
|
|
2454
2457
|
const i = await fetch(`${e}/orders/v1/checkout`, {
|
|
2455
2458
|
method: "POST",
|
|
2456
2459
|
headers: {
|
|
2457
2460
|
"Content-Type": "application/json",
|
|
2458
2461
|
Authorization: `Bearer ${t.accessToken}`,
|
|
2459
|
-
"X-Idempotency-Key": t.idempotencyKey ??
|
|
2462
|
+
"X-Idempotency-Key": t.idempotencyKey ?? $e(),
|
|
2460
2463
|
"X-Device-Id": n,
|
|
2461
|
-
"X-OS": "WEB"
|
|
2464
|
+
"X-OS": "WEB",
|
|
2465
|
+
...ie(t.country)
|
|
2462
2466
|
},
|
|
2463
2467
|
body: JSON.stringify(r)
|
|
2464
2468
|
});
|
|
2465
|
-
return i.ok || await
|
|
2469
|
+
return i.ok || await le(i, o), i.json();
|
|
2466
2470
|
}
|
|
2467
|
-
async function
|
|
2468
|
-
var
|
|
2469
|
-
const
|
|
2471
|
+
async function nn(e, t, n, r) {
|
|
2472
|
+
var l, h, y, m;
|
|
2473
|
+
const o = await fetch(`${e}/api/v2/oauth2/tokens`, {
|
|
2470
2474
|
method: "POST",
|
|
2471
2475
|
headers: {
|
|
2472
2476
|
"Content-Type": "application/json",
|
|
2473
|
-
"X-Idempotency-Key":
|
|
2474
|
-
"X-Fingerprint":
|
|
2477
|
+
"X-Idempotency-Key": $e(),
|
|
2478
|
+
"X-Fingerprint": Dn(),
|
|
2479
|
+
...ie(r)
|
|
2475
2480
|
},
|
|
2476
2481
|
body: JSON.stringify({
|
|
2477
2482
|
client_id: t,
|
|
@@ -2479,34 +2484,38 @@ async function tn(e, t, n) {
|
|
|
2479
2484
|
track_id: n
|
|
2480
2485
|
})
|
|
2481
2486
|
});
|
|
2482
|
-
|
|
2483
|
-
const
|
|
2484
|
-
if (!
|
|
2485
|
-
return { access_token:
|
|
2486
|
-
}
|
|
2487
|
-
async function
|
|
2488
|
-
var
|
|
2489
|
-
const
|
|
2487
|
+
o.ok || await le(o, "Не удалось авторизоваться через track_id");
|
|
2488
|
+
const i = await o.json(), c = (i == null ? void 0 : i.access_token) ?? ((h = (l = i == null ? void 0 : i.data) == null ? void 0 : l.attributes) == null ? void 0 : h.access_token), u = (i == null ? void 0 : i.refresh_token) ?? ((m = (y = i == null ? void 0 : i.data) == null ? void 0 : y.attributes) == null ? void 0 : m.refresh_token) ?? null;
|
|
2489
|
+
if (!c) throw new Error("В ответе отсутствует access_token");
|
|
2490
|
+
return { access_token: c, refresh_token: u };
|
|
2491
|
+
}
|
|
2492
|
+
async function Mr(e, t, n, r) {
|
|
2493
|
+
var l, h, y, m;
|
|
2494
|
+
const o = await fetch(`${e}/api/v2/oauth2/tokens`, {
|
|
2490
2495
|
method: "POST",
|
|
2491
|
-
headers: {
|
|
2496
|
+
headers: {
|
|
2497
|
+
"Content-Type": "application/json",
|
|
2498
|
+
...ie(r)
|
|
2499
|
+
},
|
|
2492
2500
|
body: JSON.stringify({
|
|
2493
2501
|
client_id: t,
|
|
2494
2502
|
grant_type: "refresh_token",
|
|
2495
2503
|
refresh_token: n
|
|
2496
2504
|
})
|
|
2497
2505
|
});
|
|
2498
|
-
|
|
2499
|
-
const
|
|
2500
|
-
if (!
|
|
2501
|
-
return { access_token:
|
|
2506
|
+
o.ok || await le(o, "Не удалось обновить токен по refresh_token");
|
|
2507
|
+
const i = await o.json(), c = (i == null ? void 0 : i.access_token) ?? ((h = (l = i == null ? void 0 : i.data) == null ? void 0 : l.attributes) == null ? void 0 : h.access_token), u = (i == null ? void 0 : i.refresh_token) ?? ((m = (y = i == null ? void 0 : i.data) == null ? void 0 : y.attributes) == null ? void 0 : m.refresh_token) ?? null;
|
|
2508
|
+
if (!c) throw new Error("В ответе отсутствует access_token");
|
|
2509
|
+
return { access_token: c, refresh_token: u };
|
|
2502
2510
|
}
|
|
2503
|
-
async function
|
|
2511
|
+
async function Et(e, t) {
|
|
2504
2512
|
const n = await fetch(`${e}/orders/v1/checkout/context`, {
|
|
2505
2513
|
method: "POST",
|
|
2506
2514
|
headers: {
|
|
2507
2515
|
"Content-Type": "application/json",
|
|
2508
2516
|
Authorization: `Bearer ${t.accessToken}`,
|
|
2509
|
-
"X-Idempotency-Key":
|
|
2517
|
+
"X-Idempotency-Key": $e(),
|
|
2518
|
+
...ie(t.country)
|
|
2510
2519
|
},
|
|
2511
2520
|
body: JSON.stringify({
|
|
2512
2521
|
terminal_id: t.terminalId,
|
|
@@ -2517,37 +2526,40 @@ async function bt(e, t) {
|
|
|
2517
2526
|
}
|
|
2518
2527
|
})
|
|
2519
2528
|
});
|
|
2520
|
-
return n.ok || await
|
|
2529
|
+
return n.ok || await le(n, "Ошибка получения контекста оплаты"), n.json();
|
|
2521
2530
|
}
|
|
2522
|
-
async function
|
|
2531
|
+
async function xr(e, t, n) {
|
|
2523
2532
|
const r = await fetch(`${e}/payment-gateway/v1/cards/${n}`, {
|
|
2524
2533
|
method: "DELETE",
|
|
2525
2534
|
headers: {
|
|
2526
2535
|
"Content-Type": "application/json",
|
|
2527
|
-
Authorization: `Bearer ${t.accessToken}
|
|
2536
|
+
Authorization: `Bearer ${t.accessToken}`,
|
|
2537
|
+
...ie(t.country)
|
|
2528
2538
|
}
|
|
2529
2539
|
});
|
|
2530
|
-
return r.ok || await
|
|
2540
|
+
return r.ok || await le(r, "Не удалось удалить карту"), r.json().catch(() => ({}));
|
|
2531
2541
|
}
|
|
2532
|
-
async function
|
|
2542
|
+
async function Ur(e, t, n) {
|
|
2533
2543
|
const r = await fetch(
|
|
2534
2544
|
`${e}/payment-gateway/v1/cards/${n}/mark_as_default`,
|
|
2535
2545
|
{
|
|
2536
2546
|
method: "PUT",
|
|
2537
2547
|
headers: {
|
|
2538
2548
|
"Content-Type": "application/json",
|
|
2539
|
-
Authorization: `Bearer ${t.accessToken}
|
|
2549
|
+
Authorization: `Bearer ${t.accessToken}`,
|
|
2550
|
+
...ie(t.country)
|
|
2540
2551
|
}
|
|
2541
2552
|
}
|
|
2542
2553
|
);
|
|
2543
|
-
return r.ok || await
|
|
2554
|
+
return r.ok || await le(r, "Не удалось отметить карту как основную"), r.json().catch(() => ({}));
|
|
2544
2555
|
}
|
|
2545
|
-
async function
|
|
2556
|
+
async function Fr(e, t, n) {
|
|
2546
2557
|
const r = await fetch(`${e}/orders/v1/orders/${n}/status`, {
|
|
2547
2558
|
method: "GET",
|
|
2548
2559
|
headers: {
|
|
2549
2560
|
"Content-Type": "application/json",
|
|
2550
|
-
Authorization: `Bearer ${t.accessToken}
|
|
2561
|
+
Authorization: `Bearer ${t.accessToken}`,
|
|
2562
|
+
...ie(t.country)
|
|
2551
2563
|
}
|
|
2552
2564
|
});
|
|
2553
2565
|
if (!r.ok)
|
|
@@ -2558,8 +2570,8 @@ async function Ur(e, t, n) {
|
|
|
2558
2570
|
const o = await r.json(), i = (o == null ? void 0 : o.data) ?? o;
|
|
2559
2571
|
return { data: { status: i == null ? void 0 : i.status, payload: (i == null ? void 0 : i.payload) ?? {} } };
|
|
2560
2572
|
}
|
|
2561
|
-
async function
|
|
2562
|
-
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } =
|
|
2573
|
+
async function rn(e, t, n, r, o = {}) {
|
|
2574
|
+
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } = et(
|
|
2563
2575
|
t,
|
|
2564
2576
|
{
|
|
2565
2577
|
type: r.type,
|
|
@@ -2567,82 +2579,84 @@ async function nn(e, t, n, r, o = {}) {
|
|
|
2567
2579
|
},
|
|
2568
2580
|
o
|
|
2569
2581
|
);
|
|
2570
|
-
return
|
|
2582
|
+
return nt(
|
|
2571
2583
|
e,
|
|
2572
2584
|
t,
|
|
2573
2585
|
n,
|
|
2574
|
-
|
|
2586
|
+
tt(t, c, i, u, l),
|
|
2575
2587
|
"Ошибка создания заказа"
|
|
2576
2588
|
);
|
|
2577
2589
|
}
|
|
2578
|
-
async function
|
|
2579
|
-
const { checkoutAmount: o, checkoutPaymentMethod: i, useBalanceFlag: c, voucher: u } =
|
|
2590
|
+
async function Xr(e, t, n, r = {}) {
|
|
2591
|
+
const { checkoutAmount: o, checkoutPaymentMethod: i, useBalanceFlag: c, voucher: u } = et(
|
|
2580
2592
|
t,
|
|
2581
2593
|
{ type: "new_card" },
|
|
2582
2594
|
r
|
|
2583
2595
|
);
|
|
2584
|
-
return
|
|
2596
|
+
return nt(
|
|
2585
2597
|
e,
|
|
2586
2598
|
t,
|
|
2587
2599
|
n,
|
|
2588
|
-
|
|
2600
|
+
tt(t, i, o, c, u),
|
|
2589
2601
|
"Ошибка создания заказа для новой карты"
|
|
2590
2602
|
);
|
|
2591
2603
|
}
|
|
2592
|
-
async function
|
|
2604
|
+
async function Hr(e, t) {
|
|
2593
2605
|
const n = await fetch(
|
|
2594
2606
|
`${e}/loyalty/v6/coupons/by_terminal/${t.terminalId}/at_payment?order_pay_amount=${t.amount}`,
|
|
2595
2607
|
{
|
|
2596
2608
|
method: "GET",
|
|
2597
2609
|
headers: {
|
|
2598
2610
|
"Content-Type": "application/json",
|
|
2599
|
-
Authorization: `Bearer ${t.accessToken}
|
|
2611
|
+
Authorization: `Bearer ${t.accessToken}`,
|
|
2612
|
+
...ie(t.country)
|
|
2600
2613
|
}
|
|
2601
2614
|
}
|
|
2602
2615
|
);
|
|
2603
|
-
return n.ok || await
|
|
2616
|
+
return n.ok || await le(n, "Ошибка получения купонов"), n.json();
|
|
2604
2617
|
}
|
|
2605
|
-
async function
|
|
2618
|
+
async function on(e, t, n) {
|
|
2606
2619
|
const r = window.location.hostname, o = await fetch(`${e}/payment-gateway/v1/apple/session`, {
|
|
2607
2620
|
method: "POST",
|
|
2608
2621
|
headers: {
|
|
2609
2622
|
"Content-Type": "application/json",
|
|
2610
2623
|
Accept: "application/vnd.api+json",
|
|
2611
|
-
Authorization: `Bearer ${t.accessToken}
|
|
2624
|
+
Authorization: `Bearer ${t.accessToken}`,
|
|
2625
|
+
...ie(t.country)
|
|
2612
2626
|
},
|
|
2613
2627
|
body: JSON.stringify({ validationUrl: n, domainName: r })
|
|
2614
2628
|
});
|
|
2615
|
-
return o.ok || await
|
|
2629
|
+
return o.ok || await le(o, "Ошибка получения Apple Pay сессии"), o.json();
|
|
2616
2630
|
}
|
|
2617
|
-
async function
|
|
2618
|
-
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } =
|
|
2631
|
+
async function jr(e, t, n, r, o = {}) {
|
|
2632
|
+
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } = et(
|
|
2619
2633
|
t,
|
|
2620
2634
|
{ type: "apple_pay", data: r },
|
|
2621
2635
|
o
|
|
2622
2636
|
);
|
|
2623
|
-
return
|
|
2637
|
+
return nt(
|
|
2624
2638
|
e,
|
|
2625
2639
|
t,
|
|
2626
2640
|
n,
|
|
2627
|
-
|
|
2641
|
+
tt(t, c, i, u, l),
|
|
2628
2642
|
"Ошибка создания заказа с Apple Pay"
|
|
2629
2643
|
);
|
|
2630
2644
|
}
|
|
2631
|
-
async function
|
|
2632
|
-
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } =
|
|
2645
|
+
async function Xn(e, t, n, r, o = {}) {
|
|
2646
|
+
const { checkoutAmount: i, checkoutPaymentMethod: c, useBalanceFlag: u, voucher: l } = et(
|
|
2633
2647
|
t,
|
|
2634
2648
|
{ type: "google_pay", data: r },
|
|
2635
2649
|
o
|
|
2636
2650
|
);
|
|
2637
|
-
return
|
|
2651
|
+
return nt(
|
|
2638
2652
|
e,
|
|
2639
2653
|
t,
|
|
2640
2654
|
n,
|
|
2641
|
-
|
|
2655
|
+
tt(t, c, i, u, l),
|
|
2642
2656
|
"Ошибка создания заказа с Google Pay"
|
|
2643
2657
|
);
|
|
2644
2658
|
}
|
|
2645
|
-
function
|
|
2659
|
+
function Jr(e) {
|
|
2646
2660
|
const t = typeof e.color == "string" ? e.color.trim() : "", n = t && /^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/.test(t) ? `#${t}` : t, r = e.bonuses, o = r && typeof r == "object" && Number.isFinite(r.amount) && Number.isFinite(r.percent) ? {
|
|
2647
2661
|
availableBonus: Number.isFinite(r.availableBonus) ? Number(r.availableBonus) : 0,
|
|
2648
2662
|
amount: Number(r.amount),
|
|
@@ -2677,6 +2691,7 @@ function jr(e) {
|
|
|
2677
2691
|
onFreedomLink: typeof e.onFreedomLink == "function" ? e.onFreedomLink : null,
|
|
2678
2692
|
onRequestNewTrackId: typeof e.onRequestNewTrackId == "function" ? e.onRequestNewTrackId : null,
|
|
2679
2693
|
idempotencyKey: e.idempotencyKey,
|
|
2694
|
+
country: typeof e.country == "string" && e.country.trim() || void 0,
|
|
2680
2695
|
locale: e.locale || "ru",
|
|
2681
2696
|
containerSelector: typeof e.containerSelector == "string" ? e.containerSelector.trim() : "",
|
|
2682
2697
|
color: n || "#2F2F2F",
|
|
@@ -2689,12 +2704,12 @@ function jr(e) {
|
|
|
2689
2704
|
bonuses: o
|
|
2690
2705
|
};
|
|
2691
2706
|
}
|
|
2692
|
-
const U = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__,
|
|
2693
|
-
function
|
|
2694
|
-
const r = n || j, o = r.__SENTRY__ = r.__SENTRY__ || {}, i = o[
|
|
2707
|
+
const U = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__, he = "8.55.2", j = globalThis;
|
|
2708
|
+
function rt(e, t, n) {
|
|
2709
|
+
const r = n || j, o = r.__SENTRY__ = r.__SENTRY__ || {}, i = o[he] = o[he] || {};
|
|
2695
2710
|
return i[e] || (i[e] = t());
|
|
2696
2711
|
}
|
|
2697
|
-
const
|
|
2712
|
+
const Ot = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__, qr = "Sentry Logger ", sn = [
|
|
2698
2713
|
"debug",
|
|
2699
2714
|
"info",
|
|
2700
2715
|
"warn",
|
|
@@ -2702,13 +2717,13 @@ const Rt = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__, Jr = "Sentry Logge
|
|
|
2702
2717
|
"log",
|
|
2703
2718
|
"assert",
|
|
2704
2719
|
"trace"
|
|
2705
|
-
],
|
|
2706
|
-
function
|
|
2720
|
+
], an = {};
|
|
2721
|
+
function ot(e) {
|
|
2707
2722
|
if (!("console" in j))
|
|
2708
2723
|
return e();
|
|
2709
|
-
const t = j.console, n = {}, r = Object.keys(
|
|
2724
|
+
const t = j.console, n = {}, r = Object.keys(an);
|
|
2710
2725
|
r.forEach((o) => {
|
|
2711
|
-
const i =
|
|
2726
|
+
const i = an[o];
|
|
2712
2727
|
n[o] = t[o], t[o] = i;
|
|
2713
2728
|
});
|
|
2714
2729
|
try {
|
|
@@ -2719,7 +2734,7 @@ function rt(e) {
|
|
|
2719
2734
|
});
|
|
2720
2735
|
}
|
|
2721
2736
|
}
|
|
2722
|
-
function
|
|
2737
|
+
function zr() {
|
|
2723
2738
|
let e = !1;
|
|
2724
2739
|
const t = {
|
|
2725
2740
|
enable: () => {
|
|
@@ -2730,19 +2745,19 @@ function qr() {
|
|
|
2730
2745
|
},
|
|
2731
2746
|
isEnabled: () => e
|
|
2732
2747
|
};
|
|
2733
|
-
return
|
|
2748
|
+
return Ot ? sn.forEach((n) => {
|
|
2734
2749
|
t[n] = (...r) => {
|
|
2735
|
-
e &&
|
|
2736
|
-
j.console[n](`${
|
|
2750
|
+
e && ot(() => {
|
|
2751
|
+
j.console[n](`${qr}[${n}]:`, ...r);
|
|
2737
2752
|
});
|
|
2738
2753
|
};
|
|
2739
|
-
}) :
|
|
2754
|
+
}) : sn.forEach((n) => {
|
|
2740
2755
|
t[n] = () => {
|
|
2741
2756
|
};
|
|
2742
2757
|
}), t;
|
|
2743
2758
|
}
|
|
2744
|
-
const N =
|
|
2745
|
-
function
|
|
2759
|
+
const N = rt("logger", zr), Hn = 50, be = "?", cn = /\(error: (.*)\)/, un = /captureMessage|captureException/;
|
|
2760
|
+
function Kr(...e) {
|
|
2746
2761
|
const t = e.sort((n, r) => n[0] - r[0]).map((n) => n[1]);
|
|
2747
2762
|
return (n, r = 0, o = 0) => {
|
|
2748
2763
|
const i = [], c = n.split(`
|
|
@@ -2751,7 +2766,7 @@ function zr(...e) {
|
|
|
2751
2766
|
const l = c[u];
|
|
2752
2767
|
if (l.length > 1024)
|
|
2753
2768
|
continue;
|
|
2754
|
-
const h =
|
|
2769
|
+
const h = cn.test(l) ? l.replace(cn, "$1") : l;
|
|
2755
2770
|
if (!h.match(/\S*Error: /)) {
|
|
2756
2771
|
for (const y of t) {
|
|
2757
2772
|
const m = y(h);
|
|
@@ -2760,101 +2775,101 @@ function zr(...e) {
|
|
|
2760
2775
|
break;
|
|
2761
2776
|
}
|
|
2762
2777
|
}
|
|
2763
|
-
if (i.length >=
|
|
2778
|
+
if (i.length >= Hn + o)
|
|
2764
2779
|
break;
|
|
2765
2780
|
}
|
|
2766
2781
|
}
|
|
2767
|
-
return
|
|
2782
|
+
return Gr(i.slice(o));
|
|
2768
2783
|
};
|
|
2769
2784
|
}
|
|
2770
|
-
function
|
|
2785
|
+
function Gr(e) {
|
|
2771
2786
|
if (!e.length)
|
|
2772
2787
|
return [];
|
|
2773
2788
|
const t = Array.from(e);
|
|
2774
|
-
return /sentryWrapped/.test(
|
|
2789
|
+
return /sentryWrapped/.test(Ne(t).function || "") && t.pop(), t.reverse(), un.test(Ne(t).function || "") && (t.pop(), un.test(Ne(t).function || "") && t.pop()), t.slice(0, Hn).map((n) => ({
|
|
2775
2790
|
...n,
|
|
2776
|
-
filename: n.filename ||
|
|
2777
|
-
function: n.function ||
|
|
2791
|
+
filename: n.filename || Ne(t).filename,
|
|
2792
|
+
function: n.function || be
|
|
2778
2793
|
}));
|
|
2779
2794
|
}
|
|
2780
|
-
function
|
|
2795
|
+
function Ne(e) {
|
|
2781
2796
|
return e[e.length - 1] || {};
|
|
2782
2797
|
}
|
|
2783
|
-
const
|
|
2784
|
-
function
|
|
2798
|
+
const pt = "<anonymous>";
|
|
2799
|
+
function Wr(e) {
|
|
2785
2800
|
try {
|
|
2786
|
-
return !e || typeof e != "function" ?
|
|
2801
|
+
return !e || typeof e != "function" ? pt : e.name || pt;
|
|
2787
2802
|
} catch {
|
|
2788
|
-
return
|
|
2803
|
+
return pt;
|
|
2789
2804
|
}
|
|
2790
2805
|
}
|
|
2791
|
-
function
|
|
2792
|
-
return
|
|
2806
|
+
function Nt() {
|
|
2807
|
+
return Dt(j), j;
|
|
2793
2808
|
}
|
|
2794
|
-
function
|
|
2809
|
+
function Dt(e) {
|
|
2795
2810
|
const t = e.__SENTRY__ = e.__SENTRY__ || {};
|
|
2796
|
-
return t.version = t.version ||
|
|
2811
|
+
return t.version = t.version || he, t[he] = t[he] || {};
|
|
2797
2812
|
}
|
|
2798
|
-
const
|
|
2799
|
-
function
|
|
2800
|
-
switch (
|
|
2813
|
+
const jn = Object.prototype.toString;
|
|
2814
|
+
function Jn(e) {
|
|
2815
|
+
switch (jn.call(e)) {
|
|
2801
2816
|
case "[object Error]":
|
|
2802
2817
|
case "[object Exception]":
|
|
2803
2818
|
case "[object DOMException]":
|
|
2804
2819
|
case "[object WebAssembly.Exception]":
|
|
2805
2820
|
return !0;
|
|
2806
2821
|
default:
|
|
2807
|
-
return
|
|
2822
|
+
return at(e, Error);
|
|
2808
2823
|
}
|
|
2809
2824
|
}
|
|
2810
|
-
function
|
|
2811
|
-
return
|
|
2812
|
-
}
|
|
2813
|
-
function Jn(e) {
|
|
2814
|
-
return Pe(e, "ErrorEvent");
|
|
2815
|
-
}
|
|
2816
|
-
function un(e) {
|
|
2817
|
-
return Pe(e, "DOMError");
|
|
2818
|
-
}
|
|
2819
|
-
function Wr(e) {
|
|
2820
|
-
return Pe(e, "DOMException");
|
|
2825
|
+
function we(e, t) {
|
|
2826
|
+
return jn.call(e) === `[object ${t}]`;
|
|
2821
2827
|
}
|
|
2822
2828
|
function qn(e) {
|
|
2823
|
-
return
|
|
2829
|
+
return we(e, "ErrorEvent");
|
|
2824
2830
|
}
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
2831
|
+
function ln(e) {
|
|
2832
|
+
return we(e, "DOMError");
|
|
2827
2833
|
}
|
|
2828
2834
|
function Yr(e) {
|
|
2829
|
-
return
|
|
2835
|
+
return we(e, "DOMException");
|
|
2830
2836
|
}
|
|
2831
|
-
function
|
|
2832
|
-
return
|
|
2837
|
+
function zn(e) {
|
|
2838
|
+
return we(e, "String");
|
|
2833
2839
|
}
|
|
2834
|
-
function
|
|
2835
|
-
return typeof
|
|
2840
|
+
function Mt(e) {
|
|
2841
|
+
return typeof e == "object" && e !== null && "__sentry_template_string__" in e && "__sentry_template_values__" in e;
|
|
2836
2842
|
}
|
|
2837
2843
|
function Vr(e) {
|
|
2838
|
-
return typeof
|
|
2844
|
+
return e === null || Mt(e) || typeof e != "object" && typeof e != "function";
|
|
2845
|
+
}
|
|
2846
|
+
function Ee(e) {
|
|
2847
|
+
return we(e, "Object");
|
|
2839
2848
|
}
|
|
2840
2849
|
function st(e) {
|
|
2841
|
-
return
|
|
2850
|
+
return typeof Event < "u" && at(e, Event);
|
|
2842
2851
|
}
|
|
2843
2852
|
function Zr(e) {
|
|
2844
|
-
return
|
|
2853
|
+
return typeof Element < "u" && at(e, Element);
|
|
2854
|
+
}
|
|
2855
|
+
function it(e) {
|
|
2856
|
+
return !!(e && e.then && typeof e.then == "function");
|
|
2845
2857
|
}
|
|
2846
|
-
function
|
|
2858
|
+
function $r(e) {
|
|
2859
|
+
return Ee(e) && "nativeEvent" in e && "preventDefault" in e && "stopPropagation" in e;
|
|
2860
|
+
}
|
|
2861
|
+
function at(e, t) {
|
|
2847
2862
|
try {
|
|
2848
2863
|
return e instanceof t;
|
|
2849
2864
|
} catch {
|
|
2850
2865
|
return !1;
|
|
2851
2866
|
}
|
|
2852
2867
|
}
|
|
2853
|
-
function
|
|
2868
|
+
function eo(e) {
|
|
2854
2869
|
return !!(typeof e == "object" && e !== null && (e.__isVue || e._isVue));
|
|
2855
2870
|
}
|
|
2856
|
-
const
|
|
2857
|
-
function
|
|
2871
|
+
const to = j, no = 80;
|
|
2872
|
+
function ro(e, t = {}) {
|
|
2858
2873
|
if (!e)
|
|
2859
2874
|
return "<unknown>";
|
|
2860
2875
|
try {
|
|
@@ -2863,19 +2878,19 @@ function no(e, t = {}) {
|
|
|
2863
2878
|
let i = 0, c = 0;
|
|
2864
2879
|
const u = " > ", l = u.length;
|
|
2865
2880
|
let h;
|
|
2866
|
-
const y = Array.isArray(t) ? t : t.keyAttrs, m = !Array.isArray(t) && t.maxStringLength ||
|
|
2867
|
-
for (; n && i++ < r && (h =
|
|
2881
|
+
const y = Array.isArray(t) ? t : t.keyAttrs, m = !Array.isArray(t) && t.maxStringLength || no;
|
|
2882
|
+
for (; n && i++ < r && (h = oo(n, y), !(h === "html" || i > 1 && c + o.length * l + h.length >= m)); )
|
|
2868
2883
|
o.push(h), c += h.length, n = n.parentNode;
|
|
2869
2884
|
return o.reverse().join(u);
|
|
2870
2885
|
} catch {
|
|
2871
2886
|
return "<unknown>";
|
|
2872
2887
|
}
|
|
2873
2888
|
}
|
|
2874
|
-
function
|
|
2889
|
+
function oo(e, t) {
|
|
2875
2890
|
const n = e, r = [];
|
|
2876
2891
|
if (!n || !n.tagName)
|
|
2877
2892
|
return "";
|
|
2878
|
-
if (
|
|
2893
|
+
if (to.HTMLElement && n instanceof HTMLElement && n.dataset) {
|
|
2879
2894
|
if (n.dataset.sentryComponent)
|
|
2880
2895
|
return n.dataset.sentryComponent;
|
|
2881
2896
|
if (n.dataset.sentryElement)
|
|
@@ -2890,7 +2905,7 @@ function ro(e, t) {
|
|
|
2890
2905
|
else {
|
|
2891
2906
|
n.id && r.push(`#${n.id}`);
|
|
2892
2907
|
const c = n.className;
|
|
2893
|
-
if (c &&
|
|
2908
|
+
if (c && zn(c)) {
|
|
2894
2909
|
const u = c.split(/\s+/);
|
|
2895
2910
|
for (const l of u)
|
|
2896
2911
|
r.push(`.${l}`);
|
|
@@ -2903,10 +2918,10 @@ function ro(e, t) {
|
|
|
2903
2918
|
}
|
|
2904
2919
|
return r.join("");
|
|
2905
2920
|
}
|
|
2906
|
-
function
|
|
2921
|
+
function _e(e, t = 0) {
|
|
2907
2922
|
return typeof e != "string" || t === 0 || e.length <= t ? e : `${e.slice(0, t)}...`;
|
|
2908
2923
|
}
|
|
2909
|
-
function
|
|
2924
|
+
function Kn(e, t, n) {
|
|
2910
2925
|
try {
|
|
2911
2926
|
Object.defineProperty(e, t, {
|
|
2912
2927
|
// enumerable: false, // the default, so we can save on bundle size by not explicitly setting it
|
|
@@ -2915,36 +2930,36 @@ function zn(e, t, n) {
|
|
|
2915
2930
|
configurable: !0
|
|
2916
2931
|
});
|
|
2917
2932
|
} catch {
|
|
2918
|
-
|
|
2933
|
+
Ot && N.log(`Failed to add non-enumerable property "${t}" to object`, e);
|
|
2919
2934
|
}
|
|
2920
2935
|
}
|
|
2921
|
-
function
|
|
2922
|
-
if (
|
|
2936
|
+
function Gn(e) {
|
|
2937
|
+
if (Jn(e))
|
|
2923
2938
|
return {
|
|
2924
2939
|
message: e.message,
|
|
2925
2940
|
name: e.name,
|
|
2926
2941
|
stack: e.stack,
|
|
2927
|
-
...
|
|
2942
|
+
...dn(e)
|
|
2928
2943
|
};
|
|
2929
|
-
if (
|
|
2944
|
+
if (st(e)) {
|
|
2930
2945
|
const t = {
|
|
2931
2946
|
type: e.type,
|
|
2932
|
-
target:
|
|
2933
|
-
currentTarget:
|
|
2934
|
-
...
|
|
2947
|
+
target: An(e.target),
|
|
2948
|
+
currentTarget: An(e.currentTarget),
|
|
2949
|
+
...dn(e)
|
|
2935
2950
|
};
|
|
2936
|
-
return typeof CustomEvent < "u" &&
|
|
2951
|
+
return typeof CustomEvent < "u" && at(e, CustomEvent) && (t.detail = e.detail), t;
|
|
2937
2952
|
} else
|
|
2938
2953
|
return e;
|
|
2939
2954
|
}
|
|
2940
|
-
function
|
|
2955
|
+
function An(e) {
|
|
2941
2956
|
try {
|
|
2942
|
-
return
|
|
2957
|
+
return Zr(e) ? ro(e) : Object.prototype.toString.call(e);
|
|
2943
2958
|
} catch {
|
|
2944
2959
|
return "<unknown>";
|
|
2945
2960
|
}
|
|
2946
2961
|
}
|
|
2947
|
-
function
|
|
2962
|
+
function dn(e) {
|
|
2948
2963
|
if (typeof e == "object" && e !== null) {
|
|
2949
2964
|
const t = {};
|
|
2950
2965
|
for (const n in e)
|
|
@@ -2953,33 +2968,33 @@ function An(e) {
|
|
|
2953
2968
|
} else
|
|
2954
2969
|
return {};
|
|
2955
2970
|
}
|
|
2956
|
-
function
|
|
2957
|
-
const n = Object.keys(
|
|
2971
|
+
function so(e, t = 40) {
|
|
2972
|
+
const n = Object.keys(Gn(e));
|
|
2958
2973
|
n.sort();
|
|
2959
2974
|
const r = n[0];
|
|
2960
2975
|
if (!r)
|
|
2961
2976
|
return "[object has no keys]";
|
|
2962
2977
|
if (r.length >= t)
|
|
2963
|
-
return
|
|
2978
|
+
return _e(r, t);
|
|
2964
2979
|
for (let o = n.length; o > 0; o--) {
|
|
2965
2980
|
const i = n.slice(0, o).join(", ");
|
|
2966
2981
|
if (!(i.length > t))
|
|
2967
|
-
return o === n.length ? i :
|
|
2982
|
+
return o === n.length ? i : _e(i, t);
|
|
2968
2983
|
}
|
|
2969
2984
|
return "";
|
|
2970
2985
|
}
|
|
2971
2986
|
function V(e) {
|
|
2972
|
-
return
|
|
2987
|
+
return vt(e, /* @__PURE__ */ new Map());
|
|
2973
2988
|
}
|
|
2974
|
-
function
|
|
2975
|
-
if (
|
|
2989
|
+
function vt(e, t) {
|
|
2990
|
+
if (io(e)) {
|
|
2976
2991
|
const n = t.get(e);
|
|
2977
2992
|
if (n !== void 0)
|
|
2978
2993
|
return n;
|
|
2979
2994
|
const r = {};
|
|
2980
2995
|
t.set(e, r);
|
|
2981
2996
|
for (const o of Object.getOwnPropertyNames(e))
|
|
2982
|
-
typeof e[o] < "u" && (r[o] =
|
|
2997
|
+
typeof e[o] < "u" && (r[o] = vt(e[o], t));
|
|
2983
2998
|
return r;
|
|
2984
2999
|
}
|
|
2985
3000
|
if (Array.isArray(e)) {
|
|
@@ -2988,13 +3003,13 @@ function Et(e, t) {
|
|
|
2988
3003
|
return n;
|
|
2989
3004
|
const r = [];
|
|
2990
3005
|
return t.set(e, r), e.forEach((o) => {
|
|
2991
|
-
r.push(
|
|
3006
|
+
r.push(vt(o, t));
|
|
2992
3007
|
}), r;
|
|
2993
3008
|
}
|
|
2994
3009
|
return e;
|
|
2995
3010
|
}
|
|
2996
|
-
function
|
|
2997
|
-
if (!
|
|
3011
|
+
function io(e) {
|
|
3012
|
+
if (!Ee(e))
|
|
2998
3013
|
return !1;
|
|
2999
3014
|
try {
|
|
3000
3015
|
const t = Object.getPrototypeOf(e).constructor.name;
|
|
@@ -3003,18 +3018,18 @@ function so(e) {
|
|
|
3003
3018
|
return !0;
|
|
3004
3019
|
}
|
|
3005
3020
|
}
|
|
3006
|
-
const
|
|
3007
|
-
function
|
|
3008
|
-
return Date.now() /
|
|
3021
|
+
const Wn = 1e3;
|
|
3022
|
+
function ct() {
|
|
3023
|
+
return Date.now() / Wn;
|
|
3009
3024
|
}
|
|
3010
|
-
function
|
|
3025
|
+
function ao() {
|
|
3011
3026
|
const { performance: e } = j;
|
|
3012
3027
|
if (!e || !e.now)
|
|
3013
|
-
return
|
|
3028
|
+
return ct;
|
|
3014
3029
|
const t = Date.now() - e.now(), n = e.timeOrigin == null ? t : e.timeOrigin;
|
|
3015
|
-
return () => (n + e.now()) /
|
|
3030
|
+
return () => (n + e.now()) / Wn;
|
|
3016
3031
|
}
|
|
3017
|
-
const
|
|
3032
|
+
const Yn = ao();
|
|
3018
3033
|
(() => {
|
|
3019
3034
|
const { performance: e } = j;
|
|
3020
3035
|
if (!e || !e.now)
|
|
@@ -3042,15 +3057,15 @@ function te() {
|
|
|
3042
3057
|
)
|
|
3043
3058
|
);
|
|
3044
3059
|
}
|
|
3045
|
-
function
|
|
3060
|
+
function co(e) {
|
|
3046
3061
|
return e.exception && e.exception.values ? e.exception.values[0] : void 0;
|
|
3047
3062
|
}
|
|
3048
|
-
function
|
|
3063
|
+
function fn(e, t, n) {
|
|
3049
3064
|
const r = e.exception = e.exception || {}, o = r.values = r.values || [], i = o[0] = o[0] || {};
|
|
3050
3065
|
i.value || (i.value = t || ""), i.type || (i.type = "Error");
|
|
3051
3066
|
}
|
|
3052
|
-
function
|
|
3053
|
-
const n =
|
|
3067
|
+
function Qe(e, t) {
|
|
3068
|
+
const n = co(e);
|
|
3054
3069
|
if (!n)
|
|
3055
3070
|
return;
|
|
3056
3071
|
const r = { type: "generic", handled: !0 }, o = n.mechanism;
|
|
@@ -3059,16 +3074,16 @@ function _e(e, t) {
|
|
|
3059
3074
|
n.mechanism.data = i;
|
|
3060
3075
|
}
|
|
3061
3076
|
}
|
|
3062
|
-
function
|
|
3063
|
-
if (
|
|
3077
|
+
function hn(e) {
|
|
3078
|
+
if (uo(e))
|
|
3064
3079
|
return !0;
|
|
3065
3080
|
try {
|
|
3066
|
-
|
|
3081
|
+
Kn(e, "__sentry_captured__", !0);
|
|
3067
3082
|
} catch {
|
|
3068
3083
|
}
|
|
3069
3084
|
return !1;
|
|
3070
3085
|
}
|
|
3071
|
-
function
|
|
3086
|
+
function uo(e) {
|
|
3072
3087
|
try {
|
|
3073
3088
|
return e.__sentry_captured__;
|
|
3074
3089
|
} catch {
|
|
@@ -3082,12 +3097,12 @@ var re;
|
|
|
3082
3097
|
const r = 2;
|
|
3083
3098
|
e[e.REJECTED = r] = "REJECTED";
|
|
3084
3099
|
})(re || (re = {}));
|
|
3085
|
-
function
|
|
3100
|
+
function pe(e) {
|
|
3086
3101
|
return new W((t) => {
|
|
3087
3102
|
t(e);
|
|
3088
3103
|
});
|
|
3089
3104
|
}
|
|
3090
|
-
function
|
|
3105
|
+
function Ye(e) {
|
|
3091
3106
|
return new W((t, n) => {
|
|
3092
3107
|
n(e);
|
|
3093
3108
|
});
|
|
@@ -3169,7 +3184,7 @@ class W {
|
|
|
3169
3184
|
__init3() {
|
|
3170
3185
|
this._setResult = (t, n) => {
|
|
3171
3186
|
if (this._state === re.PENDING) {
|
|
3172
|
-
if (
|
|
3187
|
+
if (it(n)) {
|
|
3173
3188
|
n.then(this._resolve, this._reject);
|
|
3174
3189
|
return;
|
|
3175
3190
|
}
|
|
@@ -3189,8 +3204,8 @@ class W {
|
|
|
3189
3204
|
};
|
|
3190
3205
|
}
|
|
3191
3206
|
}
|
|
3192
|
-
function
|
|
3193
|
-
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), !e.did && !t.did && (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp ||
|
|
3207
|
+
function It(e, t = {}) {
|
|
3208
|
+
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), !e.did && !t.did && (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || Yn(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = t.sid.length === 32 ? t.sid : te()), t.init !== void 0 && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), typeof t.started == "number" && (e.started = t.started), e.ignoreDuration)
|
|
3194
3209
|
e.duration = void 0;
|
|
3195
3210
|
else if (typeof t.duration == "number")
|
|
3196
3211
|
e.duration = t.duration;
|
|
@@ -3200,31 +3215,31 @@ function vt(e, t = {}) {
|
|
|
3200
3215
|
}
|
|
3201
3216
|
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), typeof t.errors == "number" && (e.errors = t.errors), t.status && (e.status = t.status);
|
|
3202
3217
|
}
|
|
3203
|
-
function
|
|
3218
|
+
function pn() {
|
|
3204
3219
|
return te();
|
|
3205
3220
|
}
|
|
3206
|
-
function
|
|
3221
|
+
function Bt() {
|
|
3207
3222
|
return te().substring(16);
|
|
3208
3223
|
}
|
|
3209
|
-
function
|
|
3224
|
+
function ut(e, t, n = 2) {
|
|
3210
3225
|
if (!t || typeof t != "object" || n <= 0)
|
|
3211
3226
|
return t;
|
|
3212
3227
|
if (e && t && Object.keys(t).length === 0)
|
|
3213
3228
|
return e;
|
|
3214
3229
|
const r = { ...e };
|
|
3215
3230
|
for (const o in t)
|
|
3216
|
-
Object.prototype.hasOwnProperty.call(t, o) && (r[o] =
|
|
3231
|
+
Object.prototype.hasOwnProperty.call(t, o) && (r[o] = ut(r[o], t[o], n - 1));
|
|
3217
3232
|
return r;
|
|
3218
3233
|
}
|
|
3219
|
-
const
|
|
3220
|
-
function
|
|
3221
|
-
t ?
|
|
3234
|
+
const St = "_sentrySpan";
|
|
3235
|
+
function gn(e, t) {
|
|
3236
|
+
t ? Kn(e, St, t) : delete e[St];
|
|
3222
3237
|
}
|
|
3223
|
-
function
|
|
3224
|
-
return e[
|
|
3238
|
+
function yn(e) {
|
|
3239
|
+
return e[St];
|
|
3225
3240
|
}
|
|
3226
|
-
const
|
|
3227
|
-
class
|
|
3241
|
+
const lo = 100;
|
|
3242
|
+
class xt {
|
|
3228
3243
|
/** Flag if notifying is happening. */
|
|
3229
3244
|
/** Callback for client to receive scope changes. */
|
|
3230
3245
|
/** Callback list that will be called during event processing. */
|
|
@@ -3255,18 +3270,18 @@ class Mt {
|
|
|
3255
3270
|
// NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.
|
|
3256
3271
|
constructor() {
|
|
3257
3272
|
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = {
|
|
3258
|
-
traceId:
|
|
3259
|
-
spanId:
|
|
3273
|
+
traceId: pn(),
|
|
3274
|
+
spanId: Bt()
|
|
3260
3275
|
};
|
|
3261
3276
|
}
|
|
3262
3277
|
/**
|
|
3263
3278
|
* @inheritDoc
|
|
3264
3279
|
*/
|
|
3265
3280
|
clone() {
|
|
3266
|
-
const t = new
|
|
3281
|
+
const t = new xt();
|
|
3267
3282
|
return t._breadcrumbs = [...this._breadcrumbs], t._tags = { ...this._tags }, t._extra = { ...this._extra }, t._contexts = { ...this._contexts }, this._contexts.flags && (t._contexts.flags = {
|
|
3268
3283
|
values: [...this._contexts.flags.values]
|
|
3269
|
-
}), t._user = this._user, t._level = this._level, t._session = this._session, t._transactionName = this._transactionName, t._fingerprint = this._fingerprint, t._eventProcessors = [...this._eventProcessors], t._requestSession = this._requestSession, t._attachments = [...this._attachments], t._sdkProcessingMetadata = { ...this._sdkProcessingMetadata }, t._propagationContext = { ...this._propagationContext }, t._client = this._client, t._lastEventId = this._lastEventId,
|
|
3284
|
+
}), t._user = this._user, t._level = this._level, t._session = this._session, t._transactionName = this._transactionName, t._fingerprint = this._fingerprint, t._eventProcessors = [...this._eventProcessors], t._requestSession = this._requestSession, t._attachments = [...this._attachments], t._sdkProcessingMetadata = { ...this._sdkProcessingMetadata }, t._propagationContext = { ...this._propagationContext }, t._client = this._client, t._lastEventId = this._lastEventId, gn(t, yn(this)), t;
|
|
3270
3285
|
}
|
|
3271
3286
|
/**
|
|
3272
3287
|
* @inheritDoc
|
|
@@ -3313,7 +3328,7 @@ class Mt {
|
|
|
3313
3328
|
id: void 0,
|
|
3314
3329
|
ip_address: void 0,
|
|
3315
3330
|
username: void 0
|
|
3316
|
-
}, this._session &&
|
|
3331
|
+
}, this._session && It(this._session, { user: t }), this._notifyScopeListeners(), this;
|
|
3317
3332
|
}
|
|
3318
3333
|
/**
|
|
3319
3334
|
* @inheritDoc
|
|
@@ -3415,27 +3430,27 @@ class Mt {
|
|
|
3415
3430
|
update(t) {
|
|
3416
3431
|
if (!t)
|
|
3417
3432
|
return this;
|
|
3418
|
-
const n = typeof t == "function" ? t(this) : t, [r, o] = n instanceof
|
|
3433
|
+
const n = typeof t == "function" ? t(this) : t, [r, o] = n instanceof ue ? (
|
|
3419
3434
|
// eslint-disable-next-line deprecation/deprecation
|
|
3420
3435
|
[n.getScopeData(), n.getRequestSession()]
|
|
3421
|
-
) :
|
|
3436
|
+
) : Ee(n) ? [t, t.requestSession] : [], { tags: i, extra: c, user: u, contexts: l, level: h, fingerprint: y = [], propagationContext: m } = r || {};
|
|
3422
3437
|
return this._tags = { ...this._tags, ...i }, this._extra = { ...this._extra, ...c }, this._contexts = { ...this._contexts, ...l }, u && Object.keys(u).length && (this._user = u), h && (this._level = h), y.length && (this._fingerprint = y), m && (this._propagationContext = m), o && (this._requestSession = o), this;
|
|
3423
3438
|
}
|
|
3424
3439
|
/**
|
|
3425
3440
|
* @inheritDoc
|
|
3426
3441
|
*/
|
|
3427
3442
|
clear() {
|
|
3428
|
-
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._requestSession = void 0, this._session = void 0,
|
|
3443
|
+
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._requestSession = void 0, this._session = void 0, gn(this, void 0), this._attachments = [], this.setPropagationContext({ traceId: pn() }), this._notifyScopeListeners(), this;
|
|
3429
3444
|
}
|
|
3430
3445
|
/**
|
|
3431
3446
|
* @inheritDoc
|
|
3432
3447
|
*/
|
|
3433
3448
|
addBreadcrumb(t, n) {
|
|
3434
|
-
const r = typeof n == "number" ? n :
|
|
3449
|
+
const r = typeof n == "number" ? n : lo;
|
|
3435
3450
|
if (r <= 0)
|
|
3436
3451
|
return this;
|
|
3437
3452
|
const o = {
|
|
3438
|
-
timestamp:
|
|
3453
|
+
timestamp: ct(),
|
|
3439
3454
|
...t
|
|
3440
3455
|
};
|
|
3441
3456
|
return this._breadcrumbs.push(o), this._breadcrumbs.length > r && (this._breadcrumbs = this._breadcrumbs.slice(-r), this._client && this._client.recordDroppedEvent("buffer_overflow", "log_item")), this._notifyScopeListeners(), this;
|
|
@@ -3479,14 +3494,14 @@ class Mt {
|
|
|
3479
3494
|
propagationContext: this._propagationContext,
|
|
3480
3495
|
sdkProcessingMetadata: this._sdkProcessingMetadata,
|
|
3481
3496
|
transactionName: this._transactionName,
|
|
3482
|
-
span:
|
|
3497
|
+
span: yn(this)
|
|
3483
3498
|
};
|
|
3484
3499
|
}
|
|
3485
3500
|
/**
|
|
3486
3501
|
* @inheritDoc
|
|
3487
3502
|
*/
|
|
3488
3503
|
setSDKProcessingMetadata(t) {
|
|
3489
|
-
return this._sdkProcessingMetadata =
|
|
3504
|
+
return this._sdkProcessingMetadata = ut(this._sdkProcessingMetadata, t, 2), this;
|
|
3490
3505
|
}
|
|
3491
3506
|
/**
|
|
3492
3507
|
* @inheritDoc
|
|
@@ -3494,7 +3509,7 @@ class Mt {
|
|
|
3494
3509
|
setPropagationContext(t) {
|
|
3495
3510
|
return this._propagationContext = {
|
|
3496
3511
|
// eslint-disable-next-line deprecation/deprecation
|
|
3497
|
-
spanId:
|
|
3512
|
+
spanId: Bt(),
|
|
3498
3513
|
...t
|
|
3499
3514
|
}, this;
|
|
3500
3515
|
}
|
|
@@ -3559,19 +3574,19 @@ class Mt {
|
|
|
3559
3574
|
}), this._notifyingListeners = !1);
|
|
3560
3575
|
}
|
|
3561
3576
|
}
|
|
3562
|
-
const
|
|
3563
|
-
function lo() {
|
|
3564
|
-
return nt("defaultCurrentScope", () => new ce());
|
|
3565
|
-
}
|
|
3577
|
+
const ue = xt;
|
|
3566
3578
|
function Ao() {
|
|
3567
|
-
return
|
|
3579
|
+
return rt("defaultCurrentScope", () => new ue());
|
|
3580
|
+
}
|
|
3581
|
+
function fo() {
|
|
3582
|
+
return rt("defaultIsolationScope", () => new ue());
|
|
3568
3583
|
}
|
|
3569
|
-
class
|
|
3584
|
+
class ho {
|
|
3570
3585
|
constructor(t, n) {
|
|
3571
3586
|
let r;
|
|
3572
|
-
t ? r = t : r = new
|
|
3587
|
+
t ? r = t : r = new ue();
|
|
3573
3588
|
let o;
|
|
3574
|
-
n ? o = n : o = new
|
|
3589
|
+
n ? o = n : o = new ue(), this._stack = [{ scope: r }], this._isolationScope = o;
|
|
3575
3590
|
}
|
|
3576
3591
|
/**
|
|
3577
3592
|
* Fork a scope for the stack.
|
|
@@ -3584,7 +3599,7 @@ class fo {
|
|
|
3584
3599
|
} catch (o) {
|
|
3585
3600
|
throw this._popScope(), o;
|
|
3586
3601
|
}
|
|
3587
|
-
return
|
|
3602
|
+
return it(r) ? r.then(
|
|
3588
3603
|
(o) => (this._popScope(), o),
|
|
3589
3604
|
(o) => {
|
|
3590
3605
|
throw this._popScope(), o;
|
|
@@ -3632,49 +3647,49 @@ class fo {
|
|
|
3632
3647
|
return this._stack.length <= 1 ? !1 : !!this._stack.pop();
|
|
3633
3648
|
}
|
|
3634
3649
|
}
|
|
3635
|
-
function
|
|
3636
|
-
const e =
|
|
3637
|
-
return t.stack = t.stack || new
|
|
3650
|
+
function ve() {
|
|
3651
|
+
const e = Nt(), t = Dt(e);
|
|
3652
|
+
return t.stack = t.stack || new ho(Ao(), fo());
|
|
3638
3653
|
}
|
|
3639
|
-
function
|
|
3640
|
-
return
|
|
3654
|
+
function po(e) {
|
|
3655
|
+
return ve().withScope(e);
|
|
3641
3656
|
}
|
|
3642
|
-
function
|
|
3643
|
-
const n =
|
|
3657
|
+
function go(e, t) {
|
|
3658
|
+
const n = ve();
|
|
3644
3659
|
return n.withScope(() => (n.getStackTop().scope = e, t(e)));
|
|
3645
3660
|
}
|
|
3646
|
-
function
|
|
3647
|
-
return
|
|
3661
|
+
function mn(e) {
|
|
3662
|
+
return ve().withScope(() => e(ve().getIsolationScope()));
|
|
3648
3663
|
}
|
|
3649
|
-
function
|
|
3664
|
+
function yo() {
|
|
3650
3665
|
return {
|
|
3651
|
-
withIsolationScope:
|
|
3652
|
-
withScope:
|
|
3653
|
-
withSetScope:
|
|
3654
|
-
withSetIsolationScope: (e, t) =>
|
|
3655
|
-
getCurrentScope: () =>
|
|
3656
|
-
getIsolationScope: () =>
|
|
3666
|
+
withIsolationScope: mn,
|
|
3667
|
+
withScope: po,
|
|
3668
|
+
withSetScope: go,
|
|
3669
|
+
withSetIsolationScope: (e, t) => mn(t),
|
|
3670
|
+
getCurrentScope: () => ve().getScope(),
|
|
3671
|
+
getIsolationScope: () => ve().getIsolationScope()
|
|
3657
3672
|
};
|
|
3658
3673
|
}
|
|
3659
|
-
function
|
|
3660
|
-
const t =
|
|
3661
|
-
return t.acs ? t.acs :
|
|
3674
|
+
function Vn(e) {
|
|
3675
|
+
const t = Dt(e);
|
|
3676
|
+
return t.acs ? t.acs : yo();
|
|
3662
3677
|
}
|
|
3663
|
-
function
|
|
3664
|
-
const e =
|
|
3665
|
-
return
|
|
3666
|
-
}
|
|
3667
|
-
function yo() {
|
|
3668
|
-
const e = Ot();
|
|
3669
|
-
return Yn(e).getIsolationScope();
|
|
3678
|
+
function Zn() {
|
|
3679
|
+
const e = Nt();
|
|
3680
|
+
return Vn(e).getCurrentScope();
|
|
3670
3681
|
}
|
|
3671
3682
|
function mo() {
|
|
3672
|
-
|
|
3683
|
+
const e = Nt();
|
|
3684
|
+
return Vn(e).getIsolationScope();
|
|
3685
|
+
}
|
|
3686
|
+
function Co() {
|
|
3687
|
+
return rt("globalScope", () => new ue());
|
|
3673
3688
|
}
|
|
3674
|
-
function
|
|
3675
|
-
return
|
|
3689
|
+
function Ut() {
|
|
3690
|
+
return Zn().getClient();
|
|
3676
3691
|
}
|
|
3677
|
-
function
|
|
3692
|
+
function bo(e) {
|
|
3678
3693
|
const t = e.getPropagationContext(), { traceId: n, spanId: r, parentSpanId: o } = t;
|
|
3679
3694
|
return V({
|
|
3680
3695
|
trace_id: n,
|
|
@@ -3682,9 +3697,9 @@ function Co(e) {
|
|
|
3682
3697
|
parent_span_id: o
|
|
3683
3698
|
});
|
|
3684
3699
|
}
|
|
3685
|
-
const
|
|
3686
|
-
function
|
|
3687
|
-
const t = e[
|
|
3700
|
+
const Eo = "_sentryMetrics";
|
|
3701
|
+
function vo(e) {
|
|
3702
|
+
const t = e[Eo];
|
|
3688
3703
|
if (!t)
|
|
3689
3704
|
return;
|
|
3690
3705
|
const n = {};
|
|
@@ -3692,14 +3707,14 @@ function Eo(e) {
|
|
|
3692
3707
|
(n[r] || (n[r] = [])).push(V(o));
|
|
3693
3708
|
return n;
|
|
3694
3709
|
}
|
|
3695
|
-
const
|
|
3696
|
-
function
|
|
3697
|
-
const t =
|
|
3710
|
+
const Io = "sentry.source", Bo = "sentry.sample_rate", So = "sentry.op", _o = "sentry.origin", Qo = 0, ko = 1, Po = "sentry-", wo = /^sentry-/;
|
|
3711
|
+
function To(e) {
|
|
3712
|
+
const t = Lo(e);
|
|
3698
3713
|
if (!t)
|
|
3699
3714
|
return;
|
|
3700
3715
|
const n = Object.entries(t).reduce((r, [o, i]) => {
|
|
3701
|
-
if (o.match(
|
|
3702
|
-
const c = o.slice(
|
|
3716
|
+
if (o.match(wo)) {
|
|
3717
|
+
const c = o.slice(Po.length);
|
|
3703
3718
|
r[c] = i;
|
|
3704
3719
|
}
|
|
3705
3720
|
return r;
|
|
@@ -3707,40 +3722,40 @@ function wo(e) {
|
|
|
3707
3722
|
if (Object.keys(n).length > 0)
|
|
3708
3723
|
return n;
|
|
3709
3724
|
}
|
|
3710
|
-
function
|
|
3711
|
-
if (!(!e || !
|
|
3725
|
+
function Lo(e) {
|
|
3726
|
+
if (!(!e || !zn(e) && !Array.isArray(e)))
|
|
3712
3727
|
return Array.isArray(e) ? e.reduce((t, n) => {
|
|
3713
|
-
const r =
|
|
3728
|
+
const r = Cn(n);
|
|
3714
3729
|
return Object.entries(r).forEach(([o, i]) => {
|
|
3715
3730
|
t[o] = i;
|
|
3716
3731
|
}), t;
|
|
3717
|
-
}, {}) :
|
|
3732
|
+
}, {}) : Cn(e);
|
|
3718
3733
|
}
|
|
3719
|
-
function
|
|
3734
|
+
function Cn(e) {
|
|
3720
3735
|
return e.split(",").map((t) => t.split("=").map((n) => decodeURIComponent(n.trim()))).reduce((t, [n, r]) => (n && r && (t[n] = r), t), {});
|
|
3721
3736
|
}
|
|
3722
|
-
const
|
|
3723
|
-
let
|
|
3724
|
-
function
|
|
3725
|
-
const { spanId: t, traceId: n, isRemote: r } = e.spanContext(), o = r ? t :
|
|
3737
|
+
const Ro = 1;
|
|
3738
|
+
let bn = !1;
|
|
3739
|
+
function Oo(e) {
|
|
3740
|
+
const { spanId: t, traceId: n, isRemote: r } = e.spanContext(), o = r ? t : Ft(e).parent_span_id, i = r ? Bt() : t;
|
|
3726
3741
|
return V({
|
|
3727
3742
|
parent_span_id: o,
|
|
3728
3743
|
span_id: i,
|
|
3729
3744
|
trace_id: n
|
|
3730
3745
|
});
|
|
3731
3746
|
}
|
|
3732
|
-
function bn(e) {
|
|
3733
|
-
return typeof e == "number" ? En(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? En(e.getTime()) : Wn();
|
|
3734
|
-
}
|
|
3735
3747
|
function En(e) {
|
|
3748
|
+
return typeof e == "number" ? vn(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? vn(e.getTime()) : Yn();
|
|
3749
|
+
}
|
|
3750
|
+
function vn(e) {
|
|
3736
3751
|
return e > 9999999999 ? e / 1e3 : e;
|
|
3737
3752
|
}
|
|
3738
|
-
function
|
|
3739
|
-
if (
|
|
3753
|
+
function Ft(e) {
|
|
3754
|
+
if (Do(e))
|
|
3740
3755
|
return e.getSpanJSON();
|
|
3741
3756
|
try {
|
|
3742
3757
|
const { spanId: t, traceId: n } = e.spanContext();
|
|
3743
|
-
if (
|
|
3758
|
+
if (No(e)) {
|
|
3744
3759
|
const { attributes: r, startTime: o, name: i, endTime: c, parentSpanId: u, status: l } = e;
|
|
3745
3760
|
return V({
|
|
3746
3761
|
span_id: t,
|
|
@@ -3748,13 +3763,13 @@ function Ut(e) {
|
|
|
3748
3763
|
data: r,
|
|
3749
3764
|
description: i,
|
|
3750
3765
|
parent_span_id: u,
|
|
3751
|
-
start_timestamp:
|
|
3766
|
+
start_timestamp: En(o),
|
|
3752
3767
|
// This is [0,0] by default in OTEL, in which case we want to interpret this as no end time
|
|
3753
|
-
timestamp:
|
|
3754
|
-
status:
|
|
3755
|
-
op: r[
|
|
3756
|
-
origin: r[
|
|
3757
|
-
_metrics_summary:
|
|
3768
|
+
timestamp: En(c) || void 0,
|
|
3769
|
+
status: xo(l),
|
|
3770
|
+
op: r[So],
|
|
3771
|
+
origin: r[_o],
|
|
3772
|
+
_metrics_summary: vo(e)
|
|
3758
3773
|
});
|
|
3759
3774
|
}
|
|
3760
3775
|
return {
|
|
@@ -3765,68 +3780,68 @@ function Ut(e) {
|
|
|
3765
3780
|
return {};
|
|
3766
3781
|
}
|
|
3767
3782
|
}
|
|
3768
|
-
function
|
|
3783
|
+
function No(e) {
|
|
3769
3784
|
const t = e;
|
|
3770
3785
|
return !!t.attributes && !!t.startTime && !!t.name && !!t.endTime && !!t.status;
|
|
3771
3786
|
}
|
|
3772
|
-
function
|
|
3787
|
+
function Do(e) {
|
|
3773
3788
|
return typeof e.getSpanJSON == "function";
|
|
3774
3789
|
}
|
|
3775
|
-
function
|
|
3790
|
+
function Mo(e) {
|
|
3776
3791
|
const { traceFlags: t } = e.spanContext();
|
|
3777
|
-
return t ===
|
|
3792
|
+
return t === Ro;
|
|
3778
3793
|
}
|
|
3779
|
-
function
|
|
3780
|
-
if (!(!e || e.code ===
|
|
3781
|
-
return e.code ===
|
|
3794
|
+
function xo(e) {
|
|
3795
|
+
if (!(!e || e.code === Qo))
|
|
3796
|
+
return e.code === ko ? "ok" : e.message || "unknown_error";
|
|
3782
3797
|
}
|
|
3783
|
-
const
|
|
3784
|
-
function
|
|
3785
|
-
return e[
|
|
3798
|
+
const Uo = "_sentryRootSpan";
|
|
3799
|
+
function $n(e) {
|
|
3800
|
+
return e[Uo] || e;
|
|
3786
3801
|
}
|
|
3787
|
-
function
|
|
3788
|
-
|
|
3802
|
+
function Fo() {
|
|
3803
|
+
bn || (ot(() => {
|
|
3789
3804
|
console.warn(
|
|
3790
3805
|
"[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly."
|
|
3791
3806
|
);
|
|
3792
|
-
}),
|
|
3807
|
+
}), bn = !0);
|
|
3793
3808
|
}
|
|
3794
|
-
function
|
|
3809
|
+
function Xo(e) {
|
|
3795
3810
|
if (typeof __SENTRY_TRACING__ == "boolean" && !__SENTRY_TRACING__)
|
|
3796
3811
|
return !1;
|
|
3797
|
-
const t =
|
|
3812
|
+
const t = Ut(), n = t && t.getOptions();
|
|
3798
3813
|
return !!n && (n.enableTracing || "tracesSampleRate" in n || "tracesSampler" in n);
|
|
3799
3814
|
}
|
|
3800
|
-
const
|
|
3801
|
-
function
|
|
3815
|
+
const er = "production", Ho = "_frozenDsc";
|
|
3816
|
+
function tr(e, t) {
|
|
3802
3817
|
const n = t.getOptions(), { publicKey: r } = t.getDsn() || {}, o = V({
|
|
3803
|
-
environment: n.environment ||
|
|
3818
|
+
environment: n.environment || er,
|
|
3804
3819
|
release: n.release,
|
|
3805
3820
|
public_key: r,
|
|
3806
3821
|
trace_id: e
|
|
3807
3822
|
});
|
|
3808
3823
|
return t.emit("createDsc", o), o;
|
|
3809
3824
|
}
|
|
3810
|
-
function
|
|
3825
|
+
function jo(e, t) {
|
|
3811
3826
|
const n = t.getPropagationContext();
|
|
3812
|
-
return n.dsc ||
|
|
3827
|
+
return n.dsc || tr(n.traceId, e);
|
|
3813
3828
|
}
|
|
3814
|
-
function
|
|
3815
|
-
const t =
|
|
3829
|
+
function Jo(e) {
|
|
3830
|
+
const t = Ut();
|
|
3816
3831
|
if (!t)
|
|
3817
3832
|
return {};
|
|
3818
|
-
const n =
|
|
3833
|
+
const n = $n(e), r = n[Ho];
|
|
3819
3834
|
if (r)
|
|
3820
3835
|
return r;
|
|
3821
|
-
const o = n.spanContext().traceState, i = o && o.get("sentry.dsc"), c = i &&
|
|
3836
|
+
const o = n.spanContext().traceState, i = o && o.get("sentry.dsc"), c = i && To(i);
|
|
3822
3837
|
if (c)
|
|
3823
3838
|
return c;
|
|
3824
|
-
const u =
|
|
3839
|
+
const u = tr(e.spanContext().traceId, t), l = Ft(n), h = l.data || {}, y = h[Bo];
|
|
3825
3840
|
y != null && (u.sample_rate = `${y}`);
|
|
3826
|
-
const m = h[
|
|
3827
|
-
return m !== "url" && b && (u.transaction = b),
|
|
3841
|
+
const m = h[Io], b = l.description;
|
|
3842
|
+
return m !== "url" && b && (u.transaction = b), Xo() && (u.sampled = String(Mo(n))), t.emit("createDsc", u, n), u;
|
|
3828
3843
|
}
|
|
3829
|
-
function
|
|
3844
|
+
function qo(e) {
|
|
3830
3845
|
if (typeof e == "boolean")
|
|
3831
3846
|
return Number(e);
|
|
3832
3847
|
const t = typeof e == "string" ? parseFloat(e) : e;
|
|
@@ -3840,18 +3855,18 @@ function Jo(e) {
|
|
|
3840
3855
|
}
|
|
3841
3856
|
return t;
|
|
3842
3857
|
}
|
|
3843
|
-
const
|
|
3844
|
-
function
|
|
3858
|
+
const zo = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
|
|
3859
|
+
function Ko(e) {
|
|
3845
3860
|
return e === "http" || e === "https";
|
|
3846
3861
|
}
|
|
3847
|
-
function
|
|
3862
|
+
function lt(e, t = !1) {
|
|
3848
3863
|
const { host: n, path: r, pass: o, port: i, projectId: c, protocol: u, publicKey: l } = e;
|
|
3849
3864
|
return `${u}://${l}${t && o ? `:${o}` : ""}@${n}${i ? `:${i}` : ""}/${r && `${r}/`}${c}`;
|
|
3850
3865
|
}
|
|
3851
|
-
function
|
|
3852
|
-
const t =
|
|
3866
|
+
function Go(e) {
|
|
3867
|
+
const t = zo.exec(e);
|
|
3853
3868
|
if (!t) {
|
|
3854
|
-
|
|
3869
|
+
ot(() => {
|
|
3855
3870
|
console.error(`Invalid Sentry Dsn: ${e}`);
|
|
3856
3871
|
});
|
|
3857
3872
|
return;
|
|
@@ -3863,9 +3878,9 @@ function Ko(e) {
|
|
|
3863
3878
|
const m = h.match(/^\d+/);
|
|
3864
3879
|
m && (h = m[0]);
|
|
3865
3880
|
}
|
|
3866
|
-
return
|
|
3881
|
+
return nr({ host: i, pass: o, path: l, projectId: h, port: c, protocol: n, publicKey: r });
|
|
3867
3882
|
}
|
|
3868
|
-
function
|
|
3883
|
+
function nr(e) {
|
|
3869
3884
|
return {
|
|
3870
3885
|
protocol: e.protocol,
|
|
3871
3886
|
publicKey: e.publicKey || "",
|
|
@@ -3876,18 +3891,18 @@ function tr(e) {
|
|
|
3876
3891
|
projectId: e.projectId
|
|
3877
3892
|
};
|
|
3878
3893
|
}
|
|
3879
|
-
function
|
|
3880
|
-
if (!
|
|
3894
|
+
function Wo(e) {
|
|
3895
|
+
if (!Ot)
|
|
3881
3896
|
return !0;
|
|
3882
3897
|
const { port: t, projectId: n, protocol: r } = e;
|
|
3883
|
-
return ["protocol", "publicKey", "host", "projectId"].find((c) => e[c] ? !1 : (N.error(`Invalid Sentry Dsn: ${c} missing`), !0)) ? !1 : n.match(/^\d+$/) ?
|
|
3898
|
+
return ["protocol", "publicKey", "host", "projectId"].find((c) => e[c] ? !1 : (N.error(`Invalid Sentry Dsn: ${c} missing`), !0)) ? !1 : n.match(/^\d+$/) ? Ko(r) ? t && isNaN(parseInt(t, 10)) ? (N.error(`Invalid Sentry Dsn: Invalid port ${t}`), !1) : !0 : (N.error(`Invalid Sentry Dsn: Invalid protocol ${r}`), !1) : (N.error(`Invalid Sentry Dsn: Invalid projectId ${n}`), !1);
|
|
3884
3899
|
}
|
|
3885
|
-
function
|
|
3886
|
-
const t = typeof e == "string" ?
|
|
3887
|
-
if (!(!t || !
|
|
3900
|
+
function Yo(e) {
|
|
3901
|
+
const t = typeof e == "string" ? Go(e) : nr(e);
|
|
3902
|
+
if (!(!t || !Wo(t)))
|
|
3888
3903
|
return t;
|
|
3889
3904
|
}
|
|
3890
|
-
function
|
|
3905
|
+
function Vo() {
|
|
3891
3906
|
const e = typeof WeakSet == "function", t = e ? /* @__PURE__ */ new WeakSet() : [];
|
|
3892
3907
|
function n(o) {
|
|
3893
3908
|
if (e)
|
|
@@ -3911,21 +3926,21 @@ function Yo() {
|
|
|
3911
3926
|
}
|
|
3912
3927
|
function oe(e, t = 100, n = 1 / 0) {
|
|
3913
3928
|
try {
|
|
3914
|
-
return
|
|
3929
|
+
return _t("", e, t, n);
|
|
3915
3930
|
} catch (r) {
|
|
3916
3931
|
return { ERROR: `**non-serializable** (${r})` };
|
|
3917
3932
|
}
|
|
3918
3933
|
}
|
|
3919
|
-
function
|
|
3934
|
+
function rr(e, t = 3, n = 100 * 1024) {
|
|
3920
3935
|
const r = oe(e, t);
|
|
3921
|
-
return
|
|
3936
|
+
return ts(r) > n ? rr(e, t - 1, n) : r;
|
|
3922
3937
|
}
|
|
3923
|
-
function
|
|
3938
|
+
function _t(e, t, n = 1 / 0, r = 1 / 0, o = Vo()) {
|
|
3924
3939
|
const [i, c] = o;
|
|
3925
3940
|
if (t == null || // this matches null and undefined -> eqeq not eqeqeq
|
|
3926
3941
|
["boolean", "string"].includes(typeof t) || typeof t == "number" && Number.isFinite(t))
|
|
3927
3942
|
return t;
|
|
3928
|
-
const u =
|
|
3943
|
+
const u = Zo(e, t);
|
|
3929
3944
|
if (!u.startsWith("[object "))
|
|
3930
3945
|
return u;
|
|
3931
3946
|
if (t.__sentry_skip_normalization__)
|
|
@@ -3939,12 +3954,12 @@ function St(e, t, n = 1 / 0, r = 1 / 0, o = Yo()) {
|
|
|
3939
3954
|
if (h && typeof h.toJSON == "function")
|
|
3940
3955
|
try {
|
|
3941
3956
|
const I = h.toJSON();
|
|
3942
|
-
return
|
|
3957
|
+
return _t("", I, l - 1, r, o);
|
|
3943
3958
|
} catch {
|
|
3944
3959
|
}
|
|
3945
3960
|
const y = Array.isArray(t) ? [] : {};
|
|
3946
3961
|
let m = 0;
|
|
3947
|
-
const b =
|
|
3962
|
+
const b = Gn(t);
|
|
3948
3963
|
for (const I in b) {
|
|
3949
3964
|
if (!Object.prototype.hasOwnProperty.call(b, I))
|
|
3950
3965
|
continue;
|
|
@@ -3953,11 +3968,11 @@ function St(e, t, n = 1 / 0, r = 1 / 0, o = Yo()) {
|
|
|
3953
3968
|
break;
|
|
3954
3969
|
}
|
|
3955
3970
|
const B = b[I];
|
|
3956
|
-
y[I] =
|
|
3971
|
+
y[I] = _t(I, B, l - 1, r, o), m++;
|
|
3957
3972
|
}
|
|
3958
3973
|
return c(t), y;
|
|
3959
3974
|
}
|
|
3960
|
-
function
|
|
3975
|
+
function Zo(e, t) {
|
|
3961
3976
|
try {
|
|
3962
3977
|
if (e === "domain" && t && typeof t == "object" && t._events)
|
|
3963
3978
|
return "[Domain]";
|
|
@@ -3969,42 +3984,42 @@ function Vo(e, t) {
|
|
|
3969
3984
|
return "[Window]";
|
|
3970
3985
|
if (typeof document < "u" && t === document)
|
|
3971
3986
|
return "[Document]";
|
|
3972
|
-
if (
|
|
3987
|
+
if (eo(t))
|
|
3973
3988
|
return "[VueViewModel]";
|
|
3974
|
-
if (
|
|
3989
|
+
if ($r(t))
|
|
3975
3990
|
return "[SyntheticEvent]";
|
|
3976
3991
|
if (typeof t == "number" && !Number.isFinite(t))
|
|
3977
3992
|
return `[${t}]`;
|
|
3978
3993
|
if (typeof t == "function")
|
|
3979
|
-
return `[Function: ${
|
|
3994
|
+
return `[Function: ${Wr(t)}]`;
|
|
3980
3995
|
if (typeof t == "symbol")
|
|
3981
3996
|
return `[${String(t)}]`;
|
|
3982
3997
|
if (typeof t == "bigint")
|
|
3983
3998
|
return `[BigInt: ${String(t)}]`;
|
|
3984
|
-
const n =
|
|
3999
|
+
const n = $o(t);
|
|
3985
4000
|
return /^HTML(\w*)Element$/.test(n) ? `[HTMLElement: ${n}]` : `[object ${n}]`;
|
|
3986
4001
|
} catch (n) {
|
|
3987
4002
|
return `**non-serializable** (${n})`;
|
|
3988
4003
|
}
|
|
3989
4004
|
}
|
|
3990
|
-
function
|
|
4005
|
+
function $o(e) {
|
|
3991
4006
|
const t = Object.getPrototypeOf(e);
|
|
3992
4007
|
return t ? t.constructor.name : "null prototype";
|
|
3993
4008
|
}
|
|
3994
|
-
function
|
|
4009
|
+
function es(e) {
|
|
3995
4010
|
return ~-encodeURI(e).split(/%..|./).length;
|
|
3996
4011
|
}
|
|
3997
|
-
function
|
|
3998
|
-
return
|
|
4012
|
+
function ts(e) {
|
|
4013
|
+
return es(JSON.stringify(e));
|
|
3999
4014
|
}
|
|
4000
|
-
function
|
|
4015
|
+
function Te(e, t = []) {
|
|
4001
4016
|
return [e, t];
|
|
4002
4017
|
}
|
|
4003
|
-
function
|
|
4018
|
+
function ns(e, t) {
|
|
4004
4019
|
const [n, r] = e;
|
|
4005
4020
|
return [n, [...r, t]];
|
|
4006
4021
|
}
|
|
4007
|
-
function
|
|
4022
|
+
function In(e, t) {
|
|
4008
4023
|
const n = e[1];
|
|
4009
4024
|
for (const r of n) {
|
|
4010
4025
|
const o = r[0].type;
|
|
@@ -4013,14 +4028,14 @@ function vn(e, t) {
|
|
|
4013
4028
|
}
|
|
4014
4029
|
return !1;
|
|
4015
4030
|
}
|
|
4016
|
-
function
|
|
4031
|
+
function Qt(e) {
|
|
4017
4032
|
return j.__SENTRY__ && j.__SENTRY__.encodePolyfill ? j.__SENTRY__.encodePolyfill(e) : new TextEncoder().encode(e);
|
|
4018
4033
|
}
|
|
4019
|
-
function
|
|
4034
|
+
function rs(e) {
|
|
4020
4035
|
const [t, n] = e;
|
|
4021
4036
|
let r = JSON.stringify(t);
|
|
4022
4037
|
function o(i) {
|
|
4023
|
-
typeof r == "string" ? r = typeof i == "string" ? r + i : [
|
|
4038
|
+
typeof r == "string" ? r = typeof i == "string" ? r + i : [Qt(r), i] : r.push(typeof i == "string" ? Qt(i) : i);
|
|
4024
4039
|
}
|
|
4025
4040
|
for (const i of n) {
|
|
4026
4041
|
const [c, u] = i;
|
|
@@ -4038,17 +4053,17 @@ ${JSON.stringify(c)}
|
|
|
4038
4053
|
o(l);
|
|
4039
4054
|
}
|
|
4040
4055
|
}
|
|
4041
|
-
return typeof r == "string" ? r :
|
|
4056
|
+
return typeof r == "string" ? r : os(r);
|
|
4042
4057
|
}
|
|
4043
|
-
function
|
|
4058
|
+
function os(e) {
|
|
4044
4059
|
const t = e.reduce((o, i) => o + i.length, 0), n = new Uint8Array(t);
|
|
4045
4060
|
let r = 0;
|
|
4046
4061
|
for (const o of e)
|
|
4047
4062
|
n.set(o, r), r += o.length;
|
|
4048
4063
|
return n;
|
|
4049
4064
|
}
|
|
4050
|
-
function
|
|
4051
|
-
const t = typeof e.data == "string" ?
|
|
4065
|
+
function ss(e) {
|
|
4066
|
+
const t = typeof e.data == "string" ? Qt(e.data) : e.data;
|
|
4052
4067
|
return [
|
|
4053
4068
|
V({
|
|
4054
4069
|
type: "attachment",
|
|
@@ -4060,7 +4075,7 @@ function os(e) {
|
|
|
4060
4075
|
t
|
|
4061
4076
|
];
|
|
4062
4077
|
}
|
|
4063
|
-
const
|
|
4078
|
+
const is = {
|
|
4064
4079
|
session: "session",
|
|
4065
4080
|
sessions: "session",
|
|
4066
4081
|
attachment: "attachment",
|
|
@@ -4078,64 +4093,64 @@ const ss = {
|
|
|
4078
4093
|
statsd: "metric_bucket",
|
|
4079
4094
|
raw_security: "security"
|
|
4080
4095
|
};
|
|
4081
|
-
function
|
|
4082
|
-
return
|
|
4096
|
+
function Bn(e) {
|
|
4097
|
+
return is[e];
|
|
4083
4098
|
}
|
|
4084
|
-
function
|
|
4099
|
+
function or(e) {
|
|
4085
4100
|
if (!e || !e.sdk)
|
|
4086
4101
|
return;
|
|
4087
4102
|
const { name: t, version: n } = e.sdk;
|
|
4088
4103
|
return { name: t, version: n };
|
|
4089
4104
|
}
|
|
4090
|
-
function
|
|
4105
|
+
function as(e, t, n, r) {
|
|
4091
4106
|
const o = e.sdkProcessingMetadata && e.sdkProcessingMetadata.dynamicSamplingContext;
|
|
4092
4107
|
return {
|
|
4093
4108
|
event_id: e.event_id,
|
|
4094
4109
|
sent_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
4095
4110
|
...t && { sdk: t },
|
|
4096
|
-
...!!n && r && { dsn:
|
|
4111
|
+
...!!n && r && { dsn: lt(r) },
|
|
4097
4112
|
...o && {
|
|
4098
4113
|
trace: V({ ...o })
|
|
4099
4114
|
}
|
|
4100
4115
|
};
|
|
4101
4116
|
}
|
|
4102
|
-
function
|
|
4117
|
+
function cs(e, t) {
|
|
4103
4118
|
return t && (e.sdk = e.sdk || {}, e.sdk.name = e.sdk.name || t.name, e.sdk.version = e.sdk.version || t.version, e.sdk.integrations = [...e.sdk.integrations || [], ...t.integrations || []], e.sdk.packages = [...e.sdk.packages || [], ...t.packages || []]), e;
|
|
4104
4119
|
}
|
|
4105
|
-
function
|
|
4106
|
-
const o =
|
|
4120
|
+
function us(e, t, n, r) {
|
|
4121
|
+
const o = or(n), i = {
|
|
4107
4122
|
sent_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
4108
4123
|
...o && { sdk: o },
|
|
4109
|
-
...!!r && t && { dsn:
|
|
4124
|
+
...!!r && t && { dsn: lt(t) }
|
|
4110
4125
|
}, c = "aggregates" in e ? [{ type: "sessions" }, e] : [{ type: "session" }, e.toJSON()];
|
|
4111
|
-
return
|
|
4126
|
+
return Te(i, [c]);
|
|
4112
4127
|
}
|
|
4113
|
-
function
|
|
4114
|
-
const o =
|
|
4115
|
-
|
|
4116
|
-
const c =
|
|
4117
|
-
return delete e.sdkProcessingMetadata,
|
|
4128
|
+
function ls(e, t, n, r) {
|
|
4129
|
+
const o = or(n), i = e.type && e.type !== "replay_event" ? e.type : "event";
|
|
4130
|
+
cs(e, n && n.sdk);
|
|
4131
|
+
const c = as(e, o, r, t);
|
|
4132
|
+
return delete e.sdkProcessingMetadata, Te(c, [[{ type: i }, e]]);
|
|
4118
4133
|
}
|
|
4119
|
-
function
|
|
4134
|
+
function kt(e, t, n, r = 0) {
|
|
4120
4135
|
return new W((o, i) => {
|
|
4121
4136
|
const c = e[r];
|
|
4122
4137
|
if (t === null || typeof c != "function")
|
|
4123
4138
|
o(t);
|
|
4124
4139
|
else {
|
|
4125
4140
|
const u = c({ ...t }, n);
|
|
4126
|
-
U && c.id && u === null && N.log(`Event processor "${c.id}" dropped event`),
|
|
4141
|
+
U && c.id && u === null && N.log(`Event processor "${c.id}" dropped event`), it(u) ? u.then((l) => kt(e, l, n, r + 1).then(o)).then(null, i) : kt(e, u, n, r + 1).then(o).then(null, i);
|
|
4127
4142
|
}
|
|
4128
4143
|
});
|
|
4129
4144
|
}
|
|
4130
|
-
let
|
|
4131
|
-
function
|
|
4145
|
+
let De, Sn, Me;
|
|
4146
|
+
function As(e) {
|
|
4132
4147
|
const t = j._sentryDebugIds;
|
|
4133
4148
|
if (!t)
|
|
4134
4149
|
return {};
|
|
4135
4150
|
const n = Object.keys(t);
|
|
4136
|
-
return
|
|
4137
|
-
|
|
4138
|
-
const i =
|
|
4151
|
+
return Me && n.length === Sn || (Sn = n.length, Me = n.reduce((r, o) => {
|
|
4152
|
+
De || (De = {});
|
|
4153
|
+
const i = De[o];
|
|
4139
4154
|
if (i)
|
|
4140
4155
|
r[i[0]] = i[1];
|
|
4141
4156
|
else {
|
|
@@ -4143,19 +4158,19 @@ function ls(e) {
|
|
|
4143
4158
|
for (let u = c.length - 1; u >= 0; u--) {
|
|
4144
4159
|
const l = c[u], h = l && l.filename, y = t[o];
|
|
4145
4160
|
if (h && y) {
|
|
4146
|
-
r[h] = y,
|
|
4161
|
+
r[h] = y, De[o] = [h, y];
|
|
4147
4162
|
break;
|
|
4148
4163
|
}
|
|
4149
4164
|
}
|
|
4150
4165
|
}
|
|
4151
4166
|
return r;
|
|
4152
|
-
}, {})),
|
|
4167
|
+
}, {})), Me;
|
|
4153
4168
|
}
|
|
4154
|
-
function
|
|
4169
|
+
function ds(e, t) {
|
|
4155
4170
|
const { fingerprint: n, span: r, breadcrumbs: o, sdkProcessingMetadata: i } = t;
|
|
4156
|
-
|
|
4171
|
+
fs(e, t), r && gs(e, r), ys(e, n), hs(e, o), ps(e, i);
|
|
4157
4172
|
}
|
|
4158
|
-
function
|
|
4173
|
+
function _n(e, t) {
|
|
4159
4174
|
const {
|
|
4160
4175
|
extra: n,
|
|
4161
4176
|
tags: r,
|
|
@@ -4171,12 +4186,12 @@ function Sn(e, t) {
|
|
|
4171
4186
|
transactionName: I,
|
|
4172
4187
|
span: B
|
|
4173
4188
|
} = t;
|
|
4174
|
-
|
|
4189
|
+
xe(e, "extra", n), xe(e, "tags", r), xe(e, "user", o), xe(e, "contexts", i), e.sdkProcessingMetadata = ut(e.sdkProcessingMetadata, u, 2), c && (e.level = c), I && (e.transactionName = I), B && (e.span = B), l.length && (e.breadcrumbs = [...e.breadcrumbs, ...l]), h.length && (e.fingerprint = [...e.fingerprint, ...h]), y.length && (e.eventProcessors = [...e.eventProcessors, ...y]), m.length && (e.attachments = [...e.attachments, ...m]), e.propagationContext = { ...e.propagationContext, ...b };
|
|
4175
4190
|
}
|
|
4176
|
-
function
|
|
4177
|
-
e[t] =
|
|
4191
|
+
function xe(e, t, n) {
|
|
4192
|
+
e[t] = ut(e[t], n, 1);
|
|
4178
4193
|
}
|
|
4179
|
-
function
|
|
4194
|
+
function fs(e, t) {
|
|
4180
4195
|
const { extra: n, tags: r, user: o, contexts: i, level: c, transactionName: u } = t, l = V(n);
|
|
4181
4196
|
l && Object.keys(l).length && (e.extra = { ...l, ...e.extra });
|
|
4182
4197
|
const h = V(r);
|
|
@@ -4186,67 +4201,67 @@ function ds(e, t) {
|
|
|
4186
4201
|
const m = V(i);
|
|
4187
4202
|
m && Object.keys(m).length && (e.contexts = { ...m, ...e.contexts }), c && (e.level = c), u && e.type !== "transaction" && (e.transaction = u);
|
|
4188
4203
|
}
|
|
4189
|
-
function
|
|
4204
|
+
function hs(e, t) {
|
|
4190
4205
|
const n = [...e.breadcrumbs || [], ...t];
|
|
4191
4206
|
e.breadcrumbs = n.length ? n : void 0;
|
|
4192
4207
|
}
|
|
4193
|
-
function
|
|
4208
|
+
function ps(e, t) {
|
|
4194
4209
|
e.sdkProcessingMetadata = {
|
|
4195
4210
|
...e.sdkProcessingMetadata,
|
|
4196
4211
|
...t
|
|
4197
4212
|
};
|
|
4198
4213
|
}
|
|
4199
|
-
function
|
|
4214
|
+
function gs(e, t) {
|
|
4200
4215
|
e.contexts = {
|
|
4201
|
-
trace:
|
|
4216
|
+
trace: Oo(t),
|
|
4202
4217
|
...e.contexts
|
|
4203
4218
|
}, e.sdkProcessingMetadata = {
|
|
4204
|
-
dynamicSamplingContext:
|
|
4219
|
+
dynamicSamplingContext: Jo(t),
|
|
4205
4220
|
...e.sdkProcessingMetadata
|
|
4206
4221
|
};
|
|
4207
|
-
const n =
|
|
4222
|
+
const n = $n(t), r = Ft(n).description;
|
|
4208
4223
|
r && !e.transaction && e.type === "transaction" && (e.transaction = r);
|
|
4209
4224
|
}
|
|
4210
|
-
function
|
|
4225
|
+
function ys(e, t) {
|
|
4211
4226
|
e.fingerprint = e.fingerprint ? Array.isArray(e.fingerprint) ? e.fingerprint : [e.fingerprint] : [], t && (e.fingerprint = e.fingerprint.concat(t)), e.fingerprint && !e.fingerprint.length && delete e.fingerprint;
|
|
4212
4227
|
}
|
|
4213
|
-
function
|
|
4228
|
+
function ms(e, t, n, r, o, i) {
|
|
4214
4229
|
const { normalizeDepth: c = 3, normalizeMaxBreadth: u = 1e3 } = e, l = {
|
|
4215
4230
|
...t,
|
|
4216
4231
|
event_id: t.event_id || n.event_id || te(),
|
|
4217
|
-
timestamp: t.timestamp ||
|
|
4232
|
+
timestamp: t.timestamp || ct()
|
|
4218
4233
|
}, h = n.integrations || e.integrations.map((S) => S.name);
|
|
4219
|
-
|
|
4220
|
-
const y =
|
|
4221
|
-
n.mechanism &&
|
|
4222
|
-
const m = o ? o.getEventProcessors() : [], b =
|
|
4234
|
+
Cs(l, e), vs(l, h), o && o.emit("applyFrameMetadata", t), t.type === void 0 && bs(l, e.stackParser);
|
|
4235
|
+
const y = Bs(r, n.captureContext);
|
|
4236
|
+
n.mechanism && Qe(l, n.mechanism);
|
|
4237
|
+
const m = o ? o.getEventProcessors() : [], b = Co().getScopeData();
|
|
4223
4238
|
if (i) {
|
|
4224
4239
|
const S = i.getScopeData();
|
|
4225
|
-
|
|
4240
|
+
_n(b, S);
|
|
4226
4241
|
}
|
|
4227
4242
|
if (y) {
|
|
4228
4243
|
const S = y.getScopeData();
|
|
4229
|
-
|
|
4244
|
+
_n(b, S);
|
|
4230
4245
|
}
|
|
4231
4246
|
const I = [...n.attachments || [], ...b.attachments];
|
|
4232
|
-
I.length && (n.attachments = I),
|
|
4247
|
+
I.length && (n.attachments = I), ds(l, b);
|
|
4233
4248
|
const B = [
|
|
4234
4249
|
...m,
|
|
4235
4250
|
// Run scope event processors _after_ all other processors
|
|
4236
4251
|
...b.eventProcessors
|
|
4237
4252
|
];
|
|
4238
|
-
return
|
|
4253
|
+
return kt(B, l, n).then((S) => (S && Es(S), typeof c == "number" && c > 0 ? Is(S, c, u) : S));
|
|
4239
4254
|
}
|
|
4240
|
-
function
|
|
4255
|
+
function Cs(e, t) {
|
|
4241
4256
|
const { environment: n, release: r, dist: o, maxValueLength: i = 250 } = t;
|
|
4242
|
-
e.environment = e.environment || n ||
|
|
4257
|
+
e.environment = e.environment || n || er, !e.release && r && (e.release = r), !e.dist && o && (e.dist = o), e.message && (e.message = _e(e.message, i));
|
|
4243
4258
|
const c = e.exception && e.exception.values && e.exception.values[0];
|
|
4244
|
-
c && c.value && (c.value =
|
|
4259
|
+
c && c.value && (c.value = _e(c.value, i));
|
|
4245
4260
|
const u = e.request;
|
|
4246
|
-
u && u.url && (u.url =
|
|
4261
|
+
u && u.url && (u.url = _e(u.url, i));
|
|
4247
4262
|
}
|
|
4248
|
-
function
|
|
4249
|
-
const n =
|
|
4263
|
+
function bs(e, t) {
|
|
4264
|
+
const n = As(t);
|
|
4250
4265
|
try {
|
|
4251
4266
|
e.exception.values.forEach((r) => {
|
|
4252
4267
|
r.stacktrace.frames.forEach((o) => {
|
|
@@ -4256,7 +4271,7 @@ function Cs(e, t) {
|
|
|
4256
4271
|
} catch {
|
|
4257
4272
|
}
|
|
4258
4273
|
}
|
|
4259
|
-
function
|
|
4274
|
+
function Es(e) {
|
|
4260
4275
|
const t = {};
|
|
4261
4276
|
try {
|
|
4262
4277
|
e.exception.values.forEach((r) => {
|
|
@@ -4278,10 +4293,10 @@ function bs(e) {
|
|
|
4278
4293
|
});
|
|
4279
4294
|
});
|
|
4280
4295
|
}
|
|
4281
|
-
function
|
|
4296
|
+
function vs(e, t) {
|
|
4282
4297
|
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t]);
|
|
4283
4298
|
}
|
|
4284
|
-
function
|
|
4299
|
+
function Is(e, t, n) {
|
|
4285
4300
|
if (!e)
|
|
4286
4301
|
return null;
|
|
4287
4302
|
const r = {
|
|
@@ -4311,46 +4326,46 @@ function vs(e, t, n) {
|
|
|
4311
4326
|
}
|
|
4312
4327
|
}))), e.contexts && e.contexts.flags && r.contexts && (r.contexts.flags = oe(e.contexts.flags, 3, n)), r;
|
|
4313
4328
|
}
|
|
4314
|
-
function
|
|
4329
|
+
function Bs(e, t) {
|
|
4315
4330
|
if (!t)
|
|
4316
4331
|
return e;
|
|
4317
|
-
const n = e ? e.clone() : new
|
|
4332
|
+
const n = e ? e.clone() : new ue();
|
|
4318
4333
|
return n.update(t), n;
|
|
4319
4334
|
}
|
|
4320
|
-
const
|
|
4321
|
-
function
|
|
4335
|
+
const Ss = "7";
|
|
4336
|
+
function _s(e) {
|
|
4322
4337
|
const t = e.protocol ? `${e.protocol}:` : "", n = e.port ? `:${e.port}` : "";
|
|
4323
4338
|
return `${t}//${e.host}${n}${e.path ? `/${e.path}` : ""}/api/`;
|
|
4324
4339
|
}
|
|
4325
|
-
function
|
|
4326
|
-
return `${
|
|
4340
|
+
function Qs(e) {
|
|
4341
|
+
return `${_s(e)}${e.projectId}/envelope/`;
|
|
4327
4342
|
}
|
|
4328
|
-
function
|
|
4343
|
+
function ks(e, t) {
|
|
4329
4344
|
const n = {
|
|
4330
|
-
sentry_version:
|
|
4345
|
+
sentry_version: Ss
|
|
4331
4346
|
};
|
|
4332
4347
|
return e.publicKey && (n.sentry_key = e.publicKey), t && (n.sentry_client = `${t.name}/${t.version}`), new URLSearchParams(n).toString();
|
|
4333
4348
|
}
|
|
4334
|
-
function
|
|
4335
|
-
return t || `${
|
|
4349
|
+
function Ps(e, t, n) {
|
|
4350
|
+
return t || `${Qs(e)}?${ks(e, n)}`;
|
|
4336
4351
|
}
|
|
4337
|
-
const
|
|
4338
|
-
function
|
|
4352
|
+
const Qn = [];
|
|
4353
|
+
function ws(e, t) {
|
|
4339
4354
|
const n = {};
|
|
4340
4355
|
return t.forEach((r) => {
|
|
4341
|
-
r &&
|
|
4356
|
+
r && sr(e, r, n);
|
|
4342
4357
|
}), n;
|
|
4343
4358
|
}
|
|
4344
|
-
function
|
|
4359
|
+
function kn(e, t) {
|
|
4345
4360
|
for (const n of t)
|
|
4346
4361
|
n && n.afterAllSetup && n.afterAllSetup(e);
|
|
4347
4362
|
}
|
|
4348
|
-
function
|
|
4363
|
+
function sr(e, t, n) {
|
|
4349
4364
|
if (n[t.name]) {
|
|
4350
4365
|
U && N.log(`Integration skipped because it was already installed: ${t.name}`);
|
|
4351
4366
|
return;
|
|
4352
4367
|
}
|
|
4353
|
-
if (n[t.name] = t,
|
|
4368
|
+
if (n[t.name] = t, Qn.indexOf(t.name) === -1 && typeof t.setupOnce == "function" && (t.setupOnce(), Qn.push(t.name)), t.setup && typeof t.setup == "function" && t.setup(e), typeof t.preprocessEvent == "function") {
|
|
4354
4369
|
const r = t.preprocessEvent.bind(t);
|
|
4355
4370
|
e.on("preprocessEvent", (o, i) => r(o, i, e));
|
|
4356
4371
|
}
|
|
@@ -4362,23 +4377,23 @@ function or(e, t, n) {
|
|
|
4362
4377
|
}
|
|
4363
4378
|
U && N.log(`Integration installed: ${t.name}`);
|
|
4364
4379
|
}
|
|
4365
|
-
function
|
|
4380
|
+
function Ts(e, t, n) {
|
|
4366
4381
|
const r = [
|
|
4367
4382
|
{ type: "client_report" },
|
|
4368
4383
|
{
|
|
4369
|
-
timestamp:
|
|
4384
|
+
timestamp: ct(),
|
|
4370
4385
|
discarded_events: e
|
|
4371
4386
|
}
|
|
4372
4387
|
];
|
|
4373
|
-
return
|
|
4388
|
+
return Te(t ? { dsn: t } : {}, [r]);
|
|
4374
4389
|
}
|
|
4375
4390
|
class Y extends Error {
|
|
4376
4391
|
constructor(t, n = "warn") {
|
|
4377
4392
|
super(t), this.message = t, this.logLevel = n;
|
|
4378
4393
|
}
|
|
4379
4394
|
}
|
|
4380
|
-
const
|
|
4381
|
-
class
|
|
4395
|
+
const Pn = "Not capturing exception because it's already been captured.";
|
|
4396
|
+
class Ls {
|
|
4382
4397
|
/** Options passed to the SDK. */
|
|
4383
4398
|
/** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */
|
|
4384
4399
|
/** Array of set up integrations. */
|
|
@@ -4391,8 +4406,8 @@ class Ts {
|
|
|
4391
4406
|
* @param options Options for the client.
|
|
4392
4407
|
*/
|
|
4393
4408
|
constructor(t) {
|
|
4394
|
-
if (this._options = t, this._integrations = {}, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], t.dsn ? this._dsn =
|
|
4395
|
-
const o =
|
|
4409
|
+
if (this._options = t, this._integrations = {}, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], t.dsn ? this._dsn = Yo(t.dsn) : U && N.warn("No DSN provided, client will not send events."), this._dsn) {
|
|
4410
|
+
const o = Ps(
|
|
4396
4411
|
this._dsn,
|
|
4397
4412
|
t.tunnel,
|
|
4398
4413
|
t._metadata ? t._metadata.sdk : void 0
|
|
@@ -4405,7 +4420,7 @@ class Ts {
|
|
|
4405
4420
|
});
|
|
4406
4421
|
}
|
|
4407
4422
|
const r = ["enableTracing", "tracesSampleRate", "tracesSampler"].find((o) => o in t && t[o] == null);
|
|
4408
|
-
r &&
|
|
4423
|
+
r && ot(() => {
|
|
4409
4424
|
console.warn(
|
|
4410
4425
|
`[Sentry] Deprecation warning: \`${r}\` is set to undefined, which leads to tracing being enabled. In v9, a value of \`undefined\` will result in tracing being disabled.`
|
|
4411
4426
|
);
|
|
@@ -4416,8 +4431,8 @@ class Ts {
|
|
|
4416
4431
|
*/
|
|
4417
4432
|
captureException(t, n, r) {
|
|
4418
4433
|
const o = te();
|
|
4419
|
-
if (
|
|
4420
|
-
return U && N.log(
|
|
4434
|
+
if (hn(t))
|
|
4435
|
+
return U && N.log(Pn), o;
|
|
4421
4436
|
const i = {
|
|
4422
4437
|
event_id: o,
|
|
4423
4438
|
...n
|
|
@@ -4435,7 +4450,7 @@ class Ts {
|
|
|
4435
4450
|
const i = {
|
|
4436
4451
|
event_id: te(),
|
|
4437
4452
|
...r
|
|
4438
|
-
}, c =
|
|
4453
|
+
}, c = Mt(t) ? t : String(t), u = Vr(t) ? this.eventFromMessage(c, n, i) : this.eventFromException(t, i);
|
|
4439
4454
|
return this._process(u.then((l) => this._captureEvent(l, i, o))), i.event_id;
|
|
4440
4455
|
}
|
|
4441
4456
|
/**
|
|
@@ -4443,8 +4458,8 @@ class Ts {
|
|
|
4443
4458
|
*/
|
|
4444
4459
|
captureEvent(t, n, r) {
|
|
4445
4460
|
const o = te();
|
|
4446
|
-
if (n && n.originalException &&
|
|
4447
|
-
return U && N.log(
|
|
4461
|
+
if (n && n.originalException && hn(n.originalException))
|
|
4462
|
+
return U && N.log(Pn), o;
|
|
4448
4463
|
const i = {
|
|
4449
4464
|
event_id: o,
|
|
4450
4465
|
...n
|
|
@@ -4455,7 +4470,7 @@ class Ts {
|
|
|
4455
4470
|
* @inheritDoc
|
|
4456
4471
|
*/
|
|
4457
4472
|
captureSession(t) {
|
|
4458
|
-
typeof t.release != "string" ? U && N.warn("Discarded session because of missing or non-string release") : (this.sendSession(t),
|
|
4473
|
+
typeof t.release != "string" ? U && N.warn("Discarded session because of missing or non-string release") : (this.sendSession(t), It(t, { init: !1 }));
|
|
4459
4474
|
}
|
|
4460
4475
|
/**
|
|
4461
4476
|
* @inheritDoc
|
|
@@ -4488,7 +4503,7 @@ class Ts {
|
|
|
4488
4503
|
*/
|
|
4489
4504
|
flush(t) {
|
|
4490
4505
|
const n = this._transport;
|
|
4491
|
-
return n ? (this.emit("flush"), this._isClientDoneProcessing(t).then((r) => n.flush(t).then((o) => r && o))) :
|
|
4506
|
+
return n ? (this.emit("flush"), this._isClientDoneProcessing(t).then((r) => n.flush(t).then((o) => r && o))) : pe(!0);
|
|
4492
4507
|
}
|
|
4493
4508
|
/**
|
|
4494
4509
|
* @inheritDoc
|
|
@@ -4526,16 +4541,16 @@ class Ts {
|
|
|
4526
4541
|
*/
|
|
4527
4542
|
addIntegration(t) {
|
|
4528
4543
|
const n = this._integrations[t.name];
|
|
4529
|
-
|
|
4544
|
+
sr(this, t, this._integrations), n || kn(this, [t]);
|
|
4530
4545
|
}
|
|
4531
4546
|
/**
|
|
4532
4547
|
* @inheritDoc
|
|
4533
4548
|
*/
|
|
4534
4549
|
sendEvent(t, n = {}) {
|
|
4535
4550
|
this.emit("beforeSendEvent", t, n);
|
|
4536
|
-
let r =
|
|
4551
|
+
let r = ls(t, this._dsn, this._options._metadata, this._options.tunnel);
|
|
4537
4552
|
for (const i of n.attachments || [])
|
|
4538
|
-
r =
|
|
4553
|
+
r = ns(r, ss(i));
|
|
4539
4554
|
const o = this.sendEnvelope(r);
|
|
4540
4555
|
o && o.then((i) => this.emit("afterSendEvent", t, i), null);
|
|
4541
4556
|
}
|
|
@@ -4543,7 +4558,7 @@ class Ts {
|
|
|
4543
4558
|
* @inheritDoc
|
|
4544
4559
|
*/
|
|
4545
4560
|
sendSession(t) {
|
|
4546
|
-
const n =
|
|
4561
|
+
const n = us(t, this._dsn, this._options._metadata, this._options.tunnel);
|
|
4547
4562
|
this.sendEnvelope(n);
|
|
4548
4563
|
}
|
|
4549
4564
|
/**
|
|
@@ -4576,13 +4591,13 @@ class Ts {
|
|
|
4576
4591
|
* @inheritdoc
|
|
4577
4592
|
*/
|
|
4578
4593
|
sendEnvelope(t) {
|
|
4579
|
-
return this.emit("beforeEnvelope", t), this._isEnabled() && this._transport ? this._transport.send(t).then(null, (n) => (U && N.error("Error while sending envelope:", n), n)) : (U && N.error("Transport disabled"),
|
|
4594
|
+
return this.emit("beforeEnvelope", t), this._isEnabled() && this._transport ? this._transport.send(t).then(null, (n) => (U && N.error("Error while sending envelope:", n), n)) : (U && N.error("Transport disabled"), pe({}));
|
|
4580
4595
|
}
|
|
4581
4596
|
/* eslint-enable @typescript-eslint/unified-signatures */
|
|
4582
4597
|
/** Setup integrations for this client. */
|
|
4583
4598
|
_setupIntegrations() {
|
|
4584
4599
|
const { integrations: t } = this._options;
|
|
4585
|
-
this._integrations =
|
|
4600
|
+
this._integrations = ws(this, t), kn(this, t);
|
|
4586
4601
|
}
|
|
4587
4602
|
/** Updates existing session based on the provided event */
|
|
4588
4603
|
_updateSessionFromEvent(t, n) {
|
|
@@ -4599,7 +4614,7 @@ class Ts {
|
|
|
4599
4614
|
}
|
|
4600
4615
|
}
|
|
4601
4616
|
const c = t.status === "ok";
|
|
4602
|
-
(c && t.errors === 0 || c && r) && (
|
|
4617
|
+
(c && t.errors === 0 || c && r) && (It(t, {
|
|
4603
4618
|
...r && { status: "crashed" },
|
|
4604
4619
|
errors: t.errors || Number(o || r)
|
|
4605
4620
|
}), this.captureSession(t));
|
|
@@ -4640,16 +4655,16 @@ class Ts {
|
|
|
4640
4655
|
* @param currentScope A scope containing event metadata.
|
|
4641
4656
|
* @returns A new event with more information.
|
|
4642
4657
|
*/
|
|
4643
|
-
_prepareEvent(t, n, r =
|
|
4658
|
+
_prepareEvent(t, n, r = Zn(), o = mo()) {
|
|
4644
4659
|
const i = this.getOptions(), c = Object.keys(this._integrations);
|
|
4645
|
-
return !n.integrations && c.length > 0 && (n.integrations = c), this.emit("preprocessEvent", t, n), t.type || o.setLastEventId(t.event_id || n.event_id),
|
|
4660
|
+
return !n.integrations && c.length > 0 && (n.integrations = c), this.emit("preprocessEvent", t, n), t.type || o.setLastEventId(t.event_id || n.event_id), ms(i, t, n, r, this, o).then((u) => {
|
|
4646
4661
|
if (u === null)
|
|
4647
4662
|
return u;
|
|
4648
4663
|
u.contexts = {
|
|
4649
|
-
trace:
|
|
4664
|
+
trace: bo(r),
|
|
4650
4665
|
...u.contexts
|
|
4651
4666
|
};
|
|
4652
|
-
const l =
|
|
4667
|
+
const l = jo(this, r);
|
|
4653
4668
|
return u.sdkProcessingMetadata = {
|
|
4654
4669
|
dynamicSamplingContext: l,
|
|
4655
4670
|
...u.sdkProcessingMetadata
|
|
@@ -4684,9 +4699,9 @@ class Ts {
|
|
|
4684
4699
|
* @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.
|
|
4685
4700
|
*/
|
|
4686
4701
|
_processEvent(t, n, r) {
|
|
4687
|
-
const o = this.getOptions(), { sampleRate: i } = o, c =
|
|
4702
|
+
const o = this.getOptions(), { sampleRate: i } = o, c = ar(t), u = ir(t), l = t.type || "error", h = `before send for type \`${l}\``, y = typeof i > "u" ? void 0 : qo(i);
|
|
4688
4703
|
if (u && typeof y == "number" && Math.random() > y)
|
|
4689
|
-
return this.recordDroppedEvent("sample_rate", "error", t),
|
|
4704
|
+
return this.recordDroppedEvent("sample_rate", "error", t), Ye(
|
|
4690
4705
|
new Y(
|
|
4691
4706
|
`Discarding event because it's not included in the random sample (sampling rate = ${i})`,
|
|
4692
4707
|
"log"
|
|
@@ -4698,8 +4713,8 @@ class Ts {
|
|
|
4698
4713
|
throw this.recordDroppedEvent("event_processor", m, t), new Y("An event processor returned `null`, will not send event.", "log");
|
|
4699
4714
|
if (n.data && n.data.__sentry__ === !0)
|
|
4700
4715
|
return B;
|
|
4701
|
-
const S =
|
|
4702
|
-
return
|
|
4716
|
+
const S = Os(this, o, B, n);
|
|
4717
|
+
return Rs(S, h);
|
|
4703
4718
|
}).then((B) => {
|
|
4704
4719
|
if (B === null) {
|
|
4705
4720
|
if (this.recordDroppedEvent("before_send", m, t), c) {
|
|
@@ -4772,19 +4787,19 @@ Reason: ${B}`
|
|
|
4772
4787
|
return;
|
|
4773
4788
|
}
|
|
4774
4789
|
U && N.log("Sending outcomes:", t);
|
|
4775
|
-
const n =
|
|
4790
|
+
const n = Ts(t, this._options.tunnel && lt(this._dsn));
|
|
4776
4791
|
this.sendEnvelope(n);
|
|
4777
4792
|
}
|
|
4778
4793
|
/**
|
|
4779
4794
|
* @inheritDoc
|
|
4780
4795
|
*/
|
|
4781
4796
|
}
|
|
4782
|
-
function
|
|
4797
|
+
function Rs(e, t) {
|
|
4783
4798
|
const n = `${t} must return \`null\` or a valid event.`;
|
|
4784
|
-
if (
|
|
4799
|
+
if (it(e))
|
|
4785
4800
|
return e.then(
|
|
4786
4801
|
(r) => {
|
|
4787
|
-
if (!
|
|
4802
|
+
if (!Ee(r) && r !== null)
|
|
4788
4803
|
throw new Y(n);
|
|
4789
4804
|
return r;
|
|
4790
4805
|
},
|
|
@@ -4792,20 +4807,20 @@ function Ls(e, t) {
|
|
|
4792
4807
|
throw new Y(`${t} rejected with ${r}`);
|
|
4793
4808
|
}
|
|
4794
4809
|
);
|
|
4795
|
-
if (!
|
|
4810
|
+
if (!Ee(e) && e !== null)
|
|
4796
4811
|
throw new Y(n);
|
|
4797
4812
|
return e;
|
|
4798
4813
|
}
|
|
4799
|
-
function
|
|
4814
|
+
function Os(e, t, n, r) {
|
|
4800
4815
|
const { beforeSend: o, beforeSendTransaction: i, beforeSendSpan: c } = t;
|
|
4801
|
-
if (
|
|
4816
|
+
if (ir(n) && o)
|
|
4802
4817
|
return o(n, r);
|
|
4803
|
-
if (
|
|
4818
|
+
if (ar(n)) {
|
|
4804
4819
|
if (n.spans && c) {
|
|
4805
4820
|
const u = [];
|
|
4806
4821
|
for (const l of n.spans) {
|
|
4807
4822
|
const h = c(l);
|
|
4808
|
-
h ? u.push(h) : (
|
|
4823
|
+
h ? u.push(h) : (Fo(), e.recordDroppedEvent("before_send", "span"));
|
|
4809
4824
|
}
|
|
4810
4825
|
n.spans = u;
|
|
4811
4826
|
}
|
|
@@ -4822,13 +4837,13 @@ function Rs(e, t, n, r) {
|
|
|
4822
4837
|
}
|
|
4823
4838
|
return n;
|
|
4824
4839
|
}
|
|
4825
|
-
function
|
|
4840
|
+
function ir(e) {
|
|
4826
4841
|
return e.type === void 0;
|
|
4827
4842
|
}
|
|
4828
|
-
function
|
|
4843
|
+
function ar(e) {
|
|
4829
4844
|
return e.type === "transaction";
|
|
4830
4845
|
}
|
|
4831
|
-
function
|
|
4846
|
+
function Ns(e) {
|
|
4832
4847
|
const t = [];
|
|
4833
4848
|
function n() {
|
|
4834
4849
|
return e === void 0 || t.length < e;
|
|
@@ -4838,7 +4853,7 @@ function Os(e) {
|
|
|
4838
4853
|
}
|
|
4839
4854
|
function o(c) {
|
|
4840
4855
|
if (!n())
|
|
4841
|
-
return
|
|
4856
|
+
return Ye(new Y("Not adding Promise because buffer limit was reached."));
|
|
4842
4857
|
const u = c();
|
|
4843
4858
|
return t.indexOf(u) === -1 && t.push(u), u.then(() => r(u)).then(
|
|
4844
4859
|
null,
|
|
@@ -4855,7 +4870,7 @@ function Os(e) {
|
|
|
4855
4870
|
c && c > 0 && u(!1);
|
|
4856
4871
|
}, c);
|
|
4857
4872
|
t.forEach((m) => {
|
|
4858
|
-
|
|
4873
|
+
pe(m).then(() => {
|
|
4859
4874
|
--h || (clearTimeout(y), u(!0));
|
|
4860
4875
|
}, l);
|
|
4861
4876
|
});
|
|
@@ -4867,21 +4882,21 @@ function Os(e) {
|
|
|
4867
4882
|
drain: i
|
|
4868
4883
|
};
|
|
4869
4884
|
}
|
|
4870
|
-
const
|
|
4871
|
-
function
|
|
4885
|
+
const Ds = 60 * 1e3;
|
|
4886
|
+
function Ms(e, t = Date.now()) {
|
|
4872
4887
|
const n = parseInt(`${e}`, 10);
|
|
4873
4888
|
if (!isNaN(n))
|
|
4874
4889
|
return n * 1e3;
|
|
4875
4890
|
const r = Date.parse(`${e}`);
|
|
4876
|
-
return isNaN(r) ?
|
|
4891
|
+
return isNaN(r) ? Ds : r - t;
|
|
4877
4892
|
}
|
|
4878
|
-
function
|
|
4893
|
+
function xs(e, t) {
|
|
4879
4894
|
return e[t] || e.all || 0;
|
|
4880
4895
|
}
|
|
4881
|
-
function
|
|
4882
|
-
return
|
|
4896
|
+
function Us(e, t, n = Date.now()) {
|
|
4897
|
+
return xs(e, t) > n;
|
|
4883
4898
|
}
|
|
4884
|
-
function
|
|
4899
|
+
function Fs(e, { statusCode: t, headers: n }, r = Date.now()) {
|
|
4885
4900
|
const o = {
|
|
4886
4901
|
...e
|
|
4887
4902
|
}, i = n && n["x-sentry-rate-limits"], c = n && n["retry-after"];
|
|
@@ -4894,33 +4909,33 @@ function Us(e, { statusCode: t, headers: n }, r = Date.now()) {
|
|
|
4894
4909
|
for (const I of h.split(";"))
|
|
4895
4910
|
I === "metric_bucket" ? (!y || y.split(";").includes("custom")) && (o[I] = r + b) : o[I] = r + b;
|
|
4896
4911
|
}
|
|
4897
|
-
else c ? o.all = r +
|
|
4912
|
+
else c ? o.all = r + Ms(c, r) : t === 429 && (o.all = r + 60 * 1e3);
|
|
4898
4913
|
return o;
|
|
4899
4914
|
}
|
|
4900
|
-
const
|
|
4901
|
-
function
|
|
4902
|
-
e.bufferSize ||
|
|
4915
|
+
const Xs = 64;
|
|
4916
|
+
function Hs(e, t, n = Ns(
|
|
4917
|
+
e.bufferSize || Xs
|
|
4903
4918
|
)) {
|
|
4904
4919
|
let r = {};
|
|
4905
4920
|
const o = (c) => n.drain(c);
|
|
4906
4921
|
function i(c) {
|
|
4907
4922
|
const u = [];
|
|
4908
|
-
if (
|
|
4909
|
-
const I =
|
|
4910
|
-
if (
|
|
4911
|
-
const B =
|
|
4923
|
+
if (In(c, (m, b) => {
|
|
4924
|
+
const I = Bn(b);
|
|
4925
|
+
if (Us(r, I)) {
|
|
4926
|
+
const B = wn(m, b);
|
|
4912
4927
|
e.recordDroppedEvent("ratelimit_backoff", I, B);
|
|
4913
4928
|
} else
|
|
4914
4929
|
u.push(m);
|
|
4915
4930
|
}), u.length === 0)
|
|
4916
|
-
return
|
|
4917
|
-
const l =
|
|
4918
|
-
|
|
4919
|
-
const B =
|
|
4920
|
-
e.recordDroppedEvent(m,
|
|
4931
|
+
return pe({});
|
|
4932
|
+
const l = Te(c[0], u), h = (m) => {
|
|
4933
|
+
In(l, (b, I) => {
|
|
4934
|
+
const B = wn(b, I);
|
|
4935
|
+
e.recordDroppedEvent(m, Bn(I), B);
|
|
4921
4936
|
});
|
|
4922
|
-
}, y = () => t({ body:
|
|
4923
|
-
(m) => (m.statusCode !== void 0 && (m.statusCode < 200 || m.statusCode >= 300) && U && N.warn(`Sentry responded with status code ${m.statusCode} to sent event.`), r =
|
|
4937
|
+
}, y = () => t({ body: rs(l) }).then(
|
|
4938
|
+
(m) => (m.statusCode !== void 0 && (m.statusCode < 200 || m.statusCode >= 300) && U && N.warn(`Sentry responded with status code ${m.statusCode} to sent event.`), r = Fs(r, m), m),
|
|
4924
4939
|
(m) => {
|
|
4925
4940
|
throw h("network_error"), m;
|
|
4926
4941
|
}
|
|
@@ -4929,7 +4944,7 @@ function Xs(e, t, n = Os(
|
|
|
4929
4944
|
(m) => m,
|
|
4930
4945
|
(m) => {
|
|
4931
4946
|
if (m instanceof Y)
|
|
4932
|
-
return U && N.error("Skipped sending event because buffer is full."), h("queue_overflow"),
|
|
4947
|
+
return U && N.error("Skipped sending event because buffer is full."), h("queue_overflow"), pe({});
|
|
4933
4948
|
throw m;
|
|
4934
4949
|
}
|
|
4935
4950
|
);
|
|
@@ -4939,43 +4954,43 @@ function Xs(e, t, n = Os(
|
|
|
4939
4954
|
flush: o
|
|
4940
4955
|
};
|
|
4941
4956
|
}
|
|
4942
|
-
function
|
|
4957
|
+
function wn(e, t) {
|
|
4943
4958
|
if (!(t !== "event" && t !== "transaction"))
|
|
4944
4959
|
return Array.isArray(e) ? e[1] : void 0;
|
|
4945
4960
|
}
|
|
4946
|
-
function
|
|
4961
|
+
function js(e, t, n = [t], r = "npm") {
|
|
4947
4962
|
const o = e._metadata || {};
|
|
4948
4963
|
o.sdk || (o.sdk = {
|
|
4949
4964
|
name: `sentry.javascript.${t}`,
|
|
4950
4965
|
packages: n.map((i) => ({
|
|
4951
4966
|
name: `${r}:@sentry/${i}`,
|
|
4952
|
-
version:
|
|
4967
|
+
version: he
|
|
4953
4968
|
})),
|
|
4954
|
-
version:
|
|
4969
|
+
version: he
|
|
4955
4970
|
}), e._metadata = o;
|
|
4956
4971
|
}
|
|
4957
|
-
function
|
|
4972
|
+
function Js(e) {
|
|
4958
4973
|
return e && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString());
|
|
4959
4974
|
}
|
|
4960
|
-
function
|
|
4975
|
+
function qs() {
|
|
4961
4976
|
return "npm";
|
|
4962
4977
|
}
|
|
4963
|
-
const
|
|
4964
|
-
function
|
|
4965
|
-
const n =
|
|
4966
|
-
type:
|
|
4967
|
-
value:
|
|
4978
|
+
const Ue = j, zs = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__;
|
|
4979
|
+
function cr(e, t) {
|
|
4980
|
+
const n = Xt(e, t), r = {
|
|
4981
|
+
type: Vs(t),
|
|
4982
|
+
value: Zs(t)
|
|
4968
4983
|
};
|
|
4969
4984
|
return n.length && (r.stacktrace = { frames: n }), r.type === void 0 && r.value === "" && (r.value = "Unrecoverable error caught"), r;
|
|
4970
4985
|
}
|
|
4971
|
-
function
|
|
4972
|
-
const o =
|
|
4973
|
-
__serialized__:
|
|
4986
|
+
function Ks(e, t, n, r) {
|
|
4987
|
+
const o = Ut(), i = o && o.getOptions().normalizeDepth, c = oi(t), u = {
|
|
4988
|
+
__serialized__: rr(t, i)
|
|
4974
4989
|
};
|
|
4975
4990
|
if (c)
|
|
4976
4991
|
return {
|
|
4977
4992
|
exception: {
|
|
4978
|
-
values: [
|
|
4993
|
+
values: [cr(e, c)]
|
|
4979
4994
|
},
|
|
4980
4995
|
extra: u
|
|
4981
4996
|
};
|
|
@@ -4983,89 +4998,89 @@ function zs(e, t, n, r) {
|
|
|
4983
4998
|
exception: {
|
|
4984
4999
|
values: [
|
|
4985
5000
|
{
|
|
4986
|
-
type:
|
|
4987
|
-
value:
|
|
5001
|
+
type: st(t) ? t.constructor.name : r ? "UnhandledRejection" : "Error",
|
|
5002
|
+
value: ni(t, { isUnhandledRejection: r })
|
|
4988
5003
|
}
|
|
4989
5004
|
]
|
|
4990
5005
|
},
|
|
4991
5006
|
extra: u
|
|
4992
5007
|
};
|
|
4993
5008
|
if (n) {
|
|
4994
|
-
const h =
|
|
5009
|
+
const h = Xt(e, n);
|
|
4995
5010
|
h.length && (l.exception.values[0].stacktrace = { frames: h });
|
|
4996
5011
|
}
|
|
4997
5012
|
return l;
|
|
4998
5013
|
}
|
|
4999
|
-
function
|
|
5014
|
+
function gt(e, t) {
|
|
5000
5015
|
return {
|
|
5001
5016
|
exception: {
|
|
5002
|
-
values: [
|
|
5017
|
+
values: [cr(e, t)]
|
|
5003
5018
|
}
|
|
5004
5019
|
};
|
|
5005
5020
|
}
|
|
5006
|
-
function
|
|
5007
|
-
const n = t.stacktrace || t.stack || "", r =
|
|
5021
|
+
function Xt(e, t) {
|
|
5022
|
+
const n = t.stacktrace || t.stack || "", r = Ws(t), o = Ys(t);
|
|
5008
5023
|
try {
|
|
5009
5024
|
return e(n, r, o);
|
|
5010
5025
|
} catch {
|
|
5011
5026
|
}
|
|
5012
5027
|
return [];
|
|
5013
5028
|
}
|
|
5014
|
-
const
|
|
5015
|
-
function Gs(e) {
|
|
5016
|
-
return e && Ks.test(e.message) ? 1 : 0;
|
|
5017
|
-
}
|
|
5029
|
+
const Gs = /Minified React error #\d+;/i;
|
|
5018
5030
|
function Ws(e) {
|
|
5031
|
+
return e && Gs.test(e.message) ? 1 : 0;
|
|
5032
|
+
}
|
|
5033
|
+
function Ys(e) {
|
|
5019
5034
|
return typeof e.framesToPop == "number" ? e.framesToPop : 0;
|
|
5020
5035
|
}
|
|
5021
|
-
function
|
|
5036
|
+
function ur(e) {
|
|
5022
5037
|
return typeof WebAssembly < "u" && typeof WebAssembly.Exception < "u" ? e instanceof WebAssembly.Exception : !1;
|
|
5023
5038
|
}
|
|
5024
|
-
function
|
|
5039
|
+
function Vs(e) {
|
|
5025
5040
|
const t = e && e.name;
|
|
5026
|
-
return !t &&
|
|
5041
|
+
return !t && ur(e) ? e.message && Array.isArray(e.message) && e.message.length == 2 ? e.message[0] : "WebAssembly.Exception" : t;
|
|
5027
5042
|
}
|
|
5028
|
-
function
|
|
5043
|
+
function Zs(e) {
|
|
5029
5044
|
const t = e && e.message;
|
|
5030
|
-
return t ? t.error && typeof t.error.message == "string" ? t.error.message :
|
|
5045
|
+
return t ? t.error && typeof t.error.message == "string" ? t.error.message : ur(e) && Array.isArray(e.message) && e.message.length == 2 ? e.message[1] : t : "No error message";
|
|
5031
5046
|
}
|
|
5032
|
-
function
|
|
5033
|
-
const o = n && n.syntheticException || void 0, i =
|
|
5034
|
-
return
|
|
5047
|
+
function $s(e, t, n, r) {
|
|
5048
|
+
const o = n && n.syntheticException || void 0, i = ti(e, t, o, r);
|
|
5049
|
+
return Qe(i), i.level = "error", n && n.event_id && (i.event_id = n.event_id), pe(i);
|
|
5035
5050
|
}
|
|
5036
|
-
function
|
|
5037
|
-
const i = r && r.syntheticException || void 0, c =
|
|
5038
|
-
return c.level = n, r && r.event_id && (c.event_id = r.event_id),
|
|
5051
|
+
function ei(e, t, n = "info", r, o) {
|
|
5052
|
+
const i = r && r.syntheticException || void 0, c = Pt(e, t, i, o);
|
|
5053
|
+
return c.level = n, r && r.event_id && (c.event_id = r.event_id), pe(c);
|
|
5039
5054
|
}
|
|
5040
|
-
function
|
|
5055
|
+
function ti(e, t, n, r, o) {
|
|
5041
5056
|
let i;
|
|
5042
|
-
if (
|
|
5043
|
-
return
|
|
5044
|
-
if (
|
|
5057
|
+
if (qn(t) && t.error)
|
|
5058
|
+
return gt(e, t.error);
|
|
5059
|
+
if (ln(t) || Yr(t)) {
|
|
5045
5060
|
const c = t;
|
|
5046
5061
|
if ("stack" in t)
|
|
5047
|
-
i =
|
|
5062
|
+
i = gt(e, t);
|
|
5048
5063
|
else {
|
|
5049
|
-
const u = c.name || (
|
|
5050
|
-
i =
|
|
5064
|
+
const u = c.name || (ln(c) ? "DOMError" : "DOMException"), l = c.message ? `${u}: ${c.message}` : u;
|
|
5065
|
+
i = Pt(e, l, n, r), fn(i, l);
|
|
5051
5066
|
}
|
|
5052
5067
|
return "code" in c && (i.tags = { ...i.tags, "DOMException.code": `${c.code}` }), i;
|
|
5053
5068
|
}
|
|
5054
|
-
return
|
|
5069
|
+
return Jn(t) ? gt(e, t) : Ee(t) || st(t) ? (i = Ks(e, t, n, o), Qe(i, {
|
|
5055
5070
|
synthetic: !0
|
|
5056
|
-
}), i) : (i =
|
|
5071
|
+
}), i) : (i = Pt(e, t, n, r), fn(i, `${t}`), Qe(i, {
|
|
5057
5072
|
synthetic: !0
|
|
5058
5073
|
}), i);
|
|
5059
5074
|
}
|
|
5060
|
-
function
|
|
5075
|
+
function Pt(e, t, n, r) {
|
|
5061
5076
|
const o = {};
|
|
5062
5077
|
if (r && n) {
|
|
5063
|
-
const i =
|
|
5078
|
+
const i = Xt(e, n);
|
|
5064
5079
|
i.length && (o.exception = {
|
|
5065
5080
|
values: [{ value: t, stacktrace: { frames: i } }]
|
|
5066
|
-
}),
|
|
5081
|
+
}), Qe(o, { synthetic: !0 });
|
|
5067
5082
|
}
|
|
5068
|
-
if (
|
|
5083
|
+
if (Mt(t)) {
|
|
5069
5084
|
const { __sentry_template_string__: i, __sentry_template_values__: c } = t;
|
|
5070
5085
|
return o.logentry = {
|
|
5071
5086
|
message: i,
|
|
@@ -5074,18 +5089,18 @@ function kt(e, t, n, r) {
|
|
|
5074
5089
|
}
|
|
5075
5090
|
return o.message = t, o;
|
|
5076
5091
|
}
|
|
5077
|
-
function
|
|
5078
|
-
const n =
|
|
5079
|
-
return
|
|
5092
|
+
function ni(e, { isUnhandledRejection: t }) {
|
|
5093
|
+
const n = so(e), r = "exception";
|
|
5094
|
+
return qn(e) ? `Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\`` : st(e) ? `Event \`${ri(e)}\` (type=${e.type}) captured as ${r}` : `Object captured as ${r} with keys: ${n}`;
|
|
5080
5095
|
}
|
|
5081
|
-
function
|
|
5096
|
+
function ri(e) {
|
|
5082
5097
|
try {
|
|
5083
5098
|
const t = Object.getPrototypeOf(e);
|
|
5084
5099
|
return t ? t.constructor.name : void 0;
|
|
5085
5100
|
} catch {
|
|
5086
5101
|
}
|
|
5087
5102
|
}
|
|
5088
|
-
function
|
|
5103
|
+
function oi(e) {
|
|
5089
5104
|
for (const t in e)
|
|
5090
5105
|
if (Object.prototype.hasOwnProperty.call(e, t)) {
|
|
5091
5106
|
const n = e[t];
|
|
@@ -5093,7 +5108,7 @@ function ri(e) {
|
|
|
5093
5108
|
return n;
|
|
5094
5109
|
}
|
|
5095
5110
|
}
|
|
5096
|
-
function
|
|
5111
|
+
function si(e, {
|
|
5097
5112
|
metadata: t,
|
|
5098
5113
|
tunnel: n,
|
|
5099
5114
|
dsn: r
|
|
@@ -5107,16 +5122,16 @@ function oi(e, {
|
|
|
5107
5122
|
version: t.sdk.version
|
|
5108
5123
|
}
|
|
5109
5124
|
},
|
|
5110
|
-
...!!n && !!r && { dsn:
|
|
5111
|
-
}, i =
|
|
5112
|
-
return
|
|
5125
|
+
...!!n && !!r && { dsn: lt(r) }
|
|
5126
|
+
}, i = ii(e);
|
|
5127
|
+
return Te(o, [i]);
|
|
5113
5128
|
}
|
|
5114
|
-
function
|
|
5129
|
+
function ii(e) {
|
|
5115
5130
|
return [{
|
|
5116
5131
|
type: "user_report"
|
|
5117
5132
|
}, e];
|
|
5118
5133
|
}
|
|
5119
|
-
class
|
|
5134
|
+
class ai extends Ls {
|
|
5120
5135
|
/**
|
|
5121
5136
|
* Creates a new Browser SDK instance.
|
|
5122
5137
|
*
|
|
@@ -5127,22 +5142,22 @@ class ii extends Ts {
|
|
|
5127
5142
|
// We default this to true, as it is the safer scenario
|
|
5128
5143
|
parentSpanIsAlwaysRootSpan: !0,
|
|
5129
5144
|
...t
|
|
5130
|
-
}, r =
|
|
5131
|
-
|
|
5132
|
-
|
|
5145
|
+
}, r = Ue.SENTRY_SDK_SOURCE || qs();
|
|
5146
|
+
js(n, "browser", ["browser"], r), super(n), n.sendClientReports && Ue.document && Ue.document.addEventListener("visibilitychange", () => {
|
|
5147
|
+
Ue.document.visibilityState === "hidden" && this._flushOutcomes();
|
|
5133
5148
|
});
|
|
5134
5149
|
}
|
|
5135
5150
|
/**
|
|
5136
5151
|
* @inheritDoc
|
|
5137
5152
|
*/
|
|
5138
5153
|
eventFromException(t, n) {
|
|
5139
|
-
return
|
|
5154
|
+
return $s(this._options.stackParser, t, n, this._options.attachStacktrace);
|
|
5140
5155
|
}
|
|
5141
5156
|
/**
|
|
5142
5157
|
* @inheritDoc
|
|
5143
5158
|
*/
|
|
5144
5159
|
eventFromMessage(t, n = "info", r) {
|
|
5145
|
-
return
|
|
5160
|
+
return ei(this._options.stackParser, t, n, r, this._options.attachStacktrace);
|
|
5146
5161
|
}
|
|
5147
5162
|
/**
|
|
5148
5163
|
* Sends user feedback to Sentry.
|
|
@@ -5151,10 +5166,10 @@ class ii extends Ts {
|
|
|
5151
5166
|
*/
|
|
5152
5167
|
captureUserFeedback(t) {
|
|
5153
5168
|
if (!this._isEnabled()) {
|
|
5154
|
-
|
|
5169
|
+
zs && N.warn("SDK not enabled, will not capture user feedback.");
|
|
5155
5170
|
return;
|
|
5156
5171
|
}
|
|
5157
|
-
const n =
|
|
5172
|
+
const n = si(t, {
|
|
5158
5173
|
metadata: this.getSdkMetadata(),
|
|
5159
5174
|
dsn: this.getDsn(),
|
|
5160
5175
|
tunnel: this.getOptions().tunnel
|
|
@@ -5168,15 +5183,15 @@ class ii extends Ts {
|
|
|
5168
5183
|
return t.platform = t.platform || "javascript", super._prepareEvent(t, n, r);
|
|
5169
5184
|
}
|
|
5170
5185
|
}
|
|
5171
|
-
const
|
|
5172
|
-
function
|
|
5173
|
-
const t =
|
|
5186
|
+
const ci = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__, Fe = j, je = {};
|
|
5187
|
+
function ui(e) {
|
|
5188
|
+
const t = je[e];
|
|
5174
5189
|
if (t)
|
|
5175
5190
|
return t;
|
|
5176
|
-
let n =
|
|
5177
|
-
if (
|
|
5178
|
-
return
|
|
5179
|
-
const r =
|
|
5191
|
+
let n = Fe[e];
|
|
5192
|
+
if (Js(n))
|
|
5193
|
+
return je[e] = n.bind(Fe);
|
|
5194
|
+
const r = Fe.document;
|
|
5180
5195
|
if (r && typeof r.createElement == "function")
|
|
5181
5196
|
try {
|
|
5182
5197
|
const o = r.createElement("iframe");
|
|
@@ -5184,14 +5199,14 @@ function ci(e) {
|
|
|
5184
5199
|
const i = o.contentWindow;
|
|
5185
5200
|
i && i[e] && (n = i[e]), r.head.removeChild(o);
|
|
5186
5201
|
} catch (o) {
|
|
5187
|
-
|
|
5202
|
+
ci && N.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `, o);
|
|
5188
5203
|
}
|
|
5189
|
-
return n && (
|
|
5204
|
+
return n && (je[e] = n.bind(Fe));
|
|
5190
5205
|
}
|
|
5191
|
-
function
|
|
5192
|
-
|
|
5206
|
+
function Tn(e) {
|
|
5207
|
+
je[e] = void 0;
|
|
5193
5208
|
}
|
|
5194
|
-
function
|
|
5209
|
+
function li(e, t = ui("fetch")) {
|
|
5195
5210
|
let n = 0, r = 0;
|
|
5196
5211
|
function o(i) {
|
|
5197
5212
|
const c = i.body.length;
|
|
@@ -5216,7 +5231,7 @@ function ui(e, t = ci("fetch")) {
|
|
|
5216
5231
|
...e.fetchOptions
|
|
5217
5232
|
};
|
|
5218
5233
|
if (!t)
|
|
5219
|
-
return
|
|
5234
|
+
return Tn("fetch"), Ye("No fetch implementation available");
|
|
5220
5235
|
try {
|
|
5221
5236
|
return t(e.url, u).then((l) => (n -= c, r--, {
|
|
5222
5237
|
statusCode: l.status,
|
|
@@ -5226,90 +5241,91 @@ function ui(e, t = ci("fetch")) {
|
|
|
5226
5241
|
}
|
|
5227
5242
|
}));
|
|
5228
5243
|
} catch (l) {
|
|
5229
|
-
return
|
|
5244
|
+
return Tn("fetch"), n -= c, r--, Ye(l);
|
|
5230
5245
|
}
|
|
5231
5246
|
}
|
|
5232
|
-
return
|
|
5247
|
+
return Hs(e, o);
|
|
5233
5248
|
}
|
|
5234
|
-
const
|
|
5235
|
-
function
|
|
5249
|
+
const Ai = 30, di = 50;
|
|
5250
|
+
function wt(e, t, n, r) {
|
|
5236
5251
|
const o = {
|
|
5237
5252
|
filename: e,
|
|
5238
|
-
function: t === "<anonymous>" ?
|
|
5253
|
+
function: t === "<anonymous>" ? be : t,
|
|
5239
5254
|
in_app: !0
|
|
5240
5255
|
// All browser frames are considered in_app
|
|
5241
5256
|
};
|
|
5242
5257
|
return n !== void 0 && (o.lineno = n), r !== void 0 && (o.colno = r), o;
|
|
5243
5258
|
}
|
|
5244
|
-
const
|
|
5245
|
-
const t =
|
|
5259
|
+
const fi = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i, hi = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, pi = /\((\S*)(?::(\d+))(?::(\d+))\)/, gi = (e) => {
|
|
5260
|
+
const t = fi.exec(e);
|
|
5246
5261
|
if (t) {
|
|
5247
5262
|
const [, r, o, i] = t;
|
|
5248
|
-
return
|
|
5263
|
+
return wt(r, be, +o, +i);
|
|
5249
5264
|
}
|
|
5250
|
-
const n =
|
|
5265
|
+
const n = hi.exec(e);
|
|
5251
5266
|
if (n) {
|
|
5252
5267
|
if (n[2] && n[2].indexOf("eval") === 0) {
|
|
5253
|
-
const c =
|
|
5268
|
+
const c = pi.exec(n[2]);
|
|
5254
5269
|
c && (n[2] = c[1], n[3] = c[2], n[4] = c[3]);
|
|
5255
5270
|
}
|
|
5256
|
-
const [o, i] =
|
|
5257
|
-
return
|
|
5271
|
+
const [o, i] = lr(n[1] || be, n[2]);
|
|
5272
|
+
return wt(i, o, n[3] ? +n[3] : void 0, n[4] ? +n[4] : void 0);
|
|
5258
5273
|
}
|
|
5259
|
-
},
|
|
5260
|
-
const t =
|
|
5274
|
+
}, yi = [Ai, gi], mi = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i, Ci = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, bi = (e) => {
|
|
5275
|
+
const t = mi.exec(e);
|
|
5261
5276
|
if (t) {
|
|
5262
5277
|
if (t[3] && t[3].indexOf(" > eval") > -1) {
|
|
5263
|
-
const i =
|
|
5278
|
+
const i = Ci.exec(t[3]);
|
|
5264
5279
|
i && (t[1] = t[1] || "eval", t[3] = i[1], t[4] = i[2], t[5] = "");
|
|
5265
5280
|
}
|
|
5266
|
-
let r = t[3], o = t[1] ||
|
|
5267
|
-
return [o, r] =
|
|
5281
|
+
let r = t[3], o = t[1] || be;
|
|
5282
|
+
return [o, r] = lr(o, r), wt(r, o, t[4] ? +t[4] : void 0, t[5] ? +t[5] : void 0);
|
|
5268
5283
|
}
|
|
5269
|
-
},
|
|
5284
|
+
}, Ei = [di, bi], vi = [yi, Ei], Ii = Kr(...vi), lr = (e, t) => {
|
|
5270
5285
|
const n = e.indexOf("safari-extension") !== -1, r = e.indexOf("safari-web-extension") !== -1;
|
|
5271
5286
|
return n || r ? [
|
|
5272
|
-
e.indexOf("@") !== -1 ? e.split("@")[0] :
|
|
5287
|
+
e.indexOf("@") !== -1 ? e.split("@")[0] : be,
|
|
5273
5288
|
n ? `safari-extension:${t}` : `safari-web-extension:${t}`
|
|
5274
5289
|
] : [e, t];
|
|
5275
|
-
},
|
|
5276
|
-
let
|
|
5277
|
-
function
|
|
5278
|
-
const t = new
|
|
5279
|
-
dsn:
|
|
5280
|
-
transport:
|
|
5281
|
-
stackParser:
|
|
5290
|
+
}, Bi = "https://bbed26c9265c425abb56ff9d3728183e@sentry.chocodev.kz/302";
|
|
5291
|
+
let Tt = null;
|
|
5292
|
+
function Si(e) {
|
|
5293
|
+
const t = new ai({
|
|
5294
|
+
dsn: Bi,
|
|
5295
|
+
transport: li,
|
|
5296
|
+
stackParser: Ii,
|
|
5282
5297
|
integrations: [],
|
|
5283
|
-
release: "1.1.
|
|
5298
|
+
release: "1.1.54",
|
|
5284
5299
|
environment: e.environment || "production"
|
|
5285
|
-
}), n = new
|
|
5286
|
-
n.setClient(t), n.setTags(e), t.init(),
|
|
5300
|
+
}), n = new ue();
|
|
5301
|
+
n.setClient(t), n.setTags(e), t.init(), Tt = n;
|
|
5287
5302
|
}
|
|
5288
5303
|
function se(e, t) {
|
|
5289
|
-
|
|
5304
|
+
Tt && Tt.captureException(
|
|
5290
5305
|
e,
|
|
5291
5306
|
t ? { captureContext: { extra: t } } : void 0
|
|
5292
5307
|
);
|
|
5293
5308
|
}
|
|
5294
|
-
function
|
|
5295
|
-
|
|
5309
|
+
function Je(e, t) {
|
|
5310
|
+
bt("webPayToken", e), t && bt("webPayRefreshToken", t);
|
|
5296
5311
|
}
|
|
5297
|
-
function
|
|
5298
|
-
|
|
5312
|
+
function Ln() {
|
|
5313
|
+
We("webPayToken"), We("webPayRefreshToken");
|
|
5299
5314
|
}
|
|
5300
|
-
async function
|
|
5301
|
-
const t =
|
|
5315
|
+
async function _i(e) {
|
|
5316
|
+
const t = Fn("webPayRefreshToken");
|
|
5302
5317
|
if (t && e.config.clientId)
|
|
5303
5318
|
try {
|
|
5304
|
-
const n = await
|
|
5319
|
+
const n = await Mr(
|
|
5305
5320
|
e.apiUrl,
|
|
5306
5321
|
e.config.clientId,
|
|
5307
|
-
t
|
|
5322
|
+
t,
|
|
5323
|
+
e.config.country
|
|
5308
5324
|
);
|
|
5309
|
-
|
|
5325
|
+
Je(n.access_token, n.refresh_token), e.accessToken = n.access_token;
|
|
5310
5326
|
return;
|
|
5311
5327
|
} catch {
|
|
5312
|
-
|
|
5328
|
+
We("webPayRefreshToken");
|
|
5313
5329
|
}
|
|
5314
5330
|
if (!e.config.clientId) {
|
|
5315
5331
|
e.config.onError({ attributes: { message: e.t("errorMissingTrackClient") } });
|
|
@@ -5320,33 +5336,35 @@ async function Si(e) {
|
|
|
5320
5336
|
return;
|
|
5321
5337
|
}
|
|
5322
5338
|
try {
|
|
5323
|
-
const n = await
|
|
5339
|
+
const n = await nn(
|
|
5324
5340
|
e.apiUrl,
|
|
5325
5341
|
e.config.clientId,
|
|
5326
|
-
e.config.trackId
|
|
5342
|
+
e.config.trackId,
|
|
5343
|
+
e.config.country
|
|
5327
5344
|
);
|
|
5328
|
-
|
|
5345
|
+
Je(n.access_token, n.refresh_token), e.accessToken = n.access_token;
|
|
5329
5346
|
} catch (n) {
|
|
5330
5347
|
if (typeof e.config.onRequestNewTrackId == "function") {
|
|
5331
5348
|
e.config.trackId = await e.config.onRequestNewTrackId();
|
|
5332
|
-
const r = await
|
|
5349
|
+
const r = await nn(
|
|
5333
5350
|
e.apiUrl,
|
|
5334
5351
|
e.config.clientId,
|
|
5335
|
-
e.config.trackId
|
|
5352
|
+
e.config.trackId,
|
|
5353
|
+
e.config.country
|
|
5336
5354
|
);
|
|
5337
|
-
|
|
5355
|
+
Je(r.access_token, r.refresh_token), e.accessToken = r.access_token;
|
|
5338
5356
|
} else
|
|
5339
5357
|
throw n;
|
|
5340
5358
|
}
|
|
5341
5359
|
}
|
|
5342
|
-
const
|
|
5360
|
+
const Qi = `<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5343
5361
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.89711 8.50443C10.4185 8.72365 10.6242 9.56386 10.7471 10.3459L10.7816 10.5699L10.8557 11.0301C11.0006 11.9088 11.303 13.7327 11.303 14.6845C11.303 14.9224 11.2806 15.105 11.2396 15.2053C11.1713 15.3599 10.9724 15.5082 10.6978 15.6319C10.0332 15.7846 9.33863 15.8671 8.62315 15.8671C8.54739 15.8671 8.47285 15.8637 8.39805 15.8616C8.10889 15.785 7.89156 15.657 7.77649 15.4821C7.42905 14.9542 7.40812 13.7781 7.40116 12.4037L7.40037 12.2443L7.39755 11.8324C7.38623 10.3774 7.37651 9.1229 7.94288 8.67272C8.16223 8.49957 8.47392 8.44225 8.89711 8.50443ZM5.58009 11.6722C5.90978 11.6548 6.12181 13.1684 6.16441 14.3162C6.19427 15.1152 6.10438 15.4439 5.96084 15.5619C5.79833 15.5113 5.63864 15.4565 5.48128 15.397C5.3763 15.219 5.29607 14.9389 5.2451 14.5721C5.08947 13.4193 5.22466 11.6925 5.58009 11.6722ZM13.8455 13.934C13.825 14.0391 13.796 14.1204 13.7602 14.1889C13.4783 14.4 13.1821 14.5938 12.872 14.7682C12.7733 14.7837 12.6856 14.7729 12.6427 14.7053C12.2318 14.0314 12.0775 11.9173 12.4752 11.7333C12.9936 11.4995 13.9224 13.5685 13.8455 13.934ZM8.50042 0C13.1296 0 16.8941 3.42166 16.9979 7.67934L17 7.82651V7.89454C16.9915 9.81778 16.2332 11.5773 14.9839 12.9392C14.9386 12.918 14.8559 12.8486 14.7062 12.6395C14.5512 12.4293 13.2148 10.5096 13.2148 8.30946C13.2148 7.87768 13.8816 7.20318 14.4717 6.61114C14.9128 6.16562 15.3306 5.74539 15.4845 5.4151C15.6804 4.98892 15.5433 4.69134 15.3265 4.59047C15.1302 4.50082 14.8355 4.56621 14.6287 4.90904C14.2893 5.46389 14.1805 5.56758 13.6855 5.93882C13.1984 6.30986 12.424 6.68338 12.424 6.19988C12.424 5.93882 12.8553 5.34757 13.0684 4.93314C13.286 4.51408 13.0515 4.21072 12.6022 4.21072C11.7198 4.21072 11.1341 5.2598 11.1341 5.62326C11.1341 5.98642 11.3229 6.03813 11.3229 6.46104C11.3229 6.88713 10.3548 7.4398 9.44281 7.4398C8.56481 7.4398 8.05566 7.27394 7.8447 6.80665L7.81777 6.74105L7.75678 6.57266C7.54046 5.98255 7.38528 5.55458 7.11514 5.10733C6.9717 4.87081 6.75038 4.70684 6.55897 4.56257C6.30881 4.38121 6.17902 4.21421 6.15193 4.08967C6.12696 3.96611 6.11352 3.73326 6.54117 3.19648C6.96793 2.66277 7.02775 2.25958 6.81418 2.05153C6.73678 1.97752 6.60482 1.93011 6.43535 1.93011C6.13562 1.93011 5.71912 2.07834 5.2899 2.48551C4.62267 3.12364 5.00146 3.72951 5.00146 3.99548C5.00146 4.26127 4.87922 4.41162 4.47882 4.77323C4.07547 5.13644 3.93627 5.44783 3.89014 6.69935C3.87247 7.3442 3.75079 7.71539 3.64156 8.04453C3.54718 8.33302 3.46038 8.60425 3.45569 8.99611C3.44822 9.43038 3.52566 9.71023 3.61604 10.0331C3.70477 10.3316 3.79902 10.6736 3.8594 11.2456C3.95544 12.1312 3.92205 12.8792 3.74744 13.6437L3.70084 13.8353L3.68995 13.8903C3.65419 14.0247 3.61168 14.1879 3.55423 14.249C1.4029 12.8228 0 10.4936 0 7.86072C0 3.51974 3.80561 0 8.50042 0Z" fill="#F14635"/>
|
|
5344
5362
|
</svg>
|
|
5345
|
-
`,
|
|
5363
|
+
`, ki = `<svg width="21" height="12" viewBox="0 0 21 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5346
5364
|
<path d="M0 6C0 2.68629 2.68629 0 6 0H15C18.3137 0 21 2.68629 21 6C21 9.31371 18.3137 12 15 12H6C2.68629 12 0 9.31371 0 6Z" fill="#F1F2F7"/>
|
|
5347
5365
|
<path d="M7.79163 5.99984H13.2083M10.5 3.2915L10.5 8.70817" stroke="#242424" stroke-width="0.8125" stroke-linecap="round"/>
|
|
5348
5366
|
</svg>
|
|
5349
|
-
`,
|
|
5367
|
+
`, Pi = `<svg width="29" height="12" viewBox="0 0 29 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5350
5368
|
<g clip-path="url(#clip0_22788_48734)">
|
|
5351
5369
|
<path d="M5.29824 1.53496C4.9584 1.93711 4.41465 2.2543 3.8709 2.20898C3.80293 1.66523 4.06914 1.0875 4.38066 0.730664C4.72051 0.317187 5.31523 0.0226563 5.79668 0C5.85332 0.566406 5.63242 1.12148 5.29824 1.53496ZM5.79101 2.3166C5.00371 2.27129 4.32969 2.76406 3.95586 2.76406C3.57637 2.76406 3.0043 2.33926 2.38125 2.35059C1.57129 2.36191 0.817967 2.8207 0.40449 3.55137C-0.445119 5.0127 0.183592 7.17637 1.00488 8.36582C1.40703 8.95488 1.88847 9.60059 2.52285 9.57793C3.12324 9.55527 3.36113 9.18711 4.08613 9.18711C4.81679 9.18711 5.02637 9.57793 5.66074 9.5666C6.31777 9.55527 6.73125 8.97754 7.1334 8.38848C7.59219 7.72012 7.7791 7.06875 7.79043 7.03477C7.7791 7.02344 6.52168 6.54199 6.51035 5.09199C6.49902 3.87988 7.50156 3.30215 7.54687 3.26816C6.98047 2.42988 6.09687 2.33926 5.79101 2.3166ZM10.3393 0.674023V9.5043H11.71V6.48535H13.6074C15.3406 6.48535 16.5584 5.2959 16.5584 3.57402C16.5584 1.85215 15.3633 0.674023 13.6527 0.674023H10.3393ZM11.71 1.82949H13.2902C14.4797 1.82949 15.1594 2.46387 15.1594 3.57969C15.1594 4.69551 14.4797 5.33555 13.2846 5.33555H11.71V1.82949ZM19.0619 9.57227C19.9229 9.57227 20.7215 9.13613 21.084 8.44512H21.1123V9.5043H22.3811V5.10898C22.3811 3.83457 21.3615 3.01328 19.7926 3.01328C18.3369 3.01328 17.2607 3.8459 17.2211 4.99004H18.4559C18.5578 4.44629 19.0619 4.08945 19.7529 4.08945C20.5912 4.08945 21.0613 4.48027 21.0613 5.19961V5.68672L19.3508 5.78867C17.7592 5.88496 16.8982 6.53633 16.8982 7.66914C16.8982 8.81328 17.7875 9.57227 19.0619 9.57227ZM19.4301 8.52441C18.6994 8.52441 18.235 8.17324 18.235 7.63516C18.235 7.08008 18.6824 6.75723 19.5377 6.70625L21.0613 6.60996V7.1084C21.0613 7.93535 20.359 8.52441 19.4301 8.52441ZM24.0746 11.9059C25.4113 11.9059 26.04 11.3961 26.5895 9.8498L28.9967 3.09824H27.6033L25.9891 8.31484H25.9607L24.3465 3.09824H22.9135L25.2357 9.52695L25.1111 9.91777C24.9016 10.5805 24.5617 10.8354 23.9557 10.8354C23.848 10.8354 23.6385 10.824 23.5535 10.8127V11.8719C23.6328 11.8945 23.9727 11.9059 24.0746 11.9059Z" fill="black"/>
|
|
5352
5370
|
</g>
|
|
@@ -5356,7 +5374,7 @@ const _i = `<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="h
|
|
|
5356
5374
|
</clipPath>
|
|
5357
5375
|
</defs>
|
|
5358
5376
|
</svg>
|
|
5359
|
-
`,
|
|
5377
|
+
`, wi = `<svg width="52" height="21" viewBox="0 0 52 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5360
5378
|
<g clip-path="url(#clip0_23934_4296)">
|
|
5361
5379
|
<path d="M24.5944 10.0883V16.1414H22.6741V1.19278H27.7671C28.375 1.18008 28.9794 1.2879 29.5455 1.51002C30.1115 1.73213 30.628 2.06415 31.065 2.4869C31.5065 2.88399 31.8578 3.37098 32.0954 3.91513C32.3331 4.45929 32.4514 5.048 32.4426 5.64171C32.4553 6.23859 32.3387 6.83115 32.1009 7.37877C31.8631 7.92639 31.5098 8.41612 31.065 8.8144C30.1744 9.66364 29.0751 10.0879 27.7671 10.0871H24.5944V10.0883ZM24.5944 3.03318V8.25143H27.8148C28.1678 8.26189 28.5192 8.19856 28.8464 8.06547C29.1735 7.93238 29.4693 7.73247 29.7148 7.47853C29.959 7.2411 30.1532 6.95711 30.2857 6.64336C30.4183 6.3296 30.4866 5.99245 30.4866 5.65184C30.4866 5.31124 30.4183 4.97409 30.2857 4.66033C30.1532 4.34658 29.959 4.06259 29.7148 3.82516C29.4724 3.56587 29.1776 3.36106 28.8501 3.22432C28.5225 3.08757 28.1696 3.02201 27.8148 3.03199H24.5944V3.03318Z" fill="black"/>
|
|
5362
5380
|
<path d="M36.8677 5.57959C38.2871 5.57959 39.4075 5.95888 40.2289 6.71747C41.0503 7.47605 41.4606 8.51612 41.4598 9.83768V16.1413H39.623V14.722H39.5395C38.7443 15.8909 37.6868 16.4753 36.3668 16.4753C35.24 16.4753 34.2974 16.1413 33.5388 15.4734C33.1747 15.1668 32.8837 14.7829 32.6868 14.3496C32.49 13.9163 32.3923 13.4445 32.4009 12.9686C32.4009 11.9103 32.8009 11.0686 33.6008 10.4436C34.4007 9.8186 35.4686 9.5053 36.8045 9.50371C37.9448 9.50371 38.8839 9.71244 39.6218 10.1299V9.69097C39.624 9.36657 39.5539 9.04574 39.4167 8.75177C39.2795 8.45779 39.0786 8.19803 38.8286 7.99132C38.3208 7.53316 37.659 7.28317 36.9751 7.29118C35.9024 7.29118 35.0536 7.74362 34.4286 8.64852L32.7373 7.5834C33.6676 6.24753 35.0444 5.57959 36.8677 5.57959ZM34.3833 13.0104C34.382 13.2548 34.4391 13.4959 34.5499 13.7138C34.6607 13.9316 34.8219 14.1198 35.0202 14.2628C35.4449 14.5968 35.972 14.7738 36.5123 14.7637C37.3226 14.7624 38.0994 14.4398 38.6724 13.8668C39.3085 13.268 39.6266 12.5655 39.6266 11.7592C39.0278 11.2821 38.1929 11.0435 37.1218 11.0435C36.3417 11.0435 35.6913 11.2316 35.1705 11.6077C34.6445 11.9894 34.3833 12.4534 34.3833 13.0104Z" fill="black"/>
|
|
@@ -5372,7 +5390,7 @@ const _i = `<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="h
|
|
|
5372
5390
|
</clipPath>
|
|
5373
5391
|
</defs>
|
|
5374
5392
|
</svg>
|
|
5375
|
-
`,
|
|
5393
|
+
`, Ti = `<svg width="25" height="12" viewBox="0 0 25 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5376
5394
|
<rect width="25" height="11.5385" rx="2.88462" fill="#00579F"/>
|
|
5377
5395
|
<g clip-path="url(#clip0_22788_48747)">
|
|
5378
5396
|
<path d="M9.84078 8.57012H8.36084L9.2865 2.98535H10.7664L9.84078 8.57012Z" fill="white"/>
|
|
@@ -5387,7 +5405,7 @@ const _i = `<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="h
|
|
|
5387
5405
|
</clipPath>
|
|
5388
5406
|
</defs>
|
|
5389
5407
|
</svg>
|
|
5390
|
-
`,
|
|
5408
|
+
`, Li = `<svg width="36" height="22" viewBox="0 0 36 22" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
5391
5409
|
<rect width="36" height="22" fill="url(#pattern0_23934_927)"/>
|
|
5392
5410
|
<defs>
|
|
5393
5411
|
<pattern id="pattern0_23934_927" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
@@ -5396,26 +5414,26 @@ const _i = `<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="h
|
|
|
5396
5414
|
<image id="image0_23934_927" width="989" height="768" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA90AAAMACAYAAAA5bgR3AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAD3aADAAQAAAABAAADAAAAAADN00SyAABAAElEQVR4AezdCZxlV1Xo/7XPHWrqrp67uquqh8whLQESIEwBZAhoggNiQIaQTgIRA09ARJ/8ea/lr399oDwIKsaQNAQEjU8FQXmaKIgooAZETMIQMvRQ3V09d7prvPfs/zrVQ6q6pjuce8/e+/zO51PdVfees8/a33VrWHfvs48RNgQQQKCFAkPS390lds2kmJVGzHIjdlk89b8sl5NfL7die/S5ZVZMWaY+l279vEM/79V9ivq/7jtrW6qP6HNntlH9bOzUVxP6/4lTn1e0jcdPfh5b/fzIqceTfQ9rPIetRPpY8r8ciU59HetzRYkPxzJxZI0cOHX8qSP5DwEEEEDgjIC9q69ndLy4olA0K2KpLjexWaE/w5ebKPk/Xm6tWWFE9HPR3wHSferAZfpzP0o+198BS/S/0tTjRrqMlc6Tj4v+Hjizf/JQrMcfTT6Zvmm7x/TrirZ3RNua1M+P62Oj2viYxvG4xnDc6M95fe6I/sw/Ym009X81ksMFqR7pnIiGzc1DI9Pb5HMEEEAgTQH92cWGAAII1C9wTAZWaZU7qEXqRv1BskEL1z7902mtFrXr9Y+aNfoHj34t6/Sjp/7WnTtCC3dJivUD+rFHP3Zp/3Zp34f0/x0ihSGRaPdqeWyvWuhDbAgggID/AsdvX9tnTLG/UJBBsWZQf7j1a6826MfAqY9V+v8K/ThZMOsnHm/JG7V79WOfFur79feYfm72GRsPSyQ7KmJ2xhN2V+/NQ8nvATYEEECgLgGK7rq42BmB/AjoCPXqskTn6R9Z5+vgwnk6gnCOfj6oAsnHJv3oyo9GzT1NRliSonynfuzWDy3KzaP6//f1/++vlZ2P6g/dqn7NhgACCGQqYLdJNLZp3UYTRxdKFF0k1m7Sn1NaVNsNYsyAfp0U2MlIM9tMgWRW1WP6sUuMflj7iA7YP2St/LBSsA/1vnH3wZm78xUCCCCgb+GBgAAC+RXYKYNdnRI/SUdpn6Tv6j/pZIFttMi256nKXFO684uVTs912rt5SKc6fk+b+37yoebf7RLzvV7hD7V0iGkFAQSmCxzevnl5R7VyoTH2Yn38ImPkQr3QRr+WC/XrqWnc0/fn8+YE9A/r5FKlh5Kf9fq79If6BsaDcTV+sLtQftBsffT0JVDNnYSjEUDAOwGKbu9SRsAI1C9gZUv5gBx6sl7TtiUWe4mOWl+irSQf5+jH1DV19bfKEWkK6B9pyejI9zUZ39XrDh/UHH2zKIVvLpcdh9M8D20hgECYAvZTK3vHJrqfZq19mhbYW3RY5UKdEp4U2nrZD5sDAsksp0d0NsH9+ib3A1qUPxDH8f3dvSvuN9fer2/IsiGAQMgCFN0hZ5e+5VJgWNYsMVK8KCmw9V32y/UX/OUKkXwwouHnKyKZrn6f/oGmH7F+lP59jTyWPMaGAAI5FbC3nbtsrDj2ZBNFl9vYXq6jqfozfmokmzdR/XtNVPTn+/d1mvp9uvDcfTaO7+ssVb9lrtt3ejFQ/3pExAggMEuAonsWCQ8g4I9AMoJ9UI4+VVfavsJIfIX+4n6GRq/Twxm99ieLDUWaXC/+Lc33NzXv+iHfXCVDyXXkbAggEJjAids2rS8UKpfZSJ6mI6SX6Rupl2kXNwXWTbozUyAZFf+BLsv5byayX69a+Xr3jqH/NNtEC3Q2BBDwUYCi28esEXNuBQ5J/0b9TfxcLbaeqdORtdCW5I8vFrrJ7StiRsd36UjXV3Ra+leNFL6yUnY8oK8PfZmwIYCATwJjnxi40FbslTp6/Xz9uFJHQM/xKX5ibZmA3tLM3Kc/17+h1+R/Xd98+VrPjTv1zhlsCCDgg4B+77IhgICrAvtk47l6D9HnaeWUFNrP0xoquQ6bDYEaBIzet9b+qxbh98YS//MaWaGfc91gDXDsgkDbBJIVxCc2b3ySTil+rl6L/Ty9DvsFevKNbQuAE/ktYGSP3tP8q/r3wb16qcE/d1y/436/O0T0CIQrQNEdbm7pmYcC+2XgQp0++BJ9B/v5Gn7ysd7DbhCymwLH9c2br+kP/X/SP9C+okvo/usG2ZXc+oYNAQTaJGDv3lIePX746XqLqSv1Z72OYou+mSrL2nR6ThO+wGPaxX8UY/9Rqvbvu27ak3zNhgACDghQdDuQBELIr8AxGVilxc+L9BvxJfpxlRZFm/OrQc/bLJDcukanopt7rVTvXSN7dJE2NgQQSFvg+O1r+wpR6WV6i65r9Gf8Vdo+RXbayLQ3n8DD+sS91si941K6Z8XWR4/MtyOPI4BAawUoulvrS+sIzBDQP7gK+2X9c3Sdsx/TUY6X6ohjck02q83OUOKLjAQe0tfkF2OJvjgu8mVGwTPKAqf1XiAZzR4bOXKlic3LrcQ/pj/n9U4SbAhkLlDRmRXfkMjeY6vRF7t27fp3XZgtzjwqAkAgJwIU3TlJNN3MTmCv9PUUpPAi/cPrGo3iJ/WjL7toODMCNQkwCl4TEzshcFLg+PbN6wrx5FWMZvOK8EjggBYBX7JWvtDZMfpZ8/pDug4IGwIItEqAortVsrSba4FhGbxAb+WkBba5WiGSa/aKuQah874L/FBHwf/GSvTnq2XXP+kvDkZHfM8o8TcloIWKGd0++MzIyM/o5/pznkUumwLl4KwFdIKT/bIuyvZ5W5LPd103tCPrgDg/AqEJUHSHllH6k5nAQdm4RacS6jV79hUahK42zoZAeAJ6icRB/cXxN/oH2p+tlqEv6ufcNza8NNOjeQTGP75xS1yNf1YXqnqd7nL+PLvxMAKeC5gHdCr6n+ngwWc6bxz6nuedIXwEnBCg6HYiDQThq0BSaOvtmH5WC5BrtQ9P8rUfxI1AIwIzC/D1/9fIfZONtMMxCLgsMK3Qfr3GeZ7LsRIbAukLnCzAI1O5u+OGvQ+k3z4tIpAPAYrufOSZXqYocHJEu/panV34c1psn5Ni0zSFgM8C+zX4v9Bp6P9nlQx9SX+5VH3uDLHnVyC5d/bo5v5nR9a8SqeOv0olBvOrQc8RmC5g9T7g5jNSrXy66037Hpn+DJ8jgMDCAhTdC/vwLAJTAodl/aaqFF6jU8dfqw9cCgsCCCwocECf/fNY7F19MvQvC+7Jkwg4InB8+8BTdfGNN2qhrbOXZMCRsAgDARcFdKKTfM1Y++lJE9+99Ia9yZuubAggsIAARfcCODyVb4HDsnl5RSZfowrJtXvP1Q++X/L9kqD3jQl8T79xPqHfPnfpImy7G2uCoxBojcCx2/pXl8vR68Ta67WKeGprzkKrCAQtkKzr8Xdizac7l+psp2t3jQbdWzqHQIMCFBENwnFYmAL6R1e0X/qfY8S8QXuYFNs9YfaUXiHQdoFkxfN/0F86n5zQKej9MjTS9gg4IQIqYO+Wwvjx/h/VN4LerD/zk9s4loFBAIE0BMwxfQPrc8bYuzq2Dv293kIvGRFnQwABFaDo5mWAgAoclP4NejskvU5bbuY6bV4SCLRc4Kie4U/1co1PrpWhr7b8bJwAARUY395/sU4dT0a036h//qwDBQEEWirwXWvMx+PKxMeXvGl4X0vPROMIeCBA0e1BkgixNQJWtpT3y5Gf0m+Cn9czvFA/+H5oDTWtIrCAwNTCPNtjmfxUn/CH2QJQPNWAwOHtm5d3ycRrrTXX6+HPaKAJDkEAgeYEJo01fy3G/GHHjp33mG2SzHpiQyB3AhQZuUs5Hd4vG/p1xtMbdJTtrarBqrS8JBBwQ2BCfyF9Tmea/JHe//teN0IiCl8Fxj4xcGFctbfopUI3ah+4TMjXRBJ3aAI/1NHv26u2cieLr4WWWvqzmABF92JCPB+EgE4njHQK+YtOXcP309opXaSWDQEE3BQw92lcfzSm139vEBblcTNH7kVl9VZf4xv7XxSL+UX94+ZqjZC/cdxLExEhkAiM6zfnXyVvsnbewJusvCTyIcAvpHzkObe93C+rl4p0JvfTfociXJxbCDqOgJ8CwzojZbu+Q/YHK2Voh59dIOpWCxz7xMCqYmxu0tsXvUXPtanV56N9BBBIT0ALkf/QtRY+3Hmi6zPmvz00nl7LtISAWwIU3W7lg2hSEtgnG881UnmzTi18sza5IqVmaQYBBLIRqOppv6iXhXyYqefZJMDFsyYLo1WtvEV/zt+k8XW7GCMxIYBAzQLD+jN+e1yIPtL9Rm4vWbMaO3ojQNHtTaoItBaBAzLwYp1K/ou6bzK1MKrlGPZBAAGvBL6po9+/d1S6P32BMCriVeZSCDa53dfo8YGf1lsSvU3vC/z8FJqkCQQQcEsgGe3+dEFHv8s37v62W6ERDQKNC1B0N27HkY4IJNdrH5B+LbLNezUkVqd1JC+EgUCLBYb1e/6jBSn/75Xy8NEWn4vmMxawt57fMbZ07Dq9B/C7NZTzMw6H0yOAQDsErOi9vu1vc913O7A5R6sFKLpbLUz7LRP4gZzfsUJGX61F93v0JBe27EQ0jAACDguYY1bij3aK+UCv7D7ocKCE1oCAvauvZ7xausla+y49nLtNNGDIIQj4LqB/533bWPlg587dn9ZbjlV87w/x51OAojufefe61wdlZW9VurfqtT/JiEe/150heAQQSEvguP5MuFOv7/3AKtm9K61GaScbAfuplb3jk91brY1/VWc0rMsmCs6KAAKOCTxsjLm1o0f+yFzLnS0cyw3hLCJA0b0IEE+7IzAk/auLYt6pL9rk/tq6KjkbAgggMEsguR7w47EU3t8nOx6e9SwPOC1wfPvmdUWpvFNHtn9eA+XnvNPZIjgEMhIwskdXPP9A16S9zdw8NJJRFJwWgboEKLrr4mLnLASSYrskkRba9u16/mVZxMA5EUDAO4FYI/4bkXjbGtlzn3fR5yzg0e3rNlsbvUNnKrxJu96Vs+7TXQQQaExgvzXmd7sm4o9QfDcGyFHtE6Dobp81Z6pTYK/0rS1ISa/js7+gh/bUeTi7I4AAAomADojIXxak+t5VsvcBSNwSGL2rf6NU9CpNkTfoh96SnQ0BBBCoW2Df1Mh3xX6U4rtuOw5okwBFd5ugOU3tAsdkYNW4GL2Oz75Fj6LYrp2OPRFAYH4BvaWzfKoq1W3rZe+j8+/GM+0QePzOdWsKUniP/hGSTCPvaMc5OQcCCAQvMKzF9/u7lpo/4Jrv4HPtXQcpur1LWbgB68h2T1FKb9V78GrBLcvD7Sk9QwCBDAUm9dzbdVBVp50/tifDOHJ5avv7a5aMdnfcYqz97wrA5UK5fBXQaQRaLrBbL1V5X8eOXXey2nnLrTlBjQIU3TVCsVvrBKxsKR+Qo9frtZe/ziq1rXOmZQQQmCFwQt/g+72SlH97hTx6ZMYzfJG6gL17S3n8+NHr1fx92nhf6iegQQQQQGC2wKNafP+WFt8f0+I7WeeDDYHMBCi6M6PnxDrVs7Bf+q/TH4jbVGMjIggggEAGAof0Z9D7JyT+SL+wCm7a/nabRKObBn5Gjf+XXl1/Ttrt0x4CCCBQg8B/WSPv6966+89q2JddEGiJAEV3S1hpdDGBA9L/Eivmd3S/pyy2L88jgAACbRDYr4Xh7x6Wzg9dIA8ltx1ja0JAr6s0o9v7rzXWvE+MXNhEUxyKAAIIpCNg5e+rkbxrydbd/5FOg7SCQO0CFN21W7FnCgIHZP2TrETv16auSaE5mkAAAQTSFviBzsJ5z1phRKRR2BN3bHh6ZOIP6/HPabQNjkMAAQRaJBBr8fPntmjf1XXd0I4WnYNmEZglQNE9i4QHWiGQ3Gu7LPJeHfy4RdsvtOIctIkAAgikKHBvJIW3r5Id96fYZtBNabHdr8X2/9RO3qQfUdCdpXMIIOC7wIgR+5EOO/Gb5sYDj/veGeJ3X4Ci2/0ceR3hI7K5s0cm36UvtF/RjizxujMEjwACeRNIVjr/iN5V4f9lsbX5U2+3b+4cs5Pv0D1+TT/4OT8/Fc8ggIB7Ars1pPd0bt19l9Eq3L3wiCgUAYruUDLpYD90kbRX6GrkH9LQznUwPEJCAAEEahU4pLN03rdGdv2e/tKs1npQHvYb297/Cmv5OZ+HXNNHBEIW0DU97ouNfasutvb1kPtJ37IToOjOzj7YMw/L4Pn6ZmFSbF8dbCfpGAII5FHgW7omxdvXys6v5LHz0/s8vr3/4tiaD+pjPzb9cT5HAAEEPBbQuxrKpyqlyruWXrdv2ON+ELqDAhTdDibF15D0uu3ukkTvFrG/qn3o8LUfxI0AAggsIvCFilTftl72PrrIfsE9feSPN64oj1e26ajQL2jnisF1kA4hgEDuBbQ4OizG/HpHj85uupbZTbl/QaQEQNGdEmTemxmWgVfpiykZ3R7IuwX9RwCBXAjoIjzyG6tk3e8YuS+59jvoLbkF2NjH+7eKNcndJ1YF3Vk6hwACCKiA/oz/D13q/C1MOeflkIYARXcaijlu44AMDsRib9UX0itzzEDXEUAgpwL6s+87+vHmVRLudYBjd24810r1Nk3xS3KaZrqNAAL5FZiacj5ZlHf0vnH3wfwy0PNmBSi6mxXM6fG6vGNxvwzeotdu/4YSsFptTl8HdBsBBKYEYv33YyLj71oj4dx6xm6T4vimwVustb+p/esh1wgggEB+BexenenzK1037r4rvwb0vBkBiu5m9HJ6rK5Kfpl2XUc9zNNzSkC3EUAAgbkEhvRa57etll1/MdeTPj124mP9TytE0e06xHO5T3ETKwIIINBigb8RU72la2v+1vRosWvwzVN0B5/i9Dq4V/p6ilL4Lb207xZtNUqvZVpCAAEEghL4UyslXeX80b2+9cr+/polo13l39A/Dt6qsRd8i594EUAAgTYIjFgj7+3q2f1hFlprg3Ygp6DoDiSRre7GsKy/0kh0h57nglafi/YRQACBAASO6BuU2/Te3h/RX7TJ9HPnt7Htgz+uU8n/QAPd5HywBIgAAghkL/D1qBrf0PGmPQ9mHwoRuC5A0e16hjKO76Cs7I2lK1mt9s36wesl43xwegQQ8E7gyxrxzWtk9/ddjfz47Wv7ClHpQ/oT/jWuxkhcCCCAgKMCY3qt96937tz1O2abVByNkbAcEKCIciAJroawTza8LJL4jzS+ja7GSFwIIICABwJjeq33tlWy6wOujXpPjW6L/ZhYWe+BIyEigAACTgroAsPftrHd2nPT0LecDJCgMheg6M48Be4FsF9WLxUpf1AHtm9yLzoiQgABBPwU0D/K7onEbNWF1nZn3QP7qZW9Y5NdH9Zi+/qsY+H8CCCAQCACE9qP93Uu2f3bXOsdSEZT7AZFd4qYITR1UAaepRcfJrdD4NrtEBJKHxBAwDWBo/qG5rv1Wu9kFlEm28gdA882Zurn/PmZBMBJEUAAgbAFvmEKcl3nG929rChsfjd7R9HtZl7aHpWVy0sHZN97ROz/oydnxdq2Z4ATIoBAngT0l++flUXe0iu7D7ar3/a2y0tjRf05b/g53y5zzoMAArkVGDXG/PeO63fdqm9y6kQntrwLUHTn/RWg/T8oG7fEUv2kfvo0OBBAAAEE2iVg9ZZi5iZdZO2vW33G8Y9v3GLj6if1Lz9+zrcam/YRQACBMwL2b2NbuKHnxp1DZx7ik1wKUHTnMu0nO61/fJkDMvBO/eo39aMjxxR0HQEEEMhKwOqtxX5/XOTdG2TXaNpB2G0SjW7sf5cu5PY+bZuf82kD0x4CCCCwuMD+2Ng392wd+uziu7JHqAIU3aFmdpF+7ZW+tQUpfELr7pcvsitPI4AAAgi0XuC7RqLrVsvOf0vrVKPb120WiT6ht7N5flpt0g4CCCCAQGMC+g7rH3RFpV8yWx8da6wFjvJZgKLb5+w1GLuObr9IR7mT6eT9DTbBYQgggAAC6QvoPV7Nb+rq5u/TX866pmXj29gd/T8hxnxcf9avaLwVjkQAAQQQSFfAPBAZeU3H1l3fSbddWnNdgKLb9QylGJ/+8VU8IIO6UJp9rzYbpdg0TSGAAAIIpCfw+bKY65fJrkP1NqnTyYvjG/t/Q6esv1uP5Xd8vYDsjwACCLReYGqRtc6tuz7c+lNxBlcE+IXsSiZaHIdOJz+nIMXP6GmuaPGpaB4BBBBAoEkB/eX8qL43em09081HP7Z+k0TRn+qp+TnfpD+HI4AAAm0Q+NPOyY6bzc0PH23DuThFxgKMdmacgHacfr8MXKMF97/rufhDrB3gnAMBBBBoUkBnJm22Ev+Lzk76Ff180TfIxz42cLUW3N/U0/Jzvkl7DkcAAQTaJPDqsdL4t09s3/CMNp2P02QosOgv8gxj49RNCugfagX9g02nkjOdvElKDkcAAQQyFDCfK0m0dbnsOHx2EMl08rENetmQ4ef82TZ8jQACCHgiMKb39P5Vppt7kq0Gw6TobhDO9cP2yLo1RSl8WuN8ieuxEh8CCCCAwKICj+ltv16ti6x94/Sex29f21eISn+s4+AvPv0Y/yOAAAIIeCpg5ZOdFfvz5uahEU97QNgLCFB0L4Dj61PDsuH5RuI/0fjX+9oH4kYAAQQQmCUwrguk/cpa2fXh0TsGflRHt/WNVbNu1l48gAACCCDgq8CDUTX+mY437XnQ1w4Q99wCFN1zu3j7qF6//Usa/G/rR9HbThA4AggggMC8Aktefuwf5FW9V+o9KErz7sQTCCCAAAK+Chw11l7XeePQX/naAeKeLUDRPdvEy0cekc2dS2Xyo3od9/VedoCgEUAAAQQWFDBFK0uefVg6NoyKXVKSiaesEttVWPAYnkQAAQQQ8FLAGrHv79gx9Gtmm8Re9oCgZwhQdM/g8POLgzIwqN+Nf6HRs/qhnykkagQQQGBBgai7Kr3PPyjFlZNn9rOlSCYvXSnxio4zj/EJAggggEBAAkb+unOi43XcVsz/nFJ0e57DYel/ni6u83+0G32ed4XwEUAAAQTmECitnZClzzsoUeccgx36W3zywuVS3dAzx5E8hAACCCAQgMD3ImN/qmPr0HcD6Etuu0DR7XHqD0j/L+iiOh/SLnBdn8d5JHQEEEBgPoHOC0/IksuPLHqn7upAj0xevEz349f6fJY8jgACCPgrYI4ZE7++c+vQ5/3tQ74j57ezh/nX67aLumDahzV5v+Bh+ISMAAIIILCYQKTXbz/jqHSed2KxPc88H6/skMknr5Rk2jkbAggggEBwAlW9n/cvcT9vP/NK0e1Z3vbL6qUiHcn9t6/xLHTCRQABBBCoQcCUY+m98pCU+sZr2HvmLra7KBNP1QXW9H82BBBAAIEABay9vbOy/hZz831PLPIRYDdD6xJFt0cZ3St95xSk9AURe4lHYRMqAggggECNAoUlumDaCw9IobdS4xGzd5taYO0pusDachZYm63DIwgggEAQAveMmdK1K7Y+qtcfsfkgQNHtQ5Y0Rl2h/Nm6hM5n9dO1noRMmAgggAACdQgUV01I7wvmWTCtjnamdo2MTF6iC6yt6673SPZHAAEEEPBCwN4v1eorut607xEvws15kBTdHrwADsjg663Yj2moDFt4kC9CRAABBOoVKOu9t5fqPbiTe3Gntulv+Mp5vVLZrFclsSGAAAIIhCgwbK38VPeNu78WYudC6hNFt+PZHJbBXzRiP6hhsjKO47kiPAQQQKARga6LjkvPZUcXXaG8kbaTY6r93TL5pOWsbN4oIMchgAACbguMa+F9nRbed7sdZr6jo+h2NP861lHQFcpv1QSxQrmjOSIsBBBAoCkB/QHfc/lR6brweFPN1HJwvKpTJi5dqb9Z+LVfixf7IIAAAp4JVI21v9h549DvexZ3bsLlt6+Dqf6BnN+xXEbv0tCudTA8QkIAAQQQaFZAbwmWTCfv2DTabEs1Hx/3lmUyWdm8zMSpmtHYEQEEEPBIQC9HvbVrx9A7zDbRpaDYXBKg6HYpGxrLURlcOTG1YJq90rHQCAcBBBBAIAWB5LrtpXpLsPL6sRRaq68J26O3FHvaarGdhfoOZG8EEEAAAV8EPtW5ZPmN5tr7taRgc0WAotuVTGgch6R/Y1XM3+qnFzsUFqEggAACCKQkEHXoPbhfeFCSlcqz2mxHQSYu08JbC3A2BBBAAIEgBe7ptOM/Y2488HiQvfOwUxTdjiRtv/RfpKvc/J2Gs9GRkAgDAQQQQCBFgainKst+tLl7cKcVzsl7ea/Se3mX02qSdhBAAAEEHBIwYu6bmIxf3nvz0AGHwsptKBTdDqReC+7LtOD+vxrKGgfCIQQEEEAAgZQFCssnZZmOcEfd1ZRbbqI5XVQtWVwtWWSNDQEEEEAgRAHzgC3IVd1v3LU7xN751CeK7oyzNSzrrzQSfV7DWJZxKJweAQQQQKAFAsWVk9KrI9zJ1HLnNv0rYPKSFVJd3+1caASEAAIIIJCKwGPGmJd2bt31g1Rao5GGBFjCtCG2dA7SW4JdrQV3cg03BXc6pLSCAAIIOCWQXLu97EWOFtyJlN6fsvTAYSnsGXHKjWAQQAABBFIT2GSt/aeJOwaeklqLNFS3AEV33WTpHDAs/a/Wlv5SP7rSaZFWEEAAAQRcEij1jcuyFx8QU3ZwhHs6VFJ436+F9+4T0x/lcwQQQACBcAT6YiNfGtk+8KxwuuRXT5henkG+9Bru1+g13J/UU7N0bAb+nBIBBBBotUByO7Clzz8kpqAVrS+b/kVQuXCZVDYs8SVi4kQAAQQQqE/ghM5wekXXjbu/VN9h7N2sAEV3s4J1Hr9fBl+r8/nu0sO4SWqdduyOAAII+CBQ7teCW+/D7VXBPQ22cl6vVM5ZOu0RPkUAAQQQCEhgxIj9yc4bhu4NqE/Od4Xp5W1MkRbcb9aCOxnhpuBuozunQgABBNol0LFxVHp9G+E+C6f4w2NSfJhbu57FwpcIIIBAKALdVsznxrb3vzSUDvnQD4ruNmVJF027WQvuj+rpMG+TOadBAAEE2inQsWFUlj73kP6U92hK+TxAxYcpvOeh4WEEEEAgBIFua80Xxu7o/4kQOuNDHygA25AlLbjfrqeh4G6DNadAAAEEshAoTxXch3W5jizO3ppzThXejzDi3RpdWkUAAQQyFyhbY+6m8G5PHgL686A9YPWeRaeUv0lHuG/T47CuF4/9EUAAAQ8Epq7hTqaUBzDCPRc313jPpcJjCCCAQDACE8bYV3VuHfp8MD1ysCMUgi1Mit4W7AYj5nY9BTMKWuhM0wgggEBWAlOrlL8g3IL7tGvlfF1cbTOLq5324H8EEEAgMIEJE8srO2/a/deB9cuZ7lB0tygVwzJwveLeoc1TcLfImGYRQACBLAVK68d10bSD3q5SXq9d5QK9ndgmbidWrxv7I4AAAp4IjGqc13TdsPsfPInXqzApCFuQrgMy8AYK7hbA0iQCCCDgiEBpXb4K7oS9+NBRKew64UgGCAMBBBBAIGWBLm3vr0a3r78y5XZpTgUoulN+GeyX/tfourXbsU0ZluYQQAABRwRKqydyNcJ9hl1/uZW+d0QKQyNnHuITBBBAAIGgBHrERl+k8E4/p0wvT9FUVym/Rpv7C/0opdgsTSGAAAIIOCJQXD4py15yQEw5diSiDMLQvxwmLl0l8ZrODE7OKRFAAAEEWi2g77EeKVp5YfnG3d9u9bny0j4j3Sllep/0P0eb+hP9oOBOyZRmEEAAAZcECksq0vujeg13ngvuJCH611j5O4ckOjjmUnqIBQEEEEAgJQF9b3V51cg949v7L06pydw3Q9Gdwktgnww8JRKTrPbXk0JzNIEAAggg4JhA1FWV3hcdkOR/NhWIrZS/rYX3kQk4EEAAAQTCFFgTW/N3ox9bvynM7rW3VxTdTXoPy+AFivi32szyJpvicAQQQAABBwVMRyzLtOAuLKHgnpEeLbxL39aR/xOVGQ/zBQIIIIBAMAIbJIruOX772r5gepRRRyi6m4A/KAODRuw92gQvxCYcORQBBBBwVcDoRW29LzgohWUUlnPlyEzGUv6mXuM+xhsSc/nwGAIIIBCAwAWFQunz9o7VSwPoS2ZdoOhukP6YDKzSZXSSgpspFw0achgCCCDgtECkBfeVByVZrZxtfgEzXpXyt7Tw1gKcDQEEEEAgSIFnjJmOz9pbz+8Isndt6BRFdwPIO2Wwa1zkc3ooiws04MchCCCAgA8CS555RErr9ac926ICyRTz0rcOilR1lTU2BBBAAIEQBV40tmT0E3Ybt5xuJLkU3XWq6Z8TUYfYT+lhz63zUHZHAAEEEPBEoPvSY9J5Lvejridd0bEJKf/XoanVzes5jn0RQAABBLwRePX4xsH/5U20DgVK0V1nMg5K/4d0Gf1X1nkYuyOAAAIIeCLQed6IdP/I455E61aY0f4xKX3viFtBEQ0CCCCAQGoCVuy7Ru4YeHtqDeakIYruOhI9LAO/ZsW8rY5D2BUBBBBAwCOBcv+YLHnmYY8idi/Uwq4TUnzsuHuBERECCCCAQCoCxsjvjtw58KpUGstJIzpoy1aLwAEZfL2+s3OX7otZLWDsgwACCHgmUFw5Kctesl+SFcvZmhTQ35STl6yQ6vruJhvicAQQQAABRwXGxNqXdt049FVH43MqLArIGtIxLP3PM2Lu1V1Zsa8GL3ZBAAEEfBOIeqqy/GX7Jerk1lep5S4yMnHZaomXl1NrkoYQQAABBJwSOGhi86zOm3Y95FRUDgbD9PJFkrJX+s7RgvvPdTcK7kWseBoBBBDwUcAUkluDHaLgTjt5sZXStw+KGeEe52nT0h4CCCDgiMAqG9kvHPnjjSscicfZMCi6F0jNQVnZG0nxr3SXtQvsxlMIIIAAAh4LLHn2YSmu5F7crUhhcu/ushbeUuEe3q3wpU0EEEDAAYGLOiYqn7V3b2Fa0wLJoOieB0ev6CvE0vVpnX//I/PswsMIIIAAAp4L9Dz1mHRsHPW8F26Hn9zDu/xfujgdl8q7nSiiQwABBBoVsOb5Y8ePfrTRw/NwHEX3PFneLwO36lNXz/M0DyOAAAIIeC6QFNtdl3BrsHakMTowJsWHjrbjVJwDAQQQQCATAXvDyPaBd2Zyag9OStE9R5IOSP9bdYT7F+Z4iocQQAABBAIQKK6ekGRaOVv7BJLbiBWGRtp3Qs6EAAIIINBWAWPl/WN3DlzT1pN6cjJWLz8rUftl8AU6B+4efbh01lN8iQACCCAQgEDUrSuVv5yVyjNJJSuaZ8LOSRFAAIH2CZhjkYmv6Ng69N32ndP9MzHSPS1Hh6R/oxbcd+tDFNzTXPgUAQQQCEWAlcozzmSyovl/6orm49yaLeNMcHoEEECgRQK2N47N5w5v37y8RSfwslmK7lNp2ymDXfonQHJrMFYq9/KlTNAIIIDA4gI9Tz8ixVWsVL64VOv2MBOxFt6HRLQAZ0MAAQQQCFDAyIWdduJPdCizEGDvGuoSRfcptk6RO0TM0xtS5CAEEEAAAecFOi84IZ3ncU2xC4mKjk5I6fssrOZCLogBAQQQaI2AednY8YFtrWnbv1YpujVn+6X/l3Va+c/5lz4iRgABBBCoRWBq4bTLKfJqsWrXPoVdJ6Sw+0S7Tsd5EEAAAQTaL/CekTsGrm3/ad07Y+4XUtOF016oBfe9mhqmP7j3+iQiBBBAoGmBqDPWhdOGJVlAjc0xgWRhtaevlri37FhghIMAAgggkJLA8UiqV3TcsPeBlNrzsplcj3Tvk7V9WnB/WjNHwe3ly5egEUAAgUUEIitLn3eIgnsRpsyenlpY7ZAk13mzIYAAAggEKbAktoW/tJ9a2Rtk72rsVG6Lbl2+pRhJMVmpfH2NVuyGAAIIIOCZQM/Tjklp7bhnUecrXDNWldJ/6cJqrKuWr8TTWwQQyI+ALqw2NtH9h/np8Oye5rboPiCD/58unPb82SQ8ggACCCAQgkB5YEy6LjoeQleC70N0aFyKjzwefD/pIAIIIJBfAftzY3f035LX/ufymu79MnCNJvyv9COX/c/ri51+I4BAfgSS67dX/PiwmDLTln3K+sRlen33yg6fQiZWBBBAAIHaBSat2Bd23zD0L7UfEsaeuRvp3icbz9XUfVI/KLjDeA3TCwQQQGCmgF7H3XulXidMwT3TxYOvkmnmZpwF7zxIFSEigAACjQiUjJg/OXZb/+pGDvb5mFwV3cl13Eaqf6wJW+5z0ogdAQQQQGB+gZ6nHpPiqon5d+AZZwWSBdVK9x92Nj4CQwABBBBoWmBDsWTutDZfA6C5KrqT67h1ePtZTb9UaAABBBBAwEmBcr9ex30x13E7mZwag+L67hqh2A0BBBDwVEDrsVeMbx98m6fhNxR2bqZYH5T+q2IxX1SlXL3R0NCrgoMQQAABDwWS67iX/5jej7uD67g9TN/MkPWvk4nL10i8nPt3z4ThKwQQQCAYgfE4ts/uuWnoW8H0aIGO5KIATe7HrQX3XeqQi/4ukG+eQgABBMIU0CJt6XP1ftwU3GHkV68HK31Hr++e5A2UMBJKLxBAAIFZAh1RZD5j7+rrmfVMgA8EX4Tq720TSekOzV1fgPmjSwgggAACKtB9yeNSWsN13CG9GJIF1YoPHgmpS/QFAQQQQGCmwEVjleJHZj4U5lfBF90HpP9dmrqrw0wfvUIAAQQQKK6ckO4nc4/nEF8JheFRKewZCbFr9AkBBBBA4KTA1tE7Bl8XOkbQ13QflI1bYqn+uyaxM/RE0j8EEEAgjwKmaGX5y4el0FvJY/fz0We978j4FX1iuwr56C+9RAABBPIncFTi+CldN+15LNSuBzvS/QM5X6/sq35aE0fBHeqrl34hgEDuBXouO0rBHfqroGL1NmKHRPR6MTYEEEAAgSAFlkkUfcreLcG+uxps0b1cRn9TX5KXBvmypFMIIIAAAlJePyad559AIgcC0ZEJKT7GJQQ5SDVdRACB/Ao8b/TxgbeH2v0gp5cPS//zjJgva9KCfbck1Bck/UIAAQRqEUhWKV9+td4erLNay+7sE4KA/sUy8Qy9jVgvtxELIZ30AQEEEJhDYDyqmmd2vGnXf87xnNcPBTfSfVBW9kZiPqlZoeD2+qVJ8AgggMD8AkuuOEzBPT9PmM8ktxG7/7BIzDzzMBNMrxBAAAHpsAX7CXv3luDeXQ2u6LbS9SH9dbyZFy0CCCCAQJgCHZtHpDw4Fmbn6NWCAuZERYoPM818QSSeRAABBDwW0DruqWMnDv+6x12YM/Sgiu5hGfxxTdTWOXvKgwgggAAC3gsk08p7Lj/qfT/oQOMCybXd0THuyd64IEcigAACjgtY88sj2wee5XiUdYUXTNGdTCs3Yv+wrt6zMwIIIICAVwJLnnlEksKbLccC+u4608xznH+6jgACeRAoGCsft9s3B3MXqmCK7li6P6ivwA15eBXSRwQQQCCPAh2bRqW8YTSPXafPZwkwzfwsEL5EAAEEwhO4aCyefG8o3dK1QP3fDsjAi/SN73u1J0H0x/+M0AMEEEAgXYGTq5Xv08XTGOVOV9bj1vQ3PquZe5w/QkcAAQQWF6jENnp2z407/33xXd3ew/uR7r3S16MF9+3KTMHt9muN6BBAAIGGBXqeodPKKbgb9gvyQKaZB5lWOoUAAghMEygaie8IYTVz74vuSIrv18ScOy05fIoAAgggEJBAMqW8YyPTygNKaWpdmZpm/iirmacGSkMIIICAYwLGyKW6mvl/dyysusPxenT4gAxeYcX+i/ba+zcP6s4cByCAAAI5EDAlKyuu1mnl3dUc9JYuNiQQGRm/Yq3YnmJDh3MQAggggIDzAhNRVLis4/od9zsf6TwBelus6qyyohbct2m/vO3DPDnhYQQQQACBUwLdTzlGwc2rYWGB2ErpwSMi+ocBGwIIIIBAkALlOK7eYbf5W/d5W7AelIFf1pfUU4J8WdEpBBBAAAEprpyQrguOI4HAogLRkXEp7BlZdD92QAABBBDwVuCKsU2DN/oavZfTyw/L+k0ViZLpBT2+whM3AggggMACAvrbafnLhrXwnlxgJ55C4AkBW4pk4tl9Ysvejic80Rk+QwABBBCYJaB/GhyuVCeftORNw/tmPen4A17+ZtKC+/fUlYLb8RcX4SGAAAKNCnRdfJyCu1G8nB5nJmMp/uBoTntPtxFAAIHwBfQqohWFYvF3feypd0X3ful/jUJf4yM2MSOAAAIILC4Q9VSl+8nHFt+RPRA4S6Cwd0SiQ+NnPcqXCCCAAALBCFjzurHt/S/1rT9eFd37ZfVSvR33B31DJl4EEEAAgdoFllx+RIwulcmGQN0C+rIpfVcXVdPF1dgQQAABBMIUsNb8gd2+udOn3nlVdIt0/E/FXe8TMLEigAACCNQuUFo3LuXBsdoPYE8EzhIwIxUp7mABvrNY+BIBBBAISeD8MTv5Lp865M1CasMyeIER+x3F7fAJmFgRQAABBGoUiPSe3D8+LIXeSo0HsBsC8wgU9N7dz9FF1ToK8+zAwwgggAACnguMiqle0rV176M+9MObkW4j8a0KSsHtw6uKGBFAAIEGBLouPkHB3YAbh8whULVSfIh1AeaQ4SEEEEAgFIEuYwvv96UzXhTdB2TwlXot98t9QSVOBBBAAIH6BKLOWLq3PF7fQeyNwAICU4uqHZlYYA+eQgABBBDwWUBX7/jZsTv6r/KhD84X3TtlsEtBf8cHTGJEAAEEEGhMoOdpR8WU4sYO5igE5hLQPx6K39NF1fR/NgQQQACBMAWsif63ve3ykuu9c77o1mXpfkV/Y57jOiTxIYAAAgg0JlBcPSEd54w0djBHIbCAQPT4pBSGTiywB08hgAACCPgtYC8ZLe69xfU+OL2Qmk4rH7Biv6eIPa5DEh8CCCCAQAMC+lto+VX7pbiKacAN6HFIDQK2HMnEs3VRtZLz4ww19IZdEEAAAQTOFtAJTUcqk/aC3puHDpz9nCtfO/4byP6GQlFwu/JqIQ4EEEAgZYGOzSMU3Cmb0txMATMRS+ER1guYqcJXCCCAQDgCyfv3xaL8D5d75GzRvU8GnqLvWlznMh6xIYAAAgg0LmAKVnouZYXpxgU5slaB4q4Tkty/mw0BBBBAIEwBY8xbxu9cd4mrvXO26NZ3LD6gaM7G52pCiQsBBBDwRaDzouMS9VR9CZc4fRaI9RZiDzPa7XMKiR0BBBBYRKBYlcJvLbJPZk87WdTul4FrtOh+aWYqnBgBBBBAoKUCpqy3CLvkeEvPQeMITBco7BuR6BhrB0w34XMEEEAgJAGtH39i7M7+l7jYJ+eKbp1SXtDVyn/bRSxiQgABBBBIR6D7yY9LUnizIdA2Af0Do/gDLmdomzcnQgABBDIRMB+w29ybLe1c0a0rlt8gYrZkkiNOigACCCDQcoHCkqp0XsBtnFoOzQlmCUSHxyU6MDbrcR5AAAEEEAhDQN9fferYpoHXudYbp4ruR2Sz3pbbvtc1JOJBAAEEEEhPoPupR8VE+muRDYEMBEo/OKp/amRwYk6JAAIIINAeASvvs7ee39Gek9V2FqeK7iUyeYuGvaG20NkLAQQQQMA3geR+3B0bR30Lm3gDEjAnKlLYMxJQj+gKAggggMBZApvHl4y86azHMv3SmaJ7v6xeqhLvzlSDkyOAAAIItFSg+1JWkG4pMI3XJFB8WK/t1hXN2RBAAAEEwhSwYv6HvWOqvnSig84U3SIdv6wia51QIQgEEEAAgdQFSmsmpLye62lTh6XBugXMmN5YZojR7rrhOAABBBDwR2DNWNTxNlfC1ZXVs9+GpH91SczDGkky2s2GAAIIIBCgwLIXH5BS33iAPaNLPgrYckHGn9cnEjnxp5CPhMSMAAIIuC5wdCI25y67adehrAN1YqRbC+5fUwgK7qxfDZwfAQQQaJFAUmxTcLcIl2YbEjATVSnuZBX9hvA4CAEEEPBDYFm5ECezqTPfMi+6h2XzOlW4OXMJAkAAAQQQaJlAcl9uNgRcEyg8qq/LKtd2u5YX4kEAAQRSE7DmbY/f1Zf5JcyZF91GJpPF07pTg6UhBBBAAAGnBMr9Y1Jay7Ryp5JCMFMCZjLW0e7jaCCAAAIIhCvQU6qUfinr7mVadCfXciuAU8u5Z50Qzo8AAgiEJsAod2gZDas/hUePS1J8syGAAAIIhClgxd6S9Wh3pkW3Xsv9q5raJWGml14hgAACCCSj3Mm9udkQcFXAVGIp7OLablfzQ1wIIIBACgI9xWrhHSm003ATmRXdp0a5uZa74dRxIAIIIOC+QNcWruV2P0tEWNihU8y5tpsXAgIIIBCuQHJt953r1mTVwcyK7pJEybXcjHJnlXnOiwACCLRYYGrFcr03NxsCrgtMXdu9m9Fu1/NEfAgggEATAj1FyW60O5Oi+6gMrhSxb2kCjUMRQAABBBwX6GaU2/EMEd50gcJjOtods5L5dBM+RwABBAITeOvRjyV1aPu3TIruCYnfql1llLv9+eaMCCCAQFsEkuu4S+tYsbwt2JwkFQEzXpXCnpFU2qIRBBBAAAEnBZaWo6k6tO3Btb3o1mu59fZgJim62RBAAAEEAhVglDvQxAberaKuZC4MdgeeZbqHAAL5FjD/zd7V19Nug7YX3UWJbtROZnYRe7uBOR8CCCCQN4HCsoqUB8by1m36G4CAGa1IYS+j3QGkki4ggAAC8wmsGq+WbpjvyVY93taiW988LkZi39mqztAuAggggED2AlOj3Cb7OIgAgUYEism13Yx2N0LHMQgggIAXAtbad9ptUmxnsG0tug/KwM/p77HN7ewg50IAAQQQaJ9A1F2Vjo2j7TshZ0IgZQFzfFKig8zUSJmV5hBAAAGXBDaPbRx8TTsDalvRrcW20Y93tbNznAsBBBBAoL0CXRfpKGHEMGF71Tlb2gLF5L7dbAgggAACAQvYd1srbZuX17aie1g2XKVZuzTgzNE1BBBAINcCpmSl83yuh831iyCQzkeHxiUZ8WZDAAEEEAhW4Mnjdw6+vF29a1vRHUn8i+3qFOdBAAEEEGi/QOd5J8SU4vafmDMi0AKBqWu7W9AuTSKAAAIIuCFgI3l7uyJpS9E9LIMXaIde1q5OcR4EEEAAgTYL6AStzgtPtPmknA6B1gkU9o5Kcu9uNgQQQACBQAWsvWr89sG2zMRuS9Gty4Am7yK06VyBvijoFgIIIOCwQMeGUSksqTgcIaEhUKeAXuxX2MUbSXWqsTsCCCDglUBcsLe0I+CWF8KHZfNyHQC5rh2d4RwIIIAAAtkIdF3MwlPZyHPWVgpMFd1VFgZspTFtI4AAAhkLvOHYbf2rWx1Dy4vuikzcpJ1Y0uqO0D4CCCCAQDYCxVUTUlw9kc3JOSsCLRQwk7EU9rA4YAuJaRoBBBDIWqCrVDJvanUQLS269b3hgt4p7K2t7gTtI4AAAghkJ9DFtdzZ4XPmlgsUdzKLo+XInAABBBDIVuCt9u4t5VaG0NKi+4D0X63Bb2plB2gbAQQQQCA7AdMRS3njaHYBcGYEWixgTlQkOsJMjhYz0zwCCCCQpUD/6PHDP93KAFpadGvgb2ll8LSNAAIIIJCtQOd5I2IKXPOabRY4e6sFWFCt1cK0jwACCGQrYMTc3MoIWlZ075ON5+rU8qtaGTxtI4AAAghkK5Dcm5sNgdAFCsN6+7AJ7kEfep7pHwII5FrgR8c/vnFLqwRaVnRHEifvFrSs/VaB0C4CCCCAQG0C5f4xKSzlNmG1abGX1wKx3j5siDeYvM4hwSOAAAKLCFhbTRYAb8nWkqLYSnIhur2+JRHTKAIIIICAEwKdF1CEOJEIgmiLwNQUc66kaIs1J0EAAQSyEND3V6+3t/V3t+LcLSm6D8jRV2mwa1sRMG0igAACCGQvEPVUJRnpZkMgLwJmrCrRQV7zeck3/UQAgfwJGJHlYyV5dSt63pKiWwP9+VYES5sIIIAAAm4ITF3Lrb+d2BDIk0BxN7M78pRv+ooAAjkUMKYldWzqRfewDF6gU8ufl8MU0WUEEEAgHwJabHeeO5KPvtJLBKYJRAfGdEG16rRH+BQBBBBAICgBK8+cuGPgKWn3KfWiWwvurRok4x9pZ4r2EEAAAUcEyuvGJOqm8HAkHYTRTgG9pruwh/vSt5OccyGAAALtFogjuT7tc6ZadOvvokir7denHSTtIYAAAgi4I9DBKLc7ySCStgsUmGLednNOiAACCLRTwFp5g731/I40z5lq0b1fBl+mwW1IM0DaQgABBBBwR8CUYikPspiUOxkhknYLmJGKREcn2n1azocAAggg0D6BVaNLx65O83SpFt3RyanlacZHWwgggAACDgl0bB4VU+C+SQ6lhFAyECjsYU2DDNg5JQIIINA+ATt1yXRq50ut6D4qgyv1z7CfSC0yGkIAAQQQcE6ABdScSwkBZSBQ2KvXdesNXdkQQAABBMIU0EumX37ijg39afUutaJ7UuKf06BSnfueVidpBwEEEECgeYHCskkprmJabfOStOC9QCWWwjALqnmfRzqAAAIIzC9QNJF9w/xP1/dMakV3LOZ19Z2avRFAAAEEfBJglNunbBFrqwUKQ0wxb7Ux7SOAAAJZChgbu1V075ON5+oQ/LOyROHcCCCAAAItFNAf8h2bGNlroTBNeyYQHRoXM86t8zxLG+EigAACdQiYLWndszuVkW4j1ddq9PonGRsCCCCAQIgCpTXj3Js7xMTSp6YEIqaYN+XHwQgggIDrArGxySXUTW8pFd32NU1HQgMIIIAAAs4KJKuWsyGAwEyBqQXVZj7EVwgggAACAQlYMa+126TpmrnpBoZl4Kk6yL0lIFu6ggACCCAwXUDnMZUHKbqnk/A5AolAcr/u5L7dbAgggAACwQpsGNu0/rnN9q7potuISWXIvdmOcDwCCCCAQGsEyuvHJOqMW9M4rSLguQCrmHueQMJHAAEEFhWIkkupm9qaKrr1DpU6/sHU8qYywMEIIICA4wIsoOZ4gggvUwGmmGfKz8kRQACB1gtYudbevaXczImaKroPyUCyYvnGZgLgWAQQQAABdwVMwerU8jF3AyQyBDIWMMcnJflgQwABBBAIVmDl+ONHX9xM75oquvXe3D/dzMk5FgEEEEDAbYFy/5iYElPL3c4S0WUtUNjHmgdZ54DzI4AAAq0UsJH8TDPtN1V069TyVzZzco5FAAEEEHBboLyRYsLtDBGdCwJc1+1CFogBAQQQaKGAtT+lq5gXGz1Dw0X3sPQ/TU96XqMn5jgEEEAAAccFIp1avn7c8SAJD4HsBcyJCquYZ58GIkAAAQRaKbBqbPPACxo9QcNFdySmqSH2RgPmOAQQQACB9giU+8bFlJla3h5tzuK7AKPdvmeQ+BFAAIFFBOLGp5g3XHTryuVMLV8kLzyNAAII+CxQ3sACaj7nj9jbKxDt5/ulveKcDQEEEGi7wCvt3VJo5KwNFd0HZP2T9GTJBxsCCCCAQIgCekPI8gBFRIippU+tEYiOTYgZr7amcVpFAAEEEHBBoG/sxPrnNBJIQ0W3SPRTjZyMYxBAAAEE/BAorZqQqIsCwo9sEaUTAjoFkNFuJzJBEAgggEDLBEzcWB3cUNGtv1eubllPaBgBBBBAIHOB8gZWLc88CQTgnQDXdXuXMgJGAAEE6hKwRn6yrgNO7Vx30X1MBlbpsc9q5GQcgwACCCDgh0B5kKnlfmSKKF0SiA7rFPNJFh90KSfEggACCKQscN7YJwYurLfNuotu/XXyY3qShi4grzc49kcAAQQQaL9AobcihaWV9p+YMyLgu4C1Eh3kNnu+p5H4EUAAgYUE4liuWej5uZ6ru+i2Yl8xV0M8hgACCCAQhkC5n1HuMDJJL7IQiA7y/ZOFO+dEAAEE2iVgbIuLbiuXl7QzV7WrQ5wHAQQQQKD9AqX1jNS1X50zhiIQHdLvH138hg0BBBBAIFiBKw9v37y8nt7VNdJ9UPZeqY3XdYJ6gmFfBBBAAIFsBUzBSmktRXe2WeDsPgsktw2Ljk/63AViRwABBBBYWKDYYSdetvAut89GfAAAQABJREFUM5+tq+i2Yl4+83C+QgABBBAISaDUNy5J4c2GAAKNC0QHmGLeuB5HIoAAAu4LGDE/Xk+UdRXdOl/qpfU0zr4IIIAAAn4JlPoZ5fYrY0TrogDXdbuYFWJCAAEE0hSwV+namabWFmsuuoekf7U2emmtDbMfAggggIB/AuX1jND5lzUidk0gOjohUuHWYa7lhXgQQACB9ATMuomPD/5Ire3VXHSXJEoWUKt5/1oDYD8EEEAAATcECkuq3CrMjVQQhe8CeoVGIVlQjQ0BBBBAIFiBah2zwGsuoo3YlwQrRscQQAABBKTEKDevAgRSE+B+3alR0hACCCDgpICJa7/0uuaiW9+0peh2Mt0EhQACCKQjUFrHyFw6krSCgE4NPMz3E68DBBBAIGgBY55vbz2/o5Y+1lR0H5R1l2hjG2ppkH0QQAABBPwU4FZhfuaNqN0UMCMVMWNVN4MjKgQQQACBNAS6x5aMPreWhmoquqtSfHEtjbEPAggggICfAsXlkxJ1sPCTn9kjalcFGO12NTPEhQACCKQkYGqbYl5T0R2JfUFKYdEMAggggICDAsn9udkQQCBdgYjF1NIFpTUEEEDANQFrXlhLSIsW3Xott9GPK2tpjH0QQAABBPwUoOj2M29E7bYAI91u54foEEAAgRQEnm5/f82SxdpZtOg+KOsv1kbWLtYQzyOAAAIIeCpgREpr9L7CbAggkKpAck0313WnSkpjCCCAgGsCxfGu0rMWC2rRottKxNTyxRR5HgEEEPBYILme23A9t8cZJHSXBZhi7nJ2iA0BBBBoXsDqKuaLtbJo0S1imVq+mCLPI4AAAh4LMLXc4+QRuvMCTDF3PkUEiAACCDQpsPj6ZzUU3Yaiu8k0cDgCCCDgsgBTy13ODrH5LhAdYZFC33NI/AgggMCCAtZcYe8e7FponwWL7n2y8Vw9eMNCDfAcAggggIDfAsXVXM/tdwaJ3mUBM6rXdY9XXQ6R2BBAAAEEmhPoGDsuz1yoiQWL7oLEz1noYJ5DAAEEEPBboNBTlaiLgsDvLBK96wLRMd7Ycj1HxIcAAgg0JWDscxc6fsGiOxa5YqGDeQ4BBBBAwG8BRrn9zh/R+yFgjlB0+5EpokQAAQQaE7B24bp5waLbSLzo8ueNhcVRCCCAAAIuCBS5VZgLaSCGwAWioxTdgaeY7iGAQM4F9O6rC9bN8xbdj8jmThFzac796D4CCCAQtECJ67mDzi+dc0MgenxSJLZuBEMUCCCAAAKtEFg7dufUemhztj1v0d0tE5fpEeU5j+JBBBBAAAHvBUzBSnKPbjYEEGixQNVKdJzvtRYr0zwCCCCQqYA1888Sn7fojsRwPXemaePkCCCAQGsFiqt0ymvE6FtrlWkdgZMCXNfNKwEBBBAIW8DaeN76ed6iW0kWXPY8bDJ6hwACCIQvUFzFyFv4WaaHrghEx/h+cyUXxIEAAgi0QsAYM+913QsV3c9oRTC0iQACCCDghkBxJYs7uZEJosiDQPQ43295yDN9RACBHAtYeaq99fyOuQTmLLoPybnLdOdz5zqAxxBAAAEEwhAormTkLYxM0gsfBMyJiohe282GAAIIIBCsQHlkyciWuXo3Z9FdlYmn6c668jkbAggggECIAqZopbBEiwA2BBBomwCLqbWNmhMhgAACmQjoUjlJHT1rm7PoFrFz7jzraB5AAAEEEPBSoLhCR7l5a9XL3BG0vwImuXUYGwIIIIBAsAI2iuaso+cpuueu0IPVoWMIIIBAzgSKK7i+NGcpp7sOCETH+L5zIA2EgAACCLRMwNi5B6/nLLr1iqM5K/SWRUfDCCCAAAJtFShwPXdbvTkZAokAI928DhBAAIHgBZ5it8msGnvWA4/I5k6dcXhx8Bx0EAEEEMixwNT08hz3n64jkIVAlCymFrOYWhb2nBMBBBBok0DPxKb+C88+16yie6lUn6w7Fc/eka8RQAABBAIR0FU+istYRC2QbNINnwS04J4qvH2KmVgRQAABBOoS0BtVzJo1PqvojiWec5nzus7EzggggAACzgoUe7Xg1sKbDQEE2i9gjrOYWvvVOSMCCCDQPgEjJhnEnrHNKrp1J4ruGUR8gQACCIQlUGCUO6yE0huvBKbu1+1VxASLAAIIIFCPgLHmSWfvP6vo1tuFXXL2TnyNAAIIIBCOQGEZI23hZJOe+CbAvbp9yxjxIoAAAvUJWGNnDWLPKrp1ETWK7vpc2RsBBBDwSqCQTC9nQwCBTATMCN9/mcBzUgQQQKB9Aufauwe7pp9uRtE9JP3depXfxuk78DkCCCCAQFgCRUa6w0oovfFKwIxq0c0K5l7ljGARQACBOgUKJ07Yi6YfM6PoLkkhGeWe8dj0nfkcAQQQQMBzAV1ArbC06nknCB8BjwV0dIPruj3OH6EjgAACNQgUxMyYPT6jwDasXF4DIbsggAAC/goUlmjBzcrl/iaQyIMQ4LZhQaSRTiCAAALzC9iZ66TNKLpjkRnD4PO3wjMIIIAAAj4KsIiaj1kj5tAEzAiLGYaWU/qDAAIITBcwZy1OPqPo1i/On74znyOAAAIIhCUwdY/usLpEbxDwTsAcZzE175JGwAgggEAdAlbMBdN3n1F062VGFN3TdfgcAQQQCEygsJQ/9gNLKd3xUGBqMTUP4yZkBBBAAIGaBc61Wnmf3ntG0a1Le5x3+gn+RwABBBAITyBaQtEdXlbpkW8CEbcN8y1lxIsAAgjUK9A9etdg/+mDzhTde6VvrYjtPf0E/yOAAAIIhCcwtZBaeN2iRwj4JVDV4Y9JXUmHDQEEEEAgWAFTfWIW+Zmi20iBqeXBppyOIYAAAjqXqWAl6uJ2YbwWEHBBgCnmLmSBGBBAAIEWCpj4zCzyM0W33kuMoruF5jSNAAIIZC0Q9WjBfebqoqyj4fwI5FvAjPAGWL5fAfQeAQSCF4ifuHT7TNGtE53OVOLBA9BBBBBAIIcCBa7nzmHW6bKrAox0u5oZ4kIAAQRSEjBzTC+3Yjen1DzNIIAAAgg4KBAtYWTNwbQQUk4FKLpzmni6jQACORKw557u7JmRbp1xuOH0g/yPAAIIIBCeACPd4eWUHvkrYEZ5E8zf7BE5AgggUIuAOVNfnym69bDBWg5lHwQQQAABPwUKyTXdbAgg4IQAI91OpIEgEEAAgVYKrLW3nt+RnGCq6LYnl9ah6G4lOW0jgAACGQtEPdyjO+MUcHoEzgiYcd4EO4PBJwgggECYAma8d3yqxp4quvdJ3xrtZ1eYfaVXCCCAAAKJQNTFfYF5JSDgjEAy4jHB96Qz+SAQBBBAoAUCthpvTJqdKroLEp2Zb96Cc9EkAggggEDWArpwR9TJyFrWaeD8CEwXYLR7ugafI4AAAkEKTNXZU0W3kScu8g6yq3QKAQQQyLlA1KUFN/fozvmrgO47J8AUc+dSQkAIIIBAqgLm5GLlU0W3Nsz13Knq0hgCCCDglsBU0e1WSESDQO4FGOnO/UsAAAQQCF/giZFuHf5YF35/6SECCCCQX4Gom6nl+c0+PXdVgKLb1cwQFwIIIJCOgD1VZ0+NdFuxfek0SysIIIAAAi4KsIiai1khprwLmHEWUsv7a4D+I4BA2ALmVJ19anq5oegOO9/0DgEEci5QSK7pZkMAAacEGOl2Kh0EgwACCKQvYE7W2adGuiW5ZRgbAggggECgAoaiO9DM0i2vBVhIzev0ETwCCCCwqIC1a5N9popu/YdruhcVYwcEEEDAX4Gok2ms/maPyEMV4D7doWaWfiGAAAJnBHrsXX09p0e6pyrwM0/xCQIIIIBAUAJRmaI7qITSmSAETIXvyyASSScQQACBBQTGKx190X5ZvVT36V5gP55CAAEEEPBcwHTwx73nKST8EAWqViT5YEMAAQQQCFYgttW+qCqF1cH2kI4hgAACCEwJGEa6eSUg4KQAo91OpoWgEEAAgdQEIrFrooJEK1NrkYYQQAABBNwTMLqAB0W3e3khIgQSgQlmofBCQAABBEIWsMasiIxEy0PuJH1DAAEE8i5gSvpHvRbebAgg4J4AI93u5YSIEEAAgTQFrJUVOr3cUHSnqUpbCCCAgGMCEddzO5YRwkHgCQEzyUj3Exp8hgACCIQnYLTe1pHumKI7vNzSIwQQQOCMAIuonaHgEwTcE2B6uXs5ISIEEEAgRQFrbFJ0m2UptklTCCCAAAKOCXA9t2MJIRwEpgkw0j0Ng08RQACBAAX0Cr/lyX26GekOMLl0CQEEEDgtYIrckui0Bf8j4JwAtwxzLiUEhAACCKQpYE9OL7cU3Wmq0hYCCCDgmABFt2MJIRwEpgkYiu5pGnyKAAIIhCdgTLxCR7rN0vC6Ro8QQAABBM4IMNJ9hoJPEHBOoMpCas7lhIAQQACBFAWMNb2RTjrsTrFNmkIAAQQQcEzAFPmj3rGUEA4CTwjEXP7xBAafIYAAAuEJ6E/5ruSa7q7wukaPEEAAAQROCzC9/LQE/yPgnoCpUHS7lxUiQgABBFIV6E6Kbka6UzWlMQQQQMAtAYput/JBNAjMEOCa7hkcfIEAAggEKNDF9PIAs0qXEEAAgekCFN3TNfgcAccEKLodSwjhIIAAAqkLdOt9uplenjorDSKAAAIOCVB0O5QMQkHgLAHDQmpnifAlAgggEJzA1DXdTC8PLq90CAEEEHhCgIXUnrDgMwScE2Ck27mUEBACCCCQsoBhIbWURWkOAQQQcE4g+UnPhgACbgqwjpqbeSEqBBBAIEWB5E+xjhTboykEEEAAAdcE9DoiNgQQcFTAUnU7mhnCQgABBFITSBZSK6TWGg0hgAACCDgnYAx/1DuXFAJC4LQA356nJfgfAQQQCFYgWUiNojvY9NIxBBBAQAUY6eZlgICzArwn5mxqCAwBBBBITSCZXk7RnRonDSGAAAIOCiRzmtgQQMBNAaaXu5kXokIAAQRSFKDoThGTphBAAAEXBQwj3S6mhZgQOCnAe2K8EhBAAIHgBZKiuxh8L+kgAgggkGcBiu48Z5++uy7ASLfrGSI+BBBAoGkBRrqbJqQBBBBAwHEBppc7niDCy7VAMtLNaHeuXwJ0HgEEwhdIiu7kgw0BBBBAIFQBRrpDzSz9CkaAqjuYVNIRBBBAYA4BCu45UHgIAQQQCEqAv+eDSiedCVGAd8ZCzCp9QgABBE4LJEV39fQX/I8AAgggEKAARXeASaVLwQgk9TY1dzDppCMIIIDAXAJJ0V2Z6wkeQwABBBAIRMDyF30gmaQbQQrw/RlkWukUAgggME2Ake5pGHyKAAIIhCjA4sghZpU+BSPAhX7BpJKOIIAAAvMJ6I96w/Ty+XR4HAEEEAhBIA6hE/QBAQQQQAABBBDwU0CLbkvR7WfuiBoBBBCoTYDp5bU5sRcCGQhYw/TyDNg5JQIIINBWAaaXt5WbkyGAAAIZCLCQWgbonBKBGgWouWuEYjcEEEDAX4Gk6J70N3wiRwABBBBYTMDG/FW/mBHPI5CZAN+emdFzYgQQQKBdAsk13WPtOhnnQQABBBDIQICR7gzQOSUCNQowvbxGKHZDAAEE/BVIRrpH/Q2fyBFAAAEEFhOwVYbSFjPieQQyEyjw/ZmZPSdGAAEE2iRA0d0maE6DAAIIZCZQ4Y/6zOw5MQKLCUR8fy5GxPMIIICA5wLVpOge8bwThI8AAgggsIAAI90L4PAUAhkLWEa6M84Ap0cAAQRaLjCi76/GFN0td+YECCCAQHYClpHu7PA5MwKLCVB0LybE8wgggIDvAiORlYhrun1PI/EjgAACCwjYSjKpiQ0BBJwUoOh2Mi0EhQACCKQoMKp/iTHSnSIoTSGAAALOCTDS7VxKCAiBMwK2wJtiZzD4BAEEEAhSwIwkP+lPBNk3OoUAAgggMCVA0c0LAQGHBRjpdjg5hIYAAgikIRAnRXd0NI2maAMBBBBAwE0Bim4380JUCCQCLKTG6wABBBAIXcAc0Wu6LUV36HmmfwggkGsBiu5cp5/Ouy7ASLfrGSI+BBBAoCkBvTHkkSgSe6SpVjgYAQQQQMBpATvBNaNOJ4jg8i1Q5Psz3y8Aeo8AAqELWGsPJ9PLKbpDzzT9QwCBXAtQdOc6/XTecQFbouh2PEWEhwACCDQlYKJoano5RXdTjByMAAIIuC0Qj/NHvdsZIro8C1B05zn79B0BBPIgoJdzU3TnIdH0EQEE8i3ASHe+80/vHRdgpNvxBBEeAggg0JyASYruohQY6W7OkaMRQAABpwWShdRsVZfxYEMAAecEGOl2LiUEhAACCKQqYPVy7qgqcijVVmkMAQQQQMA5AcsUc+dyQkAITAkUeUOMVwICCCAQsoCJ5XC0WnYOayfjkDtK3xBAAIG8C8SsYJ73lwD9d1SAkW5HE0NYCCCAQEoCVRPvi/T91YoVOZxSmzSDAAIIIOCgACPdDiaFkBBI7tGd/CXGhgACCCAQrIApRPumlrQ1YvYF20s6hgACCCAgjHTzIkDAPQFGud3LCREhgAACKQvYrq5l+0/dR8YmU8zZEEAAAQQCFbBj3DYs0NTSLY8FbEfB4+gJHQEEEEBgMQGdy3TEXHv/mYv8GOleTIznEUAAAY8F4lH+uPc4fYQeqIAt830ZaGrpFgIIIDAloJdxT9XZp6aXW4puXhgIIIBAwALxCH/cB5xeuuarQCczUHxNHXEjgAACNQo8UXTHXNNdoxm7IYAAAn4KxKP8ce9n5og6ZAFGukPOLn1DAAEERHR6+dRl3Kf+CrN7QEEAAQQQCFeA6eXh5pae+SvANd3+5o7IEUAAgVoEYjlZZ08V3frPzloOYh8EEEAAAT8Fqkwv9zNxRB20gC0zAyXoBNM5BBBA4FSdPfXTXi/wpujmJYEAAggELGB13Uxb5X7AAaeYrnkowEi3h0kjZAQQQKAeAWt2JLtPFd2TFN310LEvAggg4KUAU8y9TBtBhyzQyQKHIaeXviGAAAIqMDW4PVV098vQiI52H4QFAQQQQCBcgXhk6kd+uB2kZwj4JBAZsUW+J31KGbEigAACdQsYuys55sxPe510yBTzuhU5AAEEEPBHIB4p+hMskSIQuIBNRrm54iPwLNM9BBDIuUCla8nQUGJwpujWzym6c/6qoPsIIBC2QPW4/pHPhgACTgjYLr4fnUgEQSCAAAKtExgy10o1af5M0W3l5EXerTsnLSOAAAIIZCkQH2ekO0t/zo3AdAHbyffjdA8+RwABBIITsE8Map8puo3EjwbXUTqEAAIIIHBGoHqCkbUzGHyCQMYCjHRnnABOjwACCLRe4OHTp5hWdMtDpx/kfwQQQACB8ASqjHSHl1R65K2A7WKk29vkETgCCCBQi0Bkf3h6tzNFdyQFiu7TKvyPAAIIBCgQjxTExqzcFGBq6ZKHAox0e5g0QkYAAQTqEYijM/X1maL7hExV4nrnMDYEEEAAgSAF9Cd8zBTzIFNLp/wTYKTbv5wRMQIIIFCPgDVPzCQ/U3RvkF2j2sjUkub1NMa+CCCAAAL+CDDF3J9cEWnAAgW9R3fpzJ9gAXeUriGAAAL5FahMxrOnl5/iODMEnl8eeo4AAgiEKxBz27Bwk0vPvBFglNubVBEoAggg0JCATi480nvz0IHTB5/1Nquh6D4tw/8IIIBAgALVYyzeFGBa6ZJnAnEP34eepYxwEUAAgboEdD7TjLp6RtGty+v8oK7W2BkBBBBAwCuBytGSV/ESLAIhCliK7hDTSp8QQACBJwTszMHsGUW3lfjBJ/bkMwQQQACB0AQY6Q4to/THRwHbw5tfPuaNmBFAAIE6BB6Yvu9ZRXc048npO/I5AggggID/AlO3DZuc8aPf/07RAwQ8E4i7mV7uWcoIFwEEEKhLwIqZUVfP+Mtrjex6WFtLVjFnQwABBBAIVIDR7kATS7e8EbAU3d7kikARQACBRgQKUXz/9ONmFN16TXesT35v+g58jgACCCAQlkDlKKNsYWWU3vgkMFVw6y3D2BBAAAEEghWYKD82NP9Caie7bWdU5cFS0DEEEEAgpwLVY1xPmtPU020HBBjldiAJhIAAAgi0VuD7ZptUpp9ixkh38oTOP2cxtelCfI4AAggEJlBlpDuwjNIdnwS4XZhP2SJWBBBAoCGBWYPYs4ruSBjpboiWgxBAAAFPBCi6PUkUYQYpYJcw0yTIxNIpBBBA4LSAsbMGsWcV3VUp/ufp/fkfAQQQQCA8gerxolhWMA8vsfTICwGKbi/SRJAIIIBAwwK6SNq3zz54VtG9VnY8ojsdPntHvkYAAQQQCEegcpjRtnCySU+8EYiMML3cm2wRKAIIINCQQFS13zr7wFlFt66naXWnWdX52QfyNQIIIICAvwIU3f7mjsj9FZgquLXwZkMAAQQQCFNAf8If7rxxz46zezer6D61w6zq/OwD+RoBBBBAwF8Bim5/c0fk/grYpcww8Td7RI4AAggsLqCj198yZmoQe8bOcxbdWqFTdM9g4gsEEEAgLIHqIf74Dyuj9MYHgZhF1HxIEzEigAACDQvMV0fPWXRHElF0N0zNgQgggID7ApWjJbFVprm6nykiDEnA9pZD6g59QQABBBA4S8BaM2cdPWfRvUJ2Jsucj5zVBl8igAACCIQioPOfuHVYKMmkH14I6HtcjHR7kSmCRAABBBoWiEyl9qJbfy9U9UzfafhsHIgAAggg4LxA5TCjbs4niQCDEbCdRZEis0uCSSgdQQABBGYLjJR37P3+7IdF5hzpTnbU67//da4DeAwBBBBAIAyBCtd1h5FIeuGFQNzLOgpeJIogEUAAgYYFzH1mm1TmOnzeottK9I25DuAxBBBAAIEwBCoHGOkOI5P0wgeBeBnfbz7kiRgRQACBRgV0LtPX5jt23qI7FvP1+Q7icQQQQAAB/wUqR3QxtUmmu/qfSXrgg4Cl6PYhTcSIAAIINCwQG5l30HreortPdv5Qzzjc8Fk5EAEEEEDAbQFdTK1yiNE3t5NEdEEIREZi7tEdRCrpBAIIIDCvQNRA0X2qsX+bt1GeQAABBBDwXmCSKebe55AOuC8wVXBr4c2GAAIIIBCswM7uN+7aPV/v5h3pPnXAvEPk8zXI4wgggAAC/ghwXbc/uSJSfwW4ntvf3BE5AgggUIuAvq264KXZCxbdkdgFD64lAPZBAAEEEHBXgKLb3dwQWTgCtpfLOMLJJj1BAAEEZgvEdv6p5cneCxbdsUwkRfecy57PPhWPIIAAAgj4JhCPR1J9XO8fzIYAAi0TiJdTdLcMl4YRQAABFwSM+epCYSxYdK+RA4+L2P9YqAGeQwABBBDwW4DRbr/zR/RuC9iOgtjOgttBEh0CCCCAQDMCJ7om+765UAMLFt0nDzRfWagBnkMAAQQQ8FtgcphROL8zSPQuCzDK7XJ2iA0BBBBIReBfzM33TS7U0qJFtxFL0b2QIM8hgAACngtMDnd43gPCR8BdgXgF31/uZofIEEAAgVQEFq2XFy26SxL9k4YSpxIOjSCAAAIIOCeQXNMdn2D6q3OJIaAgBCi6g0gjnUAAAQTmF4ij5ovuZbLrkC6Bfv/8Z+EZBBBAAAHfBRjt9j2DxO+igC3rfWC6WajQxdwQEwIIIJCSwHhnofCvi7W16Eh30kAs5h8Xa4jnEUAAAQT8FaDo9jd3RO6uwNQot45csCGAAAIIBCvwdbP10bHFeldT0W1FvrxYQzyPAAIIIOCvwOQ+FlPzN3tE7qpAvJLruV3NDXEhgAAC6QjUNjhdU9FdluLfa1DVdAKjFQQQQAAB1wSqx7mu27WcEI//AvFyim7/s0gPEEAAgfkFbBT/3fzPPvFMTUX3Cnn0iB5y3xOH8RkCCCCAQGgCTDEPLaP0J0uBqftzcz13ling3AgggECrBR7vGl+/6PXcSRA1Fd3JjnpJUk1VfLIvGwIIIICAfwIT+xiV8y9rROyqANdzu5oZ4kIAAQTSEdBLsL+02P25T5+p5qLbirn39EH8jwACCCAQnsDkEEV3eFmlR1kJxKv4fsrKnvMigAAC7RDQ+1PcU+t5ai66V8uyr2mjx2ttmP0QQAABBPwSiMcKUjlc8itookXARQGdHkjR7WJiiAkBBBBIUaBgap4JXnPRbeT+CQ2RW4elmCeaQgABBFwTmBzqdC0k4kHAO4F4aUlsueBd3ASMAAIIIFCzwK7ON+7+fq1711x0Jw3qFPOaq/laA2A/BBBAAAF3BCb2MCXWnWwQia8C8SrevPI1d8SNAAII1CRgzN/WtN+pneosuqMv1NM4+yKAAAII+CUwub9D7GRdvxr86iDRItAGAYruNiBzCgQQQCBDgVjiuuriuv6y6pMdD2vfHsywf5waAQQQQKCVAroU5+ReRrtbSUzbgQsUjcTLWBsh8CzTPQQQyLfAeHc88ff1ENRVdJ9s2NRV1dcTDPsigAACCGQvwBTz7HNABP4KVFfq1HKjK6mxIYAAAggEKmC/bG488Hg9nWug6Ja/rucE7IsAAggg4JfABIup+ZUwonVKgFXLnUoHwSCAAAKpCxiJ/qbeRusuulfLrq/q7MOD9Z6I/RFAAAEE/BCIR/TWYYeYHutHtojSNYF4DYuouZYT4kEAAQRSFYhM3YPQdRfdOmGqaljFPNW80RgCCCDgmsDEri7XQiIeBJwXiJeXuVWY81kiQAQQQKAZAXt/5/U7f1hvC3UX3adOwHXd9UqzPwIIIOCRwMQuRus8ShehOiIQr+HNKkdSQRgIIIBASwSMqX9qeRJIQ0V3QcrJkPpES3pCowgggAACmQtUjpSk+ngx8zgIAAGfBKpMLfcpXcSKAAII1C0Qi/2Lug/SAxoqulfKw0f12LqWSW8kOI5BAAEEEMhOgNHu7Ow5s38Ctqcotps3qvzLHBEjgAACNQvs7rp+9zdq3nvajg0V3cnxVuyfT2uHTxFAAAEEAhOY2M1U2cBSSndaKFBdy/dLC3lpGgEEEMhcIKl/9Y6QuqZ4/VvDRXenmM/q6Sr1n5IjEEAAAQR8EJjcX5Z4rOBDqMSIQOYCrFqeeQoIAAEEEGipgIkLDQ86N1x098ru5LZhX2lpz2gcAQQQQCA7AX0vd2J3R3bn58wIeCJgOwoS95Y9iZYwEUAAAQQaENjX2bvznxs4buqQhovu5GgdXW+42m80YI5DAAEEEGifwMQOpsy2T5sz+SoQ9/F94mvuiBsBBBCoScDIX5prpVrTvnPs1FTRbaX0l9pmPEe7PIQAAgggEIDAxN5Oiceb+lURgAJdQGBhAa7nXtiHZxFAAAHfBXSwuaFVy0/3u6m/pNbIY3u0oX863Rj/I4AAAggEJpBMMWe0O7Ck0p00BWynTi1fxtTyNE1pCwEEEHBMYH/HY0NfaiamporuUyf+TDMBcCwCCCCAgNsC448xddbtDBFdlgLVZGq5yTICzo0AAggg0EoBK+ZPzbbmFhBvuuguSeFu7eREKztK2wgggAAC2QlM7u+QeIRVzLPLAGd2WSBe1+1yeMSGAAIIINC0QNz0IHPTRfdy2XFY+/G3TfeFBhBAAAEE3BTQKebjTDF3MzdElamA7S5KvLSUaQycHAEEEECgpQKPdW0d+lqzZ2i66D4ZgG26+m+2IxyPAAIIINA6AaaYt86Wlv0VmJpa7m/4RI4AAgggsJiAlT82uoraYrst9nwqRfekyOf0RMcXOxnPI4AAAgj4KVA5WJbq40U/gydqBFokQNHdIliaRQABBBwRiGyUyuByKkV3vwyNqMtnHbEhDAQQQACBFggw2t0CVJr0ViCZVm6XMLXc2wQSOAIIILCIgLXynx037fyvRXar6elUiu7kTLFEn6rpjOyEAAIIIOClwPjDPV7GTdAItEKgup4F1FrhSpsIIICAOwI2tfo2taJ7rey8R4F2uINEJAgggAACaQpUjxdkcrgjzSZpCwE/BfQCP1Yt9zN1RI0AAgjUKFD5/9k7DzjLiir/132de3JkIoyACAgCZkRlXMOq6xpWxTWhM4OOeV1XXcOqGNaAurqCKArimhdQ/6sYEF0RQSWDBCVP6O7JzMCknu733v3/TjO99DQdXqibv/WZM+/1e1WnzvlWvXvr3KpbNyy3pS/o1iMqq5Jv1+gE2SAAAQhAIIME9t3D7F4Gmw2TPROozO10Ybu3eQvP1qEOAhCAAASaJaCd034xZfXaDc3qGS7v9YxRduXzpLjp3d2GjeMVAhCAAATSRcAeHRYO6hIrCQIFJlBZzMWnAjc/rkMAAkUgEAbn+3TTa9C9wG2617ngCp8GogsCEIAABNJDICwHbt/6rvQYhCUQiJmAzXBX53CbRczYqQ4CEIBAnAS2dU2b8TOfFXoNus2w0FW9XhXw6Sy6IAABCECgeQIsMW+eIRqyS2BoAzXd002CAAQgAIF8EtAR/lvBKbcO+PTOe9BddZULZOBOn0aiCwIQgAAE0kPANlOr7GpNj0FYAoEYCVQWsLQ8RtxUBQEIQCB2AqXQ/ZfvSr0H3Vpivlvz3T/wbSj6IAABCEAgPQT23U3gkZ7WwJK4CFSnt7tQz+cmQQACEIBAbglc1b6q9ybf3nkPus3A0AVn+zYUfRCAAAQgkB4C/RZ02zMrSBAoEIHKEp5VX6DmxlUIQKCIBEL31SjcjiTonu96b5SxV0dhMDohAAEIQCB5AtX+FrevpzN5Q7AAAjERCFtLrrKATQRjwk01EIAABGInoEdw7egshxdEUXEkQbcZGrowkqsEUUBAJwQgAAEI1E+g/05m/eqnRomsEhjaQK3E6o6sth92QwACEJiMgA7x3wxW9+2ZLF8j30cWdO9zJbuv+75GjKIMBCAAAQikn8DgJm2odj/3t6a/pbDQBwGeze2DIjogAAEIpJdAEFa+HpV1kQXdS13PXhn9ragMRy8EIAABCCRPoP8uNlRLvhWwIGoC1VkdLpzKBaaoOaMfAhCAQIIEftuxcuNtUdUfWdD9oMFDS8y1PJ4EAQhAAAJ5JNB/b7cLyyy5zWPb4tNDBNhA7SEWvIMABCCQRwK6NfqcKP2KNOie5/pu107ml0bpALohAAEIQCA5AuFAye1by+ZSybUANUdNIGzXBmrz2DQwas7ohwAEIJAggb6uwYU/irL+SIPu/Yb/Z5QOoBsCEIAABJIl0H/H1GQNoHYIREhgaJabDdQiJIxqCEAAAokTOCtYfd1glFZEHnTPcz2/kAN/idIJdEMAAhCAQHIEytvbnG2qRoJA7ggo2K4sZpf+3LUrDkEAAhB4iMDewRb3tYf+jOZd5EG37vQLAxeeFY35aIUABCAAgTQQ2Hs7s91paAds8EvAnssddrT4VYo2CEAAAhBIE4FvTX9d77aoDYo86DYHBpz7pl54fJjBIEEAAhDIIYGBnk5XeaA1h57hUpEJlA/mYlKR2x/fIQCB/BMoBcGX4/AylqB7kbOHjAfnxeEQdUAAAhCAQDIE9nJvdzLgqTUSAtXZPCYsErAohQAEIJAaAuElHSt6bo7DnFiCbnOk1VXsKkI5DqeoAwIQgAAE4iew7x49Pky7mZMgkAcCzHLnoRXxAQIQgMD4BIKwFNuG37GNjma5DWt1e/d/j+8230AAAhCAQJYJ2PO6++9i06kstyG2P0ggnNLqqnN5TBj9AQIQgECOCdzcsbLnl3H5F1vQbQ5VXOkzegnjco56IAABCEAgXgJ771DQXdUWmiQIZJhAeSn3cme4+TAdAhCAQA0EgjMC7fZdQ0YvWWINuhe4oTXz9ggxEgQgAAEI5JBAdU+L27e2K4ee4VJRCITtJVdZ2F0Ud/ETAhCAQBEJrO8cPCjWFdixBt3WouGDs91FbFx8hgAEIFAIAntuncaapkK0dD6drNiO5S2s1shn6+IVBCAAAW3v7cIzgtXXDcbJIvage75bf7lOZX+I00nqggAEIACB+AjYo8MGepjtjo84NXkj0Bq48hL2JfDGE0UQgAAE0kdgW0dr5fy4zYo96H7QwfCMuB2lPghAAAIQiI/Anls0202CQMYIDN3L3ZrQ0ChjrDAXAhCAQCYJhO4/g1M37Y7b9kTOLHNc3081sX9b3M5SHwQgAAEIxEOgvL3NDW7oiKcyaoGADwKlwFXYQM0HSXRAAAIQSCuBnYOt7uwkjEsk6Nby8qr+fTwJh6kTAhCAAATiITB0b3c8VVELBJomUFk8xdkmaiQIQAACEMgtgbOmv653WxLeJXZ2mev6LtAe7bck4TR1QgACEIBA9AQGN3e4wS3t0VdEDRBoloCeG1M+hMeENYuR8hCAAARSTGB32VW+kJR9iQXdNtsduOBTSTlOvRCAAAQgED2BvbaTOQkCKSdQWdjlws6WlFuJeRCAAAQg0CgB7Vh+1rSVG7c0Wr7ZcokF3Wb4XNdjz0f7a7NOUB4CEIAABNJJYKCv05W3MdudztbBqiECNsv9CC4O0RsgAAEI5JjA7sHWyn8k6V+iQbdmuyua7f73JAFQNwQgAAEIREtgz58JaKIljPZmCFQWdbuwq7UZFZSFAAQgAIEUE1C8+eVpp27anKSJiQbd5vgc1/N9vdyeJATqhgAEIACB6AgMbOh0dn83CQKpI6Ady8vLuCiUunbBIAhAAAL+CGiWe/Dz/tQ1pinxoNtmu/X4sI81Zj6lIAABCEAgCwT23Exgk4V2KpqNlcU2y8293EVrd/yFAAQKRCAIz0x6lttoJx50mxG6t/sHernR3pMgAAEIQCB/BAY3aSdzCQkCqSHALHdqmgJDIAABCERBQE/K2jFQKX02Ct316kxF0P3gc7vdh+o1nvwQgAAEIJAdAnv+PD07xmJp7gmUl+i53B3Mcue+oXEQAhAoLAHtk/nZGaf13JcGAKkIug3EPNd7sV5+lwYo2AABCEAAAv4J2DO77f5uEgQSJ9ASuAr3cifeDBgAAQhAIEICWzqr+86MUH9dqlMTdJvVoSt9uC7ryQwBCEAAApkiwE7mmWqu3BpbPniqC9tTNQTKLWscgwAEIJAEgSAIPh6s2rozibrHqjNVZ5z5bv3lCr1/OZahfAYBCEAAAtknYM/s3re2K/uO4EFmCViwXT6Ejf0y24AYDgEIQGByAms7dnZ+bfJs8eVIVdBtbuuG9w/opRofAmqCAAQgAIE4Cey5Sfd2V7WbBwkCCRAoH6r+10r/SwA9VUIAAhCIh0DoPhy846598VRWWy2pC7rnu74bZPp3azOfXBCAAAQgkDUClV2tbu+dU7JmNvbmgEA4pdXZY8JIEIAABCCQTwK6pHpj5/re76TNu9QF3QYocMH79bInbbCwBwIQgAAE/BCw53aHA6k8BflxEC2pJFA+TLPc2s6WBAEIQAACeSUQvic4PX2rplM54tFzu3t1SvxCXrsCfkEAAhAoOgELuPfcNrXoGPA/RgLVGe2uMo/9BGJETlUQgAAEYiUQuuB/Olf2/TrWSmusLJVBt9ledQOf1suGGv0gGwQgAAEIZIxA/+1TXXU3z0nOWLNl1tzyI2fYUjoSBCAAAQjkk0C5xZVtb7BUptQG3fPdll06O56eSmoYBQEIQAACTRMIK4HbfbOW+5IgEDGByvwuV53ZHnEtqIcABCAAgaQIhGH4lY6VG29Lqv7J6k1t0G2Ga5n5edrN/JbJnOB7CEAAAhDIJoF993a78n1t2TQeq7NBoBS48uFc3MlGY2ElBCAAgfoJKF7cUS67j9VfMr4SqQ66tQqs0uLCd8WHg5ogAAEIQCBWAjpT7r52ZqxVUlmxCJQPmerC7tZiOY23EIAABIpEIHQfnb66b2uaXU510G3g5ri+SzUm+1GaIWIbBCAAAQg0TmBwa7uzGW8SBHwTCDt0h9+yab7Vog8CEIAABFJDILitq7zgy6kxZxxDUh90m92a7X6nXnaP4wMfQwACEIBAxgnsvmGGCwfZ5SrjzZg684c2T2uhX6WuYTAIAhCAgCcCetT0u4LV1w16UheZmkwE3ZrtXu9c+NnIKKAYAhCAAAQSJVDt1yPEbmVGMtFGyFnltnFa5SAeEZazZsUdCEAAAv9HQJdUL+xcuf6S//sgxW8yEXQbv35XOkO7md+bYpaYBgEIQAACTRDY+9eprrKTe2+bQEjRYQIaiQ0eqb0CmOQeJsIrBCAAgbwR2BsGlfdmxanMBN1LXc9enTv/JStgsRMCEIAABOokUNUjxK7Xs5RJEGiSQGXJFBdOZVf8JjFSHAIQgECaCXyya8XGNWk2cKRtmQm6zWg9QuzHWmb+y5EO8B4CEIAABPJDYKC30w30debHITyJnUDYXnLlQ3lEWOzgqRACEIBAfATu7gzaPhdfdc3XlKmg29xtdeGb9MKmas23PRogAAEIpJLArmtmurDMuuBUNk4GjLLN08K2zA1vMkAWEyEAAQikg0AQBO8IVqzpT4c1tVmRubPSLLdhrR4h9sna3CMXBCAAAQhkjUB1d4vbcwubqmWt3dJgb3VWh6ss4PFzaWgLbIAABCAQCYEg/G7nip6fR6I7QqWZC7qNxTzXq03V3E0RckE1BCAAAQgkSGDvX6a58nbuyU2wCbJXdSlg87TstRoWQwACEKiHwP3Vgbb31FMgLXkzGXRr0aEWHgarBbGaFpDYAQEIQAACHgloSdOuq7X7tF5JEKiFQHnZNBdOYff7WliRBwIQgEAmCQTBe6asXrshi7ZnMug20NpU7SqNxs7LInRshgAEIACByQmUt7W7/rumTJ6RHIUnEHa3uvKyqYXnAAAIQAACOSZwVefanszGfpkNuq1DtbnWf9XLphx3LlyDAAQgUGgCu2+a7qr9LYVmgPOTENDyt8GjtCpCy8tJEIAABCCQSwIDpWrptOD07K5yznTQPdOt2151wVtz2bVwCgIQgAAEXDhQcruv49nddIXxCVQWdjvbQI0EAQhAAAI5JRCEn+w4bf0tWfYu00G3gT/I9fxQ17YvzHIjYDsEIAABCIxPYN/aLjewvmv8DHxTWAJhR4uzR4SRIAABCEAgnwTC0P25c8qsT2Xdu8wH3dYAAy58i142Z70xsB8CEIAABMYmsOsaPXtZs94kCIwkMHiknunOM7lHIuE9BCAAgTwRKIeutCo45daBrDuVixHMIte31bngn7PeGNgPAQhAAAJjE7D7unexzHxsOAX9dGhZ+bzOgnqP2xCAAAQKQeCzU1atvzYPnuYi6LaGmOd6vhe68Md5aBR8gAAEIACBhxPYd2+3G+ghyHo4meJ9ErZrWfkRLCsvXsvjMQQgUCACt3cGbR/Li7+5CbqtQQLX8ja9bM9L4+AHBCAAAQgcSGDXNVpOzDLzA6EU8C/brZxl5QVseFyGAASKQqCqydSVwYo1/XlxOFdB9zy3vk+htwXeJAhAAAIQyCGB6t4Wt/t6Zjhz2LQ1u8Sy8ppRkRECEIBAJgkELvxs98q+P2TS+HGMzlXQbT7aMnO9XDCOv3wMAQhAAAIZJ9B/j5aZ97HMPOPN2JD5Q7uVs6y8IXYUggAEIJAFAqFzN3Xs6v5IFmytx8bcBd3mfKtrW62X9fWAIC8EIAABCGSHwK4/zXLV/lyewrLTCHFbqueDDh7NsvK4sVMfBCAAgRgJ7GupBKcG77hrX4x1xlJVLkcss9yaHSUXrhJBXSwhQQACEIBA3ghYwL3r6ll5cwt/JiBQXjrVVeewwmECRHwFAQhAINME9EzuD3a8oefPmXZiHONzGXSbr3Nc36WhC84ex28+hgAEIACBjBOwncz77+7OuBeYXwuBcEqrKx82vZas5IEABCAAgWwSuKJrWu8Xs2n65FbnNug218uu+l693DE5BnJAAAIQgEAWCey+bqar7GzNounYXCuBUuAGjpntXIvWl5MgAAEIQCCPBO531eprglNcJY/OmU+5DroXub49zlVfJT8H8tqA+AUBCECgyATCcuB2Xqll5lUCsrz2A5vhDqe15dU9/IIABCAAgTB4a9dpG9bmGUSug25ruHluw3V6eX+eGxHfIAABCBSZQPm+drfn1qlFRpBb36szO1z5ENo2tw2MYxCAAAScO79rVc938w4i90G3NeBc1/sFvfw8742JfxCAAASKSmDPLdNdeWt7Ud3Ppd9hW8kNHstmeblsXJyCAAQg8CCB2zv3DryjCDAKEXRr0WFYdpXXq0H7itCo+AgBCECgcAT0rIoHrpjtwn2FOK3lv3l14h589Cxnz+UmQQACEIBALgnsq1bDVwZv3bIrl96Ncqowo5OFbuMW5wK7vzu3N+iPalv+hAAEIFAoAtU9LW6nnt9Nyj6B8sF6PNhcHg+W/ZbEAwhAAAJjEwhc8N4pp/XdMPa3+fu0MEG3Nd081/M7TYackb9mxCMIQAACEDACA72dbu/t3AOc5d5QndHuyofzeLAstyG2QwACEJiIgOKxiztW9Jw5UZ68fVeooNsab57r/ZBefpO3hsQfCEAAAhB4kMDuG7i/O6t9Yeg+bns8WMBu9FltQ+yGAAQgMAmBdeXBcIUO84q9i5MKF3TrNF6pusFXq4k3FKeZ8RQCEIBAgQjo8WEPXKn7uwcKd4rLdiPrBF0+Svdxd3Efd7YbEushAAEIjEtgMAzdP05f3bd13Bw5/aKQI5KD3OZN++/vLue0XXELAhCAQKEJVHe3uF1Xzyw0g6w5b/dxV+ZzH3fW2g17IQABCNRKIAjCd3av6v1jrfnzlK+QQbc1oO7vvkwX1T+cp8bEFwhAAAIQeIjAvnVdrv+OKQ99wLvUEqjO5D7u1DYOhkEAAhDwQiD4fueKvrO9qMqgksIG3dZWc1zvpzXj/f8y2G6YDAEIQAACNRDYdf0MN7i5o4acZEmKgD0WbPBY7uNOij/1QgACEIiBwO2dYf/qGOpJbRWFDro10x22O7dKr2tS20IYBgEIQAACjRPQ/d07r5zlqnu5T7hxiBGW1E46FnDzPO4IGaMaAhCAQLIEdpVc5R+CVVt3JmtGsrUXOug29DNcz30VF7xIb3cn2xTUDgEIQAACURCwgPuB32smVQE4KV0EBo+Y4WxpOQkCEIAABHJJIAwDt7Jj5cbbculdHU4VPug2Vge5nj/rAe2n6m2htq6vo5+QFQIQgECmCZS3trtd183ItA95M76yoNtVlnLPfd7aFX8gAAEI/B+BwH2ie0Xvhf/3d4HfEHTvb/y5rudHoQvPKHBfwHUIQAACuSbQf+cU1393d659zIpz4dQ2N3g0u8tnpb2wEwIQgED9BMJLOqf0frT+cvksQdA9ol3nub4P6M+fjfiItxCAAAQgkCMCu6+d6cr3sZw5ySYN20pu4Pg5zpVY7p9kO1A3BCAAgQgJ3N452PmK4BRXibCOTKkm6B7RXDr9V9tcy2v10Z0jPuYtBCAAAQjkhEBYCYbu7672s7FaIk06vHFaJ/wT4U+lEIAABKInsLNUanlpsPqe+6OvKjs1EHSPaquZbt127bD3Yn1MRxnFhj8hAAEI5IFAdbc2VrtcO2YrACfFS2DwSG2cNptHuMVLndogAAEIxEagEgThqztev+7W2GrMSEUE3WM01By38baSC0/RV+UxvuYjCEAAAhDIOIGhjdX+OCvjXmTL/PIhU11lMRunZavVsBYCEIBA7QS0U/l7O1f0/bT2EsXJSdA9TlvPcX2/ci548zhf8zEEIAABCGScwL51XW7PrdMy7kU2zK/O7XTlw9k9PhuthZUQgAAEGiEQfEM7lf9HIyWLUIage4JWnud6zg1ceOYEWfgKAhCAAAQyTGDPTdPdvrVdGfYg/aaHU1rdwDFaVcBq/vQ3FhZCAAIQaIzA7zqnzmCycgJ2BN0TwLGvNOP9z3phmcQknPgaAhCAQFYJ7PrTLFfexo7mUbTf0E7lx2mn8laGG1HwRScEIACBFBD4676OlpcEp9w6kAJbUmsCZ8FJmkYX5islt/c1oXO3TJKVryEAAQhAIIME/m9H8z3sqO21+VoCN6iAO+xu9aoWZRCAAAQgkBoCW4NS6QUzX71ue2osSqkhBN01NMwcd98DJRc8V1nX15CdLBCAAAQgkDECVQXc9/9WAeIAp0VfTTf46FmuOpMVBL54ogcCEIBAygjsDUvhiztfv/7ulNmVSnMYXdTYLHNdT2+LKz1f2XfUWIRsEIAABCCQIQKV+9uGnuEdVrn5uNlmG3zUDFeZz73yzXKkPAQgAIGUEqiGQfCa7tf3XZlS+1JnFkF3HU0y263XEvPgJSqyr45iZIUABCAAgYwQGNzU4XbZo8R0TxGpMQLlZdNcZenUxgpTCgIQgAAEUk8gcME/d6/o+VHqDU2RgQTddTaGdjS/TKOx16tYtc6iZIcABCAAgQwQsN3Md2tXc1L9BCoHdenRYLCrnxwlIAABCGSEQBB+unNlz5cyYm1qzCTobqAp5rm+H+hRYu9voChFIAABCEAgAwT23jbN7b2d2dp6mqo6q8PZfdwkCEAAAhDIKYHQ/aDz9X0fyKl3kbpF0N0g3rmu7wwF3lzlaZAfxSAAAQikncDu62e4gZ7OtJuZCvvCqW1u4LjZzpW4Hz4VDYIREIAABPwTuLRz2szXBQqA/KvOv0bOjk20sXpcsM0tOTd04com1FAUAhCAAATSSqAUuhknb3NtC9nKY7wmskeCDTx+rgvbeeTaeIz4HAIQgECmCQTu6s49A88M3rplV6b9SNB4ZrqbgK8rFuEc1/NGvf6wCTUUhQAEIACBtBLQTuYPXDHHlbfx6KuxmijsaHEDjyXgHosNn0EAAhDICYFbBirB8wi4m2tNgu7m+DkF3JU5buarQhf8qklVFIcABCAAgRQSCAcDd/9lc5w9Uoz0EIGwrfRgwN3JDPdDVHgHAQhAIFcE7qkOtj5nxmk99+XKqwScYXm5J+hb3NxpzrX/r1acP96TStRAAAIQgECKCJS6Km7Gs7e4lqmVFFmVkCmtwVDAXZ3OCoCEWoBqIQABCERNoC9wLU/rXLnunqgrKoJ+Zro9tfI8t3XnoHPPk7q/eFKJGghAAAIQSBGB6t4W98D/znX2WujUooD7uDmOgLvQvQDnIQCBfBO4r1Qt/S0Bt79GJuj2x9Itcn1bq27wGVJJ4O2RK6ogAAEIpIVAZVeru/+3c1y4r6CnT+1OPnDsbGePByNBAAIQgED+CGij6B3VsPS3HaetvyV/3iXnUUFHDdEBP8ht3iSoz1ENLMWIDjOaIQABCCRGoLKjzd2vGe9woGCnUN2QZs/hrs7lMWqJdT4qhgAEIBAtgd1BUH3hlFXrr422muJpL9iIIZ4GnuN6e1pcqBnv4N54aqQWCEAAAhCIk0B5e8EC76GAe7arHNQVJ2bqggAEIACB+AjscUHwgq4VG34fX5XFqUmnUVJUBLa7hYeUXel30n9IVHWgFwIQgAAEkiPQOnvQzfibrS5oryZnRNQ1DwXcs1xlQXfUNaEfAhCAAASSIbBX1b6ga2WvNoUmRUGAme4oqO7XOcttWKtHiT1bf/ZFWA2qIQABCEAgIQLl+zTjrceJ2WPFcpks4D6agDuXbYtTEIAABB4kMBBU3csJuKPtDjkdJUQLrV7tW92iIxV8/0blFtVblvwQgAAEIJB+Am3zBtz0Z2jGu1Vb0OQlMcOdl5bEDwhAAALjEegPguAlnSt6fjleBj73Q4Cg2w/HSbVscAuWtbpWLdkIHzFpZjJAAAIQgEDmCAwF3ssVeLflIPC2gNtmuBeypDxzHRGDIQABCNRGYI8ruRd2vb7XJgZJERMg6I4Y8Ej1++/xto592MjPeQ8BCEAAAvkg8GDgvU2Bd4bv8SbgzkdnxAsIQAAC4xPYra9eyJLy8QH5/oag2zfRSfRtc4uWVl1gmxQcPklWvoYABCAAgQwSsM3VbKl5qSODgbeewz14jGa457NLeQa7HiZDAAIQqIXA/aELn9+9su8PtWQmjx8CBN1+ONalZbNbtiBwA7/WI8UeXVdBMkMAAhCAQCYItEwvuxnPVODdVcmEvUNGKuAeOH6Oq87uyBPCQsEAAEAASURBVI7NWAoBCEAAAjUT0M1POxR/PLd7Zc9VNRcioxcCBN1eMNavxALvkhv8lTr/sfWXpgQEIAABCKSdQMu0/YF3dwYC79b9AfdMAu609yvsgwAEINAggU2VwD136oreGxssT7EmCBB0NwGv2aLb3bKZZTd4sfSc1KwuykMAAhCAQPoIlKZUhp7jbQF4WlPYqkvAJ2iGe0Z7Wk3ELghAAAIQaI7AuqDFPbvzdb13NKeG0o0SIOhulJynchvdQVNKru1HgQuf40klaiAAAQhAIEUESprpnvE3W50tOU9bCttLbuCxc104tS1tpmEPBCAAAQj4IfBX3cP9HN3Dvd6POrQ0QoCguxFqnsuE7tHt29yO72ip+cs9q0YdBCAAAQikgEDQXnXTT97mbHfztKSws+XBgLu7NS0mYQcEIAABCHgkoEDv+kFXee60lRu3eFSLqgYIEHQ3AC2KIgq4W7a6RV/R5gZviEI/OiEAAQhAIFkCQWvopj31Pte+qD9ZQ1S7zWwPaEl52NGSuC0YAAEIQAACERAIwss7BzpfGKy+5/4ItKOyTgIE3XUCizK7Au9gi1v0ycAF74uyHnRDAAIQgEBCBHTWnfak7a7j0D0JGeCGdicfeMwc57R5GgkCEIAABPJHQLet/rhjaunVwSk9e/PnXTY94oybwnbb7BatUuD9VZnGmr8Utg8mQQACEGiWQPexO133sQ80q6bu8pV5XW7w2FnO6fFgJAhAAAIQyCOB8NzOdX1vDk536dtIJI+4a/SJs26NoOLOpqXmLwpd8D3V2x133dQHAQhAAALRE+g6Ypeb8jit+ovpTFxZMsUNHjkzeseoAQIQgAAEkiCg/dKCj3Wt6jk9icqpc2ICMZ3qJzaCb8cmsMkteopmvH+iRtI6QBIEIAABCOSNQMche93UJ293QYtuMIoq6SRSPmy6Ky+bFlUN6IUABCAAgWQJDCjgXqmA+7vJmkHt4xEg6B6PTEo+3+SWHlZy1V/KnMNTYhJmQAACEICARwKtcwfc9Kdvc6XOqket+1VpGfng0TNdZQGLpvzDRSMEIACBVBDYFbjSyzpXrr8kFdZgxJgECLrHxJKuDze7ZQs0bPp/supJ6bIMayAAAQhAwAeBlqllN335Nq/P8rZncA8eN8dVZ7T7MBEdEIAABCCQPgJrS9XSCzpOW39L+kzDopEECLpH0kjx+zvd4R0z3d5zZeJrUmwmpkEAAhCAQIMEgjY9UuwkP48UG3okmALusItHgjXYHBSDAAQgkHYCV1Uqgy+a+obNm9JuKPbFtn0LqH0QsEeKbXNL3qtdEj4lfVww8QEVHRCAAATSREBH9qmP3+E6H7m7YauqszvcwGNm6/kXpYZ1UBACEIAABNJLQKeKCzumBq/jkWDpbaPRlhG4jSaSgb+3uCWvci48T6Z2ZsBcTIQABCAAgToJdB290005To8Uq/MsXVlsO5TPULk6C9ZpH9khAAEIQCARAkM7lHeu7PmoDvMR7sCZiG+5rpSzckab13Y2L7ngxzJ/fkZdwGwIQAACEJiAQPuSfjftxPucLTufNOlsPvjIGa5y8NRJs5IBAhCAAAQySaBfF1RXda3osUcKkzJGgKA7Yw020tytbsliXe76kT574sjPeQ8BCEAAAvkg0DJNG6xpZ/OWGeVxHQrbtGHasbOdLSsnQQACEIBALgn0hi54affKnqty6V0BnCLozngj2wZrs9zer2geZEXGXcF8CEAAAhAYg8DQBmua8baZ79FpaMO047VhWicbpo1mw98QgAAEckEgdFdWSm0vm7pizcZc+FNQJwi6c9Lwus/7jbrP+yy505YTl3ADAhCAAARGEBh9n3floC49g3uWcy2cykdg4i0EIACBPBH4WufUmW8PTrl1IE9OFdEXztQ5avXNbunTA1e9UC5xn3eO2hVXIAABCAwTaF+s+7z1WLHK4VNd+fDpwx/zCgEIQAAC+SKwTztivq1rZY89LpiUAwI8TyQHjTjswny3/vKKKz9Zf98w/BmvEIAABCCQHwIDfZ3379k+833lQ6etyY9XeAIBCEAAAiMI9IShewYB9wgiOXhL0J2DRhzpwgK36d4drutEPUXgSyM/5z0EIAABCGSewDWVsHzC1Eu3f6Zz3+CxLgi/m3mPcAACEIAABEYSuKwStD2he1XvH0d+yPvsE2B5efbbcFwPtLv5a7S7+VeVYcq4mfgCAhCAAATSTiDUhdQz57hZ7wncgff17T1v8al6lvdX5EB32p3APghAAAIQGJeAHefP6Jja98HgFFcZNxdfZJYAQXdmm642w7e6hUeFruUibbJ2dG0lyAUBCEAAAikicL+eTnHafNer4/jYad83Fhxdda3az4Pj/NiE+BQCEIBAqglsC8LgtZ2ren6RaisxrikCBN1N4ctG4W1u9vTQdZ2ngdvLsmExVkIAAhCAgAhc1eqqr5jlNqydjEb4ndnT+we6vq58p0yWl+8hAAEIQCA1BK5yreEpXaf2rUuNRRgSCQGC7kiwplPpVrf4VAXeLENMZ/NgFQQgAIGRBL421+kxMaOWk4/MMNb7/cvN7bairrG+5zMIQAACEEgFAe2VFp7ZNVW3DfE4sFQ0SNRGEHRHTThl+h9cbl76gcx6TMpMwxwIQAACEHDBAxqI2XJye/xjQ2n3uYtOKJWCC1T48IYUUAgCEIAABKIksCUIgtd3ruj5eZSVoDtdBNi9PF3tEbk1c92Gv/S7wB4r9rXIK6MCCEAAAhCoh8DVFTd4fDMBt1U25bS+GzoHOx6vq+rj3gdej1HkhQAEIAABXwTCSyqVwWMJuH3xzI4eZrqz01beLdXu5i/RjMq5Ujzbu3IUQgACEIBArQTKOhZ/fp6b9eF6l5NPVsGe8xe/vBS6c3Rr0azJ8vI9BCAAAQhERqDswuDfO9f3fCw43VUjqwXFqSVA0J3aponHsPvcooMrLvgv1bY8nhqpBQIQgAAERhC4PXCl1851668Z8ZnXt3vPXXiIK5W+KaXLvSpGGQQgAAEI1ELgr9Ww9Nopq9ZfW0tm8uSTAEF3Ptu1Lq80AxJo1vsNetzMF1SQZ73WRY/MEIAABBoioEOv+3rFld+1wG3a3ZCGOgppx55g3/lL3qAZdY7zdXAjKwQgAIEmCAwd5ztby+8KTo3+ON+EnRSNgQBBdwyQs1LFNmfPem35tux9bFZsxk4IQAAC2SMQbtS1zjfMc70Xx227PdM71HFeI0GO83HDpz4IQKBABMKNQTU4rfO03p8VyGlcnYAAG6lNAKdoX81xG2+b6xZok7Xgo/K9UjT/8RcCEIBA1AR0pfvCDhcck0TAbb51rNx4W8e63ifp3kKO81E3NvohAIFCErDj/GBLcAwBdyGbf1yn1S9IEHg4gU1u0UklF5yvbx758G/5BAIQgAAE6iSwXbfwvHWe6/t+neUiy77nm4tO0kzMt1TBoZFVgmIIQAACxSGwTbfwvL17ZXqO88VBn35PmelOfxslYuFBru9KPVrsOM16f04GMOudSCtQKQQgkAcCup36VzrZPiZNAbdx7X5935WdeweOc2H4df1p9x6SIAABCECgAQI2u61HgT2agLsBeAUpwkx3QRq6GTc3u8XHq6PYrPfxzeihLAQgAIGCEdDsdvC+ua7n6zqGpjqo3Xv+wqe5sPQ1tc+RBWsj3IUABCDQDIFNOri/rXtl70XNKKFs/gkw053/Nm7aw/mu90bd6/3EQINHKRtoWiEKIAABCOScgM16lF3lUfNcz9fSHnBbU3St2PD7zqDthP33enOcz3n/xD0IQKB5AnacHxwMjyHgbp5lETSov5AgUDuBzW7RCQq+z1UJdr6tHRs5IQCBwhAI7i256pvmuL5fZdVlPVrs2GoY2qy3NtYkQQACEIDAKALrgqp7CxuljaLCnxMSIOieEA9fjkVAy2hKeq73afrus1oxOX2sPHwGAQhAoGAEyoELz666wQ/Od1t2Zd33h57rzXE+622J/RCAgDcCZW2UdnZXOPBvwaqtO71pRVEhCBB0F6KZo3Fyi1u6yLnqp6X9tdHUgFYIQAACmSBwU+BKb5jr1l+TCWvrMHL3OYcsbGkvn6kg/KV1FCMrBCAAgVwRUMB0fSUovWnKivwd53PVUCl2hqA7xY2TFdO2uMUvkK1nSQ7Jis3YCQEIQMADgb263eajc1zP53UyLXvQl1oV/ecv+vswDM6WgUtSaySGQQACEPBP4P4gCD7SMaXnrOAUnubjH29xNBJ0F6etI/V0s5s3NXDtp6uSd0jaIq0M5RCAAAQSJxD8T9mV37nQbVyTuCkxGbD9/GUzO1z5E0EYrlaVrTFVSzUQgAAEkiCguymDH1TD4N1TVq3vS8IA6swXAYLufLVn4t5o1vsIGfFFyfMSNwYDIAABCPgncLueu/2u+a7n5/5VZ0PjvvMXHVmtui+4IHhuNizGSghAAAJ1EfhrEITv6FzRd2ldpcgMgQkIEHRPAIevGiewxS36e+239p/aaO0RjWuhJAQgAIHUENihpeSfnuNmfCFwt/JILTXL/iXndpH10NS0EoZAAAIQaJCAprZ3lILg9I61PV8OTs/3LUMNIqJYEwQIupuAR9GJCax3S7q6tNxcOz3+m3JOnTg330IAAhBIJYGqrPpuxZXfvcBt2pxKCxM0Krzg0e37dt//5jAMPy4zpiVoClVDAAIQaJSAhqruO+W28runncpxvlGIlJuYAEH3xHz41gOB7W7hIWVXsl3OXyGhz3lgigoIQCAWApcp4n7nQa73plhqy3Ale/5ryeKgWv2MC4NXyQ2O8xluS0yHQMEI6Dgf/suUlX3XF8xv3I2ZACfGmIEXubqtbukTQlf5nMZjTy8yB3yHAARST6BHJ8cPznG939arVhySaiWw+/ylTyiFVd1a5E6stQz5IAABCCRA4M4wcB/sXtF7YQJ1U2UBCRB0F7DRk3TZtoLUZmsvVcezme/DkrSFuiEAAQiMIrBTf3+23wWfW+p69o76jj9rJBCe7kr9By96nQ73tuR8cY3FyAYBCEAgDgLb9Aiwj3YMHPTVYPV1g3FUSB0QMAIE3fSDRAiE7tHtW92Ot6nyD0pmJ2IElUIAAhB4kEC/Xr5SdpVP6RFgW4Dih0B4wZKuvTurb9MA91+lcY4frWiBAAQg0BCBfm2GedbeoPXfZ61Ys6MhDRSCQBMECLqbgEfR5gnY871LruOtmgH/gFZxTm9eIxogAAEI1EygqpPgD/W87X/VJmn31lyKjHURCL88b+re7o63BiHH+brAkRkCEPBBYOg471zL+zpXrrvHh0J0QKARAgTdjVCjjHcCfW7R3Fbn3q2rkP8k5Z3eK0AhBCAAgYcI6FY+d5G2q/3QPNd3+0Mf8y5KAg+cs2hue5t7t55zznE+StDohgAEjECoCZ2ftQTBBzpW9NwMEggkTYCgO+kWoP4DCGxzi5ZWXWCPGFspURxOggAEIOCVwK+dq75vnttwnVetKKuZwJ5vLFqqC6wc52smRkYIQKBOAr+ulqrvm/J6jvN1ciN7hAQIuiOEi+rGCWx1C48KXcuHdKHSHjNWalwTJSEAAQgMEbgydNX3z3cbfg+PdBDYd/6iI8Mw+Lhmo14qixiPpKNZsAICWSbwvy6ont61guN8lhsxr7Zzkstry+bEr61OgzLnNCMS/KNcasmJW7gBAQjER+AqVfXxea73Z/FVSU31ENj9zYWPC6qlj2hA8gKVY1xSDzzyQgACRuDXWkz+0a5VfVeAAwJpJcDJLa0tg10HENjoDnpEi2t9nz5k2fkBZPgDAhAYh8CVWinzGd2z/dNxvufjlBHYd+7SY6pB9b0Ku18p07i9KGXtgzkQSB2B0Ok47z7Utar3t6mzDYMgMIoAQfcoIPyZbgJ6xvcR6rTv1+z3q2Rpe7qtxToIQCBmAlVNlP5Ex4hPzXU9V8dcN9V5ItD/zaWHhVUF3869TtLhSS1qIACBfBDQXozu52HV/Xv3qt4/5sMlvCgCAYLuIrRyDn3c7JYtCFz5TZrJeqfcm5FDF3EJAhConcDQI2EC1/LROW7drbUXI2eaCez81kHzWwfb3uICjvNpbidsg0BMBKqacPl5GJY+OmXV+mtjqpNqIOCNAEG3N5QoSoLANjd7esV1rwhc+K+qf2ESNlAnBCCQGIEB1fzfmvb4+HzXc2diVlBxpATC78yevnew+81BGL5HFc2JtDKUQwACaSOwz4XugqAUfLxzBcf5tDUO9tROgKC7dlbkTDEBPee7W2vNV2rwbTPfh6XYVEyDAASaJhA8IBXnaG/FL8xzazc0rQ4FmSAQfnne1L2d7auDwP2zDF6cCaMxEgIQaJTAFt0u9JXBweqZ01f3bW1UCeUgkBYCBN1paQns8EJAS49Ketb33yj4/icp/DsJfdwLWZRAIBUE7tTznc9rdaWvzXTrtqfCIoyInUB4gWvZt3vR8/W4sXeo8mfFbgAVQgAC0REI3R2a1T67Y6D69WB1357oKkIzBOIlQEASL29qi5HAJrf4OD3g+y2q8rWSrhirpioIQMAfAW2O5v5X+zd8aa7ru1gnLV1bI0HgQQK7z110QqkUaH8P9xpJN1wgAIFMEhg6zgdB+KWO1+s4r3sGM+kFRkNgAgIE3RPA4at8ENDjxua3uBYNyoI3yiOWJOajWfEi/wR2yMXzqq7l7IPcunvy7y4eNkPggXMWzW1rLZ2mTdfeLD0HN6OLshCAQFwEggcUXX+r1BKe2fm63jviqpV6IJAEAYLuJKhTZyIEhpeeW/Ct9/8gI1oSMYRKIQCBiQjcodtDzq66wXMXuE27J8rIdxAYTSA83ZX2HbLo7/YvPX+mvmecMxoSf0MgYQL6UV6vn+Y5HXv3fS9465ZdCZtD9RCIhQAno1gwU0naCGx2Sw5X59fMd7hCts1Nm33YA4GCERjUhbCf6jd51jzX+9uC+Y67ERHYd/6SY6th+Dapf6VkWkTVoBYCEKiNgO7PDn5QDYKvTlmx/praipALAvkhQNCdn7bEkwYI3OkO75jp+l+m4Hulii+X6DZwEgQgEAcBnYBuVrB9fsWVv6tZ7c1x1EkdxSNgu573d7W/VJ7bRdanSxj7FK8b4HFCBPRju9EFwTf2utZvz1qxxm4bIkGgkAQ48RSy2XF6LALb3OIlWtb66tCFb9D3PHZsLEh8BoHmCdig6wL9zr493/Vd0bw6NECgdgJ7vrFoqQtKr9Izv22Pj0NrL0lOCECgVgK6mLpDAcYF1VL1a1Nev+G6WsuRDwJ5JkDQnefWxbeGCOhkUdriFj1FjyayXc9fLZnSkCIKQQACwwQe3JnWuW8PuPCiRY7HwAyD4TUZAnbvd//SRU/RDBzH+WSagFrzR2DoOK99x7/dOS24MDilZ2/+XMQjCDROgKC7cXaULACBbW729NB1vaTqglfpCRa2KQ+brxWg3XHRG4E7dJL5plbzfmuu6+n1phVFEPBIIDzn0Bn72gZeodUXK6T2yR5VowoC+ScQuKs1SfG9ykDLBVNWr92Qf4fxEAKNESDobowbpQpIYJObf1Dg2k/R/d8KwN2ThIDfTwH7AS5PSmC9clykzREunON6/zhpbjJAIEUE9p2/6Mhq6HScD14us45JkWmYAoE0EfirZrS/F4TB9ztP67krTYZhCwTSSoCgIa0tg12pJrDJHXxo4Cqv1A9Im7C541NtLMZBIHoCa1WFBdoXzXa9V+l3obs0SBDINoEHA/DgZWHoXh4E7jHZ9gbrIdAkgSC4V8f2iyqV6vennNZ3Q5PaKA6BwhHQ74cEAQg0Q2CDW7CsxbW+SMvPbWbkKRJ+V80ApWxWCKxTn/9/uonvwnmu70oC7aw0G3Y2QmDv+QuWBTrOh1Ud5wOO840wpEwGCSjQDsPqT4PQXdi5Usd5HfQz6AUmQyAVBAgOUtEMGJEXAve5RQdXXPAP8sceT3OihHvA89K4+GEE7tF9rxcGruWieW79tSCBQBEJ9J+75PCwFL5cA6iXKQJ5bBEZ4HN+CWhlx5+DUvijUqXlhx2nrb8lv57iGQTiJUDQHS9vaisQgT63aG67C56vQdnfye2/lcwokPu4mg8CZbnxJ/XhX+j15/Nd7435cAsvIOCHQP83DtZjx8o6zgfPl8blki4/mtECgdgI9LswvEwBwcVhqfqzrhUb18RWMxVBoEAECLoL1Ni4mhwBBS0tegyZzXy/IHClZ+mW18clZw01Q2BCAlt0YrhMOS5udS0/nenWbZ8wN19CAAJDBMLzl3XuCweeqj90jC89S6tCOM7TN9JKYIsWiv8yLLmfdrXtvSR4zX0PpNVQ7IJAXggQdOelJfEjUwRsI7aSqz5Lt0dpYObsUWSzM+UAxuaJQEXbENgM9sXOVX461224XicGdUsSBCDQDIG9Xz/oEUFL27P1c7Lj/HOla1oz+igLgSYI2DOzrwyD4NdhUPl19+t0nOf+7CZwUhQC9RMg6K6fGSUg4JWAzYJvc0seX3Xhs3UO1AAtsBnxNq+VoAwCBxK4R89VvUx97pdtru3SWW7NjgO/5i8IQMAngQdnwSsnu6D6XN0zaxdaHy3Rhv8kCERCoKoBvi6mhpeGpeDSzrDtymDFmv5IakIpBCBQEwGC7powkQkC8RHQveDdrdqcp+RKJ2l5opYpOluu2BmfBdSUQwL3yKdf64B/5aCrXL7Qcc9eDtsYlzJEIDxv7rR9QfuTwrD0VBeEJ8n0p0k6MuQCpqaLgK1Yul1B9hVh4H5dHgh/O31139Z0mYg1ECg2AYLuYrc/3meAwL1uWecUV3li4Kona1b8afrRPllms0wxA22XkIll9ZNrNZN9hXPVy9td6coZrue+hGyhWghAoAYC4TmLuvvbgicrAH+aC4Onq4gd57trKEqWYhLYJ7evU3+5XPvE/L6jbc8V3JddzI6A19khQNCdnbbCUggMEVBAVdrulh5ddpUn6WR7ombD9eqO1pcsVSxgH1F/2KYZjuvUB/6o2xN+X3blPy1wm3YXEAUuQyA3BMJzHte2t33j41xVQXhQOkm/bXs02dLcOIgj9RLQaqXwTzrnX1V17qquqTNuCE65daBeJeSHAASSI0DQnRx7aoaANwLb3Ozpoet6goKvJygIP0GKTQ6TEIh7o5wKRRtkxfUmGoRfr8a9frbrW5cKyzACAhCIlMDObyyYpz0YHhu66mM1eNPr0DPCD420UpQnQaBHbXuDNjq7Ucf5awZbKldNO3XT5iQMoU4IQMAfAYJufyzRBIFUEdji5k4LXftxirtPUHB2vILx42WgzYhzf3iqWmpcYxRMBwqww6Eg27nW6+e5tRZ0kyAAAQgMEdh+/rKZneGgAvBQgXhJs+FDM+KP1Jc67JNSTqAs++7Ucf5GXUi5sRS4GwYG3A3ci53yVsM8CDRIgKC7QXAUg0AWCejquZ4XvuQRelyZds4NjtZAzV6Pki8mXVn0KeM2D8r+eyXaAMc2wXF3mHS48JbprlfLxkkQgAAE6iNgm7TtDTuPClrCR+nhf4/SQO+Iqr0G7ghp4qJrfTh95NZxPrhTs9a3hS64LQzDW1tKwV/ap8y4nSXiPvCiAwLZIEDQnY12wkoIREpAwXhpszt4WasrH6ZBweH6W0vTg8O1EZcksGXqDNSaa4FNKv5XzUINBdV6PxRkz3UL7g3cdRZ4kyAAAQhESiA83ZX6D1lwcFAtHeEUgFeD0pFBGFogbnKwhDFh4y1gx/E1LgzvDoPSXfaqmeu7giC8q31g4d3Bao7zjaOlJATyQYADbD7aES8gEBkBBeDBfW7x4ooLl2n54sHaRX2JKlui4PwQvdrGPvb3PElR031i1KeDqZaDh32CYPfjrdd1jL4WV9LrrvVz3H0PFBUOfkMAAuknYM8RH3ADy6phsEiz40u0ON2O8XofHqx16ou1KmqRTgUL0u9JVBYGOoZXdTwP1qqGHsl6cdIx360PWkrrOtasXxuc7my5OAkCEIDAmAQIusfEwocQgEA9BNa7JV1TXWV+1ZUWVl04T0HnfA1OFpaG3pcUkIf6282SzBzxmsbjj0x3OyTbZb8k3CEjt2vAqfcle68l32GfBqMafIV9/Xpd6nr2Kj8JAhCAQK4JhBc8ur1/97ZFrlpaEioo16PNFmomd75eHzy2B/YazlQwOvJY35pSKPfLrh064NtxfYeW3m+tumCjLipvCcJgcyUIN+izLaUg2NKxa6AveOuWXSn1A7MgAIGMEEjjoDcj6DATAhBohsB97tAZgds7c8CVZmoGfUbJVdoretWgp9X+1mCoQzMs3Qp4p0jaH6ormKYD15gDOZXRTEO40/KWXFBR4Dw0w6xNavSUlZINsoaSBdH2vb1KdlRcdXun69wxy62xgJsEAQhAAAIeCAzdXx60z2yplGZVg2BmqVSZVQmCdt3fPC0IS0PH8WoQTtWxus2q0+dTtOR96Hiv+9C7gyDoGMeMUHn/73gdhjqel3S8r4b7FCjvCUO3OyyFA6VqeH8YBOVqqXp/S7Vte3+H2z7jVessyLYLrCQIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBghAICuInbkIAAhCAAAQgAAEIQAACEIBAvASWqrpXeajyeum41IMeVEAAAhCAAAQgAAEIQAACEIAABHJD4OnyJPQgZ2aZSCnLxmM7BCAAAQhAAAIQgAAEIAABCEAgzQQIutPcOtgGAQhAAAIQgAAEIAABCEAAApkmQNCd6ebDeAhAAAIQgAAEIAABCEAAAhBIMwGC7jS3DrZBAAIQgAAEIAABCEAAAhCAQKYJEHRnuvkwHgIQgAAEIAABCEAAAhCAAATSTICgO82tg20QgAAEIAABCEAAAhCAAAQgkGkCrZm2HuMhAAEIQCBOAgtV2RUeKvytdJzmQQ8qIAABCEAAAhCAQOoJEHSnvokwEAIQgEBqCNg541AP1vzFgw5UQAACEIAABCAAgUwQYHl5JpoJIyEAAQhAAAIQgAAEIAABCEAgiwQIurPYatgMAQhAAAIQgAAEIAABCEAAApkgQNCdiWbCSAhAAAIQgAAEIAABCEAAAhDIIgGC7iy2GjZDAAIQgAAEIAABCEAAAhCAQCYIEHRnopkwEgIQgAAEIAABCEAAAhCAAASySICgO4uths0QgAAEIAABCEAAAhCAAAQgkAkCBN2ZaCaMhAAEIAABCEAAAhCAAAQgAIEsEiDozmKrYTMEIAABCEAAAhCAAAQgAAEIZIIAQXcmmgkjIQABCEAAAhCAAAQgAAEIQCCLBAi6s9hq2AwBCEAAAhCAAAQgAAEIQAACmSBA0J2JZsJICEAAAhCAAAQgAAEIQAACEMgiAYLuLLYaNkMAAhCAAAQgAAEIQAACEIBAJggQdGeimTASAhCAAAQgAAEIQAACEIAABLJIgKA7i62GzRCAAAQgAAEIQAACEIAABCCQCQIE3ZloJoyEAAQgAAEIQAACEIAABCAAgSwSIOjOYqthMwQgAAEIQAACEIAABCAAAQhkggBBdyaaCSMhAAEIQAACEIAABCAAAQhAIIsECLqz2GrYDAEIQAACEIAABCAAAQhAAAKZIEDQnYlmwkgIQAACEIAABCAAAQhAAAIQyCIBgu4stho2QwACEIAABCAAAQhAAAIQgEAmCBB0Z6KZMBICEIAABCAAAQhAAAIQgAAEskigNYtGp9jmZbLtKZIjJI+QHCqZKpku6ZQMSnbtl5163Sq5Q3LrfrH3lieNyfx4nORwyWH7ZbFeza+Zkg6JpQHJ/ftfe/S6Zr/crtdrJDskpLEJdOvjIyXWfx4peZTkIMkMiX1nYrx3S4yx9aH7JMbW5K+SmyV7JKT6CNix0Pr2MZKjJfb7nS9ZIrE2aJcY+y7JcLI2qEoqEvstj5QN+nuN5K790qdXEgQaIWC//ydIRh57l+lv+3yaxPqlvVpftD5pxwc7BlgfvHOEXK/3ayWkxgjYb//xEjsPmtjxeY7Ezn8mIycxdurvssSSvbfznkmv5G7JtZL/kaQ1LZBhI8cxdjxcKLGxjB0rzd+2/TJ8vrG+t0+yRbJRYv3PjnvD45vtel+ENEVOHikxfibWT+ZJ7Pdq39l5vF1iv9MHJNY/tkmGz+HD5/F+fUaKnsAyVfFEyeP2i/Vz69/D7aW3Q8l+v+H+93v1auf7TRLr69bH/yz5g8R+B2lKdtw6SmJjyuH+yLgyoRayg2ce0vFyYq4HR66QjnoOdC3K/2zJKyXPkCyVNJPshHWZ5CeSiyXrJEklO6Gab+bX0yWPldTbX56kMiOTHbDshPJHifn4K4kdvIqaOuT4SZLl+8V42cm4mWT990rJpZJLJDdK6k2zVMBOQM2m9VJwe7NKIipvv92nSKx/L5c8WWInp3qSnZSH02THHxuY3iyxC09X73+1i2wWKMWZmm1bGzz6SMbrWT4U1aHjXuW1gCftyQLo50rsuPs0ybGSkQGd/hwzWR5rXxNLNsA6eejdQ/8Zg8v2i51j7KJdVtIcGfo3Hoy9Rzquq1HP8HnwH5X/xRJrm1rSyHzWHgePKvQN/f0/oz5L6s9AFZ8gsXPRiRI7Lh4i8Z16pdC4/1ryG8ltkjwkO288VWK/teUSC+Cs3zSTbFxk41E7j/9SYueOepP9Xqxdm01rpeDOZpVMUN7YLZzg+1q/+pky2nm2lmRj9VdIXiWpldHMEYpn6f2iEX8Pv7Vx8g3DfyT0OjyutP5o4xvrj/ZZM2mfCg+PK60/NjKubKZ+yqaMgAVwoQep9URjA89PSno81DmR3TY4f7Wk3mBXRRpOx6vkFyWbJRPZ5uO7XarjB5LlkqIkG+DYSeYciQ14fXCcSIfNbq2WjBwE6s8J08n6diKdtX73pQlrif9LC0ps0P5VSRz9ezJONiP0XclrJL6CWamaMC3Xt5PZldfvPz4hmWS/7FT1/yC5UGIDxzjaoF/1XCT5e0mzQYJURJ6erBp8cLFj72TJLsq9TmIBuo86R+t48WQGRPy9HQstyLZzvV0cHW1fHH/37q/fApWsJeN3suQ8yQ5J1LxsLLhKYjPltSa7cOfDrs/UWmGD+X7qyc7RF7bGMmeZPjxfUpb4YDNSh12csPFdEml4XGljmzjGlXZh4U2SesaVT1f+kbwafX+m9JASJhBX0G0d7HTJA5JGO0wj5daovn+S1DsTpyI1p+co558kjdjno4z9iC34sJNZHpOdLN8piWoQN1kbWJ/9mKSWg+TJyjeZvlq+/5L0pCFNlRFvkfxVUovdSeSpyLY/SOxENlMSVVouxUn4l4Y60xh0z1d7fEISx0BpojawC8jvkHRK0priCrqXC8BfJBPxauY7m8WsJ3hSdm/JLu59WGLt3YwPvsvaTO7bJFGOcaS+6WTnkndLLMDyzaAWfRbgf0hSS/95ricb8xB0d4vFFyQ2Y1sL50bynCXdcSfzy2KDuyWN2NxsmZ2q186rtYwrCboFKi8pjqD7eYK1QdJsJ22mvC3xeYbnRjtR+n6bsF8jmVwrW57m2cck1VkA9UHJZslIP5N6v1F2vFnSIhkvnawvfNiXdNDdLj/sQsdWT/74YFKLDhuUf09i7eA7LZfCWmzIY540Bd0Hqx2+IrG2ThPrPtljg7g0znxHHXTbEszPSewCWJRtYsv6405HqcKvSdLW30ZztjGWBbUW3KYpzZYxH5Fsk4y2OYm/bZXAaZKJJikIugVI6QmSOC64P2eotnj+m6FqPiBJy7hyk2x5i2SicSVBtwDlJUUZdNuJ+IuSqiSJg+voOs2Or0ssmGsmzVHh70hG60/L3+fJtrSdeOvhbct9Vkq2SNLCdKQdl8suG/iPlU7WhyPzNvo+yaDbLpLd5cmPRv33Ue4K+WCDJ19puRT5sCuLOtIQdNv5xC7C7U55O9wk+x4vSVOKMui2FQfXSOLo16tjhGp+2Xgh6gsJvrnZxWFb+Wbn0SSTBbVvkiS9EmU8vr+RbYvHAUTQ/eAYbEB8xuPn6/P7VYdd5I862e9hhSSt48rfy7ZDxoFA0D0OmCx+HFXQbYHp1RJfP0yfev4iuw5rsLGeqXJ2RdmnPVHoul02PrZBH5Ms9hhVbsFSFEx86twuG18+BqiTPdmeRNBty+5sBjEtF8l8tZcdh54maTYtlwJfNmVNT9JBt82E3Jkh/nbf42cldqEgDSmqoPsRcu4OSRz92Y5L4wVJPhlbAGAzxjskcfgVVR2/lf02S59EsrHHVZKofPOl11ZyvWgMQEUPut8nJnGNA/57DP6+PzpWCi2o9dVvotJj48pTxnCeoHsMKFn9KIqge5Fg3CKJqmP60GtLS55SZ6PZgcgGUz7qj0OHzQi9oE4fk8puVyHfJYnjyqov9nZS+uAoYCfrbx/64w66bfB8qyfbffjvW4e1la0AsYuBjablKujbrqzoSyrotqXaZ0jiGgD6bo8/yPYFkqRTFEH3UjnVI/HNbDx918YA8UjVcUOMPo3nq6/P7T5cu03Izq9xJKvn/ZJBiS8fotZjxxYbe4xMRQ66PyQQUTMfqf/VI8F7fm/90fp/lsaVxubfRnF4uv4eyazR92eO0sufCRDwHXQfIh/ukjTaKeIsZ/doPb8G5q3K8/WM+DSan538XleDj0lmseX+P5aMtj0rf39Rtg/fH3ayJz/iDLptb4JNnuxOe5vZ0rIlkkbSchVKu39R2ZdE0H2weFvQGpVPceldLx+SXm7uO+ieIZ9ujrltPqL6okynSfkuSVz9Is56bJzXzAXHWrib/p9lmN+nZfvwxYmiBt2nioFdhIirb9r41B4hFkWyceWPJHH54rseGwMOjysJukfA0FvSfgJ2H/FPJYdlhEin7LxAYgOS8ZIF3N+X2Ak5i8ns/4bkZSk1/kjZdZ3kxSm1rxaz/kmZbFl2FtOTZPSvJHb/YhHSHXKypwiOZtzHx8r+ayR2QSjryS7y/E7yjKw7st9+GwjaefOYmP2xsUUUyW4B+K7ELqzbLTZ5TH8vp+zCdlTJlu9eL6llEiMqG5rV+69SYBfQi5qeKsftNzB84SEODr9XJdsjqOhR0mkrY14Sge64VL5dFZ0TV2VZqGf4CkQWbI3DRvuhfktiB98sJTvJXiyx4G90sjY2n9IasI62d7y/zY9vS04aL0NCn9vA+nLJoQnV77PaN0rZB30qjEGXDZp/LrGLZUVJ/1YURzPsp13V/19Jni4EdcsfCxp97C0gNYkmu8j4nJgtsAtlN0RQ53TptGPgqyLQnTaVX4jIIJu0uExycET641T7DlX2rjgrTEld9juwsW57zPb8JIL6TpBOG1dmZfJvIgQ22ceYZSJCGfzOOr2PZRHne9Ljw5ZGdNwj+2eMar/PZtyn0RxsCfFBo3xM6k8bWO+QjLYxy39X5Y9dmfThw5ekJ8pkJ9k7JT5szYqOS5sEurxgvEa268ebZFdr8ecp454cc35AvtnqkriTr+XlV8jwvZKRfSOO92dHAGyBdF6fgC9x8BpdxyUR8DOVz5LslIyuL8t/V+TP1z359BnpiTLZhTwfrH/jSU+9tviecLGLmowrx+8TZ0bZGdFdGwFfQXe9P7Y05v/eCGQr9D6NNjZrkx2kk0426LRN3pr1Jc/low66f1Aw/nZBpNlgZ3nBmI38fcURdBfluLBB/WiRJM7kK+ge2SfifG8XY3ymOVJ2myROH5Kqa0B+HuUT3n5dFuAkcQEmKY6N1JuVoLsR35otc7PnPvlE6WNcOfExLdNBd8lzh0Fd8gReKRNeK3m05KzkzYnEghdI68pINNem9HBls8DflluSkiFg9zm9IpmqE6vVLi5elVjtVDwZAVsKWJTjgs2w2j3RtjM7aXICu5Tlt5NnqznH8FL/KALRmo2IMaNdwP2L5/qM3f9IbF8cEgQaIWD9x1ey84fdJsq40hfRFOoh6E5ho3gwyYLtH0ry/OP9pPyb5oFVvSrmqcAvJPZKSoaA3bN1RjJVJ1arzXJ/KLHaqXgyArOUoWjHhZPk8+cmA8P3QwTstpB+TyxapecCyYme9KVdzUYZ+DHPRi6UPvu92u+WBIFGCdiFcB/JxpO/lDCu9EEzxTrs4E3KHwG719Ukz+kgOfceyYdjdNIuUtku8DbTTUqOwBtVddHa4L/ls++lbMm1YP5qtvt1HxmTW72q51rJ3ZI1kj2SBySWLIiYI1kmsQ1BT5BEOZP3dum/SPJ7CWl8ArYCwlf6hBT9nS9lGdDzPtk43L99mNsiJRdKDvGhDB2FJWC32NhxuNlk40q7LbRoY5pmuWWyfGsmrcZoCDxI4F16+Q+JbToRR3q3KnlmHBXtr8PuY7tGcqvkDsl6yf0SG2RbspUMNsi2wcMRkuMkx0tsUJHXZE8YsIF+1OkvqsDY375ftuh1t8T426yzrbKYsl9s1uSw/WInzmP2f64XL6ksLR/xogklURCw23n+MQrF+3WGer1MYsGtLT9cJ6k1tSvjMyQvk7xSYn3WZ7Lf41clFtzb8SpvyX7vNkt9ucSOw/dI7DM7Btvxd6ZktmT4929Llh8veZTEBtOW7Hjxs6F3zf/3LKl4T/Nq6tJg9ttx8CbJLZIeySaJcbD+ZMfCeZJH7JfH6tXXBag/Ste3JD6T7aRsqzTiTMbqT5K/SoylnU9s3LJb0iUZ7kt2/rBzufUhXwylijSKgPXl30isTe6SWJ/eJ7Fz7fCk1VK9t/aw37b16cdJ7Pc+nOxCmv02mk3/IgXPalZJneV3Kr/9tqwvmmyWbJfYca1DMtwfzXc7lpn/R0pITRJobbJ80YvvFYDLJFdL7Ee8RmKzEPbjtYPsVInNMiyR2AnJfrRPlzxF0iJJe7If428l10gs6FsjsZOEnSzsRGG+LZQcKjleYiey5RL70caR7IS/QhLVY0RG+mBt9/GRH0T03vrNDyQ/klwhGQ6w9bamZLvXL5e8QvJiibVTntJz5IwNSqJIt0np2ZKfSdZIGk12XD1a8iTJiRKzebGk0fRNFbyz0cKjytkx655Rn9Xzp/l2cD0FxslrJ30beMaZbFDhO9kFrzN9K92vb1Cv50vs+GaD9UaSBcKX7Jd36/VtkvdKfK6Esr5uOj8hyUuy4PLTEjsO229mrLRPH1qfuldy3agMFojaQNWCp9mSzZJmkwW2FoCWmlVUQ3k7z/9YYsfCSyXbJPUks/UkyQslfy+ZK6k3WUDzdklYb8EJ8tvYy4LuONJaVfJfEmN4naQiqSctVua/lbxaslwSR7urmtwmOxZ+Q/Jlif2+x0t79MVGiY15LTAfToHeWBBqv2kT+300m+wYEddxs0d12fHjYomN6e0CQz3JxvrPllh/fKYkCzGMzCRFQeAnUmoH5jjETgT2Q3y5pFvSSFqgQu+R9EnisLmeOuzkeobkKEkjya4EvlFiB6x66m00752qJ+qTUZvquDVif+6S/pUSn0GyDaz/RWInkEb5NlPuS6rXd7KTZjM2jVX2Hum0CxRR9qNjpd9+81dK7Bgylh1jfdavvAdL0pLs6v9Ydtb72dfT4lCTdvzQE4/R/C6V3iObtG284vP1hc2aj66zmb93SZ/pjTI9WcqbsbGWsg+oDjt/RXksaJTRBTH4bxd33iDxeVHGBufPl9g4zQb6tbSD5fmaxGfqlDI7z9Zaf6P5LlcddqHVZx86RPrsfGoXgBq1q9Fyn1GdUaafSnmjttVazsbsh0bpRAO64xhXGp8/SOz357M/Lpa+z0vsuF9rG/jKF9VFbrlCqpWAHcx9NehEemzAbLNXvpKdBE6X2BXzieqN47vdsuFjEpud95HsRPtmic3cRm3/03wYPIGOd0bog82UrJbYATiqZIH8hyRxn7BtkOAz2ZXmPonP/mRXq+1CUZzJAtd3Sa6TTObLf8ZpWA11me2T2VzL93kIup/uicVIXnYueLvE+nrUyY7Pg5KR9Tfz/tMRGxx10H277D88Yh8aVb9cBZtpm8nK3iv9r5T4HJhL3cPSIfrkK5LJxjz3Kc+8h5Vu7oP3q/hkHJr53i5YPKs5EyctvVA5viNpxs56y2Y96P6oeMVxPJ208UZl+KeI29EuMFmwHWWy3+h5knomEurtf6PzE3RH2aI16o466LYTxLslUf1wHyvd6yWjO1dcf1+ruh8liSItk9I/S6L05XNRGL5fpx1ULDCOwn67wrtofz1xvByhSv4oicKXsXR+ybNTx3q2/VfSl/QSqRNkw1mSsS5O2VXkgyRpSgTdD7aGBSe2RG+sft/oZ9uk7+QH1cf2vw3K+iWN2jyy3APSMydCy6MMum+V3XMjtL0Z1XaMulEykrWv9zbzfIakWxJnOkSVfVMy3mDdLjz5THae3SnxxW2knor0WmBqkyhxJZtJ75WMtCOq91kOut8RV4PUWY8da+zCUhRtZr+pL0ri/E2frPrWRuTPaEYE3QKddPqJDBjdML7+toHEM2Jw0JZr3B2hH+PxuFB1dkTs3zTpjzLYuyNC++2q/HjsGv3cDoqnS6K6iCPV46Z2fXO2pFHb6ynnO+h+rUe7N0nXbElaki3nfLdk5MW3T6bFuBF2EHQ/COMUvdTzW5gsrw3Ajh/BOc63L1ZlFjhMZmMt358eoeFRBd12LDg4QrubVb1aCmphX2+ejdIbx9hmIv+foi+vH+Xfn/V360SFGvjumypTL59a8tv48EUN2OOjyAIpuVxSi53N5Mlq0B3lZEyz7RfVGGy3DLNzUxLJLiRcKmmmr9VSlqA7idYdVedPImroPdJ74qi6ovzzUCnfKqml4/nIY8uUol5ONszLApzbI/Rt2XBFHl/t6ritcvDBeliHzSy8xqONjap6r2e/hv0b+fqlRo0bp9ynPNr8sXHqSPpju83ALi7YYGpW0saMUT9B94NQ/qCXkX29mfd224cFlEmmf1PlzfgwXNZmO6I6p0QRdNsF0BckCX6Sui34vFcyzNfX65+l085vaUg2k/8ByfC5drlnox4hfXbe9cVuWI9tBHmcZ1vrVWcX0X8kGbYpitcsBt22CinKW/bqbaeR+aMYV1q724rMJ4ysKIH3drz6riSKfjisk6A7gYYdXWVUQffLRlcUw98vVB02EBjuYFG9/kZ12AE7zmRLafslUfj0iggc8Rnkmc82m3RqBHY2qvKdKhhFWwzr9B1026qMYd3Nvh7RKLSClyPofnBfj2b738jyq1LQp2zVze8kI+1q9P0zI/IniqD7vyOy1Zfal3tqk5FtaQHJHF8GetRj44NPeNQ3rMqW2o7038d7uxUkqZUpw34Nv1qgc4HEh19j6cha0G3jLOtLaU2flGFjcW7msx3S+cSUOGwX0f4rAh+H+RB0p6Chowi6z0/QLxsIDHewKF7tCm1SV7n/PSLfPu+5vaZKny359Mn/fZ5t9KHuPzz7OJKX76D7V55stc2j0noV3EebRqmDoNu573nqh/Zb+WGUjVWn7kcp//Bs48jfcb3vv11nvbVm9x1023HgsForTyjfn1Rvvfwnym+rzdIYcEeFd6YU7/TMcED6To7K4Ab1dqjclZKJ2r7R77IWdEd1/GmwaQ4oNkV/+R5X2iqOvz2gluT/sPHVbySN9rmJyhF0J9++Q4+imKiR6v3OfhRJLu205VB2YK/X7lrzJznbavd3b47At/+VTp/pLVJWK89a8tmFFJtNSluyq5KXSGrxod48voNuXwNQu4WD1BiBogfdNoj3EZjab8lmJ9K2UZ4NaOr9nY/Ov0s6uiS+k++g21bOpDk9ScaNZtvM33bcOzzNDkdg2794Zmj83xaBnT5UzpeSHkkzfWSsslkLuo/3ATMiHW+OoH3sVsE0Jouh7pGM1aea+SzTQXdU916lsQPUY9Nnldnuj0gq3auKo5oBuV66v5OUY6p3p+ScCOq3CxU+06s9KtsgXasldqBJW7KlWCskdqEp7cmu5vtIc6Rkug9F6CgcgRfKY1+35dh5ZlPKCNrSR7vg20yy2ZyTmlEQU9kozkM+TX+lT2XSZeeguzzrTLs6n+dx8/USyVkpddomM1ZJ0jjOiAuZXZi/Ma7KGqjHd3+0vV/sPJLGZDGUjS2raTQuKZsIuh9O3ja1+crDP479k6hs+LQ8SfpHYIMd3zYslk6btfWRDpaSE30o2q/DrozbrFZaU58M++e0GjfCLtuZ01d6ni9F6CkUAV/7fNiA5IspJGcXCH1c8H12Cn0baZLN+l428oOUvbexma++Zq7ZhXYf7Wq6spKOkKE+7+2188+bUu68XRT4RsptjNK8NPdxWyX2FI/O90vXGyRpvsjyO9n3ZY8+Z14VQffDm9B+tGkIkK6QHRYM+Uym7//5VNigLlsC9ccGy45XzO4hWTTel3V+foryB3WWGS+7HXR+NN6XKfrcBmXXp8iesUyxVRK+0seliNluXzSLocf6i69g0i48+ryI5LMFzvOg7FkedESpwoITuxcyrclWCtiFZB/Jlvu/x4eijOl4hWd7vyB9azzrjELdv0mptXkR08UpdtrnuNLcPFtyR4r9HTbto3qThphq2J5EXwm6H44/LVfKbCb4Zw83r6lPLlLpwaY0+Ctsm9/5TjM9KXypJz2mxk6AWUjW39K40dtIdutG/tHk+0eqvA28bak5CQK1EFiuTJ21ZKwhj4/AtoZqGspiFwq3NFTyoULH622S+6I8ZMnY734/9sep+fQlHi05Q7o2etSXFVU+z+P3yenPZcRxa2u7QFC0ZMvrb0+x0z774075+ekU+zrStG36w45BJBEg6D6wG9i9bL858KNE//I9MPifRL05sHLfvpn27gOraOgvux/x8Q2VfHihK/WRrVjISrpUht6UYmN9n1BtY6a/St4gaU+x35hrHu6AAAAg5klEQVSWDgInejLjWulJ8721NgP88yZ9tbHFY5rUEWXxq6JU7kH30z3oMBU243mmJ11ZUjNbxh7r0eBzpOt+j/qiVnWWKtgXdSUp03+17EnrUmuf40rDbrcQNHth1PTElex22bSu7IqLwVA9BN0H4v6z/rQrSGlJPgcGdkHhD2lxTHZcL7HBnc/kI+i2QKzVk1F2os5aspN1WtMNERg2Vzq/JumRfF5ysoQAXBBIDyPgK+i++GGa0/eBzXY3m45pVkFE5W1Vz+0R6fah1gbox/lQJB3fkhRxaedT5Lev8a31l69LspQ2y9j/zpLBHmy1C+hpTU+SYW0ejbMxS5aSHYO+nSWDo7LV10EpKvvi1hvFoL4ZH+5RYV9XK2+Wrv5mjPFc1vy627NOH0s/n+bJJrt4Y8v5s5bsRJ2mfjKSn1002jPyA4/v50nXuySXSWwpob1+VfIOybMlSyWk4hKwC3FP8OT+rz3piVKNrdJpNqU16O6VY3ubdS7C8k+Ubl8Xfm1GrIjpqR6dvky67vWoLy5VdsGlSOnOFDvra1xpLv5JcluKfR3PtKL1xzE5+Dqwj6k8gx+mrSPbTLAd7I/0wNJm8dOW7CD5KI9GBR502RVyH+lXUpLmgd14PtrFAgsKXjBehgQ/tws1ZtsLI7bBZppsxttkZLKAf53Edni2mfG+/WLv7bP1+/+2mRFSvggcJXd8rKSpSI+t8kl7uksGWn9vxmefy3t98rKLamlOJ3oyzsYO13nSlTU1J3k0OE235dXjlq1W2SaZU0+hDOfdnmLbfY0rzcWs9kdbuWtjpkXmRFETQfeBLW9XwNOWfA0Q1qbNMdnjyzefrvm4wGH2/NSnUTHr+onqS2PQbRhs5uaF9iaBZAGI9Y+J+sgufW8rZq6X2IDXXm3ZmwVbpOwSONST6TboONqTrqjV2PnwkU1UcnATZaMs+kCUyj3o9nUhOquDcw8IJzxG16s/q+dym7T5heQ19Tqc0fxp/l1PNGaoF3dW+6NNRtitVW+s1+E85SfoPrA10xh0+9q8w2bh0pZ8+ebLr04pWuxJ2RWe9CSh5sokKq2xTtvR32ZwHlFj/rizTVWFtpRs5HIy20Dkj5JL9svNeiVli4Cv/rZUbl+bLdcbtna+SgaSsGEN0RRM23lntJe+LvBk+Rw0mkk9f89QZturw0eyMaGdb7Ka7FxelKA7rb/rDrXBEk8dyCaq0rYitx7XrD8WOugu1UOrAHltliptydfVO196fPJJm0022PHxm7AlXff4BBWzLpuZTevmO3b1/iMx82i2Oluu/izJZyV/ltwu+ajE14yWVJEiJuAr6I7YzFSpt8GmBUBpS2k774zmc9joDxr82y70FTEd7tHpazzqSkJVkfpAWn/XvsaV1n/sgm3aLmLW06+L1B/H5OIjwBhTcUY/TOM9uL6u3qXRt7QdJH0Ndm5S/8/ygdGWAd2S4t/wd2Xbn1Js32SmHaEMH5b8RfJryT9IWiSk9BIg6G6sbQ5qrFikpWzlSVqT3cKywINxduHXbmUoYvJ1Hjd2di7PcrJZ0aLc2pTW3zX98aFf0F16m8ZY5CELI35H0H0g4IED/0zFX74OJLYJVdpS2lYW+Bogrkkb6AbsSfOSOrsocKrE12+jATxeitjS22dKfiixJef/KOGYLAgpTLNSaFMWTJqTQiPTfEF0nnjZcaHZlObjd7O+TVbe13nc6sk6x0H50DMZsJx8n9bfNf3xoQ5mbbTmoT+L944BXvrbPK0HkvSTq99Cux/XR1rrQ0nCOtYkXP9k1dvO96skFoDnIdnu2N+XXC15fB4cypkPdosAqX4CrfUXKXQJX/1sTYEp+jqPG0LO5QXuSJ5cpz8eCHLNgX8W6y+C7mK1N95OTMDXgMc2u8h6SvPjN4bZ2jPF3zv8R05eHyc/bOn85yXtOfEpD27Ysl9S/QRa6i9S6BK+zkFZOH5H1dC+GJp9nMujaqXi6KU/HtjWRT42sZTxwL7AXwUn4OuK5J4ccMzK0m0LTv9JkpcZb+s6Fqi8S3KFZJmElDwBnwOn5L2JzwIu7NfH2lc/y8M5qD5yD+X2dR43jXngmJVz+UMtmK939McD27PQ/ZET4oGdgb+KTaDLk/v9nvQkqSZLm118SaBeIUnbxnzNtt8TpOAPkuOaVUT5pgl0NK2hmAoYY9TX7pyD6uM1Vm5fDE035/KxCPNZPQTojwfSytLY8kDLPfzFCdEDRFTkhoCvg0EeBug+TxRxdJCLVIktzb4mjspirGOh6vqdhPu8Y4Q+RlV5GHyP4VbkHzHGqA+xr36Wh3NQfeQeyu3rPG4aOx9Sm9l3efAhs/BlOP3xwNbL2tjyQOub/IsTYpMAKZ4rAr6WkuXh/k+fS6Li6iT2OIonS14nsUfm5CXNkCO/kDwyLw5l0A9fx4YMuo7JMRLwtfSyyANbXwyt2fPAMYvn8hh/cpFX5fPckYf+6OsWmsgbLooKCLqjoIrOrBLw9Qiz2VkFMMLurPpg93Z/S3KU5AyJrzaVqkTTXNVujxZj1iKZZshLP0qGHrXWSsBXwDit1gpzmM8XQ0OT1fPgyGZN42P7RtqX9/c+zx30x4z3FoLujDcg5nsl4OvgeIhXq5JR9ohkqvVW6xZp+lfJoZIPSNZIsp6OlQOfzLoTGbXf52xFRhFgdgwEfAWMS2OwNa1V+DqPm3/L0upkHXZl/Vxeh6upzEp/PLBZCt0fCboP7Az8VWwCmz25n4eDymGeWCStxoLvT0nMn+dKzpNkeem57dTOxmqCEHPaGnN9VFdMAr762bJi4hvy2td53JRl/VxuK6MWDVHhv6QI+OyPy5JywlO99mSWrPvQFAqC7qbwUThnBO725I8FRYEnXUmoaVOlNquap2TLzi+RnCaxzclOlnxCcpVkUJKVZMfsT2fF2BzZuSZHvuBKegnYrNgmD+ZZoFXUeyd9ncetGY730BZJqjhBlTPOT7IFnKM/PsT/GL1tf+jP4r3jx1i8Nsfj8Qnco6/C8b+u+Ru7h+rwmnOnL6MNNLrTZ5Y3iyzIvlzyIYltvGYblZ0k+WfJ+ZKrJQ9I0ppsxp7Z7nhbx44NJAjEQcBHX7MZJXuaQxGTzyDnSRkH+JSM258H832NK43FEyRZntApfH9szUOPxgcIeCJg9232SRZ70Pc06bjTg54kVCxPotIE67RHetjzsE1GpgX6w/qCzRotkdgM+VKJfW5/23ezJEmkN6rStyZRcUHrvNeT30dKj8/lhp7MikyNz/sZIzMyZYptkH6iB5ssYLSLi0VL98lhEx+bTtmx/lGS2yVZTMuzaHTObLbxRa/ExgzNJhtvPEZyU7OKEiq/PKF6U1MtQXdqmgJDUkLATq4+gu4XSc83UuJTvWa8pN4COc2/UX6ZXDeBfxaEP36/PFWvNnPeLok6vUIVvF1Sjboi9A8R8DV7ZkF3VgfwdIV4CNzhqZpnSc9nPenKmhr7jZ3oyegXS89nPOmKU800VWZ9gJQ8AeuPPoJu8+SFkiwG3Z2y+3nmQJETy8uL3Pr4PhaB0bOdY+Wp5bNnK5Od9LKW7MRggSOpNgLrle3Hkg9K7D5xm115vuRcyXZJVMluYSjq8tGomE6k1wKh+yfKUON3hV9eVyOnImf7oyfnl0vPTE+6sqbG13nc/P6HrDm/396/06sFOqTkCdAfnXuOmiGLY2KvvYeg2ytOlOWAwJWefOiSntd40hWnmtNUWZbvGYqT1Vh12SN/fiF5g8SWJr5ccp0kirQ8CqXoHJOArSi4asxv6vvw7+vLTu4CErB+VvHgd7t02KxYEZOv87ixe6IkixuqvbGIDZ9Sn332R+uLdm931hL9US1G0J21bou9UROwWQYfAx6z8y2SLAWwHbL3TWY4yQuBAWm5SGLLz23J/gaJz/Ron8pi1mUbPWUt+ZiBPEpOm5AgMB4B28Tx5vG+rPPzN9eZPy/Z/397ZwI1R1Xl8UMkIGDABBFky0cgrLKj7KRDAiNqVBZBBRLUo85hmKMgKohACCJ6HJgBBGXmOLKMjooymACiIyEhGQHZMcCEJUg29iUJYZFFf3/sip2Pr7+urrqv6lX1vef8v+rueu9u9arq3vte1ackx+KlqIk/qvb+jO1RfGyivG9L94BlXCljqjYeR6PzQaUfhQgU8KQ7goPgKkTlAS0hvctII/17BCVbVaHPouj6VVG2Ynpehb4KhCwr3luV4AOrZ8jfUYLueUVaJN3SYVJeRbx/7T0w28hCPSqkol+vkV5WeL+h0UfDq8+QX2hWetzJKR4PqJB2p6E6n4LXFob8QrM6GQGeb7oTQo8z519RD1xpqPdZ8FrVkF8oVkqCTgvF3Pm+6YFn+Kvn7KyCQS1fL5o0e29BwyyYFMzjRuRZvI37c/BZs2DdXVy1PKD3RFjRFCtGFeNjeR9fHdur4kctPT68YseqF9S1HI9DcdiZFXGaJp8mVkTX4Gp65SG4i11ABT3wc0Od9bbiEwz5hWJ1Oox9ljuUd//OVyspVPW1oDISV6ukWy+Cqxq9hMJXGyg9Ah7+fJuBI2vMYia2PWFkn5Z17m/Eq0psfmasrN7R0jDmac1Oj+2cB6r0WJu1D2LlZxlXysYjwLhYjW3qpXGo8ahx6YQHPOn2YeAeeKsHHuKn2976c+ZfzqDnNpl7h++4FyKODy/GJTQ9cA1bi+R1rRI8+oqRzG3hU8Ub8S+N7D8VPsONeDmb+nlA7xWxGmvyzkWg11ZXzMHme2W8ESmB+E8Q86MxKvDvaWSvs7H1wMOwu9WQpcaj/ktKGcX3tGYcS8NeLPi19Y8n3W1d4zt63AP/bWi//m3HFSDGi6Nm3S4DVUyAULuS9BpaLzTQfLkBj25ZvEyHF7vtNEB7FQyq9ExaYsK1fLDwu8677yRMfeseGMADPx3gt6w/6f0P387aucL9LO/jcsNm4EdACU9s9D4UmhKbUq7PSh6wHo99cI91PO6Abn6PW+nw+0x3P3f4V/fACg+oor1sxbf8H7aDxY9BTMmtnjXXErzNgVOxHrCY5VxSrMorpD254lO+D+PydS+ltwoOOo8tSM92T7Bg5Dxq6YFZWGX58qXj4HdkLT3V3qh/Z5ceC7Gkw2Cmx7Fiog1RRu8BUIHfKV4PWMeVsvRQMFkfIqL10OVXQMV1pxYP+Ex3izP8o3ugxQPP8/mHLd8tPirAvhy8zYJZTh7SQTeA8Tn5lNn9XQjX8qp3l6lEBtlb0sci6X4qg2yLLlZJ90QLZUrgcR4y/2Ik91L4xPzoSauZCu40q+JUnAfOMRSl2Vnd08YY8rRkNQpmX7JkCC9dI7WSy5qUdH/FmmlGfroPagXORhn7e7fiPKBCuWIWazoNhl+1ZpqR3zvpdzXoy9jfu1XAA1PRUUFQXoyM0FbddPPapf4xJld63sPCtoTHB42PXx/8XjXWUbpeAdYAZZFmuDVbl/gt1Pb8wAZe0rRBSeAnA8uyZH92U++8flfRpAz6OULz6p70360MAwxkXmfog3nw2thAp1As1oHxJSA5ZkeHEtSBr/79VaJDnu3FHeTEtHsoyiwwsjvx2Qvwiy0eOAadloLXgZZJW5KW1otvYr/ldjJ8y1xqroLzPYFsS/wUeonwNCP9N4VPFWgkSoaIK3W8JoMyx+MI5N8KkrETYnsB/J1K9sBU5Fsc3JEl2zGQeE+60x9b66Rbx+MSYDG2+vO4Hb5l3CRUFZ8eyKb+Np6PnFA0FsZvgFaZM/m+ayiBRnw3h4+C3la9s34+wUinbtnoucGsOvfvpxcWhl75oTFvTQfAsL8teb4/Ar8trJXMyU/B21FgMWi17Vm+vwcUTb2YdMvH/wxa/W/xWe9mmCjmJZOuh5qlbbXpZr5bJw56jKpVhuXnX8C7jJer7YTcPwW0K/GRJ9042Zh+BL/Ev9bbssbjttj0YEC7Ej950m08GLOw86S78wkcW2Vbx/lYkJxIFtsQSbeelVpmrGdi63Pw/QywDjBgOSDtx6+PgER+6G2opFvPrc1tY4dmNP4LbAdiIyV/7fTOcix2L8nAI5GbRd92fUIFdWuh5xlARQ6dx9ZkOdst3zwNQlzDstj9fjrNBO2Ome65RVOvJt2a7b4XtDsWeX7/D/jqPCmahiFQ56aetx5I/2P43ZL6YPYiGEiWxW8Pw3t/UAQpXtC/HFwOLHTvxCPU9Tnx1TQjOzZNGFZgGzKu1PEscjzK3ZPAUtBpLFns96RbHi+ZPOnuPNg96c4+SL9OV4uLRTseN8BfAWUoWhfG3wf9Z4bb6WP1e6ikO81Mq5LvK8FeIAbSLOYdwMq3j8FrSEmGbWNoR+KPcw3t0ZLL08FTLXpqttCaVNixXiaocavzZm1rZVPy09Leq0FyXAbbHp2Sp1WzXk265b8DwWDHIs+++fA+VEIKIM0InwRUYBpM58fZr8caLOlMmA0mM+8+3V8vB6Msle7HS9fe6SCvrt3096S730Ew+npy4OOo8XgZ2MxI34HYjObH60A34ylvW0+6BzoSBf/mSXfnQe9Jd/ZBqZlVVQ7zXiw69Z+GDAVXVsmUku3JQC/v6CQ7xP4QSbeCjle6tGcO7b8I5I+iSUunPweWAUsf/6BoQ1rkaablSWN75BsVJcaBLKREeyLQOTRQIjwrC9MUfS6kjeVxTXgtgu8XwGopdMjbRDKOADNAIj/N9lnah1hBANsBqZeTbjnkKpDmuGRtcwv8DwFW9x9YrSBdt3U/eB6k1U+FOEvSjP4CkFZ+1nZ/RoZWEOwMrGhLGF0KXgNZ9craz5Nuq6O4Mp+i4spkPO6ysvhc31RY0hgf6F6bdZyl7XdBLs29s4kHpsIl7QEbrN1IE21smZxjZJsn3fmOy750L+qGNw9ZZ4N9gJK2bkgzCRPAz8DLYLDxHnqfgixLUrJ3I8iqt5L1/wWa9ewDIUkB3nHgIZBV38H67RhS+RS8rwxkl2zWUlpd9z4MZKcSO41rLc/XzX5X8DHwDaBxrvaaIR7MX9q/EbCm4TCcDwaTnWffo/A+BVgnt7quNMB5QKsmsuqoe29R1OtJ93twdIhiV/9jrzH3XaBVD93ef+jyJq3KX/U/A9wF+stI813JwrbAkg6AWadrRRrd0ra5FXlfA9tnMGID+nwazASatUwr07qdJ904PxApxnsNWB+zdvw0Hk8CO4BuKSlsX0/HIs+h/rZUOunWhdHJPeAe6OyBWTT5Fji1c9PcLTaDgy6Mgmap72ziPrYKkBcABSTDwAig9luDXcAeYCioI30Wo/bNYZhm9FR8ElQQmAtuBreAm4D8K79moVXotAVQUHcQGAuUeIeg6TC9OwTjLnhqCfLBXbTvpqkCbeGEbjp1aDuE/YcBJZmW9BzMNMOuQEQyrGlTGH4TTAEao9eCPwBdE54BaUnJk3y6H9gb6BxYD+SlCTA4Glyel5H37+gBXfuPATr3dL0JRRpzJzaxlO3/AV1vHgbzgcbdi0BFzOFAM3YaS31gFNgJqDC2JshDuo/pfNU11YpUdNUMuuwrgnZDiPBt8Di4HejcfRAsAouBzs1hYATYGmwFdB9/Lwh5nGHvVLIHZiP/LHBaQXok4/Fs5Gk83gE0Hh8AGouC7mMqcq8LtgQaj7uDHYGPR5yQh1bN09n7ugd6zAMKfBUA6IZYFK2DoEYTRcmMUc76KGVdcdfNRJjUNPgNtgvBvCaeYLsELAcvAQWgCjIVTAr6PBLoxiSsAUKTqr6TQwtJwf8q2vwADE3RNpYmh6OIgnhrmgFDjc2TrRm38FMgpGRZSGg+H+4Bz4Lnm1AypLa6biiQ3xhobI4Cq4EQJJ+q6LA4BHPnuZIHVHQ5H3xxpV/DfVkb1gc1EU5Ke87j2XUIuLJ9k673nEKPcWDnrnvm67AB3T/URD5O3rtOHjgTYxRX7lmwURqPH2yiYNG9K86T7t499m559x7QMqCPg5vBRt139x45PHAufUfk6J+mq5IVzfIIDRAjXY5SsyJQTIneb4CWgFeFFNRsAhYEUPh0eIp/IwDvdiyTsdpuf1G/q/ikAsxHihLY43K+iv3bASWkvUDnYOSvgQqfFqTVTIeCm4CKuU7ugTI9oLhSBWGNRxVJnWrsAQWZTu4B90B6DyykqaqDS9N38ZY5PfAP9P9UTh516K6ZdwXcsVCIWeOQtmlp3GGBBLwK34PBnED8Y2c7AQW1zNwpvAeUNGr2947woqKQ0IcWXzPW5BH4qWCoVUxO7oGyPZDElUvKVsTlh/WAJ91h/evc6+mBezBLlXIF2k5hPaBl3BeFFVEJ7q+jpQoPSrxjod+hyN2xKJNSD61UCUVa4q2luAqgepFUhNmwFw0vweZlyFTx9+ESZJchUsXGPmPBt8HvCKCZRif3QNke+CMKKK5UUc2pph7wpLumB9bNCu4BJRyaNXs5uKTiBVxdvMi2Ek9lz6i2e3tnx0mYOj1Cc0+OUKfBVNqDnVqWHYqUcB8IejHxHo7d/xbKsc73LR5QAW4suO8te+r3wxqYpGXm1nQNDFXMrGOiE9N93Pq41ZXf9RimuNLqUYqY/OTjkaPhSXdMQ9J1qZoHpqKwZrbqtNT8f7AnRHCT5dhuQKfjs3SsWR+9aOVfIrXp1+il86AqpCXmIWe75Yf7wd7Nrb73CmmmRs+2OxXnAb2fYF8wuziRpUk6BMl64ZQ1XQFDPR5Rp6XmP8GeC60d5fwK8cA0pNQtrtSLV2ONYQo5qIkQT7oTT/jWPZDNAzPoNg5o1qHqNBcDjgF6Q3YMpH9pMR48EIMyJemghPu0kmSnFXscDZ9O2ziCdqGTbpk4HygZukVfeoAuxsbdgQoOTsV6QC811OqKXxQrthRpoYo6v8UaJfRVuo61OwAqfn2+3U7/vRIemImW+wPFQFWn2OLKUv3pSXep7nfhNfHAbdixM9CFsqr0EIorwY1t1l4zODuB74LXQa+QHluYBGJPuHU8NNt2FHhDXypA70fHvgL0fAYZY8D5IJZClrXZCgpVxPhH8JI1c+eX2gPy/eHgOKBrRx1J99dPBDRMb4/eBfw+oIzQrFX0UgGmTrP2oX0WK//bUUxx5YxYFUyhl+JKFbOWpGjbE0086e6Jw+xGFuCBx5ChpPVsULUAWzPJDbAQxEgKKPUinV3BNTEqaKyTblQNcJkx35DsfgNz/e/gKoz9VdBTz80VQa8gRH75KFASXhd6DUP0/PbWoBdmWKtw3HTuXQhUVLq3Cgqn1FFj7XSgFWWh71EqIDbAuaAK1zLUXEE65mNBHWZHVxjV4x90LBVXngWqUtRODtmDfNB41Dnl1PTAEPeEe8A9YOYBBQdfBw1QlaDnBnQdAxaB2OluFPwwqOszjJrJPwfsAKq4LPl76P0lUIVgVbOCRZKe09Nx/Qmogn8G880MdmpG8HjgMxg4ITLS8uLdwCnghch061YdXQd3B1NAUSud9F9Jvgw0Q6elsVUgLY9vgDo85lYFfxepo8b9N0ADzAFVoBkouR8IXSSrgi9W0nHISt/8i3vAPWDhgRthsjPQ7OxyC4YBeKhqOgUosKhaZXw2OivxVgVYL+goKhhDVDC6Fs4KlE8EmtmvKmkp9cfB0ogNUFKimYOiaTECjwQau1o6WDW6DoVVoNPshXzoFK8HtMT8W2ArcBmoWqFHq0I+D/YCd4Ay6HqEqlCmhCfWa7IK/SquHASeBk719cAsTFOx8ysg1mKa4sozgWKzqsWVqOyU1gNTaaibSl6MTCuwwHaa+cprl/rrJIiNjkUhC9sSHvq/pbHRhij0r0AXyUTPsre3oss+oB2NYYeFjkrAiqCRCNGy/ieBhd5F8dANSsuyBzsW7K4kbYnWN4GifJlGjvQ5DMRQbJYOej71NpBG97LaKHn7KVARsWzaAwUs/HBx2YaUIH9HZF4K9LiDhQ9D8XgK/ZRErgNiok1Q5gLwIghle7d8dT3TKoB29AF2dMtzoPbfaSfA6PdpRnpuaqRPFdgorjwXxBRX6l6mgnI72o8dA42vbn/TeehUsgc86e48mD3pLneQrof4bwJV8Lu9yFi1fxTZR4FOSccYIx2LSrpR901alb+auVdQHXMCrhkJFdNGgzrTKhg3CSwCVmO4Wz7LkH0J2BPESg0UU+CpWatu7QvVXst6/wmMALGQJ935j4SCdc2Ax3Z9nItOJ4C1QMy0PsopCX0OhDr3OvGdh+wjgK6vg5En3YN5px773oUZmlkuM66cj/yJoFNc6Uk3TqoLedLd+QbgSXcco3111DgY/BJoFqnTDTbv/teRcQ34GFBSmobG0CivXPUvOulute1tfBkLFGDOBmXP8CjxvBCMA2mPA01rQRrzk4CWiVqMq048liNHjx0oEHgHqAopoD8W3ACKTsBfQuZvwYlgaxAjedJtd1R0DRoPyixQKlGQ/L1A1ejtKKxVM7rOFHFv0fVAce4EoHtbGvKkO42X6tFmNcxQjFdkXKlH4hTLDgVpyJNuvNSpUpbGkTG02RslVMHNS0pOtHwoJtKyMC3VzEs3wuCJvEyM+28Ov10MeSq5esyQX2hWwxFwAGg0sQ1bC1IVfgb4HdAM2gLQDa1H40Y3Hdq0fYjf72yzr+if10SggnZdK7YH24HRIO0Ng6apSUHYXKDlVrPA78EDwOlvfv8IjlDwuBuw8L8KSxpnusYpYZ0OYruOo1JXpAS8AZSQ7AP0bKllsWYR/OSzu4Cum/KdEu+YSbOgFgUBrTR5NGZDC9ZNSdyeQNdGjTdBM2jWtASGuiZeD3RvUhFO527VaV0MOAA0mtiKrQU9AxNdz+Qv3cd1znZDG9B43246tGmre9k9bfZZ/LwFTNYxYPRHePzZgE/VWSiuHA8aQBMP1nFlMh7nw7sbqmNc2Y39b7atS9LdteHewT0QoQd0k9wRjAa6cWur4HvtJhR0qsL+PNBsnvAceAQ80MT9bHWDrEMwgxlBSdVh+XkU2BjI18lWQYB8vUZzq8BUPhWWgr8ALdEUVOhRQetP4D4wD7j/cUIHkn813ncFKixuAuR/BfzvBEOa21fZvtCE/KwikpImjXUljXNA1ZNsTBiUNGOvhHNzoPEqyF8an7ou6BoxFLwBVPSRPwQlOgvBYjC/+VnXh6eAk3ugnQeSe5DG2WZA2w2BxpnO22FAY1JjTtdDXe803nRPSq6Jj/NZY+9eoHNU52wvkPy0A9A1TZAv3w1a7+Or813npq5r8tuzoPU+fh/flUTqfHZyD+TxgOLK1vGoManxqBhHY7J/XNk6Hh9kv4ou/w/uBh7X4IQ89Fc6shlscEygcgAAAABJRU5ErkJggg=="/>
|
|
5397
5415
|
</defs>
|
|
5398
5416
|
</svg>
|
|
5399
|
-
`,
|
|
5400
|
-
kaspi_pay:
|
|
5401
|
-
new_card:
|
|
5402
|
-
apple_pay:
|
|
5403
|
-
google_pay:
|
|
5404
|
-
visa:
|
|
5405
|
-
mastercard:
|
|
5417
|
+
`, Ri = {
|
|
5418
|
+
kaspi_pay: Qi,
|
|
5419
|
+
new_card: ki,
|
|
5420
|
+
apple_pay: Pi,
|
|
5421
|
+
google_pay: wi,
|
|
5422
|
+
visa: Ti,
|
|
5423
|
+
mastercard: Li
|
|
5406
5424
|
};
|
|
5407
|
-
function
|
|
5425
|
+
function Oi(e) {
|
|
5408
5426
|
const t = e == null ? void 0 : e.toLowerCase();
|
|
5409
|
-
return t &&
|
|
5427
|
+
return t && Ri[t] || "";
|
|
5410
5428
|
}
|
|
5411
|
-
const
|
|
5429
|
+
const Ht = `<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5412
5430
|
<path d="M19.7045 10.7313C15.0567 10.7313 11.2687 6.94328 11.2687 2.26866C11.2687 2.10746 11.1612 2 11 2C10.8388 2 10.7313 2.10746 10.7313 2.26866C10.7313 6.94328 6.94328 10.7313 2.26866 10.7313C2.10746 10.7313 2 10.8388 2 11C2 11.1612 2.10746 11.2687 2.26866 11.2687C6.94328 11.2687 10.7313 15.0567 10.7313 19.7313C10.7313 19.8925 10.8388 20 11 20C11.1612 20 11.2687 19.8925 11.2687 19.7313C11.2687 15.0567 15.0567 11.2687 19.7313 11.2687C19.8925 11.2687 20 11.1612 20 11C20 10.8388 19.8657 10.7313 19.7045 10.7313Z" fill="#2F2F2F"/>
|
|
5413
5431
|
</svg>
|
|
5414
|
-
`,
|
|
5415
|
-
function
|
|
5416
|
-
return
|
|
5432
|
+
`, Ni = '<svg class="choco-widget-method-item-trash" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.16663 5.83317H15.8333" stroke="#CC3434" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 5.8335V15.0002C15 15.921 14.2542 16.6668 13.3333 16.6668H6.66667C5.74583 16.6668 5 15.921 5 15.0002V5.8335" stroke="#CC3434" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12.5 3.12516H7.5" stroke="#CC3434" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.33329 9.1665V13.3332" stroke="#CC3434" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M11.6667 9.1665V13.3332" stroke="#CC3434" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>', Di = '<svg class="choco-widget-method-item-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3333 4.3335L5.99996 11.6668L2.66663 8.3335" stroke="#242424" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';
|
|
5433
|
+
function Ve(e) {
|
|
5434
|
+
return Oi(e == null ? void 0 : e.iconType);
|
|
5417
5435
|
}
|
|
5418
|
-
function
|
|
5436
|
+
function Ar(e, t, n, r = {}) {
|
|
5419
5437
|
const { editMode: o = !1 } = r;
|
|
5420
5438
|
return (o ? e.filter((c) => c.type === "card") : e).map((c) => {
|
|
5421
5439
|
const u = !o && !!t && t.type === c.type && t.cardId === c.cardId, l = JSON.stringify(c).replace(/'/g, "'");
|
|
@@ -5424,7 +5442,7 @@ function lr(e, t, n, r = {}) {
|
|
|
5424
5442
|
class="choco-widget-method-item choco-widget-method-item--edit"
|
|
5425
5443
|
role="listitem"
|
|
5426
5444
|
>
|
|
5427
|
-
<div class="choco-widget-method-item-icon-wrapper" aria-hidden="true">${
|
|
5445
|
+
<div class="choco-widget-method-item-icon-wrapper" aria-hidden="true">${Ve(c)}</div>
|
|
5428
5446
|
<div class="choco-widget-method-item-label">${c.label}</div>
|
|
5429
5447
|
<button
|
|
5430
5448
|
type="button"
|
|
@@ -5433,7 +5451,7 @@ function lr(e, t, n, r = {}) {
|
|
|
5433
5451
|
data-method='${l}'
|
|
5434
5452
|
aria-label="${c.label} — Удалить"
|
|
5435
5453
|
>
|
|
5436
|
-
${
|
|
5454
|
+
${Ni}
|
|
5437
5455
|
</button>
|
|
5438
5456
|
</div>
|
|
5439
5457
|
` : `
|
|
@@ -5445,14 +5463,14 @@ function lr(e, t, n, r = {}) {
|
|
|
5445
5463
|
aria-label="${c.label}${u ? " (выбрано)" : ""}"
|
|
5446
5464
|
type="button"
|
|
5447
5465
|
>
|
|
5448
|
-
<div class="choco-widget-method-item-icon-wrapper ${c.type}" aria-hidden="true">${
|
|
5466
|
+
<div class="choco-widget-method-item-icon-wrapper ${c.type}" aria-hidden="true">${Ve(c)}</div>
|
|
5449
5467
|
<div class="choco-widget-method-item-label">${c.label}</div>
|
|
5450
|
-
${u ?
|
|
5468
|
+
${u ? Di : ""}
|
|
5451
5469
|
</button>
|
|
5452
5470
|
`;
|
|
5453
5471
|
}).join("");
|
|
5454
5472
|
}
|
|
5455
|
-
function
|
|
5473
|
+
function Mi(e, t, n, r) {
|
|
5456
5474
|
if (!e) return "";
|
|
5457
5475
|
const o = typeof e.amount == "number" && Number.isFinite(e.amount), i = typeof e.percent == "number" && Number.isFinite(e.percent);
|
|
5458
5476
|
return `
|
|
@@ -5465,7 +5483,7 @@ function Di(e, t, n, r) {
|
|
|
5465
5483
|
</div>
|
|
5466
5484
|
<div class="choco-widget-balance-label-wrapper">
|
|
5467
5485
|
<div class="choco-widget-balance-icon">
|
|
5468
|
-
${
|
|
5486
|
+
${Ht}
|
|
5469
5487
|
</div>
|
|
5470
5488
|
<div class="choco-widget-balance-amount">${o ? $(e.amount, "ru", r) : 0}</div>
|
|
5471
5489
|
<label class="choco-widget-toggle">
|
|
@@ -5476,7 +5494,7 @@ function Di(e, t, n, r) {
|
|
|
5476
5494
|
</div>
|
|
5477
5495
|
`;
|
|
5478
5496
|
}
|
|
5479
|
-
function
|
|
5497
|
+
function xi(e, t, n, r, o) {
|
|
5480
5498
|
if (!e) return "";
|
|
5481
5499
|
const i = new Date(e.expires_at), c = isNaN(i.getTime()) ? "" : `${String(i.getDate()).padStart(2, "0")}.${String(i.getMonth() + 1).padStart(2, "0")}`, u = c ? r("couponUntil", { date: c }) : "", l = Number(e.reward_amount), h = Number.isFinite(l) && l > 0 ? $(l, "ru", o) : null;
|
|
5482
5500
|
return `
|
|
@@ -5490,7 +5508,7 @@ function Mi(e, t, n, r, o) {
|
|
|
5490
5508
|
<div class="choco-widget-balance-label-wrapper">
|
|
5491
5509
|
${h ? `
|
|
5492
5510
|
<div class="choco-widget-balance-icon">
|
|
5493
|
-
${
|
|
5511
|
+
${Ht}
|
|
5494
5512
|
</div>
|
|
5495
5513
|
<div class="choco-widget-balance-amount">${h}</div>
|
|
5496
5514
|
` : ""}
|
|
@@ -5502,7 +5520,7 @@ function Mi(e, t, n, r, o) {
|
|
|
5502
5520
|
</div>
|
|
5503
5521
|
`;
|
|
5504
5522
|
}
|
|
5505
|
-
function
|
|
5523
|
+
function Ui(e, t, n, r, o, i, c, u, l) {
|
|
5506
5524
|
if (!e && !n && !o) return "";
|
|
5507
5525
|
const h = e ? `
|
|
5508
5526
|
<div class="choco-widget-balance-toggle" data-action="toggle-balance">
|
|
@@ -5513,7 +5531,7 @@ function xi(e, t, n, r, o, i, c, u, l) {
|
|
|
5513
5531
|
</div>
|
|
5514
5532
|
<div class="choco-widget-balance-label-wrapper">
|
|
5515
5533
|
<div class="choco-widget-balance-icon">
|
|
5516
|
-
${
|
|
5534
|
+
${Ht}
|
|
5517
5535
|
</div>
|
|
5518
5536
|
<div class="choco-widget-balance-amount">${e}</div>
|
|
5519
5537
|
<label class="choco-widget-toggle">
|
|
@@ -5525,13 +5543,13 @@ function xi(e, t, n, r, o, i, c, u, l) {
|
|
|
5525
5543
|
` : "";
|
|
5526
5544
|
return `
|
|
5527
5545
|
<div class="choco-widget-balance-section">
|
|
5528
|
-
${
|
|
5546
|
+
${xi(o, i, c, u, l)}
|
|
5529
5547
|
${h}
|
|
5530
|
-
${
|
|
5548
|
+
${Mi(n, r, u, l)}
|
|
5531
5549
|
</div>
|
|
5532
5550
|
`;
|
|
5533
5551
|
}
|
|
5534
|
-
function
|
|
5552
|
+
function Fi(e, t) {
|
|
5535
5553
|
return e ? `
|
|
5536
5554
|
<div class="choco-widget-cashback-section">
|
|
5537
5555
|
<div class="choco-widget-cashback-info">
|
|
@@ -5543,7 +5561,7 @@ function Ui(e, t) {
|
|
|
5543
5561
|
</div>
|
|
5544
5562
|
` : "";
|
|
5545
5563
|
}
|
|
5546
|
-
function
|
|
5564
|
+
function Xi(e) {
|
|
5547
5565
|
const {
|
|
5548
5566
|
amountFormatted: t,
|
|
5549
5567
|
originalAmountFormatted: n,
|
|
@@ -5566,7 +5584,7 @@ function Fi(e) {
|
|
|
5566
5584
|
freedomAmountFormatted: R,
|
|
5567
5585
|
t: L,
|
|
5568
5586
|
currency: q
|
|
5569
|
-
} = e, D = (o == null ? void 0 : o.label) ?? L("selectMethod"), G =
|
|
5587
|
+
} = e, D = (o == null ? void 0 : o.label) ?? L("selectMethod"), G = Ve(o), z = Ar(i, c), J = Ui(u, l, h, y, m, b, I, L, q), M = Fi(B, L), v = (c == null ? void 0 : c.type) === "google_pay", g = (c == null ? void 0 : c.type) === "apple_pay", p = v || g;
|
|
5570
5588
|
return `
|
|
5571
5589
|
<div class="choco-widget-bottom-bar" role="region" aria-label="${L("paymentMethod")}">
|
|
5572
5590
|
${J}
|
|
@@ -5695,20 +5713,20 @@ function Fi(e) {
|
|
|
5695
5713
|
</div>
|
|
5696
5714
|
`;
|
|
5697
5715
|
}
|
|
5698
|
-
function
|
|
5716
|
+
function Hi() {
|
|
5699
5717
|
return `
|
|
5700
5718
|
<div class="choco-widget-bottom-bar-prerender">
|
|
5701
5719
|
<div class="choco-widget-payment-loading"></div>
|
|
5702
5720
|
</div>
|
|
5703
5721
|
`;
|
|
5704
5722
|
}
|
|
5705
|
-
function
|
|
5706
|
-
return
|
|
5707
|
-
}
|
|
5708
|
-
function ji(e) {
|
|
5709
|
-
return Ye(e);
|
|
5723
|
+
function ji(e, t, n, r = {}) {
|
|
5724
|
+
return Ar(e, t, n, r);
|
|
5710
5725
|
}
|
|
5711
5726
|
function Ji(e) {
|
|
5727
|
+
return Ve(e);
|
|
5728
|
+
}
|
|
5729
|
+
function qi(e) {
|
|
5712
5730
|
if (typeof document > "u") return { mountTarget: null, isEmbedded: !1 };
|
|
5713
5731
|
const t = e.config.containerSelector;
|
|
5714
5732
|
if (t) {
|
|
@@ -5717,21 +5735,21 @@ function Ji(e) {
|
|
|
5717
5735
|
}
|
|
5718
5736
|
return { mountTarget: document.body, isEmbedded: !1 };
|
|
5719
5737
|
}
|
|
5720
|
-
function
|
|
5738
|
+
function dr(e) {
|
|
5721
5739
|
if (typeof document > "u") return !1;
|
|
5722
5740
|
e.container || (e.container = document.createElement("div"), e.container.id = "choco-one-click-widget", e.container.className = "choco-one-click-widget");
|
|
5723
|
-
const { mountTarget: t, isEmbedded: n } =
|
|
5741
|
+
const { mountTarget: t, isEmbedded: n } = qi(e);
|
|
5724
5742
|
return t ? (e.container.parentElement !== t && t.appendChild(e.container), e.container.classList.toggle("choco-one-click-widget--embedded", n), !0) : !1;
|
|
5725
5743
|
}
|
|
5726
|
-
function qi(e) {
|
|
5727
|
-
Ar(e) && (e.container.style.setProperty("--choco-widget-accent-color", e.config.color), e.container.innerHTML = Xi());
|
|
5728
|
-
}
|
|
5729
5744
|
function zi(e) {
|
|
5745
|
+
dr(e) && (e.container.style.setProperty("--choco-widget-accent-color", e.config.color), e.container.innerHTML = Hi());
|
|
5746
|
+
}
|
|
5747
|
+
function Ki(e) {
|
|
5730
5748
|
var y, m, b, I, B;
|
|
5731
|
-
if (e._destroyed || !
|
|
5749
|
+
if (e._destroyed || !dr(e)) return;
|
|
5732
5750
|
e.container.style.setProperty("--choco-widget-accent-color", e.config.color), e.container.classList.remove("choco-one-click-widget--visible");
|
|
5733
5751
|
const t = e.getAvailablePaymentMethods(), n = (y = e.checkoutContext) == null ? void 0 : y.data, r = e.config.currency || "KZT", o = (I = (b = (m = n == null ? void 0 : n.balance) == null ? void 0 : m.data) == null ? void 0 : b.money) == null ? void 0 : I[r], i = !e.config.disableUseBalance && o > 0 ? $(o, e.config.locale, e.config.currency) : null, c = (B = n == null ? void 0 : n.cashback) == null ? void 0 : B.data, u = (c == null ? void 0 : c.cashbackAmount) > 0 ? $(c.cashbackAmount, e.config.locale, e.config.currency) : null, l = e._getPayableAmount(), h = l < e.config.amount;
|
|
5734
|
-
e.container.innerHTML =
|
|
5752
|
+
e.container.innerHTML = Xi({
|
|
5735
5753
|
amountFormatted: $(l, e.config.locale, e.config.currency),
|
|
5736
5754
|
originalAmountFormatted: $(
|
|
5737
5755
|
e.config.amount,
|
|
@@ -5773,14 +5791,14 @@ function zi(e) {
|
|
|
5773
5791
|
});
|
|
5774
5792
|
});
|
|
5775
5793
|
}
|
|
5776
|
-
function
|
|
5794
|
+
function ke(e) {
|
|
5777
5795
|
var r;
|
|
5778
5796
|
const t = (r = e.container) == null ? void 0 : r.querySelector(
|
|
5779
5797
|
".choco-widget-payment-methods"
|
|
5780
5798
|
);
|
|
5781
5799
|
if (!t) return;
|
|
5782
5800
|
const n = e.getAvailablePaymentMethods();
|
|
5783
|
-
t.innerHTML =
|
|
5801
|
+
t.innerHTML = ji(
|
|
5784
5802
|
n,
|
|
5785
5803
|
e.selectedPaymentMethod,
|
|
5786
5804
|
(o) => e.t(o),
|
|
@@ -5789,25 +5807,25 @@ function Qe(e) {
|
|
|
5789
5807
|
o.addEventListener("click", (i) => {
|
|
5790
5808
|
i.stopPropagation();
|
|
5791
5809
|
const c = JSON.parse(o.getAttribute("data-method") || "{}");
|
|
5792
|
-
|
|
5810
|
+
Zi(e, c);
|
|
5793
5811
|
});
|
|
5794
5812
|
}), t.querySelectorAll("[data-action='select-method']").forEach((o) => {
|
|
5795
5813
|
o.addEventListener("click", (i) => {
|
|
5796
5814
|
const c = JSON.parse(
|
|
5797
5815
|
i.currentTarget.getAttribute("data-method") || "{}"
|
|
5798
5816
|
);
|
|
5799
|
-
|
|
5817
|
+
gr(e, c);
|
|
5800
5818
|
});
|
|
5801
5819
|
});
|
|
5802
5820
|
}
|
|
5803
|
-
function
|
|
5821
|
+
function fr(e) {
|
|
5804
5822
|
var o, i, c;
|
|
5805
5823
|
const t = (o = e.container) == null ? void 0 : o.querySelector(".choco-widget-payment-method"), n = (i = e.container) == null ? void 0 : i.querySelector(".choco-widget-method-name"), r = (c = e.container) == null ? void 0 : c.querySelector(
|
|
5806
5824
|
".choco-widget-method-icon-wrapper"
|
|
5807
5825
|
);
|
|
5808
|
-
t && e.selectedPaymentMethod && (t.className = `choco-widget-payment-method ${e.selectedPaymentMethod.type}`), n && e.selectedPaymentMethod && (n.className = `choco-widget-method-name ${e.selectedPaymentMethod.type}`, n.textContent = e.selectedPaymentMethod.label), r && e.selectedPaymentMethod && (r.className = `choco-widget-method-icon-wrapper ${e.selectedPaymentMethod.type}`, r.innerHTML =
|
|
5826
|
+
t && e.selectedPaymentMethod && (t.className = `choco-widget-payment-method ${e.selectedPaymentMethod.type}`), n && e.selectedPaymentMethod && (n.className = `choco-widget-method-name ${e.selectedPaymentMethod.type}`, n.textContent = e.selectedPaymentMethod.label), r && e.selectedPaymentMethod && (r.className = `choco-widget-method-icon-wrapper ${e.selectedPaymentMethod.type}`, r.innerHTML = Ji(e.selectedPaymentMethod)), hr(e);
|
|
5809
5827
|
}
|
|
5810
|
-
function
|
|
5828
|
+
function qe(e) {
|
|
5811
5829
|
var m, b, I, B, Q, S;
|
|
5812
5830
|
const t = (m = e.container) == null ? void 0 : m.querySelector(".choco-widget-pay-button"), n = (b = e.container) == null ? void 0 : b.querySelector(
|
|
5813
5831
|
".choco-widget-google-pay-amount"
|
|
@@ -5837,7 +5855,7 @@ function Je(e) {
|
|
|
5837
5855
|
".choco-widget-google-pay-amount-value-number"
|
|
5838
5856
|
)), i ? i.textContent = h : o && (o.textContent = `${e.t("instead")} ${h}`);
|
|
5839
5857
|
}
|
|
5840
|
-
function
|
|
5858
|
+
function hr(e) {
|
|
5841
5859
|
var l, h, y, m, b, I, B, Q, S, P;
|
|
5842
5860
|
const t = ((l = e.selectedPaymentMethod) == null ? void 0 : l.type) === "google_pay", n = ((h = e.selectedPaymentMethod) == null ? void 0 : h.type) === "apple_pay", r = t || n, o = (y = e.container) == null ? void 0 : y.querySelector(".choco-widget-pay-button"), i = (m = e.container) == null ? void 0 : m.querySelector(
|
|
5843
5861
|
".choco-widget-google-pay-amount"
|
|
@@ -5846,7 +5864,7 @@ function fr(e) {
|
|
|
5846
5864
|
"choco-widget-google-pay-amount--hidden",
|
|
5847
5865
|
!r
|
|
5848
5866
|
), c == null || c.classList.toggle("choco-widget-google-pay-row--hidden", !t), u == null || u.classList.toggle("choco-widget-apple-pay-row--hidden", !n), t) {
|
|
5849
|
-
|
|
5867
|
+
Gi(e);
|
|
5850
5868
|
const k = (B = e.container) == null ? void 0 : B.querySelector(
|
|
5851
5869
|
'[data-action="apple-pay-button-slot"]'
|
|
5852
5870
|
);
|
|
@@ -5856,7 +5874,7 @@ function fr(e) {
|
|
|
5856
5874
|
const k = (Q = e.container) == null ? void 0 : Q.querySelector(
|
|
5857
5875
|
'[data-action="google-pay-button-slot"]'
|
|
5858
5876
|
);
|
|
5859
|
-
k && (k.innerHTML = ""),
|
|
5877
|
+
k && (k.innerHTML = ""), Wi(e);
|
|
5860
5878
|
} else {
|
|
5861
5879
|
e._googlePayButtonRenderVersion += 1;
|
|
5862
5880
|
const k = (S = e.container) == null ? void 0 : S.querySelector(
|
|
@@ -5866,9 +5884,9 @@ function fr(e) {
|
|
|
5866
5884
|
);
|
|
5867
5885
|
k && (k.innerHTML = ""), R && (R.innerHTML = "");
|
|
5868
5886
|
}
|
|
5869
|
-
|
|
5887
|
+
qe(e), ae(e);
|
|
5870
5888
|
}
|
|
5871
|
-
async function
|
|
5889
|
+
async function Gi(e) {
|
|
5872
5890
|
var c, u, l, h, y;
|
|
5873
5891
|
const t = (c = e.container) == null ? void 0 : c.querySelector(
|
|
5874
5892
|
'[data-action="google-pay-button-slot"]'
|
|
@@ -5897,9 +5915,9 @@ async function Ki(e) {
|
|
|
5897
5915
|
});
|
|
5898
5916
|
i.classList.add("choco-widget-google-pay-button"), i.style.setProperty("width", "100%", "important"), i.style.setProperty("height", "52px", "important"), i.style.setProperty("min-height", "52px", "important"), i.style.setProperty("border-radius", "12px", "important"), i.style.setProperty("font-size", "16px", "important"), i.style.setProperty("font-weight", "bold", "important"), i.querySelectorAll("*").forEach((m) => {
|
|
5899
5917
|
m.style.setProperty("border-radius", "12px", "important"), m.style.setProperty("font-weight", "bold", "important"), m.style.setProperty("font-size", "16px", "important");
|
|
5900
|
-
}), t.appendChild(i),
|
|
5918
|
+
}), t.appendChild(i), ae(e);
|
|
5901
5919
|
}
|
|
5902
|
-
function
|
|
5920
|
+
function Wi(e) {
|
|
5903
5921
|
var i, c;
|
|
5904
5922
|
const t = (i = e.container) == null ? void 0 : i.querySelector(
|
|
5905
5923
|
'[data-action="apple-pay-button-slot"]'
|
|
@@ -5924,9 +5942,9 @@ function Gi(e) {
|
|
|
5924
5942
|
</defs>
|
|
5925
5943
|
</svg>
|
|
5926
5944
|
</span>
|
|
5927
|
-
`, n.appendChild(r), n.appendChild(o), t.appendChild(n),
|
|
5945
|
+
`, n.appendChild(r), n.appendChild(o), t.appendChild(n), ae(e);
|
|
5928
5946
|
}
|
|
5929
|
-
function
|
|
5947
|
+
function Rn(e) {
|
|
5930
5948
|
var o;
|
|
5931
5949
|
if (!e.selectedCoupon) return;
|
|
5932
5950
|
const t = e._isCouponDisabled();
|
|
@@ -5937,8 +5955,8 @@ function Ln(e) {
|
|
|
5937
5955
|
const r = n.querySelector("input[type='checkbox']");
|
|
5938
5956
|
r && (r.disabled = t, t && (r.checked = !1));
|
|
5939
5957
|
}
|
|
5940
|
-
function
|
|
5941
|
-
e.loading = !0,
|
|
5958
|
+
function ge(e) {
|
|
5959
|
+
e.loading = !0, ae(e);
|
|
5942
5960
|
}
|
|
5943
5961
|
function K(e) {
|
|
5944
5962
|
var m, b, I, B, Q, S, P, k;
|
|
@@ -5954,7 +5972,7 @@ function K(e) {
|
|
|
5954
5972
|
), h = e._isInteractionBlocked(), y = e.paymentMethodDisabled || h;
|
|
5955
5973
|
t && (t.disabled = y), n && (n.disabled = h, n.classList.remove("choco-widget-pay-button--loading")), r && (r.disabled = h), o && (o.disabled = h), i == null || i.classList.toggle("choco-widget-wallet-blocked", h), i == null || i.setAttribute("aria-disabled", String(h)), c == null || c.classList.toggle("choco-widget-wallet-blocked", h), c == null || c.setAttribute("aria-disabled", String(h)), u == null || u.classList.toggle("choco-widget-wallet-blocked", h), u == null || u.setAttribute("aria-disabled", String(h)), l == null || l.classList.remove("disabled");
|
|
5956
5974
|
}
|
|
5957
|
-
function
|
|
5975
|
+
function ae(e) {
|
|
5958
5976
|
var b, I, B, Q, S, P, k, R, L;
|
|
5959
5977
|
const t = (b = e.container) == null ? void 0 : b.querySelector(".choco-widget-payment-method"), n = (I = e.container) == null ? void 0 : I.querySelector(".choco-widget-pay-button"), r = (B = e.container) == null ? void 0 : B.querySelector(".choco-widget-freedom-card-btn"), o = (Q = e.container) == null ? void 0 : Q.querySelector(
|
|
5960
5978
|
".choco-widget-google-pay-button-slot button"
|
|
@@ -5967,52 +5985,52 @@ function ie(e) {
|
|
|
5967
5985
|
), y = e._isInteractionBlocked(), m = e.paymentMethodDisabled || y;
|
|
5968
5986
|
h == null || h.classList.toggle("disabled", y), t && (t.disabled = m), n && (n.disabled = y, n.classList.toggle("choco-widget-pay-button--loading", e.loading)), r && (r.disabled = y), o && (o.disabled = y), i && (i.disabled = y), c == null || c.classList.toggle("choco-widget-wallet-blocked", y), c == null || c.setAttribute("aria-disabled", String(y)), u == null || u.classList.toggle("choco-widget-wallet-blocked", y), u == null || u.setAttribute("aria-disabled", String(y)), l == null || l.classList.toggle("choco-widget-wallet-blocked", y), l == null || l.setAttribute("aria-disabled", String(y));
|
|
5969
5987
|
}
|
|
5970
|
-
function
|
|
5988
|
+
function pr(e) {
|
|
5971
5989
|
var n;
|
|
5972
5990
|
if (e._isInteractionBlocked()) return;
|
|
5973
5991
|
const t = (n = e.container) == null ? void 0 : n.querySelector('[data-sheet="payment"]');
|
|
5974
|
-
t && (t.classList.add("choco-widget-payment-sheet--open"), e.isPaymentSheetOpen = !0,
|
|
5992
|
+
t && (t.classList.add("choco-widget-payment-sheet--open"), e.isPaymentSheetOpen = !0, Pe(e));
|
|
5975
5993
|
}
|
|
5976
|
-
function
|
|
5994
|
+
function ce(e) {
|
|
5977
5995
|
var n;
|
|
5978
5996
|
const t = (n = e.container) == null ? void 0 : n.querySelector('[data-sheet="payment"]');
|
|
5979
5997
|
if (t) {
|
|
5980
|
-
|
|
5998
|
+
Ze(e);
|
|
5981
5999
|
const r = t.querySelector(".choco-widget-sheet-content");
|
|
5982
|
-
r && (r.style.transform = "", r.classList.remove("choco-widget-sheet-content--dragging")), t.classList.remove("choco-widget-payment-sheet--open"), e.isPaymentSheetOpen = !1, e.isPaymentSheetEditMode && (e.isPaymentSheetEditMode = !1,
|
|
6000
|
+
r && (r.style.transform = "", r.classList.remove("choco-widget-sheet-content--dragging")), t.classList.remove("choco-widget-payment-sheet--open"), e.isPaymentSheetOpen = !1, e.isPaymentSheetEditMode && (e.isPaymentSheetEditMode = !1, ke(e), Pe(e));
|
|
5983
6001
|
}
|
|
5984
6002
|
}
|
|
5985
|
-
function
|
|
6003
|
+
function Pe(e) {
|
|
5986
6004
|
var l;
|
|
5987
6005
|
const t = (l = e.container) == null ? void 0 : l.querySelector('[data-sheet="payment"]');
|
|
5988
6006
|
if (!t) return;
|
|
5989
6007
|
const n = t.querySelector(".choco-widget-sheet-title"), r = t.querySelector('[data-action="close-sheet"]'), o = t.querySelector('[data-action="edit-sheet"]'), i = t.querySelector('[data-action="previous-sheet"]'), u = e.getAvailablePaymentMethods().some((h) => h.type === "card");
|
|
5990
6008
|
e.isPaymentSheetEditMode ? (t.classList.add("choco-widget-payment-sheet--edit"), n && (n.textContent = e.t("editCards")), r && (r.style.display = "none"), o && (o.style.display = "none"), i && (i.style.display = "")) : (t.classList.remove("choco-widget-payment-sheet--edit"), t.classList.toggle("choco-widget-payment-sheet--no-cards", !u), n && (n.textContent = e.t("paymentMethods")), r && (r.style.display = ""), o && (o.style.display = u ? "" : "none"), i && (i.style.display = "none"));
|
|
5991
6009
|
}
|
|
5992
|
-
function
|
|
6010
|
+
function yt(e) {
|
|
5993
6011
|
if (!e.addCardActionUrl || !e.container) return;
|
|
5994
6012
|
const t = e.container.querySelector('[data-sheet="add-card"]'), n = e.container.querySelector(
|
|
5995
6013
|
"#choco-widget-add-card-iframe"
|
|
5996
6014
|
);
|
|
5997
|
-
t && n && (n.src = e.addCardActionUrl, t.classList.add("choco-widget-payment-sheet--open"), t.style.display = "flex", t.setAttribute("aria-hidden", "false"), e.isAddCardViewOpen = !0,
|
|
6015
|
+
t && n && (n.src = e.addCardActionUrl, t.classList.add("choco-widget-payment-sheet--open"), t.style.display = "flex", t.setAttribute("aria-hidden", "false"), e.isAddCardViewOpen = !0, Yi(e));
|
|
5998
6016
|
}
|
|
5999
|
-
function
|
|
6017
|
+
function Ie(e) {
|
|
6000
6018
|
var r, o;
|
|
6001
6019
|
const t = (r = e.container) == null ? void 0 : r.querySelector('[data-sheet="add-card"]'), n = (o = e.container) == null ? void 0 : o.querySelector(
|
|
6002
6020
|
"#choco-widget-add-card-iframe"
|
|
6003
6021
|
);
|
|
6004
|
-
t && (t.classList.remove("choco-widget-payment-sheet--open"), t.style.display = "none", t.setAttribute("aria-hidden", "true")), n && (n.src = "about:blank"), e.addCardActionUrl = null, e.isAddCardViewOpen = !1,
|
|
6022
|
+
t && (t.classList.remove("choco-widget-payment-sheet--open"), t.style.display = "none", t.setAttribute("aria-hidden", "true")), n && (n.src = "about:blank"), e.addCardActionUrl = null, e.isAddCardViewOpen = !1, Vi(e);
|
|
6005
6023
|
}
|
|
6006
|
-
function
|
|
6024
|
+
function Yi(e) {
|
|
6007
6025
|
e._boundAddCardMessage = (t) => {
|
|
6008
6026
|
var n;
|
|
6009
|
-
e.isAddCardViewOpen && (n = t.data) != null && n.message && t.origin === "https://rahmetapp.kz" &&
|
|
6027
|
+
e.isAddCardViewOpen && (n = t.data) != null && n.message && t.origin === "https://rahmetapp.kz" && ge(e);
|
|
6010
6028
|
}, window.addEventListener("message", e._boundAddCardMessage);
|
|
6011
6029
|
}
|
|
6012
|
-
function
|
|
6030
|
+
function Vi(e) {
|
|
6013
6031
|
e._boundAddCardMessage && (window.removeEventListener("message", e._boundAddCardMessage), e._boundAddCardMessage = null);
|
|
6014
6032
|
}
|
|
6015
|
-
function
|
|
6033
|
+
function Zi(e, t) {
|
|
6016
6034
|
var c;
|
|
6017
6035
|
e._pendingDeleteMethod = t;
|
|
6018
6036
|
const n = (c = e.container) == null ? void 0 : c.querySelector('[data-sheet="payment"]');
|
|
@@ -6021,13 +6039,13 @@ function Vi(e, t) {
|
|
|
6021
6039
|
const r = n.querySelector(".choco-widget-sheet-title"), o = n.querySelector('[data-action="edit-sheet"]'), i = n.querySelector('[data-action="previous-sheet"]');
|
|
6022
6040
|
r && (r.textContent = e.t("confirmDeleteCard")), o && (o.style.display = "none"), i && (i.style.display = "none");
|
|
6023
6041
|
}
|
|
6024
|
-
function
|
|
6042
|
+
function Ze(e) {
|
|
6025
6043
|
var n;
|
|
6026
|
-
e._pendingDeleteMethod = null,
|
|
6044
|
+
e._pendingDeleteMethod = null, Lt(e, !1);
|
|
6027
6045
|
const t = (n = e.container) == null ? void 0 : n.querySelector('[data-sheet="payment"]');
|
|
6028
|
-
t == null || t.classList.remove("choco-widget-payment-sheet--delete-confirm"),
|
|
6046
|
+
t == null || t.classList.remove("choco-widget-payment-sheet--delete-confirm"), Pe(e);
|
|
6029
6047
|
}
|
|
6030
|
-
function
|
|
6048
|
+
function Lt(e, t) {
|
|
6031
6049
|
var i, c, u;
|
|
6032
6050
|
const n = (i = e.container) == null ? void 0 : i.querySelector(
|
|
6033
6051
|
".choco-widget-sheet-delete-confirm-actions"
|
|
@@ -6038,36 +6056,36 @@ function Tt(e, t) {
|
|
|
6038
6056
|
);
|
|
6039
6057
|
n == null || n.classList.toggle("choco-widget-sheet-delete-confirm-actions--loading", t), r && (r.disabled = t), o && (o.disabled = t, o.classList.toggle("choco-widget-delete-confirm-btn--loading", t));
|
|
6040
6058
|
}
|
|
6041
|
-
async function
|
|
6059
|
+
async function $i(e, t) {
|
|
6042
6060
|
var r, o;
|
|
6043
6061
|
const n = t == null ? void 0 : t.cardId;
|
|
6044
6062
|
if (!(!n || (t == null ? void 0 : t.type) !== "card"))
|
|
6045
6063
|
try {
|
|
6046
|
-
await
|
|
6064
|
+
await xr(e.apiUrl, e._getApiConfig(), n), e.checkoutContext = await Et(
|
|
6047
6065
|
e.apiUrl,
|
|
6048
6066
|
e._getApiConfig()
|
|
6049
|
-
), ((r = e.selectedPaymentMethod) == null ? void 0 : r.type) === "card" && ((o = e.selectedPaymentMethod) == null ? void 0 : o.cardId) === n && (e.selectedPaymentMethod =
|
|
6067
|
+
), ((r = e.selectedPaymentMethod) == null ? void 0 : r.type) === "card" && ((o = e.selectedPaymentMethod) == null ? void 0 : o.cardId) === n && (e.selectedPaymentMethod = Ct(
|
|
6050
6068
|
e.checkoutContext.data,
|
|
6051
6069
|
e._getKaspiOptions()
|
|
6052
|
-
), e._emitPaymentMethodSelected(),
|
|
6070
|
+
), e._emitPaymentMethodSelected(), fr(e)), ke(e), e.config.onSuccess({ message: e.t("cardDeleted") }), e.config.onCardDeleted && e.config.onCardDeleted({ cardId: n });
|
|
6053
6071
|
} catch (i) {
|
|
6054
6072
|
e.config.onError({
|
|
6055
6073
|
attributes: { message: (i == null ? void 0 : i.message) || e.t("paymentError") }
|
|
6056
6074
|
});
|
|
6057
6075
|
}
|
|
6058
6076
|
}
|
|
6059
|
-
function
|
|
6077
|
+
function gr(e, t) {
|
|
6060
6078
|
if (!e._isInteractionBlocked()) {
|
|
6061
6079
|
if (e.selectedPaymentMethod = t, e._emitPaymentMethodSelected(), t.type === "new_card") {
|
|
6062
|
-
e._emitUserEvent("one_click_pay_method_resolved", { payment_method: t.type }),
|
|
6080
|
+
e._emitUserEvent("one_click_pay_method_resolved", { payment_method: t.type }), ce(e), e.handlePayment();
|
|
6063
6081
|
return;
|
|
6064
6082
|
}
|
|
6065
6083
|
e._emitUserEvent("one_click_pay_method_resolved", {
|
|
6066
6084
|
payment_method: e._getPaymentMethodForUserEvent()
|
|
6067
|
-
}),
|
|
6085
|
+
}), ke(e), ce(e), fr(e);
|
|
6068
6086
|
}
|
|
6069
6087
|
}
|
|
6070
|
-
function
|
|
6088
|
+
function On(e, t) {
|
|
6071
6089
|
var r;
|
|
6072
6090
|
const n = t.type || ((r = t.data) == null ? void 0 : r.type);
|
|
6073
6091
|
if (!n) {
|
|
@@ -6076,48 +6094,48 @@ function Rn(e, t) {
|
|
|
6076
6094
|
}
|
|
6077
6095
|
switch (n) {
|
|
6078
6096
|
case "order.paid":
|
|
6079
|
-
e._orderStatusResolved = !0,
|
|
6097
|
+
e._orderStatusResolved = !0, fe(e), mr(e, t);
|
|
6080
6098
|
break;
|
|
6081
6099
|
case "order.failed":
|
|
6082
|
-
e._orderStatusResolved = !0,
|
|
6100
|
+
e._orderStatusResolved = !0, fe(e), Cr(e, t);
|
|
6083
6101
|
break;
|
|
6084
6102
|
case "order.action_required":
|
|
6085
|
-
|
|
6103
|
+
ea(e, t);
|
|
6086
6104
|
break;
|
|
6087
6105
|
default:
|
|
6088
6106
|
console.warn("Unknown event type:", n);
|
|
6089
6107
|
}
|
|
6090
6108
|
}
|
|
6091
|
-
function
|
|
6109
|
+
function fe(e) {
|
|
6092
6110
|
e._orderStatusPollingId && (clearInterval(e._orderStatusPollingId), e._orderStatusPollingId = null);
|
|
6093
6111
|
}
|
|
6094
|
-
function
|
|
6095
|
-
|
|
6112
|
+
function Be(e, t) {
|
|
6113
|
+
fe(e), e._orderStatusResolved = !1;
|
|
6096
6114
|
const n = 6e3, r = 5;
|
|
6097
6115
|
let o = 0;
|
|
6098
6116
|
const i = async () => {
|
|
6099
6117
|
if (!e._orderStatusResolved) {
|
|
6100
6118
|
if (o >= r) {
|
|
6101
|
-
|
|
6119
|
+
fe(e), K(e), e.config.onError({
|
|
6102
6120
|
attributes: { message: e.t("errorNoServerResponseRetry") }
|
|
6103
6121
|
});
|
|
6104
6122
|
return;
|
|
6105
6123
|
}
|
|
6106
6124
|
o += 1;
|
|
6107
6125
|
try {
|
|
6108
|
-
const { data: c } = await
|
|
6126
|
+
const { data: c } = await Fr(
|
|
6109
6127
|
e.apiUrl,
|
|
6110
6128
|
e._getApiConfig(),
|
|
6111
6129
|
String(t)
|
|
6112
6130
|
), u = c == null ? void 0 : c.status, l = (c == null ? void 0 : c.payload) || {};
|
|
6113
6131
|
if (u === "success") {
|
|
6114
|
-
e._orderStatusResolved = !0,
|
|
6132
|
+
e._orderStatusResolved = !0, fe(e), mr(e, {
|
|
6115
6133
|
id: String(l.id || t),
|
|
6116
6134
|
attributes: { amount: l.amount, paid_at: l.paid_at || "" }
|
|
6117
6135
|
});
|
|
6118
6136
|
return;
|
|
6119
6137
|
}
|
|
6120
|
-
u === "fail" && (e._orderStatusResolved = !0,
|
|
6138
|
+
u === "fail" && (e._orderStatusResolved = !0, fe(e), Cr(e, {
|
|
6121
6139
|
id: String(l.id || t),
|
|
6122
6140
|
attributes: { message: l.message || e.t("paymentError") }
|
|
6123
6141
|
}));
|
|
@@ -6128,34 +6146,34 @@ function Ie(e, t) {
|
|
|
6128
6146
|
};
|
|
6129
6147
|
e._orderStatusPollingId = setInterval(i, n), i();
|
|
6130
6148
|
}
|
|
6131
|
-
function
|
|
6149
|
+
function jt() {
|
|
6132
6150
|
return typeof document > "u" ? !1 : document.hidden || document.visibilityState === "hidden";
|
|
6133
6151
|
}
|
|
6134
|
-
function
|
|
6152
|
+
function yr(e, t) {
|
|
6135
6153
|
K(e), e.config.onSuccess(t);
|
|
6136
6154
|
}
|
|
6137
|
-
function
|
|
6138
|
-
if (!e._pendingSuccessPayload ||
|
|
6155
|
+
function mt(e) {
|
|
6156
|
+
if (!e._pendingSuccessPayload || jt()) return;
|
|
6139
6157
|
const t = e._pendingSuccessPayload;
|
|
6140
|
-
e._pendingSuccessPayload = null,
|
|
6158
|
+
e._pendingSuccessPayload = null, yr(e, t);
|
|
6141
6159
|
}
|
|
6142
|
-
function
|
|
6160
|
+
function mr(e, t) {
|
|
6143
6161
|
var o, i;
|
|
6144
|
-
e.isAddCardViewOpen &&
|
|
6162
|
+
e.isAddCardViewOpen && Ie(e);
|
|
6145
6163
|
const n = t.attributes || ((o = t.data) == null ? void 0 : o.attributes) || {}, r = { id: t.id || ((i = t.data) == null ? void 0 : i.id), attributes: n };
|
|
6146
|
-
if (
|
|
6164
|
+
if (jt()) {
|
|
6147
6165
|
e._pendingSuccessPayload = r;
|
|
6148
6166
|
return;
|
|
6149
6167
|
}
|
|
6150
|
-
|
|
6168
|
+
yr(e, r);
|
|
6151
6169
|
}
|
|
6152
|
-
function
|
|
6170
|
+
function Cr(e, t) {
|
|
6153
6171
|
var r, o;
|
|
6154
|
-
e.isAddCardViewOpen &&
|
|
6172
|
+
e.isAddCardViewOpen && Ie(e), K(e);
|
|
6155
6173
|
const n = t.attributes || ((r = t.data) == null ? void 0 : r.attributes) || {};
|
|
6156
6174
|
e.config.onError({ id: t.id || ((o = t.data) == null ? void 0 : o.id), attributes: n });
|
|
6157
6175
|
}
|
|
6158
|
-
function
|
|
6176
|
+
function ea(e, t) {
|
|
6159
6177
|
var i, c, u;
|
|
6160
6178
|
const n = t.attributes || ((i = t.data) == null ? void 0 : i.attributes) || {}, r = n.action_link || n.action_url, o = n.action_url_type || n.action_type || "redirect";
|
|
6161
6179
|
if (!r) {
|
|
@@ -6168,7 +6186,7 @@ function $i(e, t) {
|
|
|
6168
6186
|
}
|
|
6169
6187
|
if (((c = e.selectedPaymentMethod) == null ? void 0 : c.type) === "kaspi_pay") {
|
|
6170
6188
|
const l = t.id || ((u = t.data) == null ? void 0 : u.id);
|
|
6171
|
-
if (l && !e._orderStatusResolved && !e._orderStatusPollingId &&
|
|
6189
|
+
if (l && !e._orderStatusResolved && !e._orderStatusPollingId && Be(e, String(l)), typeof e.config.onKaspiLink == "function") {
|
|
6172
6190
|
e.config.onKaspiLink({
|
|
6173
6191
|
action_link: r,
|
|
6174
6192
|
action_url: r,
|
|
@@ -6180,7 +6198,7 @@ function $i(e, t) {
|
|
|
6180
6198
|
}
|
|
6181
6199
|
window.location.href = r;
|
|
6182
6200
|
}
|
|
6183
|
-
async function
|
|
6201
|
+
async function ta(e) {
|
|
6184
6202
|
var n, r, o, i, c;
|
|
6185
6203
|
if (!e.selectedPaymentMethod) {
|
|
6186
6204
|
e.config.onError({
|
|
@@ -6190,18 +6208,18 @@ async function ea(e) {
|
|
|
6190
6208
|
}
|
|
6191
6209
|
const { checkoutOptions: t } = e._getPaymentBreakdown();
|
|
6192
6210
|
if (e._isBalanceFullyCoveringAmount()) {
|
|
6193
|
-
|
|
6211
|
+
ge(e);
|
|
6194
6212
|
try {
|
|
6195
|
-
const u = await
|
|
6213
|
+
const u = await rn(
|
|
6196
6214
|
e.apiUrl,
|
|
6197
6215
|
e._getApiConfig(),
|
|
6198
6216
|
e.deviceId,
|
|
6199
6217
|
e.selectedPaymentMethod,
|
|
6200
6218
|
t
|
|
6201
6219
|
);
|
|
6202
|
-
await
|
|
6220
|
+
await Nn(e);
|
|
6203
6221
|
const l = (u == null ? void 0 : u.id) ?? ((n = u == null ? void 0 : u.data) == null ? void 0 : n.id);
|
|
6204
|
-
return l &&
|
|
6222
|
+
return l && Be(e, String(l)), u;
|
|
6205
6223
|
} catch (u) {
|
|
6206
6224
|
throw K(e), se(u, { paymentMethod: "balance" }), e.config.onError({
|
|
6207
6225
|
attributes: { message: e._resolveErrorMessage(u) }
|
|
@@ -6209,29 +6227,29 @@ async function ea(e) {
|
|
|
6209
6227
|
}
|
|
6210
6228
|
}
|
|
6211
6229
|
if (e.selectedPaymentMethod.type === "new_card") {
|
|
6212
|
-
await
|
|
6230
|
+
await na(e, t);
|
|
6213
6231
|
return;
|
|
6214
6232
|
}
|
|
6215
6233
|
if (e.selectedPaymentMethod.type === "apple_pay") {
|
|
6216
|
-
await
|
|
6234
|
+
await ra(e, t);
|
|
6217
6235
|
return;
|
|
6218
6236
|
}
|
|
6219
6237
|
if (e.selectedPaymentMethod.type === "google_pay") {
|
|
6220
|
-
await
|
|
6238
|
+
await oa(e, t);
|
|
6221
6239
|
return;
|
|
6222
6240
|
}
|
|
6223
|
-
|
|
6241
|
+
ge(e);
|
|
6224
6242
|
try {
|
|
6225
|
-
const u = await
|
|
6243
|
+
const u = await rn(
|
|
6226
6244
|
e.apiUrl,
|
|
6227
6245
|
e._getApiConfig(),
|
|
6228
6246
|
e.deviceId,
|
|
6229
6247
|
e.selectedPaymentMethod,
|
|
6230
6248
|
t
|
|
6231
6249
|
);
|
|
6232
|
-
await
|
|
6250
|
+
await Nn(e);
|
|
6233
6251
|
const l = (u == null ? void 0 : u.id) ?? ((r = u == null ? void 0 : u.data) == null ? void 0 : r.id);
|
|
6234
|
-
if (l &&
|
|
6252
|
+
if (l && Be(e, String(l)), ((o = e.selectedPaymentMethod) == null ? void 0 : o.type) === "kaspi_pay") {
|
|
6235
6253
|
const h = (u == null ? void 0 : u.attributes) || ((i = u == null ? void 0 : u.data) == null ? void 0 : i.attributes) || {}, y = h.action_link || h.action_url, m = h.action_url_type || h.action_type || "redirect";
|
|
6236
6254
|
if (y)
|
|
6237
6255
|
return typeof e.config.onKaspiLink == "function" ? (e.config.onKaspiLink({
|
|
@@ -6246,11 +6264,11 @@ async function ea(e) {
|
|
|
6246
6264
|
throw K(e), se(u, { paymentMethod: ((c = e.selectedPaymentMethod) == null ? void 0 : c.type) || "card" }), e.config.onError({ message: e._resolveErrorMessage(u) }), u;
|
|
6247
6265
|
}
|
|
6248
6266
|
}
|
|
6249
|
-
async function
|
|
6267
|
+
async function Nn(e) {
|
|
6250
6268
|
var t, n;
|
|
6251
6269
|
if (!(((t = e.selectedPaymentMethod) == null ? void 0 : t.type) !== "card" || !((n = e.selectedPaymentMethod) != null && n.cardId)))
|
|
6252
6270
|
try {
|
|
6253
|
-
await
|
|
6271
|
+
await Ur(
|
|
6254
6272
|
e.apiUrl,
|
|
6255
6273
|
e._getApiConfig(),
|
|
6256
6274
|
e.selectedPaymentMethod.cardId
|
|
@@ -6259,10 +6277,10 @@ async function On(e) {
|
|
|
6259
6277
|
console.warn("Failed to mark selected card as default:", r);
|
|
6260
6278
|
}
|
|
6261
6279
|
}
|
|
6262
|
-
async function
|
|
6263
|
-
|
|
6280
|
+
async function na(e, t) {
|
|
6281
|
+
ge(e), e.waitingForNewCardAction = !0, e._setNewCardActionTimeout();
|
|
6264
6282
|
try {
|
|
6265
|
-
await
|
|
6283
|
+
await Xr(
|
|
6266
6284
|
e.apiUrl,
|
|
6267
6285
|
e._getApiConfig(),
|
|
6268
6286
|
e.deviceId,
|
|
@@ -6274,15 +6292,15 @@ async function ta(e, t) {
|
|
|
6274
6292
|
}), console.error("New card payment error:", n);
|
|
6275
6293
|
}
|
|
6276
6294
|
}
|
|
6277
|
-
let
|
|
6278
|
-
async function
|
|
6295
|
+
let Se = null;
|
|
6296
|
+
async function ra(e, t) {
|
|
6279
6297
|
const n = window.ApplePaySession;
|
|
6280
6298
|
if (!n || !n.canMakePayments()) {
|
|
6281
6299
|
e.config.onError({ attributes: { message: e.t("errorApplePayUnsupported") } });
|
|
6282
6300
|
return;
|
|
6283
6301
|
}
|
|
6284
|
-
if (
|
|
6285
|
-
|
|
6302
|
+
if (Se) return;
|
|
6303
|
+
ge(e);
|
|
6286
6304
|
const r = {
|
|
6287
6305
|
countryCode: e.config.currency === "GEL" ? "GE" : "KZ",
|
|
6288
6306
|
currencyCode: e.config.currency,
|
|
@@ -6294,19 +6312,19 @@ async function na(e, t) {
|
|
|
6294
6312
|
type: "final"
|
|
6295
6313
|
}
|
|
6296
6314
|
}, o = new n(3, r);
|
|
6297
|
-
|
|
6315
|
+
Se = o, o.onvalidatemerchant = async (i) => {
|
|
6298
6316
|
var c, u;
|
|
6299
6317
|
try {
|
|
6300
6318
|
let l;
|
|
6301
6319
|
try {
|
|
6302
|
-
l = await
|
|
6320
|
+
l = await on(
|
|
6303
6321
|
e.apiUrl,
|
|
6304
6322
|
e._getApiConfig(),
|
|
6305
6323
|
i.validationURL
|
|
6306
6324
|
);
|
|
6307
6325
|
} catch (m) {
|
|
6308
6326
|
if (m.status === 401)
|
|
6309
|
-
await e._obtainTokenByRefreshOrTrackId(), l = await
|
|
6327
|
+
await e._obtainTokenByRefreshOrTrackId(), l = await on(
|
|
6310
6328
|
e.apiUrl,
|
|
6311
6329
|
e._getApiConfig(),
|
|
6312
6330
|
i.validationURL
|
|
@@ -6326,18 +6344,18 @@ async function na(e, t) {
|
|
|
6326
6344
|
const h = await e.config.onBeforeCheckout();
|
|
6327
6345
|
h && typeof h == "object" && Object.assign(e.config, h);
|
|
6328
6346
|
}
|
|
6329
|
-
const u = await
|
|
6347
|
+
const u = await jr(
|
|
6330
6348
|
e.apiUrl,
|
|
6331
6349
|
e._getApiConfig(),
|
|
6332
6350
|
e.deviceId,
|
|
6333
6351
|
i.payment,
|
|
6334
6352
|
t
|
|
6335
6353
|
);
|
|
6336
|
-
o.completePayment(n.STATUS_SUCCESS),
|
|
6354
|
+
o.completePayment(n.STATUS_SUCCESS), Se = null;
|
|
6337
6355
|
const l = (u == null ? void 0 : u.id) ?? ((c = u == null ? void 0 : u.data) == null ? void 0 : c.id);
|
|
6338
|
-
l && !e._orderStatusResolved &&
|
|
6356
|
+
l && !e._orderStatusResolved && Be(e, String(l));
|
|
6339
6357
|
} catch (u) {
|
|
6340
|
-
console.error("Apple Pay payment error:", u), se(u, { paymentMethod: "apple_pay", phase: "payment_authorized" }), o.completePayment(n.STATUS_FAILURE),
|
|
6358
|
+
console.error("Apple Pay payment error:", u), se(u, { paymentMethod: "apple_pay", phase: "payment_authorized" }), o.completePayment(n.STATUS_FAILURE), Se = null, K(e), e.config.onError({
|
|
6341
6359
|
attributes: {
|
|
6342
6360
|
message: e._resolveErrorMessage(u, "errorApplePayPayment")
|
|
6343
6361
|
}
|
|
@@ -6345,7 +6363,7 @@ async function na(e, t) {
|
|
|
6345
6363
|
}
|
|
6346
6364
|
}, o.oncancel = () => {
|
|
6347
6365
|
var i;
|
|
6348
|
-
if (
|
|
6366
|
+
if (Se = null, K(e), ((i = e.selectedPaymentMethod) == null ? void 0 : i.type) === "apple_pay") {
|
|
6349
6367
|
e.config.onError({
|
|
6350
6368
|
attributes: { message: e.t("errorApplePayInterrupted") }
|
|
6351
6369
|
});
|
|
@@ -6354,7 +6372,7 @@ async function na(e, t) {
|
|
|
6354
6372
|
e.config.onCancel();
|
|
6355
6373
|
}, o.begin();
|
|
6356
6374
|
}
|
|
6357
|
-
async function
|
|
6375
|
+
async function oa(e, t) {
|
|
6358
6376
|
var S, P, k, R, L, q;
|
|
6359
6377
|
const n = (S = e.checkoutContext) == null ? void 0 : S.data, r = ((k = (P = n == null ? void 0 : n.payment_methods) == null ? void 0 : P.data) == null ? void 0 : k.attributes) || {}, o = r.google_pay_settings || {};
|
|
6360
6378
|
if (!(r.payment_method_google_pay === "enabled" || r.payment_method_google_pay === !0)) {
|
|
@@ -6376,7 +6394,7 @@ async function ra(e, t) {
|
|
|
6376
6394
|
return;
|
|
6377
6395
|
}
|
|
6378
6396
|
if (e.config.isNativeAndroid) {
|
|
6379
|
-
await
|
|
6397
|
+
await sa(e, t, { gateway: c, gatewayMerchantId: u });
|
|
6380
6398
|
return;
|
|
6381
6399
|
}
|
|
6382
6400
|
const m = Number(e._getCheckoutAmount()).toFixed(2);
|
|
@@ -6429,17 +6447,17 @@ async function ra(e, t) {
|
|
|
6429
6447
|
e.config.onError({ attributes: { message: e.t("errorGooglePayUnsupported") } });
|
|
6430
6448
|
return;
|
|
6431
6449
|
}
|
|
6432
|
-
|
|
6450
|
+
ge(e);
|
|
6433
6451
|
const G = await Q.loadPaymentData(B), z = (L = (R = G == null ? void 0 : G.paymentMethodData) == null ? void 0 : R.tokenizationData) == null ? void 0 : L.token;
|
|
6434
6452
|
if (!z) throw new Error(e.t("errorGooglePayPayment"));
|
|
6435
|
-
const J = JSON.parse(z), M = await
|
|
6453
|
+
const J = JSON.parse(z), M = await Xn(
|
|
6436
6454
|
e.apiUrl,
|
|
6437
6455
|
e._getApiConfig(),
|
|
6438
6456
|
e.deviceId,
|
|
6439
6457
|
J,
|
|
6440
6458
|
t
|
|
6441
6459
|
), v = (M == null ? void 0 : M.id) ?? ((q = M == null ? void 0 : M.data) == null ? void 0 : q.id);
|
|
6442
|
-
v &&
|
|
6460
|
+
v && Be(e, String(v));
|
|
6443
6461
|
} catch (D) {
|
|
6444
6462
|
K(e), D.statusCode === "CANCELED" ? e.config.onCancel() : (se(D, { paymentMethod: "google_pay" }), e.config.onError({
|
|
6445
6463
|
attributes: {
|
|
@@ -6448,26 +6466,26 @@ async function ra(e, t) {
|
|
|
6448
6466
|
}), console.error("Google Pay error:", D));
|
|
6449
6467
|
}
|
|
6450
6468
|
}
|
|
6451
|
-
async function
|
|
6469
|
+
async function sa(e, t, n) {
|
|
6452
6470
|
var r;
|
|
6453
6471
|
if (!e.config.onPayWithGooglePay) {
|
|
6454
6472
|
e.config.onError({ attributes: { message: e.t("errorGooglePayUnsupported") } });
|
|
6455
6473
|
return;
|
|
6456
6474
|
}
|
|
6457
|
-
|
|
6475
|
+
ge(e);
|
|
6458
6476
|
try {
|
|
6459
6477
|
const o = await e.config.onPayWithGooglePay({
|
|
6460
6478
|
amount: Number(e._getCheckoutAmount()),
|
|
6461
6479
|
gateway: n.gateway,
|
|
6462
6480
|
gatewayMerchantId: n.gatewayMerchantId
|
|
6463
|
-
}), i = JSON.parse(o), c = await
|
|
6481
|
+
}), i = JSON.parse(o), c = await Xn(
|
|
6464
6482
|
e.apiUrl,
|
|
6465
6483
|
e._getApiConfig(),
|
|
6466
6484
|
e.deviceId,
|
|
6467
6485
|
i,
|
|
6468
6486
|
t
|
|
6469
6487
|
), u = (c == null ? void 0 : c.id) ?? ((r = c == null ? void 0 : c.data) == null ? void 0 : r.id);
|
|
6470
|
-
u &&
|
|
6488
|
+
u && Be(e, String(u));
|
|
6471
6489
|
} catch (o) {
|
|
6472
6490
|
K(e), o.statusCode === "CANCELED" ? e.config.onCancel() : (se(o, { paymentMethod: "google_pay_native" }), e.config.onError({
|
|
6473
6491
|
attributes: {
|
|
@@ -6476,52 +6494,52 @@ async function oa(e, t, n) {
|
|
|
6476
6494
|
}), console.error("Google Pay native error:", o));
|
|
6477
6495
|
}
|
|
6478
6496
|
}
|
|
6479
|
-
function
|
|
6497
|
+
function ia(e) {
|
|
6480
6498
|
var c, u, l, h, y, m, b, I, B, Q, S, P;
|
|
6481
6499
|
const t = e.container;
|
|
6482
6500
|
(c = t.querySelector('[data-action="freedom-card"]')) == null || c.addEventListener("click", () => {
|
|
6483
6501
|
e.config.onFreedomLink && e.config.onFreedomLink();
|
|
6484
|
-
}), (u = t.querySelector('[data-action="pay"]')) == null || u.addEventListener("click", () => e.handlePayment()), (l = t.querySelector('[data-action="change-method"]')) == null || l.addEventListener("click", () =>
|
|
6485
|
-
e._pendingDeleteMethod ?
|
|
6502
|
+
}), (u = t.querySelector('[data-action="pay"]')) == null || u.addEventListener("click", () => e.handlePayment()), (l = t.querySelector('[data-action="change-method"]')) == null || l.addEventListener("click", () => pr(e)), t.querySelectorAll('[data-action="close"]').forEach((k) => k.addEventListener("click", () => e.close())), (h = t.querySelector('[data-action="close-sheet"]')) == null || h.addEventListener("click", () => {
|
|
6503
|
+
e._pendingDeleteMethod ? Ze(e) : ce(e);
|
|
6486
6504
|
}), (y = t.querySelector('[data-action="edit-sheet"]')) == null || y.addEventListener("click", () => {
|
|
6487
|
-
e.isPaymentSheetEditMode = !0,
|
|
6505
|
+
e.isPaymentSheetEditMode = !0, ke(e), Pe(e);
|
|
6488
6506
|
}), (m = t.querySelector('[data-action="previous-sheet"]')) == null || m.addEventListener("click", () => {
|
|
6489
|
-
e.isPaymentSheetEditMode = !1,
|
|
6490
|
-
}), (b = t.querySelector('[data-action="close-add-card"]')) == null || b.addEventListener("click", () =>
|
|
6507
|
+
e.isPaymentSheetEditMode = !1, ke(e), Pe(e);
|
|
6508
|
+
}), (b = t.querySelector('[data-action="close-add-card"]')) == null || b.addEventListener("click", () => Ie(e)), (I = t.querySelector('[data-action="confirm-delete-cancel"]')) == null || I.addEventListener("click", () => Ze(e)), (B = t.querySelector('[data-action="confirm-delete-submit"]')) == null || B.addEventListener("click", () => {
|
|
6491
6509
|
if (e._pendingDeleteMethod) {
|
|
6492
6510
|
const k = e._pendingDeleteMethod;
|
|
6493
|
-
|
|
6511
|
+
Lt(e, !0), $i(e, k).then(() => ce(e)).finally(() => Lt(e, !1));
|
|
6494
6512
|
}
|
|
6495
6513
|
}), t.querySelectorAll(".choco-widget-method-item").forEach((k) => {
|
|
6496
6514
|
k.addEventListener("click", (R) => {
|
|
6497
6515
|
const L = JSON.parse(
|
|
6498
6516
|
R.currentTarget.getAttribute("data-method") || "{}"
|
|
6499
6517
|
);
|
|
6500
|
-
|
|
6518
|
+
gr(e, L);
|
|
6501
6519
|
});
|
|
6502
6520
|
});
|
|
6503
6521
|
const n = t.querySelector('[data-sheet="payment"]');
|
|
6504
6522
|
n && (n.addEventListener("click", (k) => {
|
|
6505
|
-
k.target === n &&
|
|
6506
|
-
}),
|
|
6523
|
+
k.target === n && ce(e);
|
|
6524
|
+
}), ca(e, n));
|
|
6507
6525
|
const r = t.querySelector('[data-action="toggle-balance"]');
|
|
6508
6526
|
r && ((Q = r.querySelector("input[type='checkbox']")) == null || Q.addEventListener("change", (k) => {
|
|
6509
|
-
e.useBalance = k.target.checked,
|
|
6527
|
+
e.useBalance = k.target.checked, Rn(e), e._updatePayButtonAmount();
|
|
6510
6528
|
}));
|
|
6511
6529
|
const o = t.querySelector('[data-action="toggle-bonuses"]');
|
|
6512
6530
|
o && ((S = o.querySelector("input[type='checkbox']")) == null || S.addEventListener("change", (k) => {
|
|
6513
|
-
e.useBonuses = k.target.checked, e.config.onAppliedBonus(e.useBonuses),
|
|
6531
|
+
e.useBonuses = k.target.checked, e.config.onAppliedBonus(e.useBonuses), Rn(e), e._updatePayButtonAmount();
|
|
6514
6532
|
}));
|
|
6515
6533
|
const i = t.querySelector('[data-action="toggle-coupon"]');
|
|
6516
6534
|
i && ((P = i.querySelector("input[type='checkbox']")) == null || P.addEventListener("change", (k) => {
|
|
6517
6535
|
e.useCoupon = k.target.checked, e._updatePayButtonAmount();
|
|
6518
|
-
})), document.removeEventListener("keydown", e._boundKeyDown), document.addEventListener("keydown", e._boundKeyDown),
|
|
6536
|
+
})), document.removeEventListener("keydown", e._boundKeyDown), document.addEventListener("keydown", e._boundKeyDown), hr(e);
|
|
6519
6537
|
}
|
|
6520
|
-
function
|
|
6538
|
+
function aa(e, t) {
|
|
6521
6539
|
var n, r;
|
|
6522
|
-
e.isOpen && (t.key === "Escape" && (t.preventDefault(), e._pendingDeleteMethod ?
|
|
6540
|
+
e.isOpen && (t.key === "Escape" && (t.preventDefault(), e._pendingDeleteMethod ? Ze(e) : e.isAddCardViewOpen ? Ie(e) : e.isPaymentSheetOpen ? ce(e) : e.close()), t.key === "Enter" && ((r = (n = t.target) == null ? void 0 : n.dataset) == null ? void 0 : r.action) === "pay" && (t.preventDefault(), e.handlePayment()));
|
|
6523
6541
|
}
|
|
6524
|
-
function
|
|
6542
|
+
function ca(e, t) {
|
|
6525
6543
|
const n = t.querySelector('[data-action="sheet-drag-handle"]'), r = t.querySelector(".choco-widget-sheet-content");
|
|
6526
6544
|
if (!n || !r) return;
|
|
6527
6545
|
const o = 80;
|
|
@@ -6536,7 +6554,7 @@ function aa(e, t) {
|
|
|
6536
6554
|
if (r.classList.remove("choco-widget-sheet-content--dragging"), y >= o) {
|
|
6537
6555
|
r.style.transform = "translateY(100%)";
|
|
6538
6556
|
const m = () => {
|
|
6539
|
-
r.removeEventListener("transitionend", m), r.style.transform = "",
|
|
6557
|
+
r.removeEventListener("transitionend", m), r.style.transform = "", ce(e);
|
|
6540
6558
|
};
|
|
6541
6559
|
r.addEventListener("transitionend", m);
|
|
6542
6560
|
} else
|
|
@@ -6546,23 +6564,23 @@ function aa(e, t) {
|
|
|
6546
6564
|
!e.isPaymentSheetOpen || h.button !== 0 || (h.preventDefault(), i = h.clientY, c = h.clientY, r.classList.add("choco-widget-sheet-content--dragging"), n.setPointerCapture(h.pointerId), n.addEventListener("pointermove", u), n.addEventListener("pointerup", l), n.addEventListener("pointercancel", l));
|
|
6547
6565
|
});
|
|
6548
6566
|
}
|
|
6549
|
-
class
|
|
6567
|
+
class Ce {
|
|
6550
6568
|
// ─── Статические методы / logout ─────────────────────────────────────────────
|
|
6551
6569
|
static _getAuthStorageValue(t) {
|
|
6552
|
-
return
|
|
6570
|
+
return Fn(t);
|
|
6553
6571
|
}
|
|
6554
6572
|
static _setAuthStorageValue(t, n) {
|
|
6555
|
-
|
|
6573
|
+
bt(t, n);
|
|
6556
6574
|
}
|
|
6557
6575
|
static _removeAuthStorageValue(t) {
|
|
6558
|
-
|
|
6576
|
+
We(t);
|
|
6559
6577
|
}
|
|
6560
6578
|
static async logout() {
|
|
6561
|
-
|
|
6579
|
+
Ln();
|
|
6562
6580
|
}
|
|
6563
6581
|
// ─── Конструктор ──────────────────────────────────────────────────────────────
|
|
6564
6582
|
constructor(t) {
|
|
6565
|
-
this.config =
|
|
6583
|
+
this.config = Jr(t), this.accessToken = null, this.deviceId = Dn(), this.apiUrl = Ir(this.config.environment), this.translations = Er, this.checkoutContext = null, this.centrifuge = null, this.selectedPaymentMethod = null, this.selectedCoupon = null, this.useCoupon = !1, this.container = null, this.isOpen = !1, this.isPaymentSheetOpen = !1, this.isPaymentSheetEditMode = !1, this.loading = !1, this.disabled = !1, this.paymentMethodDisabled = !1, this.useBalance = !1, this.useBonuses = !1, this.addCardActionUrl = null, this.isAddCardViewOpen = !1, this.waitingForNewCardAction = !1, this.newCardActionRequiredTimeoutId = null, this._googlePayScriptPromise = null, this._googlePayButtonRenderVersion = 0, this._orderStatusPollingId = null, this._orderStatusResolved = !1, this._pendingDeleteMethod = null, this._pendingSuccessPayload = null, this._lifecycleListenersAttached = !1, this._destroyed = !1, this._boundAddCardMessage = null, this._boundKeyDown = (n) => aa(this, n), this._boundVisibilityChange = () => this._onVisibilityChange(), this._boundWindowFocus = () => this._onWindowFocus(), this._boundPageShow = () => this._onPageShow(), Si({
|
|
6566
6584
|
clientId: String(this.config.clientId),
|
|
6567
6585
|
terminalId: String(this.config.terminalId),
|
|
6568
6586
|
environment: this.config.environment
|
|
@@ -6657,16 +6675,16 @@ class me {
|
|
|
6657
6675
|
}
|
|
6658
6676
|
// ─── Делегаторы в модули (вызываются из domUI/events через widget.method()) ──
|
|
6659
6677
|
_attachEventListeners() {
|
|
6660
|
-
|
|
6678
|
+
ia(this);
|
|
6661
6679
|
}
|
|
6662
6680
|
_updatePayButtonAmount() {
|
|
6663
|
-
|
|
6681
|
+
qe(this);
|
|
6664
6682
|
}
|
|
6665
6683
|
_showAddCardView() {
|
|
6666
|
-
|
|
6684
|
+
yt(this);
|
|
6667
6685
|
}
|
|
6668
6686
|
_closeAddCardView() {
|
|
6669
|
-
|
|
6687
|
+
Ie(this);
|
|
6670
6688
|
}
|
|
6671
6689
|
// ─── Таймауты новой карты ─────────────────────────────────────────────────────
|
|
6672
6690
|
_setNewCardActionTimeout() {
|
|
@@ -6681,19 +6699,19 @@ class me {
|
|
|
6681
6699
|
}
|
|
6682
6700
|
// ─── Хранение токенов ────────────────────────────────────────────────────────
|
|
6683
6701
|
_saveTokensToStorage(t, n) {
|
|
6684
|
-
|
|
6702
|
+
Je(t, n);
|
|
6685
6703
|
}
|
|
6686
6704
|
_clearAuthStorage() {
|
|
6687
|
-
|
|
6705
|
+
Ln();
|
|
6688
6706
|
}
|
|
6689
6707
|
_getAuthStorageValue(t) {
|
|
6690
|
-
return
|
|
6708
|
+
return Ce._getAuthStorageValue(t);
|
|
6691
6709
|
}
|
|
6692
6710
|
_setAuthStorageValue(t, n) {
|
|
6693
|
-
|
|
6711
|
+
Ce._setAuthStorageValue(t, n);
|
|
6694
6712
|
}
|
|
6695
6713
|
_removeAuthStorageValue(t) {
|
|
6696
|
-
|
|
6714
|
+
Ce._removeAuthStorageValue(t);
|
|
6697
6715
|
}
|
|
6698
6716
|
// ─── Google Pay SDK (используется из domUI + paymentFlow) ────────────────────
|
|
6699
6717
|
_loadGooglePaySdk() {
|
|
@@ -6725,27 +6743,27 @@ class me {
|
|
|
6725
6743
|
this._lifecycleListenersAttached && (document.removeEventListener("visibilitychange", this._boundVisibilityChange), window.removeEventListener("focus", this._boundWindowFocus), window.removeEventListener("pageshow", this._boundPageShow), this._lifecycleListenersAttached = !1);
|
|
6726
6744
|
}
|
|
6727
6745
|
_onVisibilityChange() {
|
|
6728
|
-
|
|
6746
|
+
jt() || mt(this);
|
|
6729
6747
|
}
|
|
6730
6748
|
_onWindowFocus() {
|
|
6731
|
-
|
|
6749
|
+
mt(this);
|
|
6732
6750
|
}
|
|
6733
6751
|
_onPageShow() {
|
|
6734
|
-
|
|
6752
|
+
mt(this);
|
|
6735
6753
|
}
|
|
6736
6754
|
// ─── Авторизация (приватная) ──────────────────────────────────────────────────
|
|
6737
6755
|
async _obtainTokenByRefreshOrTrackId() {
|
|
6738
|
-
await
|
|
6756
|
+
await _i(this);
|
|
6739
6757
|
}
|
|
6740
6758
|
async _fetchCheckoutContextWithRetry() {
|
|
6741
6759
|
try {
|
|
6742
|
-
this.checkoutContext = await
|
|
6760
|
+
this.checkoutContext = await Et(
|
|
6743
6761
|
this.apiUrl,
|
|
6744
6762
|
this._getApiConfig()
|
|
6745
6763
|
);
|
|
6746
6764
|
} catch (t) {
|
|
6747
6765
|
if (t.status === 401)
|
|
6748
|
-
this._removeAuthStorageValue("webPayToken"), await this._obtainTokenByRefreshOrTrackId(), this.checkoutContext = await
|
|
6766
|
+
this._removeAuthStorageValue("webPayToken"), await this._obtainTokenByRefreshOrTrackId(), this.checkoutContext = await Et(
|
|
6749
6767
|
this.apiUrl,
|
|
6750
6768
|
this._getApiConfig()
|
|
6751
6769
|
);
|
|
@@ -6755,7 +6773,7 @@ class me {
|
|
|
6755
6773
|
}
|
|
6756
6774
|
async _fetchCoupons() {
|
|
6757
6775
|
try {
|
|
6758
|
-
const t = await
|
|
6776
|
+
const t = await Hr(this.apiUrl, this._getApiConfig()), r = (Array.isArray(t) ? t : Array.isArray(t == null ? void 0 : t.data) ? t.data : []).filter((o) => Number(o.reward_amount) > 0).sort((o, i) => o.sort_weight - i.sort_weight);
|
|
6759
6777
|
this.selectedCoupon = r.length > 0 ? r[0] : null, this.useCoupon = !1;
|
|
6760
6778
|
} catch {
|
|
6761
6779
|
this.selectedCoupon = null, this.useCoupon = !1;
|
|
@@ -6769,10 +6787,10 @@ class me {
|
|
|
6769
6787
|
}
|
|
6770
6788
|
// ─── Рендер ───────────────────────────────────────────────────────────────────
|
|
6771
6789
|
_prerender() {
|
|
6772
|
-
|
|
6790
|
+
zi(this);
|
|
6773
6791
|
}
|
|
6774
6792
|
_render() {
|
|
6775
|
-
|
|
6793
|
+
Ki(this);
|
|
6776
6794
|
}
|
|
6777
6795
|
// ─── Публичный API ────────────────────────────────────────────────────────────
|
|
6778
6796
|
async init() {
|
|
@@ -6791,11 +6809,11 @@ class me {
|
|
|
6791
6809
|
return this.config.onError({ attributes: { message: i.message } }), !1;
|
|
6792
6810
|
}
|
|
6793
6811
|
if (this._destroyed || (await this._fetchCoupons(), this._destroyed)) return !1;
|
|
6794
|
-
const r =
|
|
6812
|
+
const r = en(
|
|
6795
6813
|
(n = (t = this.checkoutContext) == null ? void 0 : t.data) == null ? void 0 : n.socket_connections,
|
|
6796
|
-
(o) =>
|
|
6814
|
+
(o) => On(this, o)
|
|
6797
6815
|
);
|
|
6798
|
-
return r && (this.centrifuge = r.centrifuge), this.selectedPaymentMethod =
|
|
6816
|
+
return r && (this.centrifuge = r.centrifuge), this.selectedPaymentMethod = Ct(
|
|
6799
6817
|
this.checkoutContext.data,
|
|
6800
6818
|
this._getKaspiOptions()
|
|
6801
6819
|
), this._emitPaymentMethodSelected(), this._render(), !0;
|
|
@@ -6809,21 +6827,21 @@ class me {
|
|
|
6809
6827
|
destroy() {
|
|
6810
6828
|
this._destroyed = !0;
|
|
6811
6829
|
const t = document.getElementById("choco-one-click-widget");
|
|
6812
|
-
t && (t.style.display = "none"), this._clearNewCardActionTimeout(),
|
|
6830
|
+
t && (t.style.display = "none"), this._clearNewCardActionTimeout(), fe(this), this._pendingSuccessPayload = null, this._detachLifecycleListeners(), this.isAddCardViewOpen && Ie(this), this.centrifuge && (this.centrifuge.disconnect(), this.centrifuge = null), document.removeEventListener("keydown", this._boundKeyDown), this.container && (this.container.classList.remove("choco-one-click-widget--visible"), setTimeout(() => {
|
|
6813
6831
|
var n;
|
|
6814
6832
|
(n = this.container) == null || n.remove(), this.container = null;
|
|
6815
6833
|
}, 300)), this.isOpen = !1, this.isPaymentSheetOpen = !1, this.isAddCardViewOpen = !1, this.selectedPaymentMethod = null;
|
|
6816
6834
|
}
|
|
6817
6835
|
getAvailablePaymentMethods() {
|
|
6818
6836
|
var t;
|
|
6819
|
-
return (t = this.checkoutContext) != null && t.data ?
|
|
6837
|
+
return (t = this.checkoutContext) != null && t.data ? Nr(
|
|
6820
6838
|
this.checkoutContext.data,
|
|
6821
6839
|
(n) => this.t(n),
|
|
6822
6840
|
this._getKaspiOptions()
|
|
6823
6841
|
) : [];
|
|
6824
6842
|
}
|
|
6825
6843
|
async createOrder() {
|
|
6826
|
-
return
|
|
6844
|
+
return ta(this);
|
|
6827
6845
|
}
|
|
6828
6846
|
async pay() {
|
|
6829
6847
|
try {
|
|
@@ -6849,10 +6867,10 @@ class me {
|
|
|
6849
6867
|
}
|
|
6850
6868
|
}
|
|
6851
6869
|
openPaymentSheet() {
|
|
6852
|
-
|
|
6870
|
+
pr(this);
|
|
6853
6871
|
}
|
|
6854
6872
|
closePaymentSheet() {
|
|
6855
|
-
|
|
6873
|
+
ce(this);
|
|
6856
6874
|
}
|
|
6857
6875
|
async updateAmount(t) {
|
|
6858
6876
|
var n;
|
|
@@ -6860,36 +6878,36 @@ class me {
|
|
|
6860
6878
|
throw new Error("amount must be a non-negative number");
|
|
6861
6879
|
if (this.config.amount = t, this._isCouponDisabled() && (this.useCoupon = !1), this.selectedCoupon) {
|
|
6862
6880
|
const r = this.isPaymentSheetOpen, o = this.isAddCardViewOpen;
|
|
6863
|
-
if (this._render(),
|
|
6881
|
+
if (this._render(), ae(this), r) {
|
|
6864
6882
|
const i = (n = this.container) == null ? void 0 : n.querySelector('[data-sheet="payment"]');
|
|
6865
6883
|
i && (i.classList.add("choco-widget-payment-sheet--open"), this.isPaymentSheetOpen = !0);
|
|
6866
6884
|
}
|
|
6867
|
-
o &&
|
|
6885
|
+
o && yt(this);
|
|
6868
6886
|
return;
|
|
6869
6887
|
}
|
|
6870
|
-
|
|
6888
|
+
qe(this);
|
|
6871
6889
|
}
|
|
6872
6890
|
async updateAvailableBonus(t) {
|
|
6873
6891
|
if (typeof t != "number" || !Number.isFinite(t) || t < 0)
|
|
6874
6892
|
throw new Error("availableBonus must be a non-negative number");
|
|
6875
|
-
this.config.bonuses && (this.config.bonuses.availableBonus = t),
|
|
6893
|
+
this.config.bonuses && (this.config.bonuses.availableBonus = t), qe(this);
|
|
6876
6894
|
}
|
|
6877
6895
|
async updateLocale(t) {
|
|
6878
6896
|
if (typeof t != "string" || !this.translations[t])
|
|
6879
6897
|
throw new Error(`Unsupported locale: ${t}`);
|
|
6880
6898
|
if (this.config.locale = t, !this.container) return;
|
|
6881
6899
|
const n = this.isPaymentSheetOpen, r = this.isAddCardViewOpen;
|
|
6882
|
-
if (this._render(),
|
|
6900
|
+
if (this._render(), ae(this), n) {
|
|
6883
6901
|
const o = this.container.querySelector('[data-sheet="payment"]');
|
|
6884
6902
|
o && (o.classList.add("choco-widget-payment-sheet--open"), this.isPaymentSheetOpen = !0);
|
|
6885
6903
|
}
|
|
6886
|
-
r &&
|
|
6904
|
+
r && yt(this);
|
|
6887
6905
|
}
|
|
6888
6906
|
async setLoading(t) {
|
|
6889
|
-
this.loading = !!t,
|
|
6907
|
+
this.loading = !!t, ae(this);
|
|
6890
6908
|
}
|
|
6891
6909
|
async setDisabled(t) {
|
|
6892
|
-
this.disabled = !!t,
|
|
6910
|
+
this.disabled = !!t, ae(this);
|
|
6893
6911
|
}
|
|
6894
6912
|
async setPreorderId(t) {
|
|
6895
6913
|
this.config.preorderId = t;
|
|
@@ -6901,7 +6919,7 @@ class me {
|
|
|
6901
6919
|
this.config.idempotencyKey = t;
|
|
6902
6920
|
}
|
|
6903
6921
|
async logout() {
|
|
6904
|
-
await
|
|
6922
|
+
await Ce.logout(), this.accessToken = null;
|
|
6905
6923
|
}
|
|
6906
6924
|
async updateTrackId(t) {
|
|
6907
6925
|
var n, r;
|
|
@@ -6916,11 +6934,11 @@ class me {
|
|
|
6916
6934
|
return this.config.onError({ attributes: { message: c.message } }), !1;
|
|
6917
6935
|
}
|
|
6918
6936
|
await this._fetchCoupons(), this.centrifuge && (this.centrifuge.disconnect(), this.centrifuge = null);
|
|
6919
|
-
const o =
|
|
6937
|
+
const o = en(
|
|
6920
6938
|
(r = (n = this.checkoutContext) == null ? void 0 : n.data) == null ? void 0 : r.socket_connections,
|
|
6921
|
-
(i) =>
|
|
6939
|
+
(i) => On(this, i)
|
|
6922
6940
|
);
|
|
6923
|
-
return o && (this.centrifuge = o.centrifuge), this.selectedPaymentMethod =
|
|
6941
|
+
return o && (this.centrifuge = o.centrifuge), this.selectedPaymentMethod = Ct(
|
|
6924
6942
|
this.checkoutContext.data,
|
|
6925
6943
|
this._getKaspiOptions()
|
|
6926
6944
|
), this._emitPaymentMethodSelected(), this.paymentMethodDisabled = !1, this._render(), !0;
|
|
@@ -6955,7 +6973,7 @@ class me {
|
|
|
6955
6973
|
this.config.onAppliedBonus = t;
|
|
6956
6974
|
}
|
|
6957
6975
|
}
|
|
6958
|
-
typeof window < "u" && (window.ChocoOneClickWidget =
|
|
6976
|
+
typeof window < "u" && (window.ChocoOneClickWidget = Ce);
|
|
6959
6977
|
export {
|
|
6960
|
-
|
|
6978
|
+
Ce as default
|
|
6961
6979
|
};
|