choco-one-click-payment 1.1.59 → 1.1.61

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.js CHANGED
@@ -1,11 +1,11 @@
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
- (function(_e,Qe){typeof exports=="object"&&typeof module<"u"?module.exports=Qe():typeof define=="function"&&define.amd?define(Qe):(_e=typeof globalThis<"u"?globalThis:_e||self,_e.ChocoOneClickWidget=Qe())})(this,(function(){"use strict";const _e={ru:{paymentMethod:"Способ оплаты",selectMethod:"Выберите метод",pay:"Оплатить",login:"Войти",paymentSuccess:"Оплата прошла успешно!",paymentError:"Ошибка оплаты",paymentMethods:"Способ оплаты",newCard:"Оплата новой картой",balance:"Списать баланс",bonus:"Списать бонусы",bonusText:"Можно оплатить до {amount}%",cashback:"Кешбэк",willGet:"Получите",total:"Итого",instead:"вместо",coupon:"Списать купон",couponSuppressesCashback:"При применении купона бонусы не начисляются",couponUntil:"до {date}",addCard:"Добавление карты",editCards:"Редактировать карты",cardDeleted:"Карта успешно удалена",confirmDeleteCard:"Вы действительно хотите удалить карту?",cancel:"Отмена",delete:"Удалить",back:"Назад",errorMissingTrackClient:"Укажите trackId и clientId",errorNoServerResponseRetry:"Нет ответа от сервера, попробуйте заново",errorNoServerResponse:"Нет ответа от сервера",errorPaymentMethodNotSelected:"Метод оплаты не выбран",errorApplePayUnsupported:"Apple Pay не поддерживается в этом браузере",errorApplePayInit:"Ошибка инициализации Apple Pay",errorApplePayPayment:"Ошибка оплаты через Apple Pay",errorApplePayInterrupted:"Пожалуйста, подтвердите оплату после полной загрузки окна Apple Pay",errorGooglePayUnsupported:"Google Pay не поддерживается в этом браузере",errorGooglePaySettingsUnavailable:"Настройки Google Pay недоступны",errorGooglePayPayment:"Ошибка оплаты через Google Pay",errorActionUrlMissing:"action_url отсутствует в событии order.action_required",errorWidgetInit:"Ошибка инициализации виджета",errorPaymentProcess:"Ошибка оплаты"},en:{paymentMethod:"Payment method",selectMethod:"Select method",pay:"Pay",login:"Sign in",paymentSuccess:"Payment successful!",paymentError:"Payment error",paymentMethods:"Payment method",newCard:"Pay with new card",balance:"Use balance",bonus:"Use bonuses",bonusText:"You can pay up to {amount}%",cashback:"Cashback",willGet:"You will get",total:"Total",instead:"instead",coupon:"Apply coupon",couponSuppressesCashback:"Bonuses are not credited when the coupon is applied",couponUntil:"until {date}",addCard:"Add card",editCards:"Edit cards",cardDeleted:"Card successfully deleted",confirmDeleteCard:"Are you sure you want to delete this card?",cancel:"Cancel",delete:"Delete",back:"Back",errorMissingTrackClient:"Provide trackId and clientId",errorNoServerResponseRetry:"No response from server, please try again",errorNoServerResponse:"No response from server",errorPaymentMethodNotSelected:"Payment method is not selected",errorApplePayUnsupported:"Apple Pay is not supported in this browser",errorApplePayInit:"Apple Pay initialization error",errorApplePayPayment:"Apple Pay payment error",errorApplePayInterrupted:"Please confirm payment after the Apple Pay sheet fully loads",errorGooglePayUnsupported:"Google Pay is not supported in this browser",errorGooglePaySettingsUnavailable:"Google Pay settings are unavailable",errorGooglePayPayment:"Google Pay payment error",errorActionUrlMissing:"action_url is missing in order.action_required event",errorWidgetInit:"Widget initialization error",errorPaymentProcess:"Payment error"},kk:{paymentMethod:"Төлем әдісі",selectMethod:"Әдісті таңдаңыз",pay:"Төлеу",login:"Кіру",paymentSuccess:"Төлем сәтті өтті!",paymentError:"Төлем қатесі",paymentMethods:"Төлем әдісі",newCard:"Жаңа картамен төлеу",balance:"Балансты пайдалану",bonus:"Бонусдарды пайдалану",bonusText:"{amount}%-ге дейін төлеуге болады",cashback:"Кэшбэк",willGet:"Аласыз",total:"Барлығы",instead:"орнына",coupon:"Купонды пайдалану",couponSuppressesCashback:"Купон қолданылғанда бонустар есептелмейді",couponUntil:"{date} дейін",addCard:"Картаны қосу",editCards:"Карталарды өңдеу",cardDeleted:"Карта жойылды",confirmDeleteCard:"Картаны жойғыңыз келетініне сенімдісіз бе?",cancel:"Болдырмау",delete:"Жою",back:"Артқа",errorMissingTrackClient:"trackId пен clientId көрсетіңіз",errorNoServerResponseRetry:"Серверден жауап жоқ, қайтадан көріңіз",errorNoServerResponse:"Серверден жауап жоқ",errorPaymentMethodNotSelected:"Төлем әдісі таңдалмаған",errorApplePayUnsupported:"Бұл браузерде Apple Pay қолдау көрсетілмейді",errorApplePayInit:"Apple Pay инициализация қатесі",errorApplePayPayment:"Apple Pay арқылы төлем қатесі",errorApplePayInterrupted:"Өтінеміз, төлемді Apple Pay терезесі толық жүктелгеннен кейін растаңыз",errorGooglePayUnsupported:"Бұл браузерде Google Pay қолдау көрсетілмейді",errorGooglePaySettingsUnavailable:"Google Pay баптаулары қолжетімсіз",errorGooglePayPayment:"Google Pay арқылы төлем қатесі",errorActionUrlMissing:"order.action_required оқиғасында action_url жоқ",errorWidgetInit:"Виджетті инициализациялау қатесі",errorPaymentProcess:"Төлем қатесі"},ka:{paymentMethod:"გადახდის მეთოდი",selectMethod:"აირჩიეთ მეთოდი",pay:"გადახდა",login:"შესვლა",paymentSuccess:"გადახდა წარმატებით შესრულდა!",paymentError:"გადახდის შეცდომა",paymentMethods:"გადახდის მეთოდი",newCard:"ახალი ბარათით გადახდა",balance:"ბალანსის გამოყენება",bonus:"ბონუსების გამოყენება",bonusText:"{amount}%-ზე გადახდა შესაძლებელია",cashback:"ქეშბექი",willGet:"მიიღებთ",total:"ჯამი",instead:"ნაცვლად",coupon:"კუპონის გამოყენება",couponSuppressesCashback:"კუპონის გამოყენებისას ბონუსები არ დაირიცხება",couponUntil:"{date}-მდე",addCard:"ბარათის დამატება",editCards:"ბარათების რედაქტირება",cardDeleted:"ბარათი წაშლილია",confirmDeleteCard:"დარწმუნებული ხართ, რომ გსურთ ამ ბარათის წაშლა?",cancel:"გაუქმება",delete:"წაშლა",back:"უკან",errorMissingTrackClient:"მიუთითეთ trackId და clientId",errorNoServerResponseRetry:"სერვერის პასუხი არ არის, სცადეთ თავიდან",errorNoServerResponse:"სერვერის პასუხი არ არის",errorPaymentMethodNotSelected:"გადახდის მეთოდი არ არის არჩეული",errorApplePayUnsupported:"ამ ბრაუზერში Apple Pay არ არის მხარდაჭერილი",errorApplePayInit:"Apple Pay-ის ინიციალიზაციის შეცდომა",errorApplePayPayment:"Apple Pay-ით გადახდის შეცდომა",errorApplePayInterrupted:"გთხოვთ, დაადასტუროთ გადახდა Apple Pay-ის ფანჯრის სრულად ჩატვირთვის შემდეგ",errorGooglePayUnsupported:"ამ ბრაუზერში Google Pay არ არის მხარდაჭერილი",errorGooglePaySettingsUnavailable:"Google Pay-ის პარამეტრები მიუწვდომელია",errorGooglePayPayment:"Google Pay-ით გადახდის შეცდომა",errorActionUrlMissing:"order.action_required მოვლენაში action_url არ არის",errorWidgetInit:"ვიჯეტის ინიციალიზაციის შეცდომა",errorPaymentProcess:"გადახდის შეცდომა"}},Qe={KZT:"₸",GEL:"₾"};function Sr(e){return e==="production"?"https://api-proxy.choco.kz":"https://api-proxy.chocodev.kz"}let Ne;const _r=new Uint8Array(16);function Qr(){if(!Ne&&(Ne=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ne))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ne(_r)}const F=[];for(let e=0;e<256;++e)F.push((e+256).toString(16).slice(1));function kr(e,t=0){return F[e[t+0]]+F[e[t+1]]+F[e[t+2]]+F[e[t+3]]+"-"+F[e[t+4]]+F[e[t+5]]+"-"+F[e[t+6]]+F[e[t+7]]+"-"+F[e[t+8]]+F[e[t+9]]+"-"+F[e[t+10]]+F[e[t+11]]+F[e[t+12]]+F[e[t+13]]+F[e[t+14]]+F[e[t+15]]}const Wt={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function De(e,t,n){if(Wt.randomUUID&&!e)return Wt.randomUUID();e=e||{};const r=e.random||(e.rng||Qr)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,kr(r)}const Yt="choco_device_id";function Z(e,t="ru",n="KZT"){const r=Number(e),o=t==="ru"?"ru-RU":"en-US";return`${r.toLocaleString(o)} ${Qe[n]}`}function Vt(){let e=localStorage.getItem(Yt);return e||(e=De(),localStorage.setItem(Yt,e)),e}function Me(){if(typeof window>"u")return!1;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);return e||o}function Zt(){if(typeof navigator>"u")return 0;const e=navigator.userAgent||"",t=e.indexOf("OS");return(e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1)&&t>-1?Number(e.substring(t+3,t+6).replace("_",".")):0}function yt(){var i;if(typeof navigator>"u")return"unknown";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}`;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"}function xe(){if(typeof navigator>"u")return!1;const e=navigator.userAgentData;return e!=null&&e.platform&&["iOS","iPadOS"].includes(e.platform)||yt()==="ios"?!0:(navigator.userAgent||"").includes("Macintosh")&&typeof document<"u"&&"ontouchend"in document}function Ue(e){if(typeof sessionStorage>"u")return!1;const t=e==="apple_pay"?"disableApplePay":e==="google_pay"?"disableGooglePay":null;return t?sessionStorage.getItem(t)==="true":!1}function Pr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fe={exports:{}},wr=Fe.exports,$t;function Tr(){return $t||($t=1,(function(e,t){(function(r,o){e.exports=o()})(wr,function(){return(function(){var n={382:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.Centrifuge=void 0;var h=I(l(187)),y=I(l(471)),m=l(147),b=l(853);function I(g){return g&&g.__esModule?g:{default:g}}function B(g){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?B=function(C){return typeof C}:B=function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},B(g)}function Q(g,p){if(!(g instanceof p))throw new TypeError("Cannot call a class as a function")}function S(g,p){for(var C=0;C<p.length;C++){var d=p[C];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(g,d.key,d)}}function P(g,p,C){return p&&S(g.prototype,p),g}function k(g,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function");g.prototype=Object.create(p&&p.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),p&&L(g,p)}function L(g,p){return L=Object.setPrototypeOf||function(d,s){return d.__proto__=s,d},L(g,p)}function R(g){var p=G();return function(){var d=K(g),s;if(p){var a=K(this).constructor;s=Reflect.construct(d,arguments,a)}else s=d.apply(this,arguments);return z(this,s)}}function z(g,p){if(p&&(B(p)==="object"||typeof p=="function"))return p;if(p!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return D(g)}function D(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}function G(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function K(g){return K=Object.setPrototypeOf?Object.getPrototypeOf:function(C){return C.__proto__||Object.getPrototypeOf(C)},K(g)}var J="timeout",M="connection closed",v=(function(g){k(C,g);var p=R(C);function C(d,s){var a;return Q(this,C),a=p.call(this),a._url=d,a._websocket=null,a._sockjs=null,a._isSockjs=!1,a._xmlhttprequest=null,a._binary=!1,a._methodType=null,a._pushType=null,a._encoder=null,a._decoder=null,a._status="disconnected",a._reconnect=!0,a._reconnecting=!1,a._transport=null,a._transportName=null,a._transportClosed=!0,a._messageId=0,a._clientID=null,a._refreshRequired=!1,a._subs={},a._serverSubs={},a._lastSeq={},a._lastGen={},a._lastOffset={},a._lastEpoch={},a._messages=[],a._isBatching=!1,a._isSubscribeBatching=!1,a._privateChannels={},a._numRefreshFailed=0,a._refreshTimeout=null,a._pingTimeout=null,a._pongTimeout=null,a._subRefreshTimeouts={},a._retries=0,a._callbacks={},a._latency=null,a._latencyStart=null,a._connectData=null,a._token=null,a._xhrID=0,a._xhrs={},a._dispatchPromise=Promise.resolve(),a._protocol="",a._config={protocol:"",debug:!1,name:"js",version:"",websocket:null,sockjs:null,xmlhttprequest:null,minRetry:1e3,maxRetry:2e4,timeout:5e3,ping:!0,pingInterval:25e3,pongWaitTimeout:5e3,privateChannelPrefix:"$",onTransportClose:null,sockjsServer:null,sockjsTimeout:null,sockjsTransports:["websocket","xdr-streaming","xhr-streaming","eventsource","iframe-eventsource","iframe-htmlfile","xdr-polling","xhr-polling","iframe-xhr-polling","jsonp-polling"],refreshEndpoint:"/centrifuge/refresh",refreshHeaders:{},refreshParams:{},refreshData:{},refreshAttempts:null,refreshInterval:1e3,onRefreshFailed:null,onRefresh:null,subscribeEndpoint:"/centrifuge/subscribe",subscribeHeaders:{},subscribeParams:{},subRefreshInterval:1e3,onPrivateSubscribe:null,disableWithCredentials:!1},a._configure(s),a}return P(C,[{key:"setToken",value:function(s){this._token=s}},{key:"setConnectData",value:function(s){this._connectData=s}},{key:"setRefreshHeaders",value:function(s){this._config.refreshHeaders=s}},{key:"setRefreshParams",value:function(s){this._config.refreshParams=s}},{key:"setRefreshData",value:function(s){this._config.refreshData=s}},{key:"setSubscribeHeaders",value:function(s){this._config.subscribeHeaders=s}},{key:"setSubscribeParams",value:function(s){this._config.subscribeParams=s}},{key:"_ajax",value:function(s,a,A,f,E){var _=this,T="";this._debug("sending AJAX request to",s,"with data",JSON.stringify(f));var w;this._xmlhttprequest!==null?w=new this._xmlhttprequest:w=l.g.XMLHttpRequest?new l.g.XMLHttpRequest:new l.g.ActiveXObject("Microsoft.XMLHTTP");for(var O in a)a.hasOwnProperty(O)&&(T.length>0&&(T+="&"),T+=encodeURIComponent(O)+"="+encodeURIComponent(a[O]));T.length>0&&(T="?"+T),w.open("POST",s+T,!0),"withCredentials"in w&&(w.withCredentials=!this._config.disableWithCredentials),w.setRequestHeader("X-Requested-With","XMLHttpRequest"),w.setRequestHeader("Content-Type","application/json");for(var X in A)A.hasOwnProperty(X)&&w.setRequestHeader(X,A[X]);return w.onreadystatechange=function(){if(w.readyState===4)if(w.status===200){var H,x=!1;try{H=JSON.parse(w.responseText),x=!0}catch{E({error:"Invalid JSON. Data was: "+w.responseText,status:200,data:null})}x&&E({data:H,status:200})}else _._log("wrong status code in AJAX response",w.status),E({status:w.status,data:null})},setTimeout(function(){return w.send(JSON.stringify(f))},20),w}},{key:"_log",value:function(){(0,b.log)("info",arguments)}},{key:"_debug",value:function(){this._config.debug===!0&&(0,b.log)("debug",arguments)}},{key:"_websocketSupported",value:function(){return this._config.websocket!==null?!0:!(typeof WebSocket!="function"&&(typeof WebSocket>"u"?"undefined":B(WebSocket))!=="object")}},{key:"_setFormat",value:function(s){if(!this._formatOverride(s)){if(s==="protobuf")throw new Error("not implemented by JSON only Centrifuge client – use client with Protobuf");this._binary=!1,this._methodType=m.JsonMethodType,this._pushType=m.JsonPushType,this._encoder=new m.JsonEncoder,this._decoder=new m.JsonDecoder}}},{key:"_formatOverride",value:function(s){return!1}},{key:"_configure",value:function(s){if(!("Promise"in l.g))throw new Error("Promise polyfill required");if((0,b.extend)(this._config,s||{}),this._debug("centrifuge config",this._config),!this._url)throw new Error("url required");var a=(0,b.startsWith)(this._url,"ws")&&this._url.indexOf("format=protobuf")>-1;if(a||this._config.protocol==="protobuf")this._setFormat("protobuf"),this._protocol="protobuf";else{if(this._config.protocol!==""&&this._config.protocol!=="json")throw new Error("unsupported protocol "+this._config.protocol);this._setFormat("json")}if((0,b.startsWith)(this._url,"http"))if(this._debug("client will try to connect to SockJS endpoint"),this._config.sockjs!==null)this._debug("SockJS explicitly provided in options"),this._sockjs=this._config.sockjs;else{if(typeof l.g.SockJS>"u")throw new Error("SockJS not found, use ws:// in url or include SockJS");this._debug("use globally defined SockJS"),this._sockjs=l.g.SockJS}else this._debug("client will connect to websocket endpoint");this._xmlhttprequest=this._config.xmlhttprequest}},{key:"_setStatus",value:function(s){this._status!==s&&(this._debug("Status",this._status,"->",s),this._status=s)}},{key:"_isDisconnected",value:function(){return this._status==="disconnected"}},{key:"_isConnecting",value:function(){return this._status==="connecting"}},{key:"_isConnected",value:function(){return this._status==="connected"}},{key:"_nextMessageId",value:function(){return++this._messageId}},{key:"_resetRetry",value:function(){this._debug("reset retries count to 0"),this._retries=0}},{key:"_getRetryInterval",value:function(){var s=(0,b.backoff)(this._retries,this._config.minRetry,this._config.maxRetry);return this._retries+=1,s}},{key:"_abortInflightXHRs",value:function(){for(var s in this._xhrs){try{this._xhrs[s].abort()}catch(a){this._debug("error aborting xhr",a)}delete this._xhrs[s]}}},{key:"_clearConnectedState",value:function(s){this._clientID=null,this._stopPing();for(var a in this._callbacks)if(this._callbacks.hasOwnProperty(a)){var A=this._callbacks[a];clearTimeout(A.timeout);var f=A.errback;if(!f)continue;f({error:this._createErrorObject("disconnected")})}this._callbacks={};for(var E in this._subs)if(this._subs.hasOwnProperty(E)){var _=this._subs[E];s?(_._isSuccess()&&(_._triggerUnsubscribe(),_._recover=!0),_._shouldResubscribe()&&_._setSubscribing()):_._setUnsubscribed()}this._abortInflightXHRs(),this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);for(var T in this._subRefreshTimeouts)this._subRefreshTimeouts.hasOwnProperty(T)&&this._subRefreshTimeouts[T]&&this._clearSubRefreshTimeout(T);this._subRefreshTimeouts={},this._reconnect||(this._subs={})}},{key:"_isTransportOpen",value:function(){return this._isSockjs?this._transport&&this._transport.transport&&this._transport.transport.readyState===this._transport.transport.OPEN:this._transport&&this._transport.readyState===this._transport.OPEN}},{key:"_transportSend",value:function(s){if(!s.length)return!0;if(!this._isTransportOpen()){for(var a in s){var A=a.id;if(A in this._callbacks){var f=this._callbacks[A];clearTimeout(this._callbacks[A].timeout),delete this._callbacks[A];var E=f.errback;E({error:this._createErrorObject(M,0)})}}return!1}return this._transport.send(this._encoder.encodeCommands(s)),!0}},{key:"_getSubProtocol",value:function(){return this._protocol?"centrifuge-"+this._protocol:""}},{key:"_setupTransport",value:function(){var s=this;if(this._isSockjs=!1,this._sockjs!==null){var a={transports:this._config.sockjsTransports};this._config.sockjsServer!==null&&(a.server=this._config.sockjsServer),this._config.sockjsTimeout!==null&&(a.timeout=this._config.sockjsTimeout),this._isSockjs=!0,this._transport=new this._sockjs(this._url,null,a)}else{if(!this._websocketSupported())throw this._debug("No Websocket support and no SockJS configured, can not connect"),new Error("No Websocket support and no SockJS configured, can not connect");this._config.websocket!==null?this._websocket=this._config.websocket:this._websocket=WebSocket;var A=this._getSubProtocol();A!==""?this._transport=new this._websocket(this._url,A):this._transport=new this._websocket(this._url),this._binary===!0&&(this._transport.binaryType="arraybuffer")}this._transport.onopen=function(){s._transportClosed=!1,s._isSockjs?(s._transportName="sockjs-"+s._transport.transport,s._transport.onheartbeat=function(){return s._restartPing()}):s._transportName="websocket";var f={};(s._token||s._connectData||s._config.name||s._config.version)&&(f.params={}),s._token&&(f.params.token=s._token),s._connectData&&(f.params.data=s._connectData),s._config.name&&(f.params.name=s._config.name),s._config.version&&(f.params.version=s._config.version);var E={},_=!1;for(var T in s._serverSubs)if(s._serverSubs.hasOwnProperty(T)&&s._serverSubs[T].recoverable){_=!0;var w={recover:!0};s._serverSubs[T].seq||s._serverSubs[T].gen?(s._serverSubs[T].seq&&(w.seq=s._serverSubs[T].seq),s._serverSubs[T].gen&&(w.gen=s._serverSubs[T].gen)):s._serverSubs[T].offset&&(w.offset=s._serverSubs[T].offset),s._serverSubs[T].epoch&&(w.epoch=s._serverSubs[T].epoch),E[T]=w}_&&(f.params||(f.params={}),f.params.subs=E),s._latencyStart=new Date,s._call(f).then(function(O){s._connectResponse(s._decoder.decodeCommandResult(s._methodType.CONNECT,O.result),_),O.next&&O.next()},function(O){var X=O.error;X.code===109&&(s._refreshRequired=!0),s._disconnect("connect error",!0),O.next&&O.next()})},this._transport.onerror=function(f){s._debug("transport level error",f)},this._transport.onclose=function(f){s._transportClosed=!0;var E=M,_=!0;if(f&&"reason"in f&&f.reason)try{var T=JSON.parse(f.reason);s._debug("reason is an advice object",T),E=T.reason,_=T.reconnect}catch{E=f.reason,s._debug("reason is a plain string",E)}if(s._config.onTransportClose!==null&&s._config.onTransportClose({event:f,reason:E,reconnect:_}),s._disconnect(E,_),s._reconnect===!0){s._reconnecting=!0;var w=s._getRetryInterval();s._debug("reconnect after "+w+" milliseconds"),setTimeout(function(){s._reconnect===!0&&(s._refreshRequired?s._refresh():s._connect())},w)}},this._transport.onmessage=function(f){s._dataReceived(f.data)}}},{key:"rpc",value:function(s){return this._rpc("",s)}},{key:"namedRPC",value:function(s,a){return this._rpc(s,a)}},{key:"_rpc",value:function(s,a){var A={data:a};s!==""&&(A.method=s);var f={method:this._methodType.RPC,params:A};return this._methodCall(f,function(E){return E})}},{key:"send",value:function(s){var a={method:this._methodType.SEND,params:{data:s}};if(!this.isConnected())return Promise.reject(this._createErrorObject(M,0));var A=this._transportSend([a]);return A?Promise.resolve({}):Promise.reject(this._createErrorObject(M,0))}},{key:"_getHistoryParams",value:function(s,a){var A={channel:s};return a!==void 0&&(a.since&&(A.since={offset:a.since.offset},a.since.epoch&&(A.since.epoch=a.since.epoch)),a.limit!==void 0&&(A.limit=a.limit),a.reverse===!0&&(A.reverse=!0)),A}},{key:"_methodCall",value:function(s,a){var A=this;return this.isConnected()?new Promise(function(f,E){A._call(s).then(function(_){f(a(A._decoder.decodeCommandResult(s.method,_.result))),_.next&&_.next()},function(_){E(_.error),_.next&&_.next()})}):Promise.reject(this._createErrorObject(M,0))}},{key:"publish",value:function(s,a){var A={method:this._methodType.PUBLISH,params:{channel:s,data:a}};return this._methodCall(A,function(){return{}})}},{key:"history",value:function(s,a){var A=this._getHistoryParams(s,a),f={method:this._methodType.HISTORY,params:A};return this._methodCall(f,function(E){return{publications:E.publications,epoch:E.epoch||"",offset:E.offset||0}})}},{key:"presence",value:function(s){var a={method:this._methodType.PRESENCE,params:{channel:s}};return this._methodCall(a,function(A){return{presence:A.presence}})}},{key:"presenceStats",value:function(s){var a={method:this._methodType.PRESENCE_STATS,params:{channel:s}};return this._methodCall(a,function(A){return{num_users:A.num_users,num_clients:A.num_clients}})}},{key:"_dataReceived",value:function(s){var a=this,A=this._decoder.decodeReplies(s);this._dispatchPromise=this._dispatchPromise.then(function(){var f;a._dispatchPromise=new Promise(function(E){f=E}),a._dispatchSynchronized(A,f)}),this._restartPing()}},{key:"_dispatchSynchronized",value:function(s,a){var A=this,f=Promise.resolve(),E=function(w){s.hasOwnProperty(w)&&(f=f.then(function(){return A._dispatchReply(s[w])}))};for(var _ in s)E(_);f=f.then(function(){a()})}},{key:"_dispatchReply",value:function(s){var a,A=new Promise(function(E){a=E});if(s==null)return this._debug("dispatch: got undefined or null reply"),a(),A;var f=s.id;return f&&f>0?this._handleReply(s,a):this._handlePush(s.result,a),A}},{key:"_call",value:function(s){var a=this;return new Promise(function(A,f){var E=a._addMessage(s);a._registerCall(E,A,f)})}},{key:"_connect",value:function(){if(this.isConnected()){this._debug("connect called when already connected");return}this._status!=="connecting"&&(this._debug("start connecting"),this._setStatus("connecting"),this._clientID=null,this._reconnect=!0,this._setupTransport())}},{key:"_disconnect",value:function(s,a){var A=a||!1;if(A===!1&&(this._reconnect=!1),this._isDisconnected()){A||this._clearConnectedState(A);return}if(this._clearConnectedState(A),this._debug("disconnected:",s,a),this._setStatus("disconnected"),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),this._reconnecting===!1){for(var f in this._serverSubs)this._serverSubs.hasOwnProperty(f)&&this.emit("unsubscribe",{channel:f});this.emit("disconnect",{reason:s,reconnect:A})}A===!1&&(this._subs={},this._serverSubs={}),this._transportClosed||this._transport.close()}},{key:"_refreshFailed",value:function(){this._numRefreshFailed=0,this._isDisconnected()||this._disconnect("refresh failed",!1),this._config.onRefreshFailed!==null&&this._config.onRefreshFailed()}},{key:"_refresh",value:function(){var s=this;if(this._debug("refresh token"),this._config.refreshAttempts===0){this._debug("refresh attempts set to 0, do not send refresh request at all"),this._refreshFailed();return}this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var a=this._clientID,A=this._newXHRID(),f=function(w){if(A in s._xhrs&&delete s._xhrs[A],s._clientID===a){if(w.error||w.status!==200){if(w.error?s._debug("error refreshing connection token",w.error):s._debug("error refreshing connection token: wrong status code",w.status),s._numRefreshFailed++,s._refreshTimeout!==null&&(clearTimeout(s._refreshTimeout),s._refreshTimeout=null),s._config.refreshAttempts!==null&&s._numRefreshFailed>=s._config.refreshAttempts){s._refreshFailed();return}var O=Math.round(Math.random()*1e3*Math.max(s._numRefreshFailed,20)),X=s._config.refreshInterval+O;s._refreshTimeout=setTimeout(function(){return s._refresh()},X);return}if(s._numRefreshFailed=0,s._token=w.data.token,!s._token){s._refreshFailed();return}if(s._isDisconnected()&&s._reconnect)s._debug("token refreshed, connect from scratch"),s._connect();else{s._debug("send refreshed token");var H={method:s._methodType.REFRESH,params:{token:s._token}};s._call(H).then(function(x){s._refreshResponse(s._decoder.decodeCommandResult(s._methodType.REFRESH,x.result)),x.next&&x.next()},function(x){s._refreshError(x.error),x.next&&x.next()})}}};if(this._config.onRefresh!==null){var E={};this._config.onRefresh(E,f)}else{var _=this._ajax(this._config.refreshEndpoint,this._config.refreshParams,this._config.refreshHeaders,this._config.refreshData,f);this._xhrs[A]=_}}},{key:"_refreshError",value:function(s){var a=this;this._debug("refresh error",s),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var A=this._config.refreshInterval+Math.round(Math.random()*1e3);this._refreshTimeout=setTimeout(function(){return a._refresh()},A)}},{key:"_refreshResponse",value:function(s){var a=this;this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),s.expires&&(this._clientID=s.client,this._refreshTimeout=setTimeout(function(){return a._refresh()},this._getTTLMilliseconds(s.ttl)))}},{key:"_newXHRID",value:function(){return this._xhrID++,this._xhrID}},{key:"_subRefresh",value:function(s){var a=this;if(this._debug("refresh subscription token for channel",s),this._subRefreshTimeouts[s]!==void 0)this._clearSubRefreshTimeout(s);else return;var A=this._clientID,f=this._newXHRID(),E=function(O){if(f in a._xhrs&&delete a._xhrs[f],!(O.error||O.status!==200||a._clientID!==A)){var X={};if(O.data.channels)for(var H in O.data.channels){var x=O.data.channels[H];x.channel&&(X[x.channel]=x.token)}var Be=X[s];if(Be){var qt={method:a._methodType.SUB_REFRESH,params:{channel:s,token:Be}},gt=a._getSub(s);gt!==null&&a._call(qt).then(function(ie){a._subRefreshResponse(s,a._decoder.decodeCommandResult(a._methodType.SUB_REFRESH,ie.result)),ie.next&&ie.next()},function(ie){a._subRefreshError(s,ie.error),ie.next&&ie.next()})}}},_={client:this._clientID,channels:[s]};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:_},E);else{var T=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,_,E);this._xhrs[f]=T}}},{key:"_clearSubRefreshTimeout",value:function(s){this._subRefreshTimeouts[s]!==void 0&&(clearTimeout(this._subRefreshTimeouts[s]),delete this._subRefreshTimeouts[s])}},{key:"_subRefreshError",value:function(s,a){var A=this;this._debug("subscription refresh error",s,a),this._clearSubRefreshTimeout(s);var f=this._getSub(s);if(f!==null){var E=Math.round(Math.random()*1e3),_=setTimeout(function(){return A._subRefresh(s)},this._config.subRefreshInterval+E);this._subRefreshTimeouts[s]=_}}},{key:"_subRefreshResponse",value:function(s,a){var A=this;this._debug("subscription refresh success",s),this._clearSubRefreshTimeout(s);var f=this._getSub(s);if(f!==null&&a.expires===!0){var E=setTimeout(function(){return A._subRefresh(s)},this._getTTLMilliseconds(a.ttl));this._subRefreshTimeouts[s]=E}}},{key:"_subscribe",value:function(s,a){var A=this;this._debug("subscribing on",s.channel);var f=s.channel;if(f in this._subs||(this._subs[f]=s),!this.isConnected()){s._setNew();return}s._setSubscribing(a);var E={method:this._methodType.SUBSCRIBE,params:{channel:f}};if(s._subscribeData&&(E.params.data=s._subscribeData),(0,b.startsWith)(f,this._config.privateChannelPrefix))this._isSubscribeBatching?this._privateChannels[f]=!0:(this.startSubscribeBatching(),this._subscribe(s),this.stopSubscribeBatching());else{var _=s._needRecover();if(_===!0){E.params.recover=!0;var T=this._getLastSeq(f),w=this._getLastGen(f);if(T||w)T&&(E.params.seq=T),w&&(E.params.gen=w);else{var O=this._getLastOffset(f);O&&(E.params.offset=O)}var X=this._getLastEpoch(f);X&&(E.params.epoch=X)}this._call(E).then(function(H){A._subscribeResponse(f,_,A._decoder.decodeCommandResult(A._methodType.SUBSCRIBE,H.result)),H.next&&H.next()},function(H){A._subscribeError(f,H.error),H.next&&H.next()})}}},{key:"_unsubscribe",value:function(s){delete this._subs[s.channel],delete this._lastOffset[s.channel],delete this._lastSeq[s.channel],delete this._lastGen[s.channel],this.isConnected()&&this._addMessage({method:this._methodType.UNSUBSCRIBE,params:{channel:s.channel}})}},{key:"_getTTLMilliseconds",value:function(s){return Math.min(s*1e3,2147483647)}},{key:"getSub",value:function(s){return this._getSub(s)}},{key:"_getSub",value:function(s){var a=this._subs[s];return a||null}},{key:"_isServerSub",value:function(s){return this._serverSubs[s]!==void 0}},{key:"_connectResponse",value:function(s,a){var A=this,f=this._reconnecting;if(this._reconnecting=!1,this._resetRetry(),this._refreshRequired=!1,!this.isConnected()){this._latencyStart!==null&&(this._latency=new Date().getTime()-this._latencyStart.getTime(),this._latencyStart=null),this._clientID=s.client,this._setStatus("connected"),this._refreshTimeout&&clearTimeout(this._refreshTimeout),s.expires&&(this._refreshTimeout=setTimeout(function(){return A._refresh()},this._getTTLMilliseconds(s.ttl))),this.startBatching(),this.startSubscribeBatching();for(var E in this._subs)if(this._subs.hasOwnProperty(E)){var _=this._subs[E];_._shouldResubscribe()&&this._subscribe(_,f)}this.stopSubscribeBatching(),this.stopBatching(),this._startPing();var T={client:s.client,transport:this._transportName,latency:this._latency};s.data&&(T.data=s.data),this.emit("connect",T),s.subs&&this._processServerSubs(s.subs)}}},{key:"_processServerSubs",value:function(s){for(var a in s)if(s.hasOwnProperty(a)){var A=s[a],f=this._serverSubs[a]!==void 0,E={channel:a,isResubscribe:f};E=this._expandSubscribeContext(E,A),this.emit("subscribe",E)}for(var _ in s)if(s.hasOwnProperty(_)){var T=s[_];if(T.recovered){var w=T.publications;if(w&&w.length>0){w.length>1&&(!w[0].offset||w[0].offset>w[1].offset)&&(w=w.reverse());for(var O in w)w.hasOwnProperty(O)&&this._handlePublication(_,w[O])}}this._serverSubs[_]={seq:T.seq,gen:T.gen,offset:T.offset,epoch:T.epoch,recoverable:T.recoverable}}}},{key:"_stopPing",value:function(){this._pongTimeout!==null&&(clearTimeout(this._pongTimeout),this._pongTimeout=null),this._pingTimeout!==null&&(clearTimeout(this._pingTimeout),this._pingTimeout=null)}},{key:"_startPing",value:function(){var s=this;this._config.ping!==!0||this._config.pingInterval<=0||this.isConnected()&&(this._pingTimeout=setTimeout(function(){if(!s.isConnected()){s._stopPing();return}s.ping(),s._pongTimeout=setTimeout(function(){s._disconnect("no ping",!0)},s._config.pongWaitTimeout)},this._config.pingInterval))}},{key:"_restartPing",value:function(){this._stopPing(),this._startPing()}},{key:"_subscribeError",value:function(s,a){var A=this._getSub(s);if(A&&A._isSubscribing()){if(a.code===0&&a.message===J){this._disconnect("timeout",!0);return}A._setSubscribeError(a)}}},{key:"_expandSubscribeContext",value:function(s,a){var A=!1;"recovered"in a&&(A=a.recovered),s.recovered=A;var f=!1;"positioned"in a&&(f=a.positioned);var E="";"epoch"in a&&(E=a.epoch);var _=0;return"offset"in a&&(_=a.offset),f&&(s.streamPosition={offset:_,epoch:E}),a.data&&(s.data=a.data),s}},{key:"_subscribeResponse",value:function(s,a,A){var f=this,E=this._getSub(s);if(E&&E._isSubscribing()){E._setSubscribeSuccess(A);var _=A.publications;if(_&&_.length>0){_.length>=2&&!_[0].offset&&!_[1].offset&&(_=_.reverse());for(var T in _)_.hasOwnProperty(T)&&this._handlePublication(s,_[T])}if(A.recoverable&&(!a||!A.recovered)&&(this._lastSeq[s]=A.seq||0,this._lastGen[s]=A.gen||0,this._lastOffset[s]=A.offset||0),this._lastEpoch[s]=A.epoch||"",A.recoverable&&(E._recoverable=!0),A.expires===!0){var w=setTimeout(function(){return f._subRefresh(s)},this._getTTLMilliseconds(A.ttl));this._subRefreshTimeouts[s]=w}}}},{key:"_handleReply",value:function(s,a){var A=s.id,f=s.result;if(!(A in this._callbacks)){a();return}var E=this._callbacks[A];if(clearTimeout(this._callbacks[A].timeout),delete this._callbacks[A],(0,b.errorExists)(s)){var T=E.errback;if(!T){a();return}var w=s.error;T({error:w,next:a})}else{var _=E.callback;if(!_)return;_({result:f,next:a})}}},{key:"_handleJoin",value:function(s,a){var A={info:a.info},f=this._getSub(s);if(!f){this._isServerSub(s)&&(A.channel=s,this.emit("join",A));return}f.emit("join",A)}},{key:"_handleLeave",value:function(s,a){var A={info:a.info},f=this._getSub(s);if(!f){this._isServerSub(s)&&(A.channel=s,this.emit("leave",A));return}f.emit("leave",A)}},{key:"_handleUnsub",value:function(s,a){var A={},f=this._getSub(s);if(!f){this._isServerSub(s)&&(delete this._serverSubs[s],A.channel=s,this.emit("unsubscribe",A));return}f.unsubscribe(),a.resubscribe===!0&&f.subscribe()}},{key:"_handleSub",value:function(s,a){this._serverSubs[s]={seq:a.seq,gen:a.gen,offset:a.offset,epoch:a.epoch,recoverable:a.recoverable};var A={channel:s,isResubscribe:!1};A=this._expandSubscribeContext(A,a),this.emit("subscribe",A)}},{key:"_handlePublication",value:function(s,a){var A=this._getSub(s),f={data:a.data,seq:a.seq,gen:a.gen,offset:a.offset};if(a.info&&(f.info=a.info),!A){this._isServerSub(s)&&(a.seq!==void 0&&(this._serverSubs[s].seq=a.seq),a.gen!==void 0&&(this._serverSubs[s].gen=a.gen),a.offset!==void 0&&(this._serverSubs[s].offset=a.offset),f.channel=s,this.emit("publish",f));return}a.seq!==void 0&&(this._lastSeq[s]=a.seq),a.gen!==void 0&&(this._lastGen[s]=a.gen),a.offset!==void 0&&(this._lastOffset[s]=a.offset),A.emit("publish",f)}},{key:"_handleMessage",value:function(s){this.emit("message",s.data)}},{key:"_handlePush",value:function(s,a){var A=this._decoder.decodePush(s),f=0;"type"in A&&(f=A.type);var E=A.channel;if(f===this._pushType.PUBLICATION){var _=this._decoder.decodePushData(this._pushType.PUBLICATION,A.data);this._handlePublication(E,_)}else if(f===this._pushType.MESSAGE){var T=this._decoder.decodePushData(this._pushType.MESSAGE,A.data);this._handleMessage(T)}else if(f===this._pushType.JOIN){var w=this._decoder.decodePushData(this._pushType.JOIN,A.data);this._handleJoin(E,w)}else if(f===this._pushType.LEAVE){var O=this._decoder.decodePushData(this._pushType.LEAVE,A.data);this._handleLeave(E,O)}else if(f===this._pushType.UNSUBSCRIBE){var X=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,A.data);this._handleUnsub(E,X)}else if(f===this._pushType.SUBSCRIBE){var H=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,A.data);this._handleSub(E,H)}a()}},{key:"_flush",value:function(){var s=this._messages.slice(0);this._messages=[],this._transportSend(s)}},{key:"_ping",value:function(){var s=this,a={method:this._methodType.PING};this._call(a).then(function(A){s._pingResponse(s._decoder.decodeCommandResult(s._methodType.PING,A.result)),A.next&&A.next()},function(A){s._debug("ping error",A.error),A.next&&A.next()})}},{key:"_pingResponse",value:function(s){this.isConnected()&&(this._stopPing(),this._startPing())}},{key:"_getLastSeq",value:function(s){var a=this._lastSeq[s];return a||0}},{key:"_getLastOffset",value:function(s){var a=this._lastOffset[s];return a||0}},{key:"_getLastGen",value:function(s){var a=this._lastGen[s];return a||0}},{key:"_getLastEpoch",value:function(s){var a=this._lastEpoch[s];return a||""}},{key:"_createErrorObject",value:function(s,a){var A={message:s,code:a||0};return A}},{key:"_registerCall",value:function(s,a,A){var f=this;this._callbacks[s]={callback:a,errback:A,timeout:null},this._callbacks[s].timeout=setTimeout(function(){delete f._callbacks[s],(0,b.isFunction)(A)&&A({error:f._createErrorObject(J)})},this._config.timeout)}},{key:"_addMessage",value:function(s){var a=this._nextMessageId();return s.id=a,this._isBatching===!0?this._messages.push(s):this._transportSend([s]),a}},{key:"isConnected",value:function(){return this._isConnected()}},{key:"connect",value:function(){this._connect()}},{key:"disconnect",value:function(){this._disconnect("client",!1)}},{key:"ping",value:function(){return this._ping()}},{key:"startBatching",value:function(){this._isBatching=!0}},{key:"stopBatching",value:function(){this._isBatching=!1,this._flush()}},{key:"startSubscribeBatching",value:function(){this._isSubscribeBatching=!0}},{key:"stopSubscribeBatching",value:function(){var s=this;this._isSubscribeBatching=!1;var a=this._privateChannels;this._privateChannels={};var A=[];for(var f in a)if(a.hasOwnProperty(f)){var E=this._getSub(f);if(!E)continue;A.push(f)}if(A.length===0){this._debug("no private channels found, no need to make request");return}var _={client:this._clientID,channels:A},T=this._clientID,w=this._newXHRID(),O=function(x){if(w in s._xhrs&&delete s._xhrs[w],s._clientID===T){if(x.error||x.status!==200){s._debug("authorization request failed");for(var Be in A)if(A.hasOwnProperty(Be)){var qt=A[Be];s._subscribeError(qt,s._createErrorObject("authorization request failed"))}return}var gt={};if(x.data.channels)for(var ie in x.data.channels){var zt=x.data.channels[ie];zt.channel&&(gt[zt.channel]=zt.token)}var mr=!1;s._isBatching||(s.startBatching(),mr=!0);for(var Cr in A)if(A.hasOwnProperty(Cr)){var ra=(function(){var te=A[Cr],br=gt[te];if(br){var Se={method:s._methodType.SUBSCRIBE,params:{channel:te,token:br}},Er=s._getSub(te);if(Er===null)return"continue";var vr=Er._needRecover();if(vr===!0){Se.params.recover=!0;var Kt=s._getLastSeq(te),Gt=s._getLastGen(te);if(Kt||Gt)Kt&&(Se.params.seq=Kt),Gt&&(Se.params.gen=Gt);else{var Ir=s._getLastOffset(te);Ir&&(Se.params.offset=Ir)}var Br=s._getLastEpoch(te);Br&&(Se.params.epoch=Br)}s._call(Se).then(function(me){s._subscribeResponse(te,vr,s._decoder.decodeCommandResult(s._methodType.SUBSCRIBE,me.result)),me.next&&me.next()},function(me){s._subscribeError(te,me.error),me.next&&me.next()})}else return s._subscribeError(te,s._createErrorObject("permission denied",103)),"continue"})();if(ra==="continue")continue}mr&&s.stopBatching()}};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:_},O);else{var X=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,_,O);this._xhrs[w]=X}}},{key:"_setSubscribeSince",value:function(s,a){this._lastOffset[s.channel]=a.offset,this._lastEpoch[s.channel]=a.epoch,s._setNeedRecover(!0)}},{key:"subscribe",value:function(s,a,A){var f=this._getSub(s);if(f!==null)return f._setEvents(a),f._isUnsubscribed()&&f.subscribe(A),f;var E=new y.default(this,s,a);return this._subs[s]=E,E.subscribe(A),E}}]),C})(h.default);u.Centrifuge=v}),579:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var h=l(382),y=h.Centrifuge;u.default=y,c.exports=u.default}),147:(function(c,u){Object.defineProperty(u,"__esModule",{value:!0}),u.JsonPushType=u.JsonMethodType=u.JsonEncoder=u.JsonDecoder=void 0;function l(Q,S){if(!(Q instanceof S))throw new TypeError("Cannot call a class as a function")}function h(Q,S){for(var P=0;P<S.length;P++){var k=S[P];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(Q,k.key,k)}}function y(Q,S,P){return S&&h(Q.prototype,S),Q}var m={CONNECT:0,SUBSCRIBE:1,UNSUBSCRIBE:2,PUBLISH:3,PRESENCE:4,PRESENCE_STATS:5,HISTORY:6,PING:7,SEND:8,RPC:9,REFRESH:10,SUB_REFRESH:11};u.JsonMethodType=m;var b={PUBLICATION:0,JOIN:1,LEAVE:2,UNSUBSCRIBE:3,MESSAGE:4,SUBSCRIBE:5};u.JsonPushType=b;var I=(function(){function Q(){l(this,Q)}return y(Q,[{key:"encodeCommands",value:function(P){return P.map(function(k){return JSON.stringify(k)}).join(`
3
- `)}}]),Q})();u.JsonEncoder=I;var B=(function(){function Q(){l(this,Q)}return y(Q,[{key:"decodeReplies",value:function(P){return P.split(`
4
- `).filter(function(k){return k!==""}).map(function(k){return JSON.parse(k)})}},{key:"decodeCommandResult",value:function(P,k){return k}},{key:"decodePush",value:function(P){return P}},{key:"decodePushData",value:function(P,k){return k}}]),Q})();u.JsonDecoder=B}),471:(function(c,u,l){function h(p){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?h=function(d){return typeof d}:h=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},h(p)}Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var y=b(l(187)),m=l(853);function b(p){return p&&p.__esModule?p:{default:p}}function I(p,C){if(!(p instanceof C))throw new TypeError("Cannot call a class as a function")}function B(p,C){for(var d=0;d<C.length;d++){var s=C[d];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(p,s.key,s)}}function Q(p,C,d){return C&&B(p.prototype,C),p}function S(p,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(C&&C.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),C&&P(p,C)}function P(p,C){return P=Object.setPrototypeOf||function(s,a){return s.__proto__=a,s},P(p,C)}function k(p){var C=z();return function(){var s=D(p),a;if(C){var A=D(this).constructor;a=Reflect.construct(s,arguments,A)}else a=s.apply(this,arguments);return L(this,a)}}function L(p,C){if(C&&(h(C)==="object"||typeof C=="function"))return C;if(C!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return R(p)}function R(p){if(p===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p}function z(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function D(p){return D=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},D(p)}var G=0,K=1,J=2,M=3,v=4,g=(function(p){S(d,p);var C=k(d);function d(s,a,A){var f;return I(this,d),f=C.call(this),f.channel=a,f._centrifuge=s,f._status=G,f._error=null,f._isResubscribe=!1,f._ready=!1,f._subscriptionPromise=null,f._noResubscribe=!1,f._recoverable=!1,f._recover=!1,f._setEvents(A),f._initializePromise(),f._promises={},f._promiseId=0,f._subscribeData=null,f.on("error",function(E){this._centrifuge._debug("subscription error",E)}),f}return Q(d,[{key:"_nextPromiseId",value:function(){return++this._promiseId}},{key:"_initializePromise",value:function(){var a=this;this._ready=!1,this._subscriptionPromise=new Promise(function(A,f){a._resolve=function(E){a._ready=!0,A(E)},a._reject=function(E){a._ready=!0,f(E)}}).then(function(){},function(){})}},{key:"_setNeedRecover",value:function(a){this._recoverable=a,this._recover=a}},{key:"_needRecover",value:function(){return this._recoverable===!0&&this._recover===!0}},{key:"_setEvents",value:function(a){if(a){if((0,m.isFunction)(a))this.on("publish",a);else if(Object.prototype.toString.call(a)===Object.prototype.toString.call({}))for(var A=["publish","join","leave","unsubscribe","subscribe","error"],f=0,E=A.length;f<E;f++){var _=A[f];_ in a&&this.on(_,a[_])}}}},{key:"_isNew",value:function(){return this._status===G}},{key:"_isUnsubscribed",value:function(){return this._status===v}},{key:"_isSubscribing",value:function(){return this._status===K}},{key:"_isReady",value:function(){return this._status===J||this._status===M}},{key:"_isSuccess",value:function(){return this._status===J}},{key:"_isError",value:function(){return this._status===M}},{key:"_setNew",value:function(){this._status=G}},{key:"_setSubscribing",value:function(a){this._isResubscribe=a||!1,this._ready===!0&&this._initializePromise(),this._status=K}},{key:"_setSubscribeSuccess",value:function(a){if(this._status!==J){this._status=J;var A=this._getSubscribeSuccessContext(a);this._recover=!1,this.emit("subscribe",A),this._resolve(A);for(var f in this._promises)clearTimeout(this._promises[f].timeout),this._promises[f].resolve(),delete this._promises[f]}}},{key:"_setSubscribeError",value:function(a){if(this._status!==M){this._status=M,this._error=a;var A=this._getSubscribeErrorContext();this.emit("error",A),this._reject(A);for(var f in this._promises)clearTimeout(this._promises[f].timeout),this._promises[f].reject(a),delete this._promises[f]}}},{key:"_triggerUnsubscribe",value:function(){this.emit("unsubscribe",{channel:this.channel})}},{key:"_setUnsubscribed",value:function(a){if(this._centrifuge._clearSubRefreshTimeout(this.channel),this._status!==v){var A=this._status===J;this._status=v,a===!0&&(this._recover=!1,this._noResubscribe=!0,delete this._centrifuge._lastSeq[this.channel],delete this._centrifuge._lastGen[this.channel],delete this._centrifuge._lastEpoch[this.channel]),A&&this._triggerUnsubscribe()}}},{key:"_shouldResubscribe",value:function(){return!this._noResubscribe}},{key:"_getSubscribeSuccessContext",value:function(a){var A={channel:this.channel,isResubscribe:this._isResubscribe};return a&&(A=this._centrifuge._expandSubscribeContext(A,a)),A}},{key:"_getSubscribeErrorContext",value:function(){var a=this._error;return a.channel=this.channel,a.isResubscribe=this._isResubscribe,a}},{key:"_setSubscribeData",value:function(a){this._subscribeData=a}},{key:"ready",value:function(a,A){this._ready&&(this._isSuccess()?a(this._getSubscribeSuccessContext()):A(this._getSubscribeErrorContext()))}},{key:"subscribe",value:function(a){this._status!==J&&(a&&a.since&&this._centrifuge._setSubscribeSince(this,a.since),a&&a.data&&this._setSubscribeData(a.data),this._noResubscribe=!1,this._centrifuge._subscribe(this))}},{key:"unsubscribe",value:function(){this._setUnsubscribed(!0),this._centrifuge._unsubscribe(this)}},{key:"_methodCall",value:function(){var a=this;if(this._isSuccess())return Promise.resolve();if(this._isError())return Promise.reject(this._error);var A=new Promise(function(f,E){var _=setTimeout(function(){E({code:0,message:"timeout"})},a._centrifuge._config.timeout);a._promises[a._nextPromiseId()]={timeout:_,resolve:f,reject:E}});return A}},{key:"publish",value:function(a){var A=this;return this._methodCall().then(function(){return A._centrifuge.publish(A.channel,a)})}},{key:"presence",value:function(){var a=this;return this._methodCall().then(function(){return a._centrifuge.presence(a.channel)})}},{key:"presenceStats",value:function(){var a=this;return this._methodCall().then(function(){return a._centrifuge.presenceStats(a.channel)})}},{key:"history",value:function(a){var A=this;return this._methodCall().then(function(){return A._centrifuge.history(A.channel,a)})}}]),d})(y.default);u.default=g,c.exports=u.default}),853:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.backoff=b,u.errorExists=I,u.extend=B,u.isFunction=y,u.log=m,u.startsWith=h;function h(Q,S){return Q.lastIndexOf(S,0)===0}function y(Q){return Q==null?!1:typeof Q=="function"}function m(Q,S){if(l.g.console){var P=l.g.console[Q];y(P)&&P.apply(l.g.console,S)}}function b(Q,S,P){var k=.5*Math.random(),L=Math.min(P,S*Math.pow(2,Q+1));return Math.floor((1-k)*L)}function I(Q){return"error"in Q&&Q.error!==null}function B(Q,S){for(var P in S)S.hasOwnProperty(P)&&(Q[P]=S[P]);return Q}}),187:(function(c){var u=typeof Reflect=="object"?Reflect:null,l=u&&typeof u.apply=="function"?u.apply:function(g,p,C){return Function.prototype.apply.call(g,p,C)},h;u&&typeof u.ownKeys=="function"?h=u.ownKeys:Object.getOwnPropertySymbols?h=function(g){return Object.getOwnPropertyNames(g).concat(Object.getOwnPropertySymbols(g))}:h=function(g){return Object.getOwnPropertyNames(g)};function y(v){console&&console.warn&&console.warn(v)}var m=Number.isNaN||function(g){return g!==g};function b(){b.init.call(this)}c.exports=b,c.exports.once=K,b.EventEmitter=b,b.prototype._events=void 0,b.prototype._eventsCount=0,b.prototype._maxListeners=void 0;var I=10;function B(v){if(typeof v!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof v)}Object.defineProperty(b,"defaultMaxListeners",{enumerable:!0,get:function(){return I},set:function(v){if(typeof v!="number"||v<0||m(v))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+v+".");I=v}}),b.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},b.prototype.setMaxListeners=function(g){if(typeof g!="number"||g<0||m(g))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+g+".");return this._maxListeners=g,this};function Q(v){return v._maxListeners===void 0?b.defaultMaxListeners:v._maxListeners}b.prototype.getMaxListeners=function(){return Q(this)},b.prototype.emit=function(g){for(var p=[],C=1;C<arguments.length;C++)p.push(arguments[C]);var d=g==="error",s=this._events;if(s!==void 0)d=d&&s.error===void 0;else if(!d)return!1;if(d){var a;if(p.length>0&&(a=p[0]),a instanceof Error)throw a;var A=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw A.context=a,A}var f=s[g];if(f===void 0)return!1;if(typeof f=="function")l(f,this,p);else for(var E=f.length,_=z(f,E),C=0;C<E;++C)l(_[C],this,p);return!0};function S(v,g,p,C){var d,s,a;if(B(p),s=v._events,s===void 0?(s=v._events=Object.create(null),v._eventsCount=0):(s.newListener!==void 0&&(v.emit("newListener",g,p.listener?p.listener:p),s=v._events),a=s[g]),a===void 0)a=s[g]=p,++v._eventsCount;else if(typeof a=="function"?a=s[g]=C?[p,a]:[a,p]:C?a.unshift(p):a.push(p),d=Q(v),d>0&&a.length>d&&!a.warned){a.warned=!0;var A=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(g)+" listeners added. Use emitter.setMaxListeners() to increase limit");A.name="MaxListenersExceededWarning",A.emitter=v,A.type=g,A.count=a.length,y(A)}return v}b.prototype.addListener=function(g,p){return S(this,g,p,!1)},b.prototype.on=b.prototype.addListener,b.prototype.prependListener=function(g,p){return S(this,g,p,!0)};function P(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function k(v,g,p){var C={fired:!1,wrapFn:void 0,target:v,type:g,listener:p},d=P.bind(C);return d.listener=p,C.wrapFn=d,d}b.prototype.once=function(g,p){return B(p),this.on(g,k(this,g,p)),this},b.prototype.prependOnceListener=function(g,p){return B(p),this.prependListener(g,k(this,g,p)),this},b.prototype.removeListener=function(g,p){var C,d,s,a,A;if(B(p),d=this._events,d===void 0)return this;if(C=d[g],C===void 0)return this;if(C===p||C.listener===p)--this._eventsCount===0?this._events=Object.create(null):(delete d[g],d.removeListener&&this.emit("removeListener",g,C.listener||p));else if(typeof C!="function"){for(s=-1,a=C.length-1;a>=0;a--)if(C[a]===p||C[a].listener===p){A=C[a].listener,s=a;break}if(s<0)return this;s===0?C.shift():D(C,s),C.length===1&&(d[g]=C[0]),d.removeListener!==void 0&&this.emit("removeListener",g,A||p)}return this},b.prototype.off=b.prototype.removeListener,b.prototype.removeAllListeners=function(g){var p,C,d;if(C=this._events,C===void 0)return this;if(C.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):C[g]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete C[g]),this;if(arguments.length===0){var s=Object.keys(C),a;for(d=0;d<s.length;++d)a=s[d],a!=="removeListener"&&this.removeAllListeners(a);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(p=C[g],typeof p=="function")this.removeListener(g,p);else if(p!==void 0)for(d=p.length-1;d>=0;d--)this.removeListener(g,p[d]);return this};function L(v,g,p){var C=v._events;if(C===void 0)return[];var d=C[g];return d===void 0?[]:typeof d=="function"?p?[d.listener||d]:[d]:p?G(d):z(d,d.length)}b.prototype.listeners=function(g){return L(this,g,!0)},b.prototype.rawListeners=function(g){return L(this,g,!1)},b.listenerCount=function(v,g){return typeof v.listenerCount=="function"?v.listenerCount(g):R.call(v,g)},b.prototype.listenerCount=R;function R(v){var g=this._events;if(g!==void 0){var p=g[v];if(typeof p=="function")return 1;if(p!==void 0)return p.length}return 0}b.prototype.eventNames=function(){return this._eventsCount>0?h(this._events):[]};function z(v,g){for(var p=new Array(g),C=0;C<g;++C)p[C]=v[C];return p}function D(v,g){for(;g+1<v.length;g++)v[g]=v[g+1];v.pop()}function G(v){for(var g=new Array(v.length),p=0;p<g.length;++p)g[p]=v[p].listener||v[p];return g}function K(v,g){return new Promise(function(p,C){function d(a){v.removeListener(g,s),C(a)}function s(){typeof v.removeListener=="function"&&v.removeListener("error",d),p([].slice.call(arguments))}M(v,g,s,{once:!0}),g!=="error"&&J(v,d,{once:!0})})}function J(v,g,p){typeof v.on=="function"&&M(v,"error",g,p)}function M(v,g,p,C){if(typeof v.on=="function")C.once?v.once(g,p):v.on(g,p);else if(typeof v.addEventListener=="function")v.addEventListener(g,function d(s){C.once&&v.removeEventListener(g,d),p(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof v)}})},r={};function o(c){var u=r[c];if(u!==void 0)return u.exports;var l=r[c]={exports:{}};return n[c](l,l.exports,o),l.exports}(function(){o.g=(function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}})()})();var i=o(579);return i})()})})(Fe)),Fe.exports}var Rr=Tr();const Lr=Pr(Rr);let Xe=null;function en(e,t){if(!(e!=null&&e.client_url)||!(e!=null&&e.token)||!(e!=null&&e.channel))return console.error("[Centrifuge] Invalid socket_connections"),null;const{client_url:n,token:r,channel:o}=e;if(o.includes("#")||console.warn("[Centrifuge] Channel should contain #user_id"),Xe){try{console.log("[Centrifuge] Disconnecting previous instance..."),Xe.disconnect()}catch(c){console.error("[Centrifuge] Error while disconnecting previous instance:",c)}Xe=null}console.log("[Centrifuge] Creating new instance:",n);const i=new Lr(n);return i.setToken(r),i.on("connect",c=>{console.log("[Centrifuge] Connected",c),console.log("[Centrifuge] Subscribing to channel:",o);const u=i.subscribe(o);u.on("publish",l=>{console.log("[Centrifuge] Publish event received:",l);const h=Or(l);h&&t(h)}),u.on("subscribe",l=>{console.log("[Centrifuge] ✅ Channel subscribed successfully:",o,l)}),u.on("error",l=>{console.error("[Centrifuge] ❌ Subscription error:",l)}),u.on("unsubscribe",l=>{console.log("[Centrifuge] Channel unsubscribed:",l)})}),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(),Xe=i,{centrifuge:i}}function Or(e){var n,r,o;if(console.log("[Centrifuge] Raw message received:",JSON.stringify(e)),!(e!=null&&e.data))return console.warn("[Centrifuge] Empty or invalid response"),null;let t=e.data;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)}function He(e){return/^4[0-9]/.test(e)?"visa":/^5[1-5]/.test(e)||/^2[2-7]/.test(e)?"mastercard":"card"}const Ae={iconType:"kaspi_pay",label:"Kaspi.kz",type:"kaspi_pay"},tn={iconType:"apple_pay",label:"Apple Pay",type:"apple_pay"},nn={iconType:"google_pay",label:"Google Pay",type:"google_pay"};function $(e){return e==="enabled"||e===!0}function rn(e){if(!e)return null;let t=String(e).trim().toLowerCase();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}function Nr(e){var i,c,u;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);if(!n)return null;if(typeof n=="string")return{type:rn(n),cardId:null};if(typeof n!="object")return null;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;return{type:rn(r),cardId:o!=null?String(o):null}}function Dr(e,t,n={}){var S,P,k,L;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=((L=(k=e==null?void 0:e.payment_methods)==null?void 0:k.data)==null?void 0:L.attributes)||{},u=$(c.payment_method_kaspi),l=$(c.payment_method_card),h=typeof window<"u"&&window.self===window.top,m=yt()==="ios",b=!!(n!=null&&n.onlyKaspiAvailable),I=!!(n!=null&&n.disableKaspi);return o!=null&&o.isKaspiOnly&&u&&!I?[Ae]:b?o!=null&&o.isAvailable&&u&&!I?[Ae]:[]:($(c.payment_method_apple_pay)&&!Ue("apple_pay")&&(Me()&&h||xe()||m||Zt()===16)&&r.push(tn),o!=null&&o.isAvailable&&u&&!I&&r.push(Ae),l&&i.filter(R=>!R.isExpired).forEach(R=>{r.push({iconType:He(R.attributes.mask),type:"card",cardId:R.id,label:`•••• ${R.attributes.mask.slice(-4)}`,cardType:R.type,isDefault:R.attributes.isDefault})}),$(c.payment_method_google_pay)&&!Ue("google_pay")&&!(n!=null&&n.disableGooglePay)&&!Me()&&!xe()&&r.push(nn),$(c.payment_method_new_card)&&r.push({iconType:"new_card",type:"new_card",label:t?t("newCard"):"Оплата новой картой"}),r)}function mt(e,t={}){var Q,S,P,k;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=$(o.payment_method_kaspi),c=$(o.payment_method_card),u=!!(t!=null&&t.disableKaspi),l=typeof window<"u"&&window.self===window.top,y=yt()==="ios",m=$(o.payment_method_apple_pay)&&!Ue("apple_pay")&&(Me()&&l||xe()||y||Zt()===16),b=$(o.payment_method_google_pay)&&!Ue("google_pay")&&!(t!=null&&t.disableGooglePay)&&!Me()&&!xe();if(n!=null&&n.isKaspiOnly&&i&&!u||t!=null&&t.onlyKaspiAvailable&&(n!=null&&n.isAvailable)&&i&&!u)return Ae;const I=Nr(e);if((I==null?void 0:I.type)==="kaspi_pay"&&(n!=null&&n.isAvailable)&&i&&!u)return Ae;if((I==null?void 0:I.type)==="apple_pay"&&m)return tn;if((I==null?void 0:I.type)==="google_pay"&&b)return nn;if((I==null?void 0:I.type)==="new_card"&&$(o.payment_method_new_card))return{iconType:"new_card",type:"new_card",label:"Оплата новой картой"};if((I==null?void 0:I.type)==="card"&&c){const L=I.cardId!=null?r.find(R=>!R.isExpired&&String(R.id)===I.cardId):null;if(L)return{iconType:He(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(c){const L=r.find(R=>{var z;return((z=R.attributes)==null?void 0:z.isDefault)&&!R.isExpired});if(L)return{iconType:He(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(n!=null&&n.isAvailable&&i&&!u)return Ae;const B=c?r.find(L=>!L.isExpired):null;return B?{iconType:He(B.attributes.mask),type:"card",cardId:B.id,label:`••••${B.attributes.mask.slice(-4)}`,cardType:B.type}:null}function Ct(e){if(typeof localStorage>"u")return null;try{return localStorage.getItem(e)}catch{return null}}function je(e,t){if(!(typeof localStorage>"u"))try{localStorage.setItem(e,t)}catch{}}function Ce(e){if(!(typeof localStorage>"u"))try{localStorage.removeItem(e)}catch{}}function ne(e){return e?{"X-Country":e}:{}}async function Mr(e,t){var n;try{const r=await e.json(),o=(n=r==null?void 0:r.errors)==null?void 0:n[0];return(o==null?void 0:o.title)||(o==null?void 0:o.detail)||(r==null?void 0:r.message)||(r==null?void 0:r.error)||t}catch{return`HTTP ${e.status}: ${e.statusText}`}}async function ae(e,t){const n=await Mr(e,t);throw Object.assign(new Error(n),{status:e.status})}function Je(e,t,n={}){const r=Number.isFinite(n.checkoutAmount)&&n.checkoutAmount>=0?Number(n.checkoutAmount):e.amount,o=!!n.forceBalanceMethod,i=!!n.useBalance,c=n.voucher;return{checkoutAmount:r,checkoutPaymentMethod:o?{type:"balance"}:t,useBalanceFlag:i,voucher:c}}function qe(e,t,n,r,o){return{preorder_id:e.preorderId,terminal_id:e.terminalId,merchant_order_id:e.merchantOrderId,money:{amount:String(n),currency:e.currency},payment_method:t,...e.backlink&&{backlink:e.backlink},...r&&{use_balance:!0},...o&&{voucher:o},...e.isFridge&&{is_fridge:!0}}}async function ze(e,t,n,r,o){const i=await fetch(`${e}/orders/v1/checkout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,"X-Idempotency-Key":t.idempotencyKey??De(),"X-Device-Id":n,"X-OS":"WEB",...ne(t.country)},body:JSON.stringify(r)});return i.ok||await ae(i,o),i.json()}async function on(e,t,n,r){var l,h,y,m;const o=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json","X-Idempotency-Key":De(),"X-Fingerprint":Vt(),...ne(r)},body:JSON.stringify({client_id:t,grant_type:"authorization_track_id",track_id:n})});o.ok||await ae(o,"Не удалось авторизоваться через track_id");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;if(!c)throw new Error("В ответе отсутствует access_token");return{access_token:c,refresh_token:u}}async function xr(e,t,n,r){var l,h,y,m;const o=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json",...ne(r)},body:JSON.stringify({client_id:t,grant_type:"refresh_token",refresh_token:n})});o.ok||await ae(o,"Не удалось обновить токен по refresh_token");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;if(!c)throw new Error("В ответе отсутствует access_token");return{access_token:c,refresh_token:u}}async function bt(e,t){const n=await fetch(`${e}/orders/v1/checkout/context`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,"X-Idempotency-Key":De(),...ne(t.country)},body:JSON.stringify({terminal_id:t.terminalId,include:["cards","payment_methods","balance","cashback"],money:{amount:String(t.amount),currency:t.currency}})});return n.ok||await ae(n,"Ошибка получения контекста оплаты"),n.json()}async function Ur(e,t,n){const r=await fetch(`${e}/payment-gateway/v1/cards/${n}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return r.ok||await ae(r,"Не удалось удалить карту"),r.json().catch(()=>({}))}async function Fr(e,t,n){const r=await fetch(`${e}/payment-gateway/v1/cards/${n}/mark_as_default`,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return r.ok||await ae(r,"Не удалось отметить карту как основную"),r.json().catch(()=>({}))}async function Xr(e,t,n){const r=await fetch(`${e}/orders/v1/orders/${n}/status`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});if(!r.ok)throw Object.assign(new Error(`Ошибка проверки статуса заказа: ${r.status} ${r.statusText}`),{status:r.status});const o=await r.json(),i=(o==null?void 0:o.data)??o;return{data:{status:i==null?void 0:i.status,payload:(i==null?void 0:i.payload)??{}}}}async function sn(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=Je(t,{type:r.type,...r.cardId&&{card_id:r.cardId}},o);return ze(e,t,n,qe(t,c,i,u,l),"Ошибка создания заказа")}async function Hr(e,t,n,r={}){const{checkoutAmount:o,checkoutPaymentMethod:i,useBalanceFlag:c,voucher:u}=Je(t,{type:"new_card"},r);return ze(e,t,n,qe(t,i,o,c,u),"Ошибка создания заказа для новой карты")}async function jr(e,t){const n=await fetch(`${e}/loyalty/v6/coupons/by_terminal/${t.terminalId}/at_payment?order_pay_amount=${t.amount}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return n.ok||await ae(n,"Ошибка получения купонов"),n.json()}async function an(e,t,n){const r=window.location.hostname,o={validationUrl:n,domainName:r};t.merchantName&&(o.merchantName=t.merchantName);const i=await fetch(`${e}/payment-gateway/v1/apple/session`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/vnd.api+json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)},body:JSON.stringify(o)});return i.ok||await ae(i,"Ошибка получения Apple Pay сессии"),i.json()}async function Jr(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=Je(t,{type:"apple_pay",data:r},o);return ze(e,t,n,qe(t,c,i,u,l),"Ошибка создания заказа с Apple Pay")}async function cn(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=Je(t,{type:"google_pay",data:r},o);return ze(e,t,n,qe(t,c,i,u,l),"Ошибка создания заказа с Google Pay")}function qr(e){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)?{availableBonus:Number.isFinite(r.availableBonus)?Number(r.availableBonus):0,amount:Number(r.amount),percent:Number(r.percent)}:null;return{preorderId:e.preorderId,trackId:e.trackId,clientId:e.clientId,projectId:e.projectId,terminalId:e.terminalId,merchantOrderId:e.merchantOrderId,amount:e.amount,currency:e.currency||"KZT",environment:e.environment||"production",backlink:e.backlink,onSuccess:e.onSuccess||(()=>{}),onAppliedBonus:e.onAppliedBonus||(()=>{}),onCouponSuppressingCashback:e.onCouponSuppressingCashback||(()=>{}),onError:e.onError||(()=>{}),onCancel:e.onCancel||(()=>{}),onCardDeleted:typeof e.onCardDeleted=="function"?e.onCardDeleted:null,onConfirmPay:typeof e.onConfirmPay=="function"?e.onConfirmPay:null,onPaymentMethodSelected:typeof e.onPaymentMethodSelected=="function"?e.onPaymentMethodSelected:null,onKaspiLink:typeof e.onKaspiLink=="function"?e.onKaspiLink:null,onPayWithGooglePay:typeof e.onPayWithGooglePay=="function"?e.onPayWithGooglePay:null,onUserEvent:typeof e.onUserEvent=="function"?e.onUserEvent:null,onBeforeCheckout:typeof e.onBeforeCheckout=="function"?e.onBeforeCheckout:null,onFreedomLink:typeof e.onFreedomLink=="function"?e.onFreedomLink:null,onRequestNewTrackId:typeof e.onRequestNewTrackId=="function"?e.onRequestNewTrackId:null,idempotencyKey:e.idempotencyKey,country:typeof e.country=="string"&&e.country.trim()||void 0,merchantName:typeof e.merchantName=="string"&&Array.from(e.merchantName.trim()).slice(0,35).join("")||void 0,locale:e.locale||"ru",containerSelector:typeof e.containerSelector=="string"?e.containerSelector.trim():"",color:n||"#2F2F2F",onlyKaspiAvailable:!!e.onlyKaspiAvailable,disableKaspi:!!e.disableKaspi,disableGooglePay:!!e.disableGooglePay,disableUseBalance:!!e.disableUseBalance,isNativeAndroid:!!e.isNativeAndroid,isFridge:!!e.isFridge,bonuses:o}}const U=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,de="8.55.2",j=globalThis;function Ke(e,t,n){const r=n||j,o=r.__SENTRY__=r.__SENTRY__||{},i=o[de]=o[de]||{};return i[e]||(i[e]=t())}const Et=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,zr="Sentry Logger ",un=["debug","info","warn","error","log","assert","trace"],ln={};function Ge(e){if(!("console"in j))return e();const t=j.console,n={},r=Object.keys(ln);r.forEach(o=>{const i=ln[o];n[o]=t[o],t[o]=i});try{return e()}finally{r.forEach(o=>{t[o]=n[o]})}}function Kr(){let e=!1;const t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return Et?un.forEach(n=>{t[n]=(...r)=>{e&&Ge(()=>{j.console[n](`${zr}[${n}]:`,...r)})}}):un.forEach(n=>{t[n]=()=>{}}),t}const N=Ke("logger",Kr),An=50,be="?",dn=/\(error: (.*)\)/,fn=/captureMessage|captureException/;function Gr(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,o=0)=>{const i=[],c=n.split(`
5
- `);for(let u=r;u<c.length;u++){const l=c[u];if(l.length>1024)continue;const h=dn.test(l)?l.replace(dn,"$1"):l;if(!h.match(/\S*Error: /)){for(const y of t){const m=y(h);if(m){i.push(m);break}}if(i.length>=An+o)break}}return Wr(i.slice(o))}}function Wr(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(We(t).function||"")&&t.pop(),t.reverse(),fn.test(We(t).function||"")&&(t.pop(),fn.test(We(t).function||"")&&t.pop()),t.slice(0,An).map(n=>({...n,filename:n.filename||We(t).filename,function:n.function||be}))}function We(e){return e[e.length-1]||{}}const vt="<anonymous>";function Yr(e){try{return!e||typeof e!="function"?vt:e.name||vt}catch{return vt}}function It(){return Bt(j),j}function Bt(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||de,t[de]=t[de]||{}}const hn=Object.prototype.toString;function pn(e){switch(hn.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Ze(e,Error)}}function ke(e,t){return hn.call(e)===`[object ${t}]`}function gn(e){return ke(e,"ErrorEvent")}function yn(e){return ke(e,"DOMError")}function Vr(e){return ke(e,"DOMException")}function mn(e){return ke(e,"String")}function St(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function Zr(e){return e===null||St(e)||typeof e!="object"&&typeof e!="function"}function Ee(e){return ke(e,"Object")}function Ye(e){return typeof Event<"u"&&Ze(e,Event)}function $r(e){return typeof Element<"u"&&Ze(e,Element)}function Ve(e){return!!(e&&e.then&&typeof e.then=="function")}function eo(e){return Ee(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function Ze(e,t){try{return e instanceof t}catch{return!1}}function to(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue))}const no=j,ro=80;function oo(e,t={}){if(!e)return"<unknown>";try{let n=e;const r=5,o=[];let i=0,c=0;const u=" > ",l=u.length;let h;const y=Array.isArray(t)?t:t.keyAttrs,m=!Array.isArray(t)&&t.maxStringLength||ro;for(;n&&i++<r&&(h=so(n,y),!(h==="html"||i>1&&c+o.length*l+h.length>=m));)o.push(h),c+=h.length,n=n.parentNode;return o.reverse().join(u)}catch{return"<unknown>"}}function so(e,t){const n=e,r=[];if(!n||!n.tagName)return"";if(no.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const o=t&&t.length?t.filter(c=>n.getAttribute(c)).map(c=>[c,n.getAttribute(c)]):null;if(o&&o.length)o.forEach(c=>{r.push(`[${c[0]}="${c[1]}"]`)});else{n.id&&r.push(`#${n.id}`);const c=n.className;if(c&&mn(c)){const u=c.split(/\s+/);for(const l of u)r.push(`.${l}`)}}const i=["aria-label","type","name","title","alt"];for(const c of i){const u=n.getAttribute(c);u&&r.push(`[${c}="${u}"]`)}return r.join("")}function Pe(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function Cn(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{Et&&N.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function bn(e){if(pn(e))return{message:e.message,name:e.name,stack:e.stack,...vn(e)};if(Ye(e)){const t={type:e.type,target:En(e.target),currentTarget:En(e.currentTarget),...vn(e)};return typeof CustomEvent<"u"&&Ze(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function En(e){try{return $r(e)?oo(e):Object.prototype.toString.call(e)}catch{return"<unknown>"}}function vn(e){if(typeof e=="object"&&e!==null){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function io(e,t=40){const n=Object.keys(bn(e));n.sort();const r=n[0];if(!r)return"[object has no keys]";if(r.length>=t)return Pe(r,t);for(let o=n.length;o>0;o--){const i=n.slice(0,o).join(", ");if(!(i.length>t))return o===n.length?i:Pe(i,t)}return""}function Y(e){return _t(e,new Map)}function _t(e,t){if(ao(e)){const n=t.get(e);if(n!==void 0)return n;const r={};t.set(e,r);for(const o of Object.getOwnPropertyNames(e))typeof e[o]<"u"&&(r[o]=_t(e[o],t));return r}if(Array.isArray(e)){const n=t.get(e);if(n!==void 0)return n;const r=[];return t.set(e,r),e.forEach(o=>{r.push(_t(o,t))}),r}return e}function ao(e){if(!Ee(e))return!1;try{const t=Object.getPrototypeOf(e).constructor.name;return!t||t==="Object"}catch{return!0}}const In=1e3;function $e(){return Date.now()/In}function co(){const{performance:e}=j;if(!e||!e.now)return $e;const t=Date.now()-e.now(),n=e.timeOrigin==null?t:e.timeOrigin;return()=>(n+e.now())/In}const Bn=co();(()=>{const{performance:e}=j;if(!e||!e.now)return;const t=3600*1e3,n=e.now(),r=Date.now(),o=e.timeOrigin?Math.abs(e.timeOrigin+n-r):t,i=o<t,c=e.timing&&e.timing.navigationStart,l=typeof c=="number"?Math.abs(c+n-r):t,h=l<t;return i||h?o<=l?e.timeOrigin:c:r})();function ee(){const e=j,t=e.crypto||e.msCrypto;let n=()=>Math.random()*16;try{if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,"");t&&t.getRandomValues&&(n=()=>{const r=new Uint8Array(1);return t.getRandomValues(r),r[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,r=>(r^(n()&15)>>r/4).toString(16))}function uo(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function Sn(e,t,n){const r=e.exception=e.exception||{},o=r.values=r.values||[],i=o[0]=o[0]||{};i.value||(i.value=t||""),i.type||(i.type="Error")}function we(e,t){const n=uo(e);if(!n)return;const r={type:"generic",handled:!0},o=n.mechanism;if(n.mechanism={...r,...o,...t},t&&"data"in t){const i={...o&&o.data,...t.data};n.mechanism.data=i}}function _n(e){if(lo(e))return!0;try{Cn(e,"__sentry_captured__",!0)}catch{}return!1}function lo(e){try{return e.__sentry_captured__}catch{}}var re;(function(e){e[e.PENDING=0]="PENDING";const n=1;e[e.RESOLVED=n]="RESOLVED";const r=2;e[e.REJECTED=r]="REJECTED"})(re||(re={}));function fe(e){return new W(t=>{t(e)})}function et(e){return new W((t,n)=>{n(e)})}class W{constructor(t){W.prototype.__init.call(this),W.prototype.__init2.call(this),W.prototype.__init3.call(this),W.prototype.__init4.call(this),this._state=re.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(n){this._reject(n)}}then(t,n){return new W((r,o)=>{this._handlers.push([!1,i=>{if(!t)r(i);else try{r(t(i))}catch(c){o(c)}},i=>{if(!n)o(i);else try{r(n(i))}catch(c){o(c)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new W((n,r)=>{let o,i;return this.then(c=>{i=!1,o=c,t&&t()},c=>{i=!0,o=c,t&&t()}).then(()=>{if(i){r(o);return}n(o)})})}__init(){this._resolve=t=>{this._setResult(re.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(re.REJECTED,t)}}__init3(){this._setResult=(t,n)=>{if(this._state===re.PENDING){if(Ve(n)){n.then(this._resolve,this._reject);return}this._state=t,this._value=n,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===re.PENDING)return;const t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===re.RESOLVED&&n[1](this._value),this._state===re.REJECTED&&n[2](this._value),n[0]=!0)})}}}function Qt(e,t={}){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||Bn(),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:ee()),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)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{const n=e.timestamp-e.started;e.duration=n>=0?n:0}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)}function Qn(){return ee()}function kt(){return ee().substring(16)}function tt(e,t,n=2){if(!t||typeof t!="object"||n<=0)return t;if(e&&t&&Object.keys(t).length===0)return e;const r={...e};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=tt(r[o],t[o],n-1));return r}const Pt="_sentrySpan";function kn(e,t){t?Cn(e,Pt,t):delete e[Pt]}function Pn(e){return e[Pt]}const Ao=100;class wt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:Qn(),spanId:kt()}}clone(){const t=new wt;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),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,kn(t,Pn(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Qt(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this._tags={...this._tags,[t]:n},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const n=typeof t=="function"?t(this):t,[r,o]=n instanceof ce?[n.getScopeData(),n.getRequestSession()]:Ee(n)?[t,t.requestSession]:[],{tags:i,extra:c,user:u,contexts:l,level:h,fingerprint:y=[],propagationContext:m}=r||{};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}clear(){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,kn(this,void 0),this._attachments=[],this.setPropagationContext({traceId:Qn()}),this._notifyScopeListeners(),this}addBreadcrumb(t,n){const r=typeof n=="number"?n:Ao;if(r<=0)return this;const o={timestamp:$e(),...t};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}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Pn(this)}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=tt(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext={spanId:kt(),...t},this}getPropagationContext(){return this._propagationContext}captureException(t,n){const r=n&&n.event_id?n.event_id:ee();if(!this._client)return N.warn("No client configured on scope - will not capture exception!"),r;const o=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:o,...n,event_id:r},this),r}captureMessage(t,n,r){const o=r&&r.event_id?r.event_id:ee();if(!this._client)return N.warn("No client configured on scope - will not capture message!"),o;const i=new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:i,...r,event_id:o},this),o}captureEvent(t,n){const r=n&&n.event_id?n.event_id:ee();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(N.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}}const ce=wt;function fo(){return Ke("defaultCurrentScope",()=>new ce)}function ho(){return Ke("defaultIsolationScope",()=>new ce)}class po{constructor(t,n){let r;t?r=t:r=new ce;let o;n?o=n:o=new ce,this._stack=[{scope:r}],this._isolationScope=o}withScope(t){const n=this._pushScope();let r;try{r=t(n)}catch(o){throw this._popScope(),o}return Ve(r)?r.then(o=>(this._popScope(),o),o=>{throw this._popScope(),o}):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function ve(){const e=It(),t=Bt(e);return t.stack=t.stack||new po(fo(),ho())}function go(e){return ve().withScope(e)}function yo(e,t){const n=ve();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function wn(e){return ve().withScope(()=>e(ve().getIsolationScope()))}function mo(){return{withIsolationScope:wn,withScope:go,withSetScope:yo,withSetIsolationScope:(e,t)=>wn(t),getCurrentScope:()=>ve().getScope(),getIsolationScope:()=>ve().getIsolationScope()}}function Tn(e){const t=Bt(e);return t.acs?t.acs:mo()}function Rn(){const e=It();return Tn(e).getCurrentScope()}function Co(){const e=It();return Tn(e).getIsolationScope()}function bo(){return Ke("globalScope",()=>new ce)}function Tt(){return Rn().getClient()}function Eo(e){const t=e.getPropagationContext(),{traceId:n,spanId:r,parentSpanId:o}=t;return Y({trace_id:n,span_id:r,parent_span_id:o})}const vo="_sentryMetrics";function Io(e){const t=e[vo];if(!t)return;const n={};for(const[,[r,o]]of t)(n[r]||(n[r]=[])).push(Y(o));return n}const Bo="sentry.source",So="sentry.sample_rate",_o="sentry.op",Qo="sentry.origin",ko=0,Po=1,wo="sentry-",To=/^sentry-/;function Ro(e){const t=Lo(e);if(!t)return;const n=Object.entries(t).reduce((r,[o,i])=>{if(o.match(To)){const c=o.slice(wo.length);r[c]=i}return r},{});if(Object.keys(n).length>0)return n}function Lo(e){if(!(!e||!mn(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,n)=>{const r=Ln(n);return Object.entries(r).forEach(([o,i])=>{t[o]=i}),t},{}):Ln(e)}function Ln(e){return e.split(",").map(t=>t.split("=").map(n=>decodeURIComponent(n.trim()))).reduce((t,[n,r])=>(n&&r&&(t[n]=r),t),{})}const Oo=1;let On=!1;function No(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),o=r?t:Rt(e).parent_span_id,i=r?kt():t;return Y({parent_span_id:o,span_id:i,trace_id:n})}function Nn(e){return typeof e=="number"?Dn(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Dn(e.getTime()):Bn()}function Dn(e){return e>9999999999?e/1e3:e}function Rt(e){if(Mo(e))return e.getSpanJSON();try{const{spanId:t,traceId:n}=e.spanContext();if(Do(e)){const{attributes:r,startTime:o,name:i,endTime:c,parentSpanId:u,status:l}=e;return Y({span_id:t,trace_id:n,data:r,description:i,parent_span_id:u,start_timestamp:Nn(o),timestamp:Nn(c)||void 0,status:Uo(l),op:r[_o],origin:r[Qo],_metrics_summary:Io(e)})}return{span_id:t,trace_id:n}}catch{return{}}}function Do(e){const t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Mo(e){return typeof e.getSpanJSON=="function"}function xo(e){const{traceFlags:t}=e.spanContext();return t===Oo}function Uo(e){if(!(!e||e.code===ko))return e.code===Po?"ok":e.message||"unknown_error"}const Fo="_sentryRootSpan";function Mn(e){return e[Fo]||e}function Xo(){On||(Ge(()=>{console.warn("[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.")}),On=!0)}function Ho(e){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const t=Tt(),n=t&&t.getOptions();return!!n&&(n.enableTracing||"tracesSampleRate"in n||"tracesSampler"in n)}const xn="production",jo="_frozenDsc";function Un(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},o=Y({environment:n.environment||xn,release:n.release,public_key:r,trace_id:e});return t.emit("createDsc",o),o}function Jo(e,t){const n=t.getPropagationContext();return n.dsc||Un(n.traceId,e)}function qo(e){const t=Tt();if(!t)return{};const n=Mn(e),r=n[jo];if(r)return r;const o=n.spanContext().traceState,i=o&&o.get("sentry.dsc"),c=i&&Ro(i);if(c)return c;const u=Un(e.spanContext().traceId,t),l=Rt(n),h=l.data||{},y=h[So];y!=null&&(u.sample_rate=`${y}`);const m=h[Bo],b=l.description;return m!=="url"&&b&&(u.transaction=b),Ho()&&(u.sampled=String(xo(n))),t.emit("createDsc",u,n),u}function zo(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){U&&N.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}const Ko=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Go(e){return e==="http"||e==="https"}function nt(e,t=!1){const{host:n,path:r,pass:o,port:i,projectId:c,protocol:u,publicKey:l}=e;return`${u}://${l}${t&&o?`:${o}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${c}`}function Wo(e){const t=Ko.exec(e);if(!t){Ge(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,o="",i="",c="",u=""]=t.slice(1);let l="",h=u;const y=h.split("/");if(y.length>1&&(l=y.slice(0,-1).join("/"),h=y.pop()),h){const m=h.match(/^\d+/);m&&(h=m[0])}return Fn({host:i,pass:o,path:l,projectId:h,port:c,protocol:n,publicKey:r})}function Fn(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function Yo(e){if(!Et)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(c=>e[c]?!1:(N.error(`Invalid Sentry Dsn: ${c} missing`),!0))?!1:n.match(/^\d+$/)?Go(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)}function Vo(e){const t=typeof e=="string"?Wo(e):Fn(e);if(!(!t||!Yo(t)))return t}function Zo(){const e=typeof WeakSet=="function",t=e?new WeakSet:[];function n(o){if(e)return t.has(o)?!0:(t.add(o),!1);for(let i=0;i<t.length;i++)if(t[i]===o)return!0;return t.push(o),!1}function r(o){if(e)t.delete(o);else for(let i=0;i<t.length;i++)if(t[i]===o){t.splice(i,1);break}}return[n,r]}function oe(e,t=100,n=1/0){try{return Lt("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function Xn(e,t=3,n=100*1024){const r=oe(e,t);return ns(r)>n?Xn(e,t-1,n):r}function Lt(e,t,n=1/0,r=1/0,o=Zo()){const[i,c]=o;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;const u=$o(e,t);if(!u.startsWith("[object "))return u;if(t.__sentry_skip_normalization__)return t;const l=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(l===0)return u.replace("object ","");if(i(t))return"[Circular ~]";const h=t;if(h&&typeof h.toJSON=="function")try{const I=h.toJSON();return Lt("",I,l-1,r,o)}catch{}const y=Array.isArray(t)?[]:{};let m=0;const b=bn(t);for(const I in b){if(!Object.prototype.hasOwnProperty.call(b,I))continue;if(m>=r){y[I]="[MaxProperties ~]";break}const B=b[I];y[I]=Lt(I,B,l-1,r,o),m++}return c(t),y}function $o(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(to(t))return"[VueViewModel]";if(eo(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${Yr(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;const n=es(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function es(e){const t=Object.getPrototypeOf(e);return t?t.constructor.name:"null prototype"}function ts(e){return~-encodeURI(e).split(/%..|./).length}function ns(e){return ts(JSON.stringify(e))}function Te(e,t=[]){return[e,t]}function rs(e,t){const[n,r]=e;return[n,[...r,t]]}function Hn(e,t){const n=e[1];for(const r of n){const o=r[0].type;if(t(r,o))return!0}return!1}function Ot(e){return j.__SENTRY__&&j.__SENTRY__.encodePolyfill?j.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function os(e){const[t,n]=e;let r=JSON.stringify(t);function o(i){typeof r=="string"?r=typeof i=="string"?r+i:[Ot(r),i]:r.push(typeof i=="string"?Ot(i):i)}for(const i of n){const[c,u]=i;if(o(`
2
+ (function(Qe,ke){typeof exports=="object"&&typeof module<"u"?module.exports=ke():typeof define=="function"&&define.amd?define(ke):(Qe=typeof globalThis<"u"?globalThis:Qe||self,Qe.ChocoOneClickWidget=ke())})(this,(function(){"use strict";const Qe={ru:{paymentMethod:"Способ оплаты",selectMethod:"Выберите метод",pay:"Оплатить",login:"Войти",paymentSuccess:"Оплата прошла успешно!",paymentError:"Ошибка оплаты",paymentMethods:"Способ оплаты",newCard:"Оплата новой картой",balance:"Списать баланс",bonus:"Списать бонусы",bonusText:"Можно оплатить до {amount}%",cashback:"Кешбэк",willGet:"Получите",total:"Итого",instead:"вместо",coupon:"Списать купон",couponSuppressesCashback:"При применении купона бонусы не начисляются",couponUntil:"до {date}",addCard:"Добавление карты",editCards:"Редактировать карты",cardDeleted:"Карта успешно удалена",confirmDeleteCard:"Вы действительно хотите удалить карту?",cancel:"Отмена",delete:"Удалить",back:"Назад",errorMissingTrackClient:"Укажите trackId и clientId",errorNoServerResponseRetry:"Нет ответа от сервера, попробуйте заново",errorNoServerResponse:"Нет ответа от сервера",errorPaymentMethodNotSelected:"Метод оплаты не выбран",errorApplePayUnsupported:"Apple Pay не поддерживается в этом браузере",errorApplePayInit:"Ошибка инициализации Apple Pay",errorApplePayPayment:"Ошибка оплаты через Apple Pay",errorApplePayInterrupted:"Пожалуйста, подтвердите оплату после полной загрузки окна Apple Pay",errorGooglePayUnsupported:"Google Pay не поддерживается в этом браузере",errorGooglePaySettingsUnavailable:"Настройки Google Pay недоступны",errorGooglePayPayment:"Ошибка оплаты через Google Pay",errorActionUrlMissing:"action_url отсутствует в событии order.action_required",errorWidgetInit:"Ошибка инициализации виджета",errorPaymentProcess:"Ошибка оплаты"},en:{paymentMethod:"Payment method",selectMethod:"Select method",pay:"Pay",login:"Sign in",paymentSuccess:"Payment successful!",paymentError:"Payment error",paymentMethods:"Payment method",newCard:"Pay with new card",balance:"Use balance",bonus:"Use bonuses",bonusText:"You can pay up to {amount}%",cashback:"Cashback",willGet:"You will get",total:"Total",instead:"instead",coupon:"Apply coupon",couponSuppressesCashback:"Bonuses are not credited when the coupon is applied",couponUntil:"until {date}",addCard:"Add card",editCards:"Edit cards",cardDeleted:"Card successfully deleted",confirmDeleteCard:"Are you sure you want to delete this card?",cancel:"Cancel",delete:"Delete",back:"Back",errorMissingTrackClient:"Provide trackId and clientId",errorNoServerResponseRetry:"No response from server, please try again",errorNoServerResponse:"No response from server",errorPaymentMethodNotSelected:"Payment method is not selected",errorApplePayUnsupported:"Apple Pay is not supported in this browser",errorApplePayInit:"Apple Pay initialization error",errorApplePayPayment:"Apple Pay payment error",errorApplePayInterrupted:"Please confirm payment after the Apple Pay sheet fully loads",errorGooglePayUnsupported:"Google Pay is not supported in this browser",errorGooglePaySettingsUnavailable:"Google Pay settings are unavailable",errorGooglePayPayment:"Google Pay payment error",errorActionUrlMissing:"action_url is missing in order.action_required event",errorWidgetInit:"Widget initialization error",errorPaymentProcess:"Payment error"},kk:{paymentMethod:"Төлем әдісі",selectMethod:"Әдісті таңдаңыз",pay:"Төлеу",login:"Кіру",paymentSuccess:"Төлем сәтті өтті!",paymentError:"Төлем қатесі",paymentMethods:"Төлем әдісі",newCard:"Жаңа картамен төлеу",balance:"Балансты пайдалану",bonus:"Бонусдарды пайдалану",bonusText:"{amount}%-ге дейін төлеуге болады",cashback:"Кэшбэк",willGet:"Аласыз",total:"Барлығы",instead:"орнына",coupon:"Купонды пайдалану",couponSuppressesCashback:"Купон қолданылғанда бонустар есептелмейді",couponUntil:"{date} дейін",addCard:"Картаны қосу",editCards:"Карталарды өңдеу",cardDeleted:"Карта жойылды",confirmDeleteCard:"Картаны жойғыңыз келетініне сенімдісіз бе?",cancel:"Болдырмау",delete:"Жою",back:"Артқа",errorMissingTrackClient:"trackId пен clientId көрсетіңіз",errorNoServerResponseRetry:"Серверден жауап жоқ, қайтадан көріңіз",errorNoServerResponse:"Серверден жауап жоқ",errorPaymentMethodNotSelected:"Төлем әдісі таңдалмаған",errorApplePayUnsupported:"Бұл браузерде Apple Pay қолдау көрсетілмейді",errorApplePayInit:"Apple Pay инициализация қатесі",errorApplePayPayment:"Apple Pay арқылы төлем қатесі",errorApplePayInterrupted:"Өтінеміз, төлемді Apple Pay терезесі толық жүктелгеннен кейін растаңыз",errorGooglePayUnsupported:"Бұл браузерде Google Pay қолдау көрсетілмейді",errorGooglePaySettingsUnavailable:"Google Pay баптаулары қолжетімсіз",errorGooglePayPayment:"Google Pay арқылы төлем қатесі",errorActionUrlMissing:"order.action_required оқиғасында action_url жоқ",errorWidgetInit:"Виджетті инициализациялау қатесі",errorPaymentProcess:"Төлем қатесі"},ka:{paymentMethod:"გადახდის მეთოდი",selectMethod:"აირჩიეთ მეთოდი",pay:"გადახდა",login:"შესვლა",paymentSuccess:"გადახდა წარმატებით შესრულდა!",paymentError:"გადახდის შეცდომა",paymentMethods:"გადახდის მეთოდი",newCard:"ახალი ბარათით გადახდა",balance:"ბალანსის გამოყენება",bonus:"ბონუსების გამოყენება",bonusText:"{amount}%-ზე გადახდა შესაძლებელია",cashback:"ქეშბექი",willGet:"მიიღებთ",total:"ჯამი",instead:"ნაცვლად",coupon:"კუპონის გამოყენება",couponSuppressesCashback:"კუპონის გამოყენებისას ბონუსები არ დაირიცხება",couponUntil:"{date}-მდე",addCard:"ბარათის დამატება",editCards:"ბარათების რედაქტირება",cardDeleted:"ბარათი წაშლილია",confirmDeleteCard:"დარწმუნებული ხართ, რომ გსურთ ამ ბარათის წაშლა?",cancel:"გაუქმება",delete:"წაშლა",back:"უკან",errorMissingTrackClient:"მიუთითეთ trackId და clientId",errorNoServerResponseRetry:"სერვერის პასუხი არ არის, სცადეთ თავიდან",errorNoServerResponse:"სერვერის პასუხი არ არის",errorPaymentMethodNotSelected:"გადახდის მეთოდი არ არის არჩეული",errorApplePayUnsupported:"ამ ბრაუზერში Apple Pay არ არის მხარდაჭერილი",errorApplePayInit:"Apple Pay-ის ინიციალიზაციის შეცდომა",errorApplePayPayment:"Apple Pay-ით გადახდის შეცდომა",errorApplePayInterrupted:"გთხოვთ, დაადასტუროთ გადახდა Apple Pay-ის ფანჯრის სრულად ჩატვირთვის შემდეგ",errorGooglePayUnsupported:"ამ ბრაუზერში Google Pay არ არის მხარდაჭერილი",errorGooglePaySettingsUnavailable:"Google Pay-ის პარამეტრები მიუწვდომელია",errorGooglePayPayment:"Google Pay-ით გადახდის შეცდომა",errorActionUrlMissing:"order.action_required მოვლენაში action_url არ არის",errorWidgetInit:"ვიჯეტის ინიციალიზაციის შეცდომა",errorPaymentProcess:"გადახდის შეცდომა"}},ke={KZT:"₸",GEL:"₾"};function kr(e){return e==="production"?"https://api-proxy.choco.kz":"https://api-proxy.chocodev.kz"}let Me;const Pr=new Uint8Array(16);function wr(){if(!Me&&(Me=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Me))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Me(Pr)}const F=[];for(let e=0;e<256;++e)F.push((e+256).toString(16).slice(1));function Tr(e,t=0){return F[e[t+0]]+F[e[t+1]]+F[e[t+2]]+F[e[t+3]]+"-"+F[e[t+4]]+F[e[t+5]]+"-"+F[e[t+6]]+F[e[t+7]]+"-"+F[e[t+8]]+F[e[t+9]]+"-"+F[e[t+10]]+F[e[t+11]]+F[e[t+12]]+F[e[t+13]]+F[e[t+14]]+F[e[t+15]]}const Yt={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xe(e,t,n){if(Yt.randomUUID&&!e)return Yt.randomUUID();e=e||{};const r=e.random||(e.rng||wr)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Tr(r)}const Vt="choco_device_id";function Z(e,t="ru",n="KZT"){const r=Number(e),o=t==="ru"?"ru-RU":"en-US";return`${r.toLocaleString(o)} ${ke[n]}`}function Zt(){let e=localStorage.getItem(Vt);return e||(e=xe(),localStorage.setItem(Vt,e)),e}function Ue(){if(typeof window>"u")return!1;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);return e||o}function $t(){if(typeof navigator>"u")return 0;const e=navigator.userAgent||"",t=e.indexOf("OS");return(e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1)&&t>-1?Number(e.substring(t+3,t+6).replace("_",".")):0}function mt(){var i;if(typeof navigator>"u")return"unknown";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}`;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"}function Fe(){if(typeof navigator>"u")return!1;const e=navigator.userAgentData;return e!=null&&e.platform&&["iOS","iPadOS"].includes(e.platform)||mt()==="ios"?!0:(navigator.userAgent||"").includes("Macintosh")&&typeof document<"u"&&"ontouchend"in document}function Xe(e){if(typeof sessionStorage>"u")return!1;const t=e==="apple_pay"?"disableApplePay":e==="google_pay"?"disableGooglePay":null;return t?sessionStorage.getItem(t)==="true":!1}function Rr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var He={exports:{}},Lr=He.exports,en;function Or(){return en||(en=1,(function(e,t){(function(r,o){e.exports=o()})(Lr,function(){return(function(){var n={382:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.Centrifuge=void 0;var f=v(l(187)),y=v(l(471)),m=l(147),C=l(853);function v(g){return g&&g.__esModule?g:{default:g}}function B(g){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?B=function(b){return typeof b}:B=function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},B(g)}function Q(g,p){if(!(g instanceof p))throw new TypeError("Cannot call a class as a function")}function S(g,p){for(var b=0;b<p.length;b++){var d=p[b];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(g,d.key,d)}}function P(g,p,b){return p&&S(g.prototype,p),g}function k(g,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function");g.prototype=Object.create(p&&p.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),p&&L(g,p)}function L(g,p){return L=Object.setPrototypeOf||function(d,s){return d.__proto__=s,d},L(g,p)}function R(g){var p=G();return function(){var d=K(g),s;if(p){var a=K(this).constructor;s=Reflect.construct(d,arguments,a)}else s=d.apply(this,arguments);return z(this,s)}}function z(g,p){if(p&&(B(p)==="object"||typeof p=="function"))return p;if(p!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return D(g)}function D(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}function G(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function K(g){return K=Object.setPrototypeOf?Object.getPrototypeOf:function(b){return b.__proto__||Object.getPrototypeOf(b)},K(g)}var J="timeout",M="connection closed",I=(function(g){k(b,g);var p=R(b);function b(d,s){var a;return Q(this,b),a=p.call(this),a._url=d,a._websocket=null,a._sockjs=null,a._isSockjs=!1,a._xmlhttprequest=null,a._binary=!1,a._methodType=null,a._pushType=null,a._encoder=null,a._decoder=null,a._status="disconnected",a._reconnect=!0,a._reconnecting=!1,a._transport=null,a._transportName=null,a._transportClosed=!0,a._messageId=0,a._clientID=null,a._refreshRequired=!1,a._subs={},a._serverSubs={},a._lastSeq={},a._lastGen={},a._lastOffset={},a._lastEpoch={},a._messages=[],a._isBatching=!1,a._isSubscribeBatching=!1,a._privateChannels={},a._numRefreshFailed=0,a._refreshTimeout=null,a._pingTimeout=null,a._pongTimeout=null,a._subRefreshTimeouts={},a._retries=0,a._callbacks={},a._latency=null,a._latencyStart=null,a._connectData=null,a._token=null,a._xhrID=0,a._xhrs={},a._dispatchPromise=Promise.resolve(),a._protocol="",a._config={protocol:"",debug:!1,name:"js",version:"",websocket:null,sockjs:null,xmlhttprequest:null,minRetry:1e3,maxRetry:2e4,timeout:5e3,ping:!0,pingInterval:25e3,pongWaitTimeout:5e3,privateChannelPrefix:"$",onTransportClose:null,sockjsServer:null,sockjsTimeout:null,sockjsTransports:["websocket","xdr-streaming","xhr-streaming","eventsource","iframe-eventsource","iframe-htmlfile","xdr-polling","xhr-polling","iframe-xhr-polling","jsonp-polling"],refreshEndpoint:"/centrifuge/refresh",refreshHeaders:{},refreshParams:{},refreshData:{},refreshAttempts:null,refreshInterval:1e3,onRefreshFailed:null,onRefresh:null,subscribeEndpoint:"/centrifuge/subscribe",subscribeHeaders:{},subscribeParams:{},subRefreshInterval:1e3,onPrivateSubscribe:null,disableWithCredentials:!1},a._configure(s),a}return P(b,[{key:"setToken",value:function(s){this._token=s}},{key:"setConnectData",value:function(s){this._connectData=s}},{key:"setRefreshHeaders",value:function(s){this._config.refreshHeaders=s}},{key:"setRefreshParams",value:function(s){this._config.refreshParams=s}},{key:"setRefreshData",value:function(s){this._config.refreshData=s}},{key:"setSubscribeHeaders",value:function(s){this._config.subscribeHeaders=s}},{key:"setSubscribeParams",value:function(s){this._config.subscribeParams=s}},{key:"_ajax",value:function(s,a,A,h,E){var _=this,T="";this._debug("sending AJAX request to",s,"with data",JSON.stringify(h));var w;this._xmlhttprequest!==null?w=new this._xmlhttprequest:w=l.g.XMLHttpRequest?new l.g.XMLHttpRequest:new l.g.ActiveXObject("Microsoft.XMLHTTP");for(var O in a)a.hasOwnProperty(O)&&(T.length>0&&(T+="&"),T+=encodeURIComponent(O)+"="+encodeURIComponent(a[O]));T.length>0&&(T="?"+T),w.open("POST",s+T,!0),"withCredentials"in w&&(w.withCredentials=!this._config.disableWithCredentials),w.setRequestHeader("X-Requested-With","XMLHttpRequest"),w.setRequestHeader("Content-Type","application/json");for(var X in A)A.hasOwnProperty(X)&&w.setRequestHeader(X,A[X]);return w.onreadystatechange=function(){if(w.readyState===4)if(w.status===200){var H,x=!1;try{H=JSON.parse(w.responseText),x=!0}catch{E({error:"Invalid JSON. Data was: "+w.responseText,status:200,data:null})}x&&E({data:H,status:200})}else _._log("wrong status code in AJAX response",w.status),E({status:w.status,data:null})},setTimeout(function(){return w.send(JSON.stringify(h))},20),w}},{key:"_log",value:function(){(0,C.log)("info",arguments)}},{key:"_debug",value:function(){this._config.debug===!0&&(0,C.log)("debug",arguments)}},{key:"_websocketSupported",value:function(){return this._config.websocket!==null?!0:!(typeof WebSocket!="function"&&(typeof WebSocket>"u"?"undefined":B(WebSocket))!=="object")}},{key:"_setFormat",value:function(s){if(!this._formatOverride(s)){if(s==="protobuf")throw new Error("not implemented by JSON only Centrifuge client – use client with Protobuf");this._binary=!1,this._methodType=m.JsonMethodType,this._pushType=m.JsonPushType,this._encoder=new m.JsonEncoder,this._decoder=new m.JsonDecoder}}},{key:"_formatOverride",value:function(s){return!1}},{key:"_configure",value:function(s){if(!("Promise"in l.g))throw new Error("Promise polyfill required");if((0,C.extend)(this._config,s||{}),this._debug("centrifuge config",this._config),!this._url)throw new Error("url required");var a=(0,C.startsWith)(this._url,"ws")&&this._url.indexOf("format=protobuf")>-1;if(a||this._config.protocol==="protobuf")this._setFormat("protobuf"),this._protocol="protobuf";else{if(this._config.protocol!==""&&this._config.protocol!=="json")throw new Error("unsupported protocol "+this._config.protocol);this._setFormat("json")}if((0,C.startsWith)(this._url,"http"))if(this._debug("client will try to connect to SockJS endpoint"),this._config.sockjs!==null)this._debug("SockJS explicitly provided in options"),this._sockjs=this._config.sockjs;else{if(typeof l.g.SockJS>"u")throw new Error("SockJS not found, use ws:// in url or include SockJS");this._debug("use globally defined SockJS"),this._sockjs=l.g.SockJS}else this._debug("client will connect to websocket endpoint");this._xmlhttprequest=this._config.xmlhttprequest}},{key:"_setStatus",value:function(s){this._status!==s&&(this._debug("Status",this._status,"->",s),this._status=s)}},{key:"_isDisconnected",value:function(){return this._status==="disconnected"}},{key:"_isConnecting",value:function(){return this._status==="connecting"}},{key:"_isConnected",value:function(){return this._status==="connected"}},{key:"_nextMessageId",value:function(){return++this._messageId}},{key:"_resetRetry",value:function(){this._debug("reset retries count to 0"),this._retries=0}},{key:"_getRetryInterval",value:function(){var s=(0,C.backoff)(this._retries,this._config.minRetry,this._config.maxRetry);return this._retries+=1,s}},{key:"_abortInflightXHRs",value:function(){for(var s in this._xhrs){try{this._xhrs[s].abort()}catch(a){this._debug("error aborting xhr",a)}delete this._xhrs[s]}}},{key:"_clearConnectedState",value:function(s){this._clientID=null,this._stopPing();for(var a in this._callbacks)if(this._callbacks.hasOwnProperty(a)){var A=this._callbacks[a];clearTimeout(A.timeout);var h=A.errback;if(!h)continue;h({error:this._createErrorObject("disconnected")})}this._callbacks={};for(var E in this._subs)if(this._subs.hasOwnProperty(E)){var _=this._subs[E];s?(_._isSuccess()&&(_._triggerUnsubscribe(),_._recover=!0),_._shouldResubscribe()&&_._setSubscribing()):_._setUnsubscribed()}this._abortInflightXHRs(),this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);for(var T in this._subRefreshTimeouts)this._subRefreshTimeouts.hasOwnProperty(T)&&this._subRefreshTimeouts[T]&&this._clearSubRefreshTimeout(T);this._subRefreshTimeouts={},this._reconnect||(this._subs={})}},{key:"_isTransportOpen",value:function(){return this._isSockjs?this._transport&&this._transport.transport&&this._transport.transport.readyState===this._transport.transport.OPEN:this._transport&&this._transport.readyState===this._transport.OPEN}},{key:"_transportSend",value:function(s){if(!s.length)return!0;if(!this._isTransportOpen()){for(var a in s){var A=a.id;if(A in this._callbacks){var h=this._callbacks[A];clearTimeout(this._callbacks[A].timeout),delete this._callbacks[A];var E=h.errback;E({error:this._createErrorObject(M,0)})}}return!1}return this._transport.send(this._encoder.encodeCommands(s)),!0}},{key:"_getSubProtocol",value:function(){return this._protocol?"centrifuge-"+this._protocol:""}},{key:"_setupTransport",value:function(){var s=this;if(this._isSockjs=!1,this._sockjs!==null){var a={transports:this._config.sockjsTransports};this._config.sockjsServer!==null&&(a.server=this._config.sockjsServer),this._config.sockjsTimeout!==null&&(a.timeout=this._config.sockjsTimeout),this._isSockjs=!0,this._transport=new this._sockjs(this._url,null,a)}else{if(!this._websocketSupported())throw this._debug("No Websocket support and no SockJS configured, can not connect"),new Error("No Websocket support and no SockJS configured, can not connect");this._config.websocket!==null?this._websocket=this._config.websocket:this._websocket=WebSocket;var A=this._getSubProtocol();A!==""?this._transport=new this._websocket(this._url,A):this._transport=new this._websocket(this._url),this._binary===!0&&(this._transport.binaryType="arraybuffer")}this._transport.onopen=function(){s._transportClosed=!1,s._isSockjs?(s._transportName="sockjs-"+s._transport.transport,s._transport.onheartbeat=function(){return s._restartPing()}):s._transportName="websocket";var h={};(s._token||s._connectData||s._config.name||s._config.version)&&(h.params={}),s._token&&(h.params.token=s._token),s._connectData&&(h.params.data=s._connectData),s._config.name&&(h.params.name=s._config.name),s._config.version&&(h.params.version=s._config.version);var E={},_=!1;for(var T in s._serverSubs)if(s._serverSubs.hasOwnProperty(T)&&s._serverSubs[T].recoverable){_=!0;var w={recover:!0};s._serverSubs[T].seq||s._serverSubs[T].gen?(s._serverSubs[T].seq&&(w.seq=s._serverSubs[T].seq),s._serverSubs[T].gen&&(w.gen=s._serverSubs[T].gen)):s._serverSubs[T].offset&&(w.offset=s._serverSubs[T].offset),s._serverSubs[T].epoch&&(w.epoch=s._serverSubs[T].epoch),E[T]=w}_&&(h.params||(h.params={}),h.params.subs=E),s._latencyStart=new Date,s._call(h).then(function(O){s._connectResponse(s._decoder.decodeCommandResult(s._methodType.CONNECT,O.result),_),O.next&&O.next()},function(O){var X=O.error;X.code===109&&(s._refreshRequired=!0),s._disconnect("connect error",!0),O.next&&O.next()})},this._transport.onerror=function(h){s._debug("transport level error",h)},this._transport.onclose=function(h){s._transportClosed=!0;var E=M,_=!0;if(h&&"reason"in h&&h.reason)try{var T=JSON.parse(h.reason);s._debug("reason is an advice object",T),E=T.reason,_=T.reconnect}catch{E=h.reason,s._debug("reason is a plain string",E)}if(s._config.onTransportClose!==null&&s._config.onTransportClose({event:h,reason:E,reconnect:_}),s._disconnect(E,_),s._reconnect===!0){s._reconnecting=!0;var w=s._getRetryInterval();s._debug("reconnect after "+w+" milliseconds"),setTimeout(function(){s._reconnect===!0&&(s._refreshRequired?s._refresh():s._connect())},w)}},this._transport.onmessage=function(h){s._dataReceived(h.data)}}},{key:"rpc",value:function(s){return this._rpc("",s)}},{key:"namedRPC",value:function(s,a){return this._rpc(s,a)}},{key:"_rpc",value:function(s,a){var A={data:a};s!==""&&(A.method=s);var h={method:this._methodType.RPC,params:A};return this._methodCall(h,function(E){return E})}},{key:"send",value:function(s){var a={method:this._methodType.SEND,params:{data:s}};if(!this.isConnected())return Promise.reject(this._createErrorObject(M,0));var A=this._transportSend([a]);return A?Promise.resolve({}):Promise.reject(this._createErrorObject(M,0))}},{key:"_getHistoryParams",value:function(s,a){var A={channel:s};return a!==void 0&&(a.since&&(A.since={offset:a.since.offset},a.since.epoch&&(A.since.epoch=a.since.epoch)),a.limit!==void 0&&(A.limit=a.limit),a.reverse===!0&&(A.reverse=!0)),A}},{key:"_methodCall",value:function(s,a){var A=this;return this.isConnected()?new Promise(function(h,E){A._call(s).then(function(_){h(a(A._decoder.decodeCommandResult(s.method,_.result))),_.next&&_.next()},function(_){E(_.error),_.next&&_.next()})}):Promise.reject(this._createErrorObject(M,0))}},{key:"publish",value:function(s,a){var A={method:this._methodType.PUBLISH,params:{channel:s,data:a}};return this._methodCall(A,function(){return{}})}},{key:"history",value:function(s,a){var A=this._getHistoryParams(s,a),h={method:this._methodType.HISTORY,params:A};return this._methodCall(h,function(E){return{publications:E.publications,epoch:E.epoch||"",offset:E.offset||0}})}},{key:"presence",value:function(s){var a={method:this._methodType.PRESENCE,params:{channel:s}};return this._methodCall(a,function(A){return{presence:A.presence}})}},{key:"presenceStats",value:function(s){var a={method:this._methodType.PRESENCE_STATS,params:{channel:s}};return this._methodCall(a,function(A){return{num_users:A.num_users,num_clients:A.num_clients}})}},{key:"_dataReceived",value:function(s){var a=this,A=this._decoder.decodeReplies(s);this._dispatchPromise=this._dispatchPromise.then(function(){var h;a._dispatchPromise=new Promise(function(E){h=E}),a._dispatchSynchronized(A,h)}),this._restartPing()}},{key:"_dispatchSynchronized",value:function(s,a){var A=this,h=Promise.resolve(),E=function(w){s.hasOwnProperty(w)&&(h=h.then(function(){return A._dispatchReply(s[w])}))};for(var _ in s)E(_);h=h.then(function(){a()})}},{key:"_dispatchReply",value:function(s){var a,A=new Promise(function(E){a=E});if(s==null)return this._debug("dispatch: got undefined or null reply"),a(),A;var h=s.id;return h&&h>0?this._handleReply(s,a):this._handlePush(s.result,a),A}},{key:"_call",value:function(s){var a=this;return new Promise(function(A,h){var E=a._addMessage(s);a._registerCall(E,A,h)})}},{key:"_connect",value:function(){if(this.isConnected()){this._debug("connect called when already connected");return}this._status!=="connecting"&&(this._debug("start connecting"),this._setStatus("connecting"),this._clientID=null,this._reconnect=!0,this._setupTransport())}},{key:"_disconnect",value:function(s,a){var A=a||!1;if(A===!1&&(this._reconnect=!1),this._isDisconnected()){A||this._clearConnectedState(A);return}if(this._clearConnectedState(A),this._debug("disconnected:",s,a),this._setStatus("disconnected"),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),this._reconnecting===!1){for(var h in this._serverSubs)this._serverSubs.hasOwnProperty(h)&&this.emit("unsubscribe",{channel:h});this.emit("disconnect",{reason:s,reconnect:A})}A===!1&&(this._subs={},this._serverSubs={}),this._transportClosed||this._transport.close()}},{key:"_refreshFailed",value:function(){this._numRefreshFailed=0,this._isDisconnected()||this._disconnect("refresh failed",!1),this._config.onRefreshFailed!==null&&this._config.onRefreshFailed()}},{key:"_refresh",value:function(){var s=this;if(this._debug("refresh token"),this._config.refreshAttempts===0){this._debug("refresh attempts set to 0, do not send refresh request at all"),this._refreshFailed();return}this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var a=this._clientID,A=this._newXHRID(),h=function(w){if(A in s._xhrs&&delete s._xhrs[A],s._clientID===a){if(w.error||w.status!==200){if(w.error?s._debug("error refreshing connection token",w.error):s._debug("error refreshing connection token: wrong status code",w.status),s._numRefreshFailed++,s._refreshTimeout!==null&&(clearTimeout(s._refreshTimeout),s._refreshTimeout=null),s._config.refreshAttempts!==null&&s._numRefreshFailed>=s._config.refreshAttempts){s._refreshFailed();return}var O=Math.round(Math.random()*1e3*Math.max(s._numRefreshFailed,20)),X=s._config.refreshInterval+O;s._refreshTimeout=setTimeout(function(){return s._refresh()},X);return}if(s._numRefreshFailed=0,s._token=w.data.token,!s._token){s._refreshFailed();return}if(s._isDisconnected()&&s._reconnect)s._debug("token refreshed, connect from scratch"),s._connect();else{s._debug("send refreshed token");var H={method:s._methodType.REFRESH,params:{token:s._token}};s._call(H).then(function(x){s._refreshResponse(s._decoder.decodeCommandResult(s._methodType.REFRESH,x.result)),x.next&&x.next()},function(x){s._refreshError(x.error),x.next&&x.next()})}}};if(this._config.onRefresh!==null){var E={};this._config.onRefresh(E,h)}else{var _=this._ajax(this._config.refreshEndpoint,this._config.refreshParams,this._config.refreshHeaders,this._config.refreshData,h);this._xhrs[A]=_}}},{key:"_refreshError",value:function(s){var a=this;this._debug("refresh error",s),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var A=this._config.refreshInterval+Math.round(Math.random()*1e3);this._refreshTimeout=setTimeout(function(){return a._refresh()},A)}},{key:"_refreshResponse",value:function(s){var a=this;this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),s.expires&&(this._clientID=s.client,this._refreshTimeout=setTimeout(function(){return a._refresh()},this._getTTLMilliseconds(s.ttl)))}},{key:"_newXHRID",value:function(){return this._xhrID++,this._xhrID}},{key:"_subRefresh",value:function(s){var a=this;if(this._debug("refresh subscription token for channel",s),this._subRefreshTimeouts[s]!==void 0)this._clearSubRefreshTimeout(s);else return;var A=this._clientID,h=this._newXHRID(),E=function(O){if(h in a._xhrs&&delete a._xhrs[h],!(O.error||O.status!==200||a._clientID!==A)){var X={};if(O.data.channels)for(var H in O.data.channels){var x=O.data.channels[H];x.channel&&(X[x.channel]=x.token)}var Se=X[s];if(Se){var zt={method:a._methodType.SUB_REFRESH,params:{channel:s,token:Se}},yt=a._getSub(s);yt!==null&&a._call(zt).then(function(ie){a._subRefreshResponse(s,a._decoder.decodeCommandResult(a._methodType.SUB_REFRESH,ie.result)),ie.next&&ie.next()},function(ie){a._subRefreshError(s,ie.error),ie.next&&ie.next()})}}},_={client:this._clientID,channels:[s]};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:_},E);else{var T=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,_,E);this._xhrs[h]=T}}},{key:"_clearSubRefreshTimeout",value:function(s){this._subRefreshTimeouts[s]!==void 0&&(clearTimeout(this._subRefreshTimeouts[s]),delete this._subRefreshTimeouts[s])}},{key:"_subRefreshError",value:function(s,a){var A=this;this._debug("subscription refresh error",s,a),this._clearSubRefreshTimeout(s);var h=this._getSub(s);if(h!==null){var E=Math.round(Math.random()*1e3),_=setTimeout(function(){return A._subRefresh(s)},this._config.subRefreshInterval+E);this._subRefreshTimeouts[s]=_}}},{key:"_subRefreshResponse",value:function(s,a){var A=this;this._debug("subscription refresh success",s),this._clearSubRefreshTimeout(s);var h=this._getSub(s);if(h!==null&&a.expires===!0){var E=setTimeout(function(){return A._subRefresh(s)},this._getTTLMilliseconds(a.ttl));this._subRefreshTimeouts[s]=E}}},{key:"_subscribe",value:function(s,a){var A=this;this._debug("subscribing on",s.channel);var h=s.channel;if(h in this._subs||(this._subs[h]=s),!this.isConnected()){s._setNew();return}s._setSubscribing(a);var E={method:this._methodType.SUBSCRIBE,params:{channel:h}};if(s._subscribeData&&(E.params.data=s._subscribeData),(0,C.startsWith)(h,this._config.privateChannelPrefix))this._isSubscribeBatching?this._privateChannels[h]=!0:(this.startSubscribeBatching(),this._subscribe(s),this.stopSubscribeBatching());else{var _=s._needRecover();if(_===!0){E.params.recover=!0;var T=this._getLastSeq(h),w=this._getLastGen(h);if(T||w)T&&(E.params.seq=T),w&&(E.params.gen=w);else{var O=this._getLastOffset(h);O&&(E.params.offset=O)}var X=this._getLastEpoch(h);X&&(E.params.epoch=X)}this._call(E).then(function(H){A._subscribeResponse(h,_,A._decoder.decodeCommandResult(A._methodType.SUBSCRIBE,H.result)),H.next&&H.next()},function(H){A._subscribeError(h,H.error),H.next&&H.next()})}}},{key:"_unsubscribe",value:function(s){delete this._subs[s.channel],delete this._lastOffset[s.channel],delete this._lastSeq[s.channel],delete this._lastGen[s.channel],this.isConnected()&&this._addMessage({method:this._methodType.UNSUBSCRIBE,params:{channel:s.channel}})}},{key:"_getTTLMilliseconds",value:function(s){return Math.min(s*1e3,2147483647)}},{key:"getSub",value:function(s){return this._getSub(s)}},{key:"_getSub",value:function(s){var a=this._subs[s];return a||null}},{key:"_isServerSub",value:function(s){return this._serverSubs[s]!==void 0}},{key:"_connectResponse",value:function(s,a){var A=this,h=this._reconnecting;if(this._reconnecting=!1,this._resetRetry(),this._refreshRequired=!1,!this.isConnected()){this._latencyStart!==null&&(this._latency=new Date().getTime()-this._latencyStart.getTime(),this._latencyStart=null),this._clientID=s.client,this._setStatus("connected"),this._refreshTimeout&&clearTimeout(this._refreshTimeout),s.expires&&(this._refreshTimeout=setTimeout(function(){return A._refresh()},this._getTTLMilliseconds(s.ttl))),this.startBatching(),this.startSubscribeBatching();for(var E in this._subs)if(this._subs.hasOwnProperty(E)){var _=this._subs[E];_._shouldResubscribe()&&this._subscribe(_,h)}this.stopSubscribeBatching(),this.stopBatching(),this._startPing();var T={client:s.client,transport:this._transportName,latency:this._latency};s.data&&(T.data=s.data),this.emit("connect",T),s.subs&&this._processServerSubs(s.subs)}}},{key:"_processServerSubs",value:function(s){for(var a in s)if(s.hasOwnProperty(a)){var A=s[a],h=this._serverSubs[a]!==void 0,E={channel:a,isResubscribe:h};E=this._expandSubscribeContext(E,A),this.emit("subscribe",E)}for(var _ in s)if(s.hasOwnProperty(_)){var T=s[_];if(T.recovered){var w=T.publications;if(w&&w.length>0){w.length>1&&(!w[0].offset||w[0].offset>w[1].offset)&&(w=w.reverse());for(var O in w)w.hasOwnProperty(O)&&this._handlePublication(_,w[O])}}this._serverSubs[_]={seq:T.seq,gen:T.gen,offset:T.offset,epoch:T.epoch,recoverable:T.recoverable}}}},{key:"_stopPing",value:function(){this._pongTimeout!==null&&(clearTimeout(this._pongTimeout),this._pongTimeout=null),this._pingTimeout!==null&&(clearTimeout(this._pingTimeout),this._pingTimeout=null)}},{key:"_startPing",value:function(){var s=this;this._config.ping!==!0||this._config.pingInterval<=0||this.isConnected()&&(this._pingTimeout=setTimeout(function(){if(!s.isConnected()){s._stopPing();return}s.ping(),s._pongTimeout=setTimeout(function(){s._disconnect("no ping",!0)},s._config.pongWaitTimeout)},this._config.pingInterval))}},{key:"_restartPing",value:function(){this._stopPing(),this._startPing()}},{key:"_subscribeError",value:function(s,a){var A=this._getSub(s);if(A&&A._isSubscribing()){if(a.code===0&&a.message===J){this._disconnect("timeout",!0);return}A._setSubscribeError(a)}}},{key:"_expandSubscribeContext",value:function(s,a){var A=!1;"recovered"in a&&(A=a.recovered),s.recovered=A;var h=!1;"positioned"in a&&(h=a.positioned);var E="";"epoch"in a&&(E=a.epoch);var _=0;return"offset"in a&&(_=a.offset),h&&(s.streamPosition={offset:_,epoch:E}),a.data&&(s.data=a.data),s}},{key:"_subscribeResponse",value:function(s,a,A){var h=this,E=this._getSub(s);if(E&&E._isSubscribing()){E._setSubscribeSuccess(A);var _=A.publications;if(_&&_.length>0){_.length>=2&&!_[0].offset&&!_[1].offset&&(_=_.reverse());for(var T in _)_.hasOwnProperty(T)&&this._handlePublication(s,_[T])}if(A.recoverable&&(!a||!A.recovered)&&(this._lastSeq[s]=A.seq||0,this._lastGen[s]=A.gen||0,this._lastOffset[s]=A.offset||0),this._lastEpoch[s]=A.epoch||"",A.recoverable&&(E._recoverable=!0),A.expires===!0){var w=setTimeout(function(){return h._subRefresh(s)},this._getTTLMilliseconds(A.ttl));this._subRefreshTimeouts[s]=w}}}},{key:"_handleReply",value:function(s,a){var A=s.id,h=s.result;if(!(A in this._callbacks)){a();return}var E=this._callbacks[A];if(clearTimeout(this._callbacks[A].timeout),delete this._callbacks[A],(0,C.errorExists)(s)){var T=E.errback;if(!T){a();return}var w=s.error;T({error:w,next:a})}else{var _=E.callback;if(!_)return;_({result:h,next:a})}}},{key:"_handleJoin",value:function(s,a){var A={info:a.info},h=this._getSub(s);if(!h){this._isServerSub(s)&&(A.channel=s,this.emit("join",A));return}h.emit("join",A)}},{key:"_handleLeave",value:function(s,a){var A={info:a.info},h=this._getSub(s);if(!h){this._isServerSub(s)&&(A.channel=s,this.emit("leave",A));return}h.emit("leave",A)}},{key:"_handleUnsub",value:function(s,a){var A={},h=this._getSub(s);if(!h){this._isServerSub(s)&&(delete this._serverSubs[s],A.channel=s,this.emit("unsubscribe",A));return}h.unsubscribe(),a.resubscribe===!0&&h.subscribe()}},{key:"_handleSub",value:function(s,a){this._serverSubs[s]={seq:a.seq,gen:a.gen,offset:a.offset,epoch:a.epoch,recoverable:a.recoverable};var A={channel:s,isResubscribe:!1};A=this._expandSubscribeContext(A,a),this.emit("subscribe",A)}},{key:"_handlePublication",value:function(s,a){var A=this._getSub(s),h={data:a.data,seq:a.seq,gen:a.gen,offset:a.offset};if(a.info&&(h.info=a.info),!A){this._isServerSub(s)&&(a.seq!==void 0&&(this._serverSubs[s].seq=a.seq),a.gen!==void 0&&(this._serverSubs[s].gen=a.gen),a.offset!==void 0&&(this._serverSubs[s].offset=a.offset),h.channel=s,this.emit("publish",h));return}a.seq!==void 0&&(this._lastSeq[s]=a.seq),a.gen!==void 0&&(this._lastGen[s]=a.gen),a.offset!==void 0&&(this._lastOffset[s]=a.offset),A.emit("publish",h)}},{key:"_handleMessage",value:function(s){this.emit("message",s.data)}},{key:"_handlePush",value:function(s,a){var A=this._decoder.decodePush(s),h=0;"type"in A&&(h=A.type);var E=A.channel;if(h===this._pushType.PUBLICATION){var _=this._decoder.decodePushData(this._pushType.PUBLICATION,A.data);this._handlePublication(E,_)}else if(h===this._pushType.MESSAGE){var T=this._decoder.decodePushData(this._pushType.MESSAGE,A.data);this._handleMessage(T)}else if(h===this._pushType.JOIN){var w=this._decoder.decodePushData(this._pushType.JOIN,A.data);this._handleJoin(E,w)}else if(h===this._pushType.LEAVE){var O=this._decoder.decodePushData(this._pushType.LEAVE,A.data);this._handleLeave(E,O)}else if(h===this._pushType.UNSUBSCRIBE){var X=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,A.data);this._handleUnsub(E,X)}else if(h===this._pushType.SUBSCRIBE){var H=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,A.data);this._handleSub(E,H)}a()}},{key:"_flush",value:function(){var s=this._messages.slice(0);this._messages=[],this._transportSend(s)}},{key:"_ping",value:function(){var s=this,a={method:this._methodType.PING};this._call(a).then(function(A){s._pingResponse(s._decoder.decodeCommandResult(s._methodType.PING,A.result)),A.next&&A.next()},function(A){s._debug("ping error",A.error),A.next&&A.next()})}},{key:"_pingResponse",value:function(s){this.isConnected()&&(this._stopPing(),this._startPing())}},{key:"_getLastSeq",value:function(s){var a=this._lastSeq[s];return a||0}},{key:"_getLastOffset",value:function(s){var a=this._lastOffset[s];return a||0}},{key:"_getLastGen",value:function(s){var a=this._lastGen[s];return a||0}},{key:"_getLastEpoch",value:function(s){var a=this._lastEpoch[s];return a||""}},{key:"_createErrorObject",value:function(s,a){var A={message:s,code:a||0};return A}},{key:"_registerCall",value:function(s,a,A){var h=this;this._callbacks[s]={callback:a,errback:A,timeout:null},this._callbacks[s].timeout=setTimeout(function(){delete h._callbacks[s],(0,C.isFunction)(A)&&A({error:h._createErrorObject(J)})},this._config.timeout)}},{key:"_addMessage",value:function(s){var a=this._nextMessageId();return s.id=a,this._isBatching===!0?this._messages.push(s):this._transportSend([s]),a}},{key:"isConnected",value:function(){return this._isConnected()}},{key:"connect",value:function(){this._connect()}},{key:"disconnect",value:function(){this._disconnect("client",!1)}},{key:"ping",value:function(){return this._ping()}},{key:"startBatching",value:function(){this._isBatching=!0}},{key:"stopBatching",value:function(){this._isBatching=!1,this._flush()}},{key:"startSubscribeBatching",value:function(){this._isSubscribeBatching=!0}},{key:"stopSubscribeBatching",value:function(){var s=this;this._isSubscribeBatching=!1;var a=this._privateChannels;this._privateChannels={};var A=[];for(var h in a)if(a.hasOwnProperty(h)){var E=this._getSub(h);if(!E)continue;A.push(h)}if(A.length===0){this._debug("no private channels found, no need to make request");return}var _={client:this._clientID,channels:A},T=this._clientID,w=this._newXHRID(),O=function(x){if(w in s._xhrs&&delete s._xhrs[w],s._clientID===T){if(x.error||x.status!==200){s._debug("authorization request failed");for(var Se in A)if(A.hasOwnProperty(Se)){var zt=A[Se];s._subscribeError(zt,s._createErrorObject("authorization request failed"))}return}var yt={};if(x.data.channels)for(var ie in x.data.channels){var Kt=x.data.channels[ie];Kt.channel&&(yt[Kt.channel]=Kt.token)}var Er=!1;s._isBatching||(s.startBatching(),Er=!0);for(var vr in A)if(A.hasOwnProperty(vr)){var sa=(function(){var te=A[vr],Ir=yt[te];if(Ir){var _e={method:s._methodType.SUBSCRIBE,params:{channel:te,token:Ir}},Br=s._getSub(te);if(Br===null)return"continue";var Sr=Br._needRecover();if(Sr===!0){_e.params.recover=!0;var Gt=s._getLastSeq(te),Wt=s._getLastGen(te);if(Gt||Wt)Gt&&(_e.params.seq=Gt),Wt&&(_e.params.gen=Wt);else{var _r=s._getLastOffset(te);_r&&(_e.params.offset=_r)}var Qr=s._getLastEpoch(te);Qr&&(_e.params.epoch=Qr)}s._call(_e).then(function(me){s._subscribeResponse(te,Sr,s._decoder.decodeCommandResult(s._methodType.SUBSCRIBE,me.result)),me.next&&me.next()},function(me){s._subscribeError(te,me.error),me.next&&me.next()})}else return s._subscribeError(te,s._createErrorObject("permission denied",103)),"continue"})();if(sa==="continue")continue}Er&&s.stopBatching()}};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:_},O);else{var X=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,_,O);this._xhrs[w]=X}}},{key:"_setSubscribeSince",value:function(s,a){this._lastOffset[s.channel]=a.offset,this._lastEpoch[s.channel]=a.epoch,s._setNeedRecover(!0)}},{key:"subscribe",value:function(s,a,A){var h=this._getSub(s);if(h!==null)return h._setEvents(a),h._isUnsubscribed()&&h.subscribe(A),h;var E=new y.default(this,s,a);return this._subs[s]=E,E.subscribe(A),E}}]),b})(f.default);u.Centrifuge=I}),579:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var f=l(382),y=f.Centrifuge;u.default=y,c.exports=u.default}),147:(function(c,u){Object.defineProperty(u,"__esModule",{value:!0}),u.JsonPushType=u.JsonMethodType=u.JsonEncoder=u.JsonDecoder=void 0;function l(Q,S){if(!(Q instanceof S))throw new TypeError("Cannot call a class as a function")}function f(Q,S){for(var P=0;P<S.length;P++){var k=S[P];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(Q,k.key,k)}}function y(Q,S,P){return S&&f(Q.prototype,S),Q}var m={CONNECT:0,SUBSCRIBE:1,UNSUBSCRIBE:2,PUBLISH:3,PRESENCE:4,PRESENCE_STATS:5,HISTORY:6,PING:7,SEND:8,RPC:9,REFRESH:10,SUB_REFRESH:11};u.JsonMethodType=m;var C={PUBLICATION:0,JOIN:1,LEAVE:2,UNSUBSCRIBE:3,MESSAGE:4,SUBSCRIBE:5};u.JsonPushType=C;var v=(function(){function Q(){l(this,Q)}return y(Q,[{key:"encodeCommands",value:function(P){return P.map(function(k){return JSON.stringify(k)}).join(`
3
+ `)}}]),Q})();u.JsonEncoder=v;var B=(function(){function Q(){l(this,Q)}return y(Q,[{key:"decodeReplies",value:function(P){return P.split(`
4
+ `).filter(function(k){return k!==""}).map(function(k){return JSON.parse(k)})}},{key:"decodeCommandResult",value:function(P,k){return k}},{key:"decodePush",value:function(P){return P}},{key:"decodePushData",value:function(P,k){return k}}]),Q})();u.JsonDecoder=B}),471:(function(c,u,l){function f(p){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?f=function(d){return typeof d}:f=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},f(p)}Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var y=C(l(187)),m=l(853);function C(p){return p&&p.__esModule?p:{default:p}}function v(p,b){if(!(p instanceof b))throw new TypeError("Cannot call a class as a function")}function B(p,b){for(var d=0;d<b.length;d++){var s=b[d];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(p,s.key,s)}}function Q(p,b,d){return b&&B(p.prototype,b),p}function S(p,b){if(typeof b!="function"&&b!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(b&&b.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),b&&P(p,b)}function P(p,b){return P=Object.setPrototypeOf||function(s,a){return s.__proto__=a,s},P(p,b)}function k(p){var b=z();return function(){var s=D(p),a;if(b){var A=D(this).constructor;a=Reflect.construct(s,arguments,A)}else a=s.apply(this,arguments);return L(this,a)}}function L(p,b){if(b&&(f(b)==="object"||typeof b=="function"))return b;if(b!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return R(p)}function R(p){if(p===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p}function z(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function D(p){return D=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},D(p)}var G=0,K=1,J=2,M=3,I=4,g=(function(p){S(d,p);var b=k(d);function d(s,a,A){var h;return v(this,d),h=b.call(this),h.channel=a,h._centrifuge=s,h._status=G,h._error=null,h._isResubscribe=!1,h._ready=!1,h._subscriptionPromise=null,h._noResubscribe=!1,h._recoverable=!1,h._recover=!1,h._setEvents(A),h._initializePromise(),h._promises={},h._promiseId=0,h._subscribeData=null,h.on("error",function(E){this._centrifuge._debug("subscription error",E)}),h}return Q(d,[{key:"_nextPromiseId",value:function(){return++this._promiseId}},{key:"_initializePromise",value:function(){var a=this;this._ready=!1,this._subscriptionPromise=new Promise(function(A,h){a._resolve=function(E){a._ready=!0,A(E)},a._reject=function(E){a._ready=!0,h(E)}}).then(function(){},function(){})}},{key:"_setNeedRecover",value:function(a){this._recoverable=a,this._recover=a}},{key:"_needRecover",value:function(){return this._recoverable===!0&&this._recover===!0}},{key:"_setEvents",value:function(a){if(a){if((0,m.isFunction)(a))this.on("publish",a);else if(Object.prototype.toString.call(a)===Object.prototype.toString.call({}))for(var A=["publish","join","leave","unsubscribe","subscribe","error"],h=0,E=A.length;h<E;h++){var _=A[h];_ in a&&this.on(_,a[_])}}}},{key:"_isNew",value:function(){return this._status===G}},{key:"_isUnsubscribed",value:function(){return this._status===I}},{key:"_isSubscribing",value:function(){return this._status===K}},{key:"_isReady",value:function(){return this._status===J||this._status===M}},{key:"_isSuccess",value:function(){return this._status===J}},{key:"_isError",value:function(){return this._status===M}},{key:"_setNew",value:function(){this._status=G}},{key:"_setSubscribing",value:function(a){this._isResubscribe=a||!1,this._ready===!0&&this._initializePromise(),this._status=K}},{key:"_setSubscribeSuccess",value:function(a){if(this._status!==J){this._status=J;var A=this._getSubscribeSuccessContext(a);this._recover=!1,this.emit("subscribe",A),this._resolve(A);for(var h in this._promises)clearTimeout(this._promises[h].timeout),this._promises[h].resolve(),delete this._promises[h]}}},{key:"_setSubscribeError",value:function(a){if(this._status!==M){this._status=M,this._error=a;var A=this._getSubscribeErrorContext();this.emit("error",A),this._reject(A);for(var h in this._promises)clearTimeout(this._promises[h].timeout),this._promises[h].reject(a),delete this._promises[h]}}},{key:"_triggerUnsubscribe",value:function(){this.emit("unsubscribe",{channel:this.channel})}},{key:"_setUnsubscribed",value:function(a){if(this._centrifuge._clearSubRefreshTimeout(this.channel),this._status!==I){var A=this._status===J;this._status=I,a===!0&&(this._recover=!1,this._noResubscribe=!0,delete this._centrifuge._lastSeq[this.channel],delete this._centrifuge._lastGen[this.channel],delete this._centrifuge._lastEpoch[this.channel]),A&&this._triggerUnsubscribe()}}},{key:"_shouldResubscribe",value:function(){return!this._noResubscribe}},{key:"_getSubscribeSuccessContext",value:function(a){var A={channel:this.channel,isResubscribe:this._isResubscribe};return a&&(A=this._centrifuge._expandSubscribeContext(A,a)),A}},{key:"_getSubscribeErrorContext",value:function(){var a=this._error;return a.channel=this.channel,a.isResubscribe=this._isResubscribe,a}},{key:"_setSubscribeData",value:function(a){this._subscribeData=a}},{key:"ready",value:function(a,A){this._ready&&(this._isSuccess()?a(this._getSubscribeSuccessContext()):A(this._getSubscribeErrorContext()))}},{key:"subscribe",value:function(a){this._status!==J&&(a&&a.since&&this._centrifuge._setSubscribeSince(this,a.since),a&&a.data&&this._setSubscribeData(a.data),this._noResubscribe=!1,this._centrifuge._subscribe(this))}},{key:"unsubscribe",value:function(){this._setUnsubscribed(!0),this._centrifuge._unsubscribe(this)}},{key:"_methodCall",value:function(){var a=this;if(this._isSuccess())return Promise.resolve();if(this._isError())return Promise.reject(this._error);var A=new Promise(function(h,E){var _=setTimeout(function(){E({code:0,message:"timeout"})},a._centrifuge._config.timeout);a._promises[a._nextPromiseId()]={timeout:_,resolve:h,reject:E}});return A}},{key:"publish",value:function(a){var A=this;return this._methodCall().then(function(){return A._centrifuge.publish(A.channel,a)})}},{key:"presence",value:function(){var a=this;return this._methodCall().then(function(){return a._centrifuge.presence(a.channel)})}},{key:"presenceStats",value:function(){var a=this;return this._methodCall().then(function(){return a._centrifuge.presenceStats(a.channel)})}},{key:"history",value:function(a){var A=this;return this._methodCall().then(function(){return A._centrifuge.history(A.channel,a)})}}]),d})(y.default);u.default=g,c.exports=u.default}),853:(function(c,u,l){Object.defineProperty(u,"__esModule",{value:!0}),u.backoff=C,u.errorExists=v,u.extend=B,u.isFunction=y,u.log=m,u.startsWith=f;function f(Q,S){return Q.lastIndexOf(S,0)===0}function y(Q){return Q==null?!1:typeof Q=="function"}function m(Q,S){if(l.g.console){var P=l.g.console[Q];y(P)&&P.apply(l.g.console,S)}}function C(Q,S,P){var k=.5*Math.random(),L=Math.min(P,S*Math.pow(2,Q+1));return Math.floor((1-k)*L)}function v(Q){return"error"in Q&&Q.error!==null}function B(Q,S){for(var P in S)S.hasOwnProperty(P)&&(Q[P]=S[P]);return Q}}),187:(function(c){var u=typeof Reflect=="object"?Reflect:null,l=u&&typeof u.apply=="function"?u.apply:function(g,p,b){return Function.prototype.apply.call(g,p,b)},f;u&&typeof u.ownKeys=="function"?f=u.ownKeys:Object.getOwnPropertySymbols?f=function(g){return Object.getOwnPropertyNames(g).concat(Object.getOwnPropertySymbols(g))}:f=function(g){return Object.getOwnPropertyNames(g)};function y(I){console&&console.warn&&console.warn(I)}var m=Number.isNaN||function(g){return g!==g};function C(){C.init.call(this)}c.exports=C,c.exports.once=K,C.EventEmitter=C,C.prototype._events=void 0,C.prototype._eventsCount=0,C.prototype._maxListeners=void 0;var v=10;function B(I){if(typeof I!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof I)}Object.defineProperty(C,"defaultMaxListeners",{enumerable:!0,get:function(){return v},set:function(I){if(typeof I!="number"||I<0||m(I))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+I+".");v=I}}),C.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},C.prototype.setMaxListeners=function(g){if(typeof g!="number"||g<0||m(g))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+g+".");return this._maxListeners=g,this};function Q(I){return I._maxListeners===void 0?C.defaultMaxListeners:I._maxListeners}C.prototype.getMaxListeners=function(){return Q(this)},C.prototype.emit=function(g){for(var p=[],b=1;b<arguments.length;b++)p.push(arguments[b]);var d=g==="error",s=this._events;if(s!==void 0)d=d&&s.error===void 0;else if(!d)return!1;if(d){var a;if(p.length>0&&(a=p[0]),a instanceof Error)throw a;var A=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw A.context=a,A}var h=s[g];if(h===void 0)return!1;if(typeof h=="function")l(h,this,p);else for(var E=h.length,_=z(h,E),b=0;b<E;++b)l(_[b],this,p);return!0};function S(I,g,p,b){var d,s,a;if(B(p),s=I._events,s===void 0?(s=I._events=Object.create(null),I._eventsCount=0):(s.newListener!==void 0&&(I.emit("newListener",g,p.listener?p.listener:p),s=I._events),a=s[g]),a===void 0)a=s[g]=p,++I._eventsCount;else if(typeof a=="function"?a=s[g]=b?[p,a]:[a,p]:b?a.unshift(p):a.push(p),d=Q(I),d>0&&a.length>d&&!a.warned){a.warned=!0;var A=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(g)+" listeners added. Use emitter.setMaxListeners() to increase limit");A.name="MaxListenersExceededWarning",A.emitter=I,A.type=g,A.count=a.length,y(A)}return I}C.prototype.addListener=function(g,p){return S(this,g,p,!1)},C.prototype.on=C.prototype.addListener,C.prototype.prependListener=function(g,p){return S(this,g,p,!0)};function P(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function k(I,g,p){var b={fired:!1,wrapFn:void 0,target:I,type:g,listener:p},d=P.bind(b);return d.listener=p,b.wrapFn=d,d}C.prototype.once=function(g,p){return B(p),this.on(g,k(this,g,p)),this},C.prototype.prependOnceListener=function(g,p){return B(p),this.prependListener(g,k(this,g,p)),this},C.prototype.removeListener=function(g,p){var b,d,s,a,A;if(B(p),d=this._events,d===void 0)return this;if(b=d[g],b===void 0)return this;if(b===p||b.listener===p)--this._eventsCount===0?this._events=Object.create(null):(delete d[g],d.removeListener&&this.emit("removeListener",g,b.listener||p));else if(typeof b!="function"){for(s=-1,a=b.length-1;a>=0;a--)if(b[a]===p||b[a].listener===p){A=b[a].listener,s=a;break}if(s<0)return this;s===0?b.shift():D(b,s),b.length===1&&(d[g]=b[0]),d.removeListener!==void 0&&this.emit("removeListener",g,A||p)}return this},C.prototype.off=C.prototype.removeListener,C.prototype.removeAllListeners=function(g){var p,b,d;if(b=this._events,b===void 0)return this;if(b.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):b[g]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete b[g]),this;if(arguments.length===0){var s=Object.keys(b),a;for(d=0;d<s.length;++d)a=s[d],a!=="removeListener"&&this.removeAllListeners(a);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(p=b[g],typeof p=="function")this.removeListener(g,p);else if(p!==void 0)for(d=p.length-1;d>=0;d--)this.removeListener(g,p[d]);return this};function L(I,g,p){var b=I._events;if(b===void 0)return[];var d=b[g];return d===void 0?[]:typeof d=="function"?p?[d.listener||d]:[d]:p?G(d):z(d,d.length)}C.prototype.listeners=function(g){return L(this,g,!0)},C.prototype.rawListeners=function(g){return L(this,g,!1)},C.listenerCount=function(I,g){return typeof I.listenerCount=="function"?I.listenerCount(g):R.call(I,g)},C.prototype.listenerCount=R;function R(I){var g=this._events;if(g!==void 0){var p=g[I];if(typeof p=="function")return 1;if(p!==void 0)return p.length}return 0}C.prototype.eventNames=function(){return this._eventsCount>0?f(this._events):[]};function z(I,g){for(var p=new Array(g),b=0;b<g;++b)p[b]=I[b];return p}function D(I,g){for(;g+1<I.length;g++)I[g]=I[g+1];I.pop()}function G(I){for(var g=new Array(I.length),p=0;p<g.length;++p)g[p]=I[p].listener||I[p];return g}function K(I,g){return new Promise(function(p,b){function d(a){I.removeListener(g,s),b(a)}function s(){typeof I.removeListener=="function"&&I.removeListener("error",d),p([].slice.call(arguments))}M(I,g,s,{once:!0}),g!=="error"&&J(I,d,{once:!0})})}function J(I,g,p){typeof I.on=="function"&&M(I,"error",g,p)}function M(I,g,p,b){if(typeof I.on=="function")b.once?I.once(g,p):I.on(g,p);else if(typeof I.addEventListener=="function")I.addEventListener(g,function d(s){b.once&&I.removeEventListener(g,d),p(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof I)}})},r={};function o(c){var u=r[c];if(u!==void 0)return u.exports;var l=r[c]={exports:{}};return n[c](l,l.exports,o),l.exports}(function(){o.g=(function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}})()})();var i=o(579);return i})()})})(He)),He.exports}var Nr=Or();const Dr=Rr(Nr);let je=null;function tn(e,t){if(!(e!=null&&e.client_url)||!(e!=null&&e.token)||!(e!=null&&e.channel))return console.error("[Centrifuge] Invalid socket_connections"),null;const{client_url:n,token:r,channel:o}=e;if(o.includes("#")||console.warn("[Centrifuge] Channel should contain #user_id"),je){try{console.log("[Centrifuge] Disconnecting previous instance..."),je.disconnect()}catch(c){console.error("[Centrifuge] Error while disconnecting previous instance:",c)}je=null}console.log("[Centrifuge] Creating new instance:",n);const i=new Dr(n);return i.setToken(r),i.on("connect",c=>{console.log("[Centrifuge] Connected",c),console.log("[Centrifuge] Subscribing to channel:",o);const u=i.subscribe(o);u.on("publish",l=>{console.log("[Centrifuge] Publish event received:",l);const f=Mr(l);f&&t(f)}),u.on("subscribe",l=>{console.log("[Centrifuge] ✅ Channel subscribed successfully:",o,l)}),u.on("error",l=>{console.error("[Centrifuge] ❌ Subscription error:",l)}),u.on("unsubscribe",l=>{console.log("[Centrifuge] Channel unsubscribed:",l)})}),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(),je=i,{centrifuge:i}}function Mr(e){var n,r,o;if(console.log("[Centrifuge] Raw message received:",JSON.stringify(e)),!(e!=null&&e.data))return console.warn("[Centrifuge] Empty or invalid response"),null;let t=e.data;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)}function Je(e){return/^4[0-9]/.test(e)?"visa":/^5[1-5]/.test(e)||/^2[2-7]/.test(e)?"mastercard":"card"}const Ae={iconType:"kaspi_pay",label:"Kaspi.kz",type:"kaspi_pay"},nn={iconType:"apple_pay",label:"Apple Pay",type:"apple_pay"},rn={iconType:"google_pay",label:"Google Pay",type:"google_pay"};function $(e){return e==="enabled"||e===!0}function on(e){if(!e)return null;let t=String(e).trim().toLowerCase();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}function xr(e){var i,c,u;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);if(!n)return null;if(typeof n=="string")return{type:on(n),cardId:null};if(typeof n!="object")return null;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;return{type:on(r),cardId:o!=null?String(o):null}}function Ur(e,t,n={}){var S,P,k,L;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=((L=(k=e==null?void 0:e.payment_methods)==null?void 0:k.data)==null?void 0:L.attributes)||{},u=$(c.payment_method_kaspi),l=$(c.payment_method_card),f=typeof window<"u"&&window.self===window.top,m=mt()==="ios",C=!!(n!=null&&n.onlyKaspiAvailable),v=!!(n!=null&&n.disableKaspi);return o!=null&&o.isKaspiOnly&&u&&!v?[Ae]:C?o!=null&&o.isAvailable&&u&&!v?[Ae]:[]:($(c.payment_method_apple_pay)&&!Xe("apple_pay")&&(Ue()&&f||Fe()||m||$t()===16)&&r.push(nn),o!=null&&o.isAvailable&&u&&!v&&r.push(Ae),l&&i.filter(R=>!R.isExpired).forEach(R=>{r.push({iconType:Je(R.attributes.mask),type:"card",cardId:R.id,label:`•••• ${R.attributes.mask.slice(-4)}`,cardType:R.type,isDefault:R.attributes.isDefault})}),$(c.payment_method_google_pay)&&!Xe("google_pay")&&!(n!=null&&n.disableGooglePay)&&!Ue()&&!Fe()&&r.push(rn),$(c.payment_method_new_card)&&r.push({iconType:"new_card",type:"new_card",label:t?t("newCard"):"Оплата новой картой"}),r)}function Ct(e,t={}){var Q,S,P,k;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=$(o.payment_method_kaspi),c=$(o.payment_method_card),u=!!(t!=null&&t.disableKaspi),l=typeof window<"u"&&window.self===window.top,y=mt()==="ios",m=$(o.payment_method_apple_pay)&&!Xe("apple_pay")&&(Ue()&&l||Fe()||y||$t()===16),C=$(o.payment_method_google_pay)&&!Xe("google_pay")&&!(t!=null&&t.disableGooglePay)&&!Ue()&&!Fe();if(n!=null&&n.isKaspiOnly&&i&&!u||t!=null&&t.onlyKaspiAvailable&&(n!=null&&n.isAvailable)&&i&&!u)return Ae;const v=xr(e);if((v==null?void 0:v.type)==="kaspi_pay"&&(n!=null&&n.isAvailable)&&i&&!u)return Ae;if((v==null?void 0:v.type)==="apple_pay"&&m)return nn;if((v==null?void 0:v.type)==="google_pay"&&C)return rn;if((v==null?void 0:v.type)==="new_card"&&$(o.payment_method_new_card))return{iconType:"new_card",type:"new_card",label:"Оплата новой картой"};if((v==null?void 0:v.type)==="card"&&c){const L=v.cardId!=null?r.find(R=>!R.isExpired&&String(R.id)===v.cardId):null;if(L)return{iconType:Je(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(c){const L=r.find(R=>{var z;return((z=R.attributes)==null?void 0:z.isDefault)&&!R.isExpired});if(L)return{iconType:Je(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(n!=null&&n.isAvailable&&i&&!u)return Ae;const B=c?r.find(L=>!L.isExpired):null;return B?{iconType:Je(B.attributes.mask),type:"card",cardId:B.id,label:`••••${B.attributes.mask.slice(-4)}`,cardType:B.type}:null}function bt(e){if(typeof localStorage>"u")return null;try{return localStorage.getItem(e)}catch{return null}}function qe(e,t){if(!(typeof localStorage>"u"))try{localStorage.setItem(e,t)}catch{}}function Ce(e){if(!(typeof localStorage>"u"))try{localStorage.removeItem(e)}catch{}}function ne(e){return e?{"X-Country":e}:{}}async function Fr(e,t){var n;try{const r=await e.json(),o=(n=r==null?void 0:r.errors)==null?void 0:n[0];return(o==null?void 0:o.title)||(o==null?void 0:o.detail)||(r==null?void 0:r.message)||(r==null?void 0:r.error)||t}catch{return`HTTP ${e.status}: ${e.statusText}`}}async function ae(e,t){const n=await Fr(e,t);throw Object.assign(new Error(n),{status:e.status})}function ze(e,t,n={}){const r=Number.isFinite(n.checkoutAmount)&&n.checkoutAmount>=0?Number(n.checkoutAmount):e.amount,o=!!n.forceBalanceMethod,i=!!n.useBalance,c=n.voucher;return{checkoutAmount:r,checkoutPaymentMethod:o?{type:"balance"}:t,useBalanceFlag:i,voucher:c}}function Ke(e,t,n,r,o){return{preorder_id:e.preorderId,terminal_id:e.terminalId,merchant_order_id:e.merchantOrderId,money:{amount:String(n),currency:e.currency},payment_method:t,...e.backlink&&{backlink:e.backlink},...r&&{use_balance:!0},...o&&{voucher:o},...e.isFridge&&{is_fridge:!0}}}async function Ge(e,t,n,r,o){const i=await fetch(`${e}/orders/v1/checkout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,"X-Idempotency-Key":t.idempotencyKey??xe(),"X-Device-Id":n,"X-OS":"WEB",...ne(t.country)},body:JSON.stringify(r)});return i.ok||await ae(i,o),i.json()}async function sn(e,t,n,r){var f,y,m,C,v,B;const o=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json","X-Idempotency-Key":xe(),"X-Fingerprint":Zt(),...ne(r)},body:JSON.stringify({client_id:t,grant_type:"authorization_track_id",track_id:n})});o.ok||await ae(o,"Не удалось авторизоваться через track_id");const i=await o.json(),c=(i==null?void 0:i.access_token)??((y=(f=i==null?void 0:i.data)==null?void 0:f.attributes)==null?void 0:y.access_token),u=(i==null?void 0:i.refresh_token)??((C=(m=i==null?void 0:i.data)==null?void 0:m.attributes)==null?void 0:C.refresh_token)??null,l=Number((i==null?void 0:i.expires_in)??((B=(v=i==null?void 0:i.data)==null?void 0:v.attributes)==null?void 0:B.expires_in));if(!c)throw new Error("В ответе отсутствует access_token");return{access_token:c,refresh_token:u,expires_in:Number.isFinite(l)&&l>0?l:null}}async function Xr(e,t,n,r){var f,y,m,C,v,B;const o=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json",...ne(r)},body:JSON.stringify({client_id:t,grant_type:"refresh_token",refresh_token:n})});o.ok||await ae(o,"Не удалось обновить токен по refresh_token");const i=await o.json(),c=(i==null?void 0:i.access_token)??((y=(f=i==null?void 0:i.data)==null?void 0:f.attributes)==null?void 0:y.access_token),u=(i==null?void 0:i.refresh_token)??((C=(m=i==null?void 0:i.data)==null?void 0:m.attributes)==null?void 0:C.refresh_token)??null,l=Number((i==null?void 0:i.expires_in)??((B=(v=i==null?void 0:i.data)==null?void 0:v.attributes)==null?void 0:B.expires_in));if(!c)throw new Error("В ответе отсутствует access_token");return{access_token:c,refresh_token:u,expires_in:Number.isFinite(l)&&l>0?l:null}}async function Et(e,t){const n=await fetch(`${e}/orders/v1/checkout/context`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,"X-Idempotency-Key":xe(),...ne(t.country)},body:JSON.stringify({terminal_id:t.terminalId,include:["cards","payment_methods","balance","cashback"],money:{amount:String(t.amount),currency:t.currency}})});return n.ok||await ae(n,"Ошибка получения контекста оплаты"),n.json()}async function Hr(e,t,n){const r=await fetch(`${e}/payment-gateway/v1/cards/${n}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return r.ok||await ae(r,"Не удалось удалить карту"),r.json().catch(()=>({}))}async function jr(e,t,n){const r=await fetch(`${e}/payment-gateway/v1/cards/${n}/mark_as_default`,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return r.ok||await ae(r,"Не удалось отметить карту как основную"),r.json().catch(()=>({}))}async function an(e,t,n){const r=await fetch(`${e}/orders/v1/orders/${n}/status`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});if(!r.ok)throw Object.assign(new Error(`Ошибка проверки статуса заказа: ${r.status} ${r.statusText}`),{status:r.status});const o=await r.json(),i=(o==null?void 0:o.data)??o;return{data:{status:i==null?void 0:i.status,payload:(i==null?void 0:i.payload)??{}}}}async function cn(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=ze(t,{type:r.type,...r.cardId&&{card_id:r.cardId}},o);return Ge(e,t,n,Ke(t,c,i,u,l),"Ошибка создания заказа")}async function Jr(e,t,n,r={}){const{checkoutAmount:o,checkoutPaymentMethod:i,useBalanceFlag:c,voucher:u}=ze(t,{type:"new_card"},r);return Ge(e,t,n,Ke(t,i,o,c,u),"Ошибка создания заказа для новой карты")}async function qr(e,t){const n=await fetch(`${e}/loyalty/v6/coupons/by_terminal/${t.terminalId}/at_payment?order_pay_amount=${t.amount}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)}});return n.ok||await ae(n,"Ошибка получения купонов"),n.json()}async function un(e,t,n){const r=window.location.hostname,o={validationUrl:n,domainName:r};t.merchantName&&(o.merchantName=t.merchantName);const i=await fetch(`${e}/payment-gateway/v1/apple/session`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/vnd.api+json",Authorization:`Bearer ${t.accessToken}`,...ne(t.country)},body:JSON.stringify(o)});return i.ok||await ae(i,"Ошибка получения Apple Pay сессии"),i.json()}async function zr(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=ze(t,{type:"apple_pay",data:r},o);return Ge(e,t,n,Ke(t,c,i,u,l),"Ошибка создания заказа с Apple Pay")}async function ln(e,t,n,r,o={}){const{checkoutAmount:i,checkoutPaymentMethod:c,useBalanceFlag:u,voucher:l}=ze(t,{type:"google_pay",data:r},o);return Ge(e,t,n,Ke(t,c,i,u,l),"Ошибка создания заказа с Google Pay")}function Kr(e){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)?{availableBonus:Number.isFinite(r.availableBonus)?Number(r.availableBonus):0,amount:Number(r.amount),percent:Number(r.percent)}:null;return{preorderId:e.preorderId,trackId:e.trackId,clientId:e.clientId,projectId:e.projectId,terminalId:e.terminalId,merchantOrderId:e.merchantOrderId,amount:e.amount,currency:e.currency||"KZT",environment:e.environment||"production",backlink:e.backlink,onSuccess:e.onSuccess||(()=>{}),onAppliedBonus:e.onAppliedBonus||(()=>{}),onCouponSuppressingCashback:e.onCouponSuppressingCashback||(()=>{}),onError:e.onError||(()=>{}),onCancel:e.onCancel||(()=>{}),onCardDeleted:typeof e.onCardDeleted=="function"?e.onCardDeleted:null,onConfirmPay:typeof e.onConfirmPay=="function"?e.onConfirmPay:null,onPaymentMethodSelected:typeof e.onPaymentMethodSelected=="function"?e.onPaymentMethodSelected:null,onKaspiLink:typeof e.onKaspiLink=="function"?e.onKaspiLink:null,onPayWithGooglePay:typeof e.onPayWithGooglePay=="function"?e.onPayWithGooglePay:null,onUserEvent:typeof e.onUserEvent=="function"?e.onUserEvent:null,onBeforeCheckout:typeof e.onBeforeCheckout=="function"?e.onBeforeCheckout:null,onFreedomLink:typeof e.onFreedomLink=="function"?e.onFreedomLink:null,onRequestNewTrackId:typeof e.onRequestNewTrackId=="function"?e.onRequestNewTrackId:null,idempotencyKey:e.idempotencyKey,country:typeof e.country=="string"&&e.country.trim()||void 0,merchantName:typeof e.merchantName=="string"&&Array.from(e.merchantName.trim()).slice(0,35).join("")||void 0,locale:e.locale||"ru",containerSelector:typeof e.containerSelector=="string"?e.containerSelector.trim():"",color:n||"#2F2F2F",onlyKaspiAvailable:!!e.onlyKaspiAvailable,disableKaspi:!!e.disableKaspi,disableGooglePay:!!e.disableGooglePay,disableUseBalance:!!e.disableUseBalance,isNativeAndroid:!!e.isNativeAndroid,isFridge:!!e.isFridge,bonuses:o}}const U=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,de="8.55.2",j=globalThis;function We(e,t,n){const r=n||j,o=r.__SENTRY__=r.__SENTRY__||{},i=o[de]=o[de]||{};return i[e]||(i[e]=t())}const vt=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Gr="Sentry Logger ",An=["debug","info","warn","error","log","assert","trace"],dn={};function Ye(e){if(!("console"in j))return e();const t=j.console,n={},r=Object.keys(dn);r.forEach(o=>{const i=dn[o];n[o]=t[o],t[o]=i});try{return e()}finally{r.forEach(o=>{t[o]=n[o]})}}function Wr(){let e=!1;const t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return vt?An.forEach(n=>{t[n]=(...r)=>{e&&Ye(()=>{j.console[n](`${Gr}[${n}]:`,...r)})}}):An.forEach(n=>{t[n]=()=>{}}),t}const N=We("logger",Wr),fn=50,be="?",hn=/\(error: (.*)\)/,pn=/captureMessage|captureException/;function Yr(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,o=0)=>{const i=[],c=n.split(`
5
+ `);for(let u=r;u<c.length;u++){const l=c[u];if(l.length>1024)continue;const f=hn.test(l)?l.replace(hn,"$1"):l;if(!f.match(/\S*Error: /)){for(const y of t){const m=y(f);if(m){i.push(m);break}}if(i.length>=fn+o)break}}return Vr(i.slice(o))}}function Vr(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(Ve(t).function||"")&&t.pop(),t.reverse(),pn.test(Ve(t).function||"")&&(t.pop(),pn.test(Ve(t).function||"")&&t.pop()),t.slice(0,fn).map(n=>({...n,filename:n.filename||Ve(t).filename,function:n.function||be}))}function Ve(e){return e[e.length-1]||{}}const It="<anonymous>";function Zr(e){try{return!e||typeof e!="function"?It:e.name||It}catch{return It}}function Bt(){return St(j),j}function St(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||de,t[de]=t[de]||{}}const gn=Object.prototype.toString;function yn(e){switch(gn.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return et(e,Error)}}function Pe(e,t){return gn.call(e)===`[object ${t}]`}function mn(e){return Pe(e,"ErrorEvent")}function Cn(e){return Pe(e,"DOMError")}function $r(e){return Pe(e,"DOMException")}function bn(e){return Pe(e,"String")}function _t(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function eo(e){return e===null||_t(e)||typeof e!="object"&&typeof e!="function"}function Ee(e){return Pe(e,"Object")}function Ze(e){return typeof Event<"u"&&et(e,Event)}function to(e){return typeof Element<"u"&&et(e,Element)}function $e(e){return!!(e&&e.then&&typeof e.then=="function")}function no(e){return Ee(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function et(e,t){try{return e instanceof t}catch{return!1}}function ro(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue))}const oo=j,so=80;function io(e,t={}){if(!e)return"<unknown>";try{let n=e;const r=5,o=[];let i=0,c=0;const u=" > ",l=u.length;let f;const y=Array.isArray(t)?t:t.keyAttrs,m=!Array.isArray(t)&&t.maxStringLength||so;for(;n&&i++<r&&(f=ao(n,y),!(f==="html"||i>1&&c+o.length*l+f.length>=m));)o.push(f),c+=f.length,n=n.parentNode;return o.reverse().join(u)}catch{return"<unknown>"}}function ao(e,t){const n=e,r=[];if(!n||!n.tagName)return"";if(oo.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const o=t&&t.length?t.filter(c=>n.getAttribute(c)).map(c=>[c,n.getAttribute(c)]):null;if(o&&o.length)o.forEach(c=>{r.push(`[${c[0]}="${c[1]}"]`)});else{n.id&&r.push(`#${n.id}`);const c=n.className;if(c&&bn(c)){const u=c.split(/\s+/);for(const l of u)r.push(`.${l}`)}}const i=["aria-label","type","name","title","alt"];for(const c of i){const u=n.getAttribute(c);u&&r.push(`[${c}="${u}"]`)}return r.join("")}function we(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function En(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{vt&&N.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function vn(e){if(yn(e))return{message:e.message,name:e.name,stack:e.stack,...Bn(e)};if(Ze(e)){const t={type:e.type,target:In(e.target),currentTarget:In(e.currentTarget),...Bn(e)};return typeof CustomEvent<"u"&&et(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function In(e){try{return to(e)?io(e):Object.prototype.toString.call(e)}catch{return"<unknown>"}}function Bn(e){if(typeof e=="object"&&e!==null){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function co(e,t=40){const n=Object.keys(vn(e));n.sort();const r=n[0];if(!r)return"[object has no keys]";if(r.length>=t)return we(r,t);for(let o=n.length;o>0;o--){const i=n.slice(0,o).join(", ");if(!(i.length>t))return o===n.length?i:we(i,t)}return""}function Y(e){return Qt(e,new Map)}function Qt(e,t){if(uo(e)){const n=t.get(e);if(n!==void 0)return n;const r={};t.set(e,r);for(const o of Object.getOwnPropertyNames(e))typeof e[o]<"u"&&(r[o]=Qt(e[o],t));return r}if(Array.isArray(e)){const n=t.get(e);if(n!==void 0)return n;const r=[];return t.set(e,r),e.forEach(o=>{r.push(Qt(o,t))}),r}return e}function uo(e){if(!Ee(e))return!1;try{const t=Object.getPrototypeOf(e).constructor.name;return!t||t==="Object"}catch{return!0}}const Sn=1e3;function tt(){return Date.now()/Sn}function lo(){const{performance:e}=j;if(!e||!e.now)return tt;const t=Date.now()-e.now(),n=e.timeOrigin==null?t:e.timeOrigin;return()=>(n+e.now())/Sn}const _n=lo();(()=>{const{performance:e}=j;if(!e||!e.now)return;const t=3600*1e3,n=e.now(),r=Date.now(),o=e.timeOrigin?Math.abs(e.timeOrigin+n-r):t,i=o<t,c=e.timing&&e.timing.navigationStart,l=typeof c=="number"?Math.abs(c+n-r):t,f=l<t;return i||f?o<=l?e.timeOrigin:c:r})();function ee(){const e=j,t=e.crypto||e.msCrypto;let n=()=>Math.random()*16;try{if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,"");t&&t.getRandomValues&&(n=()=>{const r=new Uint8Array(1);return t.getRandomValues(r),r[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,r=>(r^(n()&15)>>r/4).toString(16))}function Ao(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function Qn(e,t,n){const r=e.exception=e.exception||{},o=r.values=r.values||[],i=o[0]=o[0]||{};i.value||(i.value=t||""),i.type||(i.type="Error")}function Te(e,t){const n=Ao(e);if(!n)return;const r={type:"generic",handled:!0},o=n.mechanism;if(n.mechanism={...r,...o,...t},t&&"data"in t){const i={...o&&o.data,...t.data};n.mechanism.data=i}}function kn(e){if(fo(e))return!0;try{En(e,"__sentry_captured__",!0)}catch{}return!1}function fo(e){try{return e.__sentry_captured__}catch{}}var re;(function(e){e[e.PENDING=0]="PENDING";const n=1;e[e.RESOLVED=n]="RESOLVED";const r=2;e[e.REJECTED=r]="REJECTED"})(re||(re={}));function fe(e){return new W(t=>{t(e)})}function nt(e){return new W((t,n)=>{n(e)})}class W{constructor(t){W.prototype.__init.call(this),W.prototype.__init2.call(this),W.prototype.__init3.call(this),W.prototype.__init4.call(this),this._state=re.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(n){this._reject(n)}}then(t,n){return new W((r,o)=>{this._handlers.push([!1,i=>{if(!t)r(i);else try{r(t(i))}catch(c){o(c)}},i=>{if(!n)o(i);else try{r(n(i))}catch(c){o(c)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new W((n,r)=>{let o,i;return this.then(c=>{i=!1,o=c,t&&t()},c=>{i=!0,o=c,t&&t()}).then(()=>{if(i){r(o);return}n(o)})})}__init(){this._resolve=t=>{this._setResult(re.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(re.REJECTED,t)}}__init3(){this._setResult=(t,n)=>{if(this._state===re.PENDING){if($e(n)){n.then(this._resolve,this._reject);return}this._state=t,this._value=n,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===re.PENDING)return;const t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===re.RESOLVED&&n[1](this._value),this._state===re.REJECTED&&n[2](this._value),n[0]=!0)})}}}function kt(e,t={}){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||_n(),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:ee()),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)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{const n=e.timestamp-e.started;e.duration=n>=0?n:0}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)}function Pn(){return ee()}function Pt(){return ee().substring(16)}function rt(e,t,n=2){if(!t||typeof t!="object"||n<=0)return t;if(e&&t&&Object.keys(t).length===0)return e;const r={...e};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=rt(r[o],t[o],n-1));return r}const wt="_sentrySpan";function wn(e,t){t?En(e,wt,t):delete e[wt]}function Tn(e){return e[wt]}const ho=100;class Tt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:Pn(),spanId:Pt()}}clone(){const t=new Tt;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),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,wn(t,Tn(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&kt(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this._tags={...this._tags,[t]:n},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const n=typeof t=="function"?t(this):t,[r,o]=n instanceof ce?[n.getScopeData(),n.getRequestSession()]:Ee(n)?[t,t.requestSession]:[],{tags:i,extra:c,user:u,contexts:l,level:f,fingerprint:y=[],propagationContext:m}=r||{};return this._tags={...this._tags,...i},this._extra={...this._extra,...c},this._contexts={...this._contexts,...l},u&&Object.keys(u).length&&(this._user=u),f&&(this._level=f),y.length&&(this._fingerprint=y),m&&(this._propagationContext=m),o&&(this._requestSession=o),this}clear(){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,wn(this,void 0),this._attachments=[],this.setPropagationContext({traceId:Pn()}),this._notifyScopeListeners(),this}addBreadcrumb(t,n){const r=typeof n=="number"?n:ho;if(r<=0)return this;const o={timestamp:tt(),...t};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}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Tn(this)}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=rt(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext={spanId:Pt(),...t},this}getPropagationContext(){return this._propagationContext}captureException(t,n){const r=n&&n.event_id?n.event_id:ee();if(!this._client)return N.warn("No client configured on scope - will not capture exception!"),r;const o=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:o,...n,event_id:r},this),r}captureMessage(t,n,r){const o=r&&r.event_id?r.event_id:ee();if(!this._client)return N.warn("No client configured on scope - will not capture message!"),o;const i=new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:i,...r,event_id:o},this),o}captureEvent(t,n){const r=n&&n.event_id?n.event_id:ee();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(N.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}}const ce=Tt;function po(){return We("defaultCurrentScope",()=>new ce)}function go(){return We("defaultIsolationScope",()=>new ce)}class yo{constructor(t,n){let r;t?r=t:r=new ce;let o;n?o=n:o=new ce,this._stack=[{scope:r}],this._isolationScope=o}withScope(t){const n=this._pushScope();let r;try{r=t(n)}catch(o){throw this._popScope(),o}return $e(r)?r.then(o=>(this._popScope(),o),o=>{throw this._popScope(),o}):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function ve(){const e=Bt(),t=St(e);return t.stack=t.stack||new yo(po(),go())}function mo(e){return ve().withScope(e)}function Co(e,t){const n=ve();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function Rn(e){return ve().withScope(()=>e(ve().getIsolationScope()))}function bo(){return{withIsolationScope:Rn,withScope:mo,withSetScope:Co,withSetIsolationScope:(e,t)=>Rn(t),getCurrentScope:()=>ve().getScope(),getIsolationScope:()=>ve().getIsolationScope()}}function Ln(e){const t=St(e);return t.acs?t.acs:bo()}function On(){const e=Bt();return Ln(e).getCurrentScope()}function Eo(){const e=Bt();return Ln(e).getIsolationScope()}function vo(){return We("globalScope",()=>new ce)}function Rt(){return On().getClient()}function Io(e){const t=e.getPropagationContext(),{traceId:n,spanId:r,parentSpanId:o}=t;return Y({trace_id:n,span_id:r,parent_span_id:o})}const Bo="_sentryMetrics";function So(e){const t=e[Bo];if(!t)return;const n={};for(const[,[r,o]]of t)(n[r]||(n[r]=[])).push(Y(o));return n}const _o="sentry.source",Qo="sentry.sample_rate",ko="sentry.op",Po="sentry.origin",wo=0,To=1,Ro="sentry-",Lo=/^sentry-/;function Oo(e){const t=No(e);if(!t)return;const n=Object.entries(t).reduce((r,[o,i])=>{if(o.match(Lo)){const c=o.slice(Ro.length);r[c]=i}return r},{});if(Object.keys(n).length>0)return n}function No(e){if(!(!e||!bn(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,n)=>{const r=Nn(n);return Object.entries(r).forEach(([o,i])=>{t[o]=i}),t},{}):Nn(e)}function Nn(e){return e.split(",").map(t=>t.split("=").map(n=>decodeURIComponent(n.trim()))).reduce((t,[n,r])=>(n&&r&&(t[n]=r),t),{})}const Do=1;let Dn=!1;function Mo(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),o=r?t:Lt(e).parent_span_id,i=r?Pt():t;return Y({parent_span_id:o,span_id:i,trace_id:n})}function Mn(e){return typeof e=="number"?xn(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?xn(e.getTime()):_n()}function xn(e){return e>9999999999?e/1e3:e}function Lt(e){if(Uo(e))return e.getSpanJSON();try{const{spanId:t,traceId:n}=e.spanContext();if(xo(e)){const{attributes:r,startTime:o,name:i,endTime:c,parentSpanId:u,status:l}=e;return Y({span_id:t,trace_id:n,data:r,description:i,parent_span_id:u,start_timestamp:Mn(o),timestamp:Mn(c)||void 0,status:Xo(l),op:r[ko],origin:r[Po],_metrics_summary:So(e)})}return{span_id:t,trace_id:n}}catch{return{}}}function xo(e){const t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Uo(e){return typeof e.getSpanJSON=="function"}function Fo(e){const{traceFlags:t}=e.spanContext();return t===Do}function Xo(e){if(!(!e||e.code===wo))return e.code===To?"ok":e.message||"unknown_error"}const Ho="_sentryRootSpan";function Un(e){return e[Ho]||e}function jo(){Dn||(Ye(()=>{console.warn("[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.")}),Dn=!0)}function Jo(e){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const t=Rt(),n=t&&t.getOptions();return!!n&&(n.enableTracing||"tracesSampleRate"in n||"tracesSampler"in n)}const Fn="production",qo="_frozenDsc";function Xn(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},o=Y({environment:n.environment||Fn,release:n.release,public_key:r,trace_id:e});return t.emit("createDsc",o),o}function zo(e,t){const n=t.getPropagationContext();return n.dsc||Xn(n.traceId,e)}function Ko(e){const t=Rt();if(!t)return{};const n=Un(e),r=n[qo];if(r)return r;const o=n.spanContext().traceState,i=o&&o.get("sentry.dsc"),c=i&&Oo(i);if(c)return c;const u=Xn(e.spanContext().traceId,t),l=Lt(n),f=l.data||{},y=f[Qo];y!=null&&(u.sample_rate=`${y}`);const m=f[_o],C=l.description;return m!=="url"&&C&&(u.transaction=C),Jo()&&(u.sampled=String(Fo(n))),t.emit("createDsc",u,n),u}function Go(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){U&&N.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}const Wo=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Yo(e){return e==="http"||e==="https"}function ot(e,t=!1){const{host:n,path:r,pass:o,port:i,projectId:c,protocol:u,publicKey:l}=e;return`${u}://${l}${t&&o?`:${o}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${c}`}function Vo(e){const t=Wo.exec(e);if(!t){Ye(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,o="",i="",c="",u=""]=t.slice(1);let l="",f=u;const y=f.split("/");if(y.length>1&&(l=y.slice(0,-1).join("/"),f=y.pop()),f){const m=f.match(/^\d+/);m&&(f=m[0])}return Hn({host:i,pass:o,path:l,projectId:f,port:c,protocol:n,publicKey:r})}function Hn(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function Zo(e){if(!vt)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(c=>e[c]?!1:(N.error(`Invalid Sentry Dsn: ${c} missing`),!0))?!1:n.match(/^\d+$/)?Yo(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)}function $o(e){const t=typeof e=="string"?Vo(e):Hn(e);if(!(!t||!Zo(t)))return t}function es(){const e=typeof WeakSet=="function",t=e?new WeakSet:[];function n(o){if(e)return t.has(o)?!0:(t.add(o),!1);for(let i=0;i<t.length;i++)if(t[i]===o)return!0;return t.push(o),!1}function r(o){if(e)t.delete(o);else for(let i=0;i<t.length;i++)if(t[i]===o){t.splice(i,1);break}}return[n,r]}function oe(e,t=100,n=1/0){try{return Ot("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function jn(e,t=3,n=100*1024){const r=oe(e,t);return os(r)>n?jn(e,t-1,n):r}function Ot(e,t,n=1/0,r=1/0,o=es()){const[i,c]=o;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;const u=ts(e,t);if(!u.startsWith("[object "))return u;if(t.__sentry_skip_normalization__)return t;const l=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(l===0)return u.replace("object ","");if(i(t))return"[Circular ~]";const f=t;if(f&&typeof f.toJSON=="function")try{const v=f.toJSON();return Ot("",v,l-1,r,o)}catch{}const y=Array.isArray(t)?[]:{};let m=0;const C=vn(t);for(const v in C){if(!Object.prototype.hasOwnProperty.call(C,v))continue;if(m>=r){y[v]="[MaxProperties ~]";break}const B=C[v];y[v]=Ot(v,B,l-1,r,o),m++}return c(t),y}function ts(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(ro(t))return"[VueViewModel]";if(no(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${Zr(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;const n=ns(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function ns(e){const t=Object.getPrototypeOf(e);return t?t.constructor.name:"null prototype"}function rs(e){return~-encodeURI(e).split(/%..|./).length}function os(e){return rs(JSON.stringify(e))}function Re(e,t=[]){return[e,t]}function ss(e,t){const[n,r]=e;return[n,[...r,t]]}function Jn(e,t){const n=e[1];for(const r of n){const o=r[0].type;if(t(r,o))return!0}return!1}function Nt(e){return j.__SENTRY__&&j.__SENTRY__.encodePolyfill?j.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function is(e){const[t,n]=e;let r=JSON.stringify(t);function o(i){typeof r=="string"?r=typeof i=="string"?r+i:[Nt(r),i]:r.push(typeof i=="string"?Nt(i):i)}for(const i of n){const[c,u]=i;if(o(`
6
6
  ${JSON.stringify(c)}
7
- `),typeof u=="string"||u instanceof Uint8Array)o(u);else{let l;try{l=JSON.stringify(u)}catch{l=JSON.stringify(oe(u))}o(l)}}return typeof r=="string"?r:ss(r)}function ss(e){const t=e.reduce((o,i)=>o+i.length,0),n=new Uint8Array(t);let r=0;for(const o of e)n.set(o,r),r+=o.length;return n}function is(e){const t=typeof e.data=="string"?Ot(e.data):e.data;return[Y({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}const as={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket",raw_security:"security"};function jn(e){return as[e]}function Jn(e){if(!e||!e.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function cs(e,t,n,r){const o=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:nt(r)},...o&&{trace:Y({...o})}}}function us(e,t){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}function ls(e,t,n,r){const o=Jn(n),i={sent_at:new Date().toISOString(),...o&&{sdk:o},...!!r&&t&&{dsn:nt(t)}},c="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Te(i,[c])}function As(e,t,n,r){const o=Jn(n),i=e.type&&e.type!=="replay_event"?e.type:"event";us(e,n&&n.sdk);const c=cs(e,o,r,t);return delete e.sdkProcessingMetadata,Te(c,[[{type:i},e]])}function Nt(e,t,n,r=0){return new W((o,i)=>{const c=e[r];if(t===null||typeof c!="function")o(t);else{const u=c({...t},n);U&&c.id&&u===null&&N.log(`Event processor "${c.id}" dropped event`),Ve(u)?u.then(l=>Nt(e,l,n,r+1).then(o)).then(null,i):Nt(e,u,n,r+1).then(o).then(null,i)}})}let rt,qn,ot;function ds(e){const t=j._sentryDebugIds;if(!t)return{};const n=Object.keys(t);return ot&&n.length===qn||(qn=n.length,ot=n.reduce((r,o)=>{rt||(rt={});const i=rt[o];if(i)r[i[0]]=i[1];else{const c=e(o);for(let u=c.length-1;u>=0;u--){const l=c[u],h=l&&l.filename,y=t[o];if(h&&y){r[h]=y,rt[o]=[h,y];break}}}return r},{})),ot}function fs(e,t){const{fingerprint:n,span:r,breadcrumbs:o,sdkProcessingMetadata:i}=t;hs(e,t),r&&ys(e,r),ms(e,n),ps(e,o),gs(e,i)}function zn(e,t){const{extra:n,tags:r,user:o,contexts:i,level:c,sdkProcessingMetadata:u,breadcrumbs:l,fingerprint:h,eventProcessors:y,attachments:m,propagationContext:b,transactionName:I,span:B}=t;st(e,"extra",n),st(e,"tags",r),st(e,"user",o),st(e,"contexts",i),e.sdkProcessingMetadata=tt(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}}function st(e,t,n){e[t]=tt(e[t],n,1)}function hs(e,t){const{extra:n,tags:r,user:o,contexts:i,level:c,transactionName:u}=t,l=Y(n);l&&Object.keys(l).length&&(e.extra={...l,...e.extra});const h=Y(r);h&&Object.keys(h).length&&(e.tags={...h,...e.tags});const y=Y(o);y&&Object.keys(y).length&&(e.user={...y,...e.user});const m=Y(i);m&&Object.keys(m).length&&(e.contexts={...m,...e.contexts}),c&&(e.level=c),u&&e.type!=="transaction"&&(e.transaction=u)}function ps(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function gs(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function ys(e,t){e.contexts={trace:No(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:qo(t),...e.sdkProcessingMetadata};const n=Mn(t),r=Rt(n).description;r&&!e.transaction&&e.type==="transaction"&&(e.transaction=r)}function ms(e,t){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}function Cs(e,t,n,r,o,i){const{normalizeDepth:c=3,normalizeMaxBreadth:u=1e3}=e,l={...t,event_id:t.event_id||n.event_id||ee(),timestamp:t.timestamp||$e()},h=n.integrations||e.integrations.map(S=>S.name);bs(l,e),Is(l,h),o&&o.emit("applyFrameMetadata",t),t.type===void 0&&Es(l,e.stackParser);const y=Ss(r,n.captureContext);n.mechanism&&we(l,n.mechanism);const m=o?o.getEventProcessors():[],b=bo().getScopeData();if(i){const S=i.getScopeData();zn(b,S)}if(y){const S=y.getScopeData();zn(b,S)}const I=[...n.attachments||[],...b.attachments];I.length&&(n.attachments=I),fs(l,b);const B=[...m,...b.eventProcessors];return Nt(B,l,n).then(S=>(S&&vs(S),typeof c=="number"&&c>0?Bs(S,c,u):S))}function bs(e,t){const{environment:n,release:r,dist:o,maxValueLength:i=250}=t;e.environment=e.environment||n||xn,!e.release&&r&&(e.release=r),!e.dist&&o&&(e.dist=o),e.message&&(e.message=Pe(e.message,i));const c=e.exception&&e.exception.values&&e.exception.values[0];c&&c.value&&(c.value=Pe(c.value,i));const u=e.request;u&&u.url&&(u.url=Pe(u.url,i))}function Es(e,t){const n=ds(t);try{e.exception.values.forEach(r=>{r.stacktrace.frames.forEach(o=>{n&&o.filename&&(o.debug_id=n[o.filename])})})}catch{}}function vs(e){const t={};try{e.exception.values.forEach(r=>{r.stacktrace.frames.forEach(o=>{o.debug_id&&(o.abs_path?t[o.abs_path]=o.debug_id:o.filename&&(t[o.filename]=o.debug_id),delete o.debug_id)})})}catch{}if(Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([r,o])=>{n.push({type:"sourcemap",code_file:r,debug_id:o})})}function Is(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function Bs(e,t,n){if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(o=>({...o,...o.data&&{data:oe(o.data,t,n)}}))},...e.user&&{user:oe(e.user,t,n)},...e.contexts&&{contexts:oe(e.contexts,t,n)},...e.extra&&{extra:oe(e.extra,t,n)}};return e.contexts&&e.contexts.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=oe(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(o=>({...o,...o.data&&{data:oe(o.data,t,n)}}))),e.contexts&&e.contexts.flags&&r.contexts&&(r.contexts.flags=oe(e.contexts.flags,3,n)),r}function Ss(e,t){if(!t)return e;const n=e?e.clone():new ce;return n.update(t),n}const _s="7";function Qs(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function ks(e){return`${Qs(e)}${e.projectId}/envelope/`}function Ps(e,t){const n={sentry_version:_s};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function ws(e,t,n){return t||`${ks(e)}?${Ps(e,n)}`}const Kn=[];function Ts(e,t){const n={};return t.forEach(r=>{r&&Wn(e,r,n)}),n}function Gn(e,t){for(const n of t)n&&n.afterAllSetup&&n.afterAllSetup(e)}function Wn(e,t,n){if(n[t.name]){U&&N.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,Kn.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),Kn.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(o,i)=>r(o,i,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),o=Object.assign((i,c)=>r(i,c,e),{id:t.name});e.addEventProcessor(o)}U&&N.log(`Integration installed: ${t.name}`)}function Rs(e,t,n){const r=[{type:"client_report"},{timestamp:$e(),discarded_events:e}];return Te(t?{dsn:t}:{},[r])}class V extends Error{constructor(t,n="warn"){super(t),this.message=t,this.logLevel=n}}const Yn="Not capturing exception because it's already been captured.";class Ls{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=Vo(t.dsn):U&&N.warn("No DSN provided, client will not send events."),this._dsn){const o=ws(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:o})}const r=["enableTracing","tracesSampleRate","tracesSampler"].find(o=>o in t&&t[o]==null);r&&Ge(()=>{console.warn(`[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.`)})}captureException(t,n,r){const o=ee();if(_n(t))return U&&N.log(Yn),o;const i={event_id:o,...n};return this._process(this.eventFromException(t,i).then(c=>this._captureEvent(c,i,r))),i.event_id}captureMessage(t,n,r,o){const i={event_id:ee(),...r},c=St(t)?t:String(t),u=Zr(t)?this.eventFromMessage(c,n,i):this.eventFromException(t,i);return this._process(u.then(l=>this._captureEvent(l,i,o))),i.event_id}captureEvent(t,n,r){const o=ee();if(n&&n.originalException&&_n(n.originalException))return U&&N.log(Yn),o;const i={event_id:o,...n},u=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,i,u||r)),i.event_id}captureSession(t){typeof t.release!="string"?U&&N.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),Qt(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){const n=this._transport;return n?(this.emit("flush"),this._isClientDoneProcessing(t).then(r=>n.flush(t).then(o=>r&&o))):fe(!0)}close(t){return this.flush(t).then(n=>(this.getOptions().enabled=!1,this.emit("close"),n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];Wn(this,t,this._integrations),n||Gn(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=As(t,this._dsn,this._options._metadata,this._options.tunnel);for(const i of n.attachments||[])r=rs(r,is(i));const o=this.sendEnvelope(r);o&&o.then(i=>this.emit("afterSendEvent",t,i),null)}sendSession(t){const n=ls(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(n)}recordDroppedEvent(t,n,r){if(this._options.sendClientReports){const o=typeof r=="number"?r:1,i=`${t}:${n}`;U&&N.log(`Recording outcome: "${i}"${o>1?` (${o} times)`:""}`),this._outcomes[i]=(this._outcomes[i]||0)+o}}on(t,n){const r=this._hooks[t]=this._hooks[t]||[];return r.push(n),()=>{const o=r.indexOf(n);o>-1&&r.splice(o,1)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(o=>o(...n))}sendEnvelope(t){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"),fe({}))}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=Ts(this,t),Gn(this,t)}_updateSessionFromEvent(t,n){let r=n.level==="fatal",o=!1;const i=n.exception&&n.exception.values;if(i){o=!0;for(const l of i){const h=l.mechanism;if(h&&h.handled===!1){r=!0;break}}}const c=t.status==="ok";(c&&t.errors===0||c&&r)&&(Qt(t,{...r&&{status:"crashed"},errors:t.errors||Number(o||r)}),this.captureSession(t))}_isClientDoneProcessing(t){return new W(n=>{let r=0;const o=1,i=setInterval(()=>{this._numProcessing==0?(clearInterval(i),n(!0)):(r+=o,t&&r>=t&&(clearInterval(i),n(!1)))},o)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r=Rn(),o=Co()){const i=this.getOptions(),c=Object.keys(this._integrations);return!n.integrations&&c.length>0&&(n.integrations=c),this.emit("preprocessEvent",t,n),t.type||o.setLastEventId(t.event_id||n.event_id),Cs(i,t,n,r,this,o).then(u=>{if(u===null)return u;u.contexts={trace:Eo(r),...u.contexts};const l=Jo(this,r);return u.sdkProcessingMetadata={dynamicSamplingContext:l,...u.sdkProcessingMetadata},u})}_captureEvent(t,n={},r){return this._processEvent(t,n,r).then(o=>o.event_id,o=>{U&&(o instanceof V&&o.logLevel==="log"?N.log(o.message):N.warn(o))})}_processEvent(t,n,r){const o=this.getOptions(),{sampleRate:i}=o,c=Zn(t),u=Vn(t),l=t.type||"error",h=`before send for type \`${l}\``,y=typeof i>"u"?void 0:zo(i);if(u&&typeof y=="number"&&Math.random()>y)return this.recordDroppedEvent("sample_rate","error",t),et(new V(`Discarding event because it's not included in the random sample (sampling rate = ${i})`,"log"));const m=l==="replay_event"?"replay":l,I=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,n,r,I).then(B=>{if(B===null)throw this.recordDroppedEvent("event_processor",m,t),new V("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return B;const S=Ns(this,o,B,n);return Os(S,h)}).then(B=>{if(B===null){if(this.recordDroppedEvent("before_send",m,t),c){const k=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",k)}throw new V(`${h} returned \`null\`, will not send event.`,"log")}const Q=r&&r.getSession();if(!c&&Q&&this._updateSessionFromEvent(Q,B),c){const P=B.sdkProcessingMetadata&&B.sdkProcessingMetadata.spanCountBeforeProcessing||0,k=B.spans?B.spans.length:0,L=P-k;L>0&&this.recordDroppedEvent("before_send","span",L)}const S=B.transaction_info;if(c&&S&&B.transaction!==t.transaction){const P="custom";B.transaction_info={...S,source:P}}return this.sendEvent(B,n),B}).then(null,B=>{throw B instanceof V?B:(this.captureException(B,{data:{__sentry__:!0},originalException:B}),new V(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
8
- Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[o,i]=n.split(":");return{reason:o,category:i,quantity:r}})}_flushOutcomes(){U&&N.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){U&&N.log("No outcomes to send");return}if(!this._dsn){U&&N.log("No dsn provided, will not send outcomes");return}U&&N.log("Sending outcomes:",t);const n=Rs(t,this._options.tunnel&&nt(this._dsn));this.sendEnvelope(n)}}function Os(e,t){const n=`${t} must return \`null\` or a valid event.`;if(Ve(e))return e.then(r=>{if(!Ee(r)&&r!==null)throw new V(n);return r},r=>{throw new V(`${t} rejected with ${r}`)});if(!Ee(e)&&e!==null)throw new V(n);return e}function Ns(e,t,n,r){const{beforeSend:o,beforeSendTransaction:i,beforeSendSpan:c}=t;if(Vn(n)&&o)return o(n,r);if(Zn(n)){if(n.spans&&c){const u=[];for(const l of n.spans){const h=c(l);h?u.push(h):(Xo(),e.recordDroppedEvent("before_send","span"))}n.spans=u}if(i){if(n.spans){const u=n.spans.length;n.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:u}}return i(n,r)}}return n}function Vn(e){return e.type===void 0}function Zn(e){return e.type==="transaction"}function Ds(e){const t=[];function n(){return e===void 0||t.length<e}function r(c){return t.splice(t.indexOf(c),1)[0]||Promise.resolve(void 0)}function o(c){if(!n())return et(new V("Not adding Promise because buffer limit was reached."));const u=c();return t.indexOf(u)===-1&&t.push(u),u.then(()=>r(u)).then(null,()=>r(u).then(null,()=>{})),u}function i(c){return new W((u,l)=>{let h=t.length;if(!h)return u(!0);const y=setTimeout(()=>{c&&c>0&&u(!1)},c);t.forEach(m=>{fe(m).then(()=>{--h||(clearTimeout(y),u(!0))},l)})})}return{$:t,add:o,drain:i}}const Ms=60*1e3;function xs(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?Ms:r-t}function Us(e,t){return e[t]||e.all||0}function Fs(e,t,n=Date.now()){return Us(e,t)>n}function Xs(e,{statusCode:t,headers:n},r=Date.now()){const o={...e},i=n&&n["x-sentry-rate-limits"],c=n&&n["retry-after"];if(i)for(const u of i.trim().split(",")){const[l,h,,,y]=u.split(":",5),m=parseInt(l,10),b=(isNaN(m)?60:m)*1e3;if(!h)o.all=r+b;else for(const I of h.split(";"))I==="metric_bucket"?(!y||y.split(";").includes("custom"))&&(o[I]=r+b):o[I]=r+b}else c?o.all=r+xs(c,r):t===429&&(o.all=r+60*1e3);return o}const Hs=64;function js(e,t,n=Ds(e.bufferSize||Hs)){let r={};const o=c=>n.drain(c);function i(c){const u=[];if(Hn(c,(m,b)=>{const I=jn(b);if(Fs(r,I)){const B=$n(m,b);e.recordDroppedEvent("ratelimit_backoff",I,B)}else u.push(m)}),u.length===0)return fe({});const l=Te(c[0],u),h=m=>{Hn(l,(b,I)=>{const B=$n(b,I);e.recordDroppedEvent(m,jn(I),B)})},y=()=>t({body:os(l)}).then(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=Xs(r,m),m),m=>{throw h("network_error"),m});return n.add(y).then(m=>m,m=>{if(m instanceof V)return U&&N.error("Skipped sending event because buffer is full."),h("queue_overflow"),fe({});throw m})}return{send:i,flush:o}}function $n(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function Js(e,t,n=[t],r="npm"){const o=e._metadata||{};o.sdk||(o.sdk={name:`sentry.javascript.${t}`,packages:n.map(i=>({name:`${r}:@sentry/${i}`,version:de})),version:de}),e._metadata=o}function qs(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function zs(){return"npm"}const it=j,Ks=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function er(e,t){const n=Mt(e,t),r={type:Zs(t),value:$s(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function Gs(e,t,n,r){const o=Tt(),i=o&&o.getOptions().normalizeDepth,c=si(t),u={__serialized__:Xn(t,i)};if(c)return{exception:{values:[er(e,c)]},extra:u};const l={exception:{values:[{type:Ye(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:ri(t,{isUnhandledRejection:r})}]},extra:u};if(n){const h=Mt(e,n);h.length&&(l.exception.values[0].stacktrace={frames:h})}return l}function Dt(e,t){return{exception:{values:[er(e,t)]}}}function Mt(e,t){const n=t.stacktrace||t.stack||"",r=Ys(t),o=Vs(t);try{return e(n,r,o)}catch{}return[]}const Ws=/Minified React error #\d+;/i;function Ys(e){return e&&Ws.test(e.message)?1:0}function Vs(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function tr(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function Zs(e){const t=e&&e.name;return!t&&tr(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function $s(e){const t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:tr(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function ei(e,t,n,r){const o=n&&n.syntheticException||void 0,i=ni(e,t,o,r);return we(i),i.level="error",n&&n.event_id&&(i.event_id=n.event_id),fe(i)}function ti(e,t,n="info",r,o){const i=r&&r.syntheticException||void 0,c=xt(e,t,i,o);return c.level=n,r&&r.event_id&&(c.event_id=r.event_id),fe(c)}function ni(e,t,n,r,o){let i;if(gn(t)&&t.error)return Dt(e,t.error);if(yn(t)||Vr(t)){const c=t;if("stack"in t)i=Dt(e,t);else{const u=c.name||(yn(c)?"DOMError":"DOMException"),l=c.message?`${u}: ${c.message}`:u;i=xt(e,l,n,r),Sn(i,l)}return"code"in c&&(i.tags={...i.tags,"DOMException.code":`${c.code}`}),i}return pn(t)?Dt(e,t):Ee(t)||Ye(t)?(i=Gs(e,t,n,o),we(i,{synthetic:!0}),i):(i=xt(e,t,n,r),Sn(i,`${t}`),we(i,{synthetic:!0}),i)}function xt(e,t,n,r){const o={};if(r&&n){const i=Mt(e,n);i.length&&(o.exception={values:[{value:t,stacktrace:{frames:i}}]}),we(o,{synthetic:!0})}if(St(t)){const{__sentry_template_string__:i,__sentry_template_values__:c}=t;return o.logentry={message:i,params:c},o}return o.message=t,o}function ri(e,{isUnhandledRejection:t}){const n=io(e),r="exception";return gn(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:Ye(e)?`Event \`${oi(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function oi(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function si(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}function ii(e,{metadata:t,tunnel:n,dsn:r}){const o={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:nt(r)}},i=ai(e);return Te(o,[i])}function ai(e){return[{type:"user_report"},e]}class ci extends Ls{constructor(t){const n={parentSpanIsAlwaysRootSpan:!0,...t},r=it.SENTRY_SDK_SOURCE||zs();Js(n,"browser",["browser"],r),super(n),n.sendClientReports&&it.document&&it.document.addEventListener("visibilitychange",()=>{it.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,n){return ei(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return ti(this._options.stackParser,t,n,r,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){Ks&&N.warn("SDK not enabled, will not capture user feedback.");return}const n=ii(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(n)}_prepareEvent(t,n,r){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r)}}const ui=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,at=j,ct={};function li(e){const t=ct[e];if(t)return t;let n=at[e];if(qs(n))return ct[e]=n.bind(at);const r=at.document;if(r&&typeof r.createElement=="function")try{const o=r.createElement("iframe");o.hidden=!0,r.head.appendChild(o);const i=o.contentWindow;i&&i[e]&&(n=i[e]),r.head.removeChild(o)}catch(o){ui&&N.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,o)}return n&&(ct[e]=n.bind(at))}function nr(e){ct[e]=void 0}function Ai(e,t=li("fetch")){let n=0,r=0;function o(i){const c=i.body.length;n+=c,r++;const u={body:i.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};if(!t)return nr("fetch"),et("No fetch implementation available");try{return t(e.url,u).then(l=>(n-=c,r--,{statusCode:l.status,headers:{"x-sentry-rate-limits":l.headers.get("X-Sentry-Rate-Limits"),"retry-after":l.headers.get("Retry-After")}}))}catch(l){return nr("fetch"),n-=c,r--,et(l)}}return js(e,o)}const di=30,fi=50;function Ut(e,t,n,r){const o={filename:e,function:t==="<anonymous>"?be:t,in_app:!0};return n!==void 0&&(o.lineno=n),r!==void 0&&(o.colno=r),o}const hi=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,pi=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,gi=/\((\S*)(?::(\d+))(?::(\d+))\)/,yi=[di,e=>{const t=hi.exec(e);if(t){const[,r,o,i]=t;return Ut(r,be,+o,+i)}const n=pi.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){const c=gi.exec(n[2]);c&&(n[2]=c[1],n[3]=c[2],n[4]=c[3])}const[o,i]=rr(n[1]||be,n[2]);return Ut(i,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}}],mi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Ci=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,bi=Gr(...[yi,[fi,e=>{const t=mi.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=Ci.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],o=t[1]||be;return[o,r]=rr(o,r),Ut(r,o,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}]]),rr=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:be,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},Ei="https://bbed26c9265c425abb56ff9d3728183e@sentry.chocodev.kz/302";let Ft=null;function vi(e){const t=new ci({dsn:Ei,transport:Ai,stackParser:bi,integrations:[],release:"1.1.59",environment:e.environment||"production"}),n=new ce;n.setClient(t),n.setTags(e),t.init(),Ft=n}function se(e,t){Ft&&Ft.captureException(e,t?{captureContext:{extra:t}}:void 0)}function ut(e,t){je("webPayToken",e),t&&je("webPayRefreshToken",t)}function or(){Ce("webPayToken"),Ce("webPayRefreshToken")}async function Ii(e){const t=Ct("webPayRefreshToken");if(t&&e.config.clientId)try{const n=await xr(e.apiUrl,e.config.clientId,t,e.config.country);ut(n.access_token,n.refresh_token),e.accessToken=n.access_token;return}catch{Ce("webPayRefreshToken")}if(!e.config.clientId){e.config.onError({attributes:{message:e.t("errorMissingTrackClient")}});return}if(!e.config.trackId&&typeof e.config.onRequestNewTrackId=="function"&&(e.config.trackId=await e.config.onRequestNewTrackId()),!e.config.trackId){e.config.onError({attributes:{message:e.t("errorMissingTrackClient")}});return}try{const n=await on(e.apiUrl,e.config.clientId,e.config.trackId,e.config.country);ut(n.access_token,n.refresh_token),e.accessToken=n.access_token}catch(n){if(typeof e.config.onRequestNewTrackId=="function"){e.config.trackId=await e.config.onRequestNewTrackId();const r=await on(e.apiUrl,e.config.clientId,e.config.trackId,e.config.country);ut(r.access_token,r.refresh_token),e.accessToken=r.access_token}else throw n}}const Bi={kaspi_pay:`<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
7
+ `),typeof u=="string"||u instanceof Uint8Array)o(u);else{let l;try{l=JSON.stringify(u)}catch{l=JSON.stringify(oe(u))}o(l)}}return typeof r=="string"?r:as(r)}function as(e){const t=e.reduce((o,i)=>o+i.length,0),n=new Uint8Array(t);let r=0;for(const o of e)n.set(o,r),r+=o.length;return n}function cs(e){const t=typeof e.data=="string"?Nt(e.data):e.data;return[Y({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}const us={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket",raw_security:"security"};function qn(e){return us[e]}function zn(e){if(!e||!e.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function ls(e,t,n,r){const o=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:ot(r)},...o&&{trace:Y({...o})}}}function As(e,t){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}function ds(e,t,n,r){const o=zn(n),i={sent_at:new Date().toISOString(),...o&&{sdk:o},...!!r&&t&&{dsn:ot(t)}},c="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Re(i,[c])}function fs(e,t,n,r){const o=zn(n),i=e.type&&e.type!=="replay_event"?e.type:"event";As(e,n&&n.sdk);const c=ls(e,o,r,t);return delete e.sdkProcessingMetadata,Re(c,[[{type:i},e]])}function Dt(e,t,n,r=0){return new W((o,i)=>{const c=e[r];if(t===null||typeof c!="function")o(t);else{const u=c({...t},n);U&&c.id&&u===null&&N.log(`Event processor "${c.id}" dropped event`),$e(u)?u.then(l=>Dt(e,l,n,r+1).then(o)).then(null,i):Dt(e,u,n,r+1).then(o).then(null,i)}})}let st,Kn,it;function hs(e){const t=j._sentryDebugIds;if(!t)return{};const n=Object.keys(t);return it&&n.length===Kn||(Kn=n.length,it=n.reduce((r,o)=>{st||(st={});const i=st[o];if(i)r[i[0]]=i[1];else{const c=e(o);for(let u=c.length-1;u>=0;u--){const l=c[u],f=l&&l.filename,y=t[o];if(f&&y){r[f]=y,st[o]=[f,y];break}}}return r},{})),it}function ps(e,t){const{fingerprint:n,span:r,breadcrumbs:o,sdkProcessingMetadata:i}=t;gs(e,t),r&&Cs(e,r),bs(e,n),ys(e,o),ms(e,i)}function Gn(e,t){const{extra:n,tags:r,user:o,contexts:i,level:c,sdkProcessingMetadata:u,breadcrumbs:l,fingerprint:f,eventProcessors:y,attachments:m,propagationContext:C,transactionName:v,span:B}=t;at(e,"extra",n),at(e,"tags",r),at(e,"user",o),at(e,"contexts",i),e.sdkProcessingMetadata=rt(e.sdkProcessingMetadata,u,2),c&&(e.level=c),v&&(e.transactionName=v),B&&(e.span=B),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),f.length&&(e.fingerprint=[...e.fingerprint,...f]),y.length&&(e.eventProcessors=[...e.eventProcessors,...y]),m.length&&(e.attachments=[...e.attachments,...m]),e.propagationContext={...e.propagationContext,...C}}function at(e,t,n){e[t]=rt(e[t],n,1)}function gs(e,t){const{extra:n,tags:r,user:o,contexts:i,level:c,transactionName:u}=t,l=Y(n);l&&Object.keys(l).length&&(e.extra={...l,...e.extra});const f=Y(r);f&&Object.keys(f).length&&(e.tags={...f,...e.tags});const y=Y(o);y&&Object.keys(y).length&&(e.user={...y,...e.user});const m=Y(i);m&&Object.keys(m).length&&(e.contexts={...m,...e.contexts}),c&&(e.level=c),u&&e.type!=="transaction"&&(e.transaction=u)}function ys(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function ms(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function Cs(e,t){e.contexts={trace:Mo(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Ko(t),...e.sdkProcessingMetadata};const n=Un(t),r=Lt(n).description;r&&!e.transaction&&e.type==="transaction"&&(e.transaction=r)}function bs(e,t){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}function Es(e,t,n,r,o,i){const{normalizeDepth:c=3,normalizeMaxBreadth:u=1e3}=e,l={...t,event_id:t.event_id||n.event_id||ee(),timestamp:t.timestamp||tt()},f=n.integrations||e.integrations.map(S=>S.name);vs(l,e),Ss(l,f),o&&o.emit("applyFrameMetadata",t),t.type===void 0&&Is(l,e.stackParser);const y=Qs(r,n.captureContext);n.mechanism&&Te(l,n.mechanism);const m=o?o.getEventProcessors():[],C=vo().getScopeData();if(i){const S=i.getScopeData();Gn(C,S)}if(y){const S=y.getScopeData();Gn(C,S)}const v=[...n.attachments||[],...C.attachments];v.length&&(n.attachments=v),ps(l,C);const B=[...m,...C.eventProcessors];return Dt(B,l,n).then(S=>(S&&Bs(S),typeof c=="number"&&c>0?_s(S,c,u):S))}function vs(e,t){const{environment:n,release:r,dist:o,maxValueLength:i=250}=t;e.environment=e.environment||n||Fn,!e.release&&r&&(e.release=r),!e.dist&&o&&(e.dist=o),e.message&&(e.message=we(e.message,i));const c=e.exception&&e.exception.values&&e.exception.values[0];c&&c.value&&(c.value=we(c.value,i));const u=e.request;u&&u.url&&(u.url=we(u.url,i))}function Is(e,t){const n=hs(t);try{e.exception.values.forEach(r=>{r.stacktrace.frames.forEach(o=>{n&&o.filename&&(o.debug_id=n[o.filename])})})}catch{}}function Bs(e){const t={};try{e.exception.values.forEach(r=>{r.stacktrace.frames.forEach(o=>{o.debug_id&&(o.abs_path?t[o.abs_path]=o.debug_id:o.filename&&(t[o.filename]=o.debug_id),delete o.debug_id)})})}catch{}if(Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([r,o])=>{n.push({type:"sourcemap",code_file:r,debug_id:o})})}function Ss(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function _s(e,t,n){if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(o=>({...o,...o.data&&{data:oe(o.data,t,n)}}))},...e.user&&{user:oe(e.user,t,n)},...e.contexts&&{contexts:oe(e.contexts,t,n)},...e.extra&&{extra:oe(e.extra,t,n)}};return e.contexts&&e.contexts.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=oe(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(o=>({...o,...o.data&&{data:oe(o.data,t,n)}}))),e.contexts&&e.contexts.flags&&r.contexts&&(r.contexts.flags=oe(e.contexts.flags,3,n)),r}function Qs(e,t){if(!t)return e;const n=e?e.clone():new ce;return n.update(t),n}const ks="7";function Ps(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function ws(e){return`${Ps(e)}${e.projectId}/envelope/`}function Ts(e,t){const n={sentry_version:ks};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function Rs(e,t,n){return t||`${ws(e)}?${Ts(e,n)}`}const Wn=[];function Ls(e,t){const n={};return t.forEach(r=>{r&&Vn(e,r,n)}),n}function Yn(e,t){for(const n of t)n&&n.afterAllSetup&&n.afterAllSetup(e)}function Vn(e,t,n){if(n[t.name]){U&&N.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,Wn.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),Wn.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(o,i)=>r(o,i,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),o=Object.assign((i,c)=>r(i,c,e),{id:t.name});e.addEventProcessor(o)}U&&N.log(`Integration installed: ${t.name}`)}function Os(e,t,n){const r=[{type:"client_report"},{timestamp:tt(),discarded_events:e}];return Re(t?{dsn:t}:{},[r])}class V extends Error{constructor(t,n="warn"){super(t),this.message=t,this.logLevel=n}}const Zn="Not capturing exception because it's already been captured.";class Ns{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=$o(t.dsn):U&&N.warn("No DSN provided, client will not send events."),this._dsn){const o=Rs(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:o})}const r=["enableTracing","tracesSampleRate","tracesSampler"].find(o=>o in t&&t[o]==null);r&&Ye(()=>{console.warn(`[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.`)})}captureException(t,n,r){const o=ee();if(kn(t))return U&&N.log(Zn),o;const i={event_id:o,...n};return this._process(this.eventFromException(t,i).then(c=>this._captureEvent(c,i,r))),i.event_id}captureMessage(t,n,r,o){const i={event_id:ee(),...r},c=_t(t)?t:String(t),u=eo(t)?this.eventFromMessage(c,n,i):this.eventFromException(t,i);return this._process(u.then(l=>this._captureEvent(l,i,o))),i.event_id}captureEvent(t,n,r){const o=ee();if(n&&n.originalException&&kn(n.originalException))return U&&N.log(Zn),o;const i={event_id:o,...n},u=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,i,u||r)),i.event_id}captureSession(t){typeof t.release!="string"?U&&N.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),kt(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){const n=this._transport;return n?(this.emit("flush"),this._isClientDoneProcessing(t).then(r=>n.flush(t).then(o=>r&&o))):fe(!0)}close(t){return this.flush(t).then(n=>(this.getOptions().enabled=!1,this.emit("close"),n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];Vn(this,t,this._integrations),n||Yn(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=fs(t,this._dsn,this._options._metadata,this._options.tunnel);for(const i of n.attachments||[])r=ss(r,cs(i));const o=this.sendEnvelope(r);o&&o.then(i=>this.emit("afterSendEvent",t,i),null)}sendSession(t){const n=ds(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(n)}recordDroppedEvent(t,n,r){if(this._options.sendClientReports){const o=typeof r=="number"?r:1,i=`${t}:${n}`;U&&N.log(`Recording outcome: "${i}"${o>1?` (${o} times)`:""}`),this._outcomes[i]=(this._outcomes[i]||0)+o}}on(t,n){const r=this._hooks[t]=this._hooks[t]||[];return r.push(n),()=>{const o=r.indexOf(n);o>-1&&r.splice(o,1)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(o=>o(...n))}sendEnvelope(t){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"),fe({}))}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=Ls(this,t),Yn(this,t)}_updateSessionFromEvent(t,n){let r=n.level==="fatal",o=!1;const i=n.exception&&n.exception.values;if(i){o=!0;for(const l of i){const f=l.mechanism;if(f&&f.handled===!1){r=!0;break}}}const c=t.status==="ok";(c&&t.errors===0||c&&r)&&(kt(t,{...r&&{status:"crashed"},errors:t.errors||Number(o||r)}),this.captureSession(t))}_isClientDoneProcessing(t){return new W(n=>{let r=0;const o=1,i=setInterval(()=>{this._numProcessing==0?(clearInterval(i),n(!0)):(r+=o,t&&r>=t&&(clearInterval(i),n(!1)))},o)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r=On(),o=Eo()){const i=this.getOptions(),c=Object.keys(this._integrations);return!n.integrations&&c.length>0&&(n.integrations=c),this.emit("preprocessEvent",t,n),t.type||o.setLastEventId(t.event_id||n.event_id),Es(i,t,n,r,this,o).then(u=>{if(u===null)return u;u.contexts={trace:Io(r),...u.contexts};const l=zo(this,r);return u.sdkProcessingMetadata={dynamicSamplingContext:l,...u.sdkProcessingMetadata},u})}_captureEvent(t,n={},r){return this._processEvent(t,n,r).then(o=>o.event_id,o=>{U&&(o instanceof V&&o.logLevel==="log"?N.log(o.message):N.warn(o))})}_processEvent(t,n,r){const o=this.getOptions(),{sampleRate:i}=o,c=er(t),u=$n(t),l=t.type||"error",f=`before send for type \`${l}\``,y=typeof i>"u"?void 0:Go(i);if(u&&typeof y=="number"&&Math.random()>y)return this.recordDroppedEvent("sample_rate","error",t),nt(new V(`Discarding event because it's not included in the random sample (sampling rate = ${i})`,"log"));const m=l==="replay_event"?"replay":l,v=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,n,r,v).then(B=>{if(B===null)throw this.recordDroppedEvent("event_processor",m,t),new V("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return B;const S=Ms(this,o,B,n);return Ds(S,f)}).then(B=>{if(B===null){if(this.recordDroppedEvent("before_send",m,t),c){const k=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",k)}throw new V(`${f} returned \`null\`, will not send event.`,"log")}const Q=r&&r.getSession();if(!c&&Q&&this._updateSessionFromEvent(Q,B),c){const P=B.sdkProcessingMetadata&&B.sdkProcessingMetadata.spanCountBeforeProcessing||0,k=B.spans?B.spans.length:0,L=P-k;L>0&&this.recordDroppedEvent("before_send","span",L)}const S=B.transaction_info;if(c&&S&&B.transaction!==t.transaction){const P="custom";B.transaction_info={...S,source:P}}return this.sendEvent(B,n),B}).then(null,B=>{throw B instanceof V?B:(this.captureException(B,{data:{__sentry__:!0},originalException:B}),new V(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
8
+ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[o,i]=n.split(":");return{reason:o,category:i,quantity:r}})}_flushOutcomes(){U&&N.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){U&&N.log("No outcomes to send");return}if(!this._dsn){U&&N.log("No dsn provided, will not send outcomes");return}U&&N.log("Sending outcomes:",t);const n=Os(t,this._options.tunnel&&ot(this._dsn));this.sendEnvelope(n)}}function Ds(e,t){const n=`${t} must return \`null\` or a valid event.`;if($e(e))return e.then(r=>{if(!Ee(r)&&r!==null)throw new V(n);return r},r=>{throw new V(`${t} rejected with ${r}`)});if(!Ee(e)&&e!==null)throw new V(n);return e}function Ms(e,t,n,r){const{beforeSend:o,beforeSendTransaction:i,beforeSendSpan:c}=t;if($n(n)&&o)return o(n,r);if(er(n)){if(n.spans&&c){const u=[];for(const l of n.spans){const f=c(l);f?u.push(f):(jo(),e.recordDroppedEvent("before_send","span"))}n.spans=u}if(i){if(n.spans){const u=n.spans.length;n.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:u}}return i(n,r)}}return n}function $n(e){return e.type===void 0}function er(e){return e.type==="transaction"}function xs(e){const t=[];function n(){return e===void 0||t.length<e}function r(c){return t.splice(t.indexOf(c),1)[0]||Promise.resolve(void 0)}function o(c){if(!n())return nt(new V("Not adding Promise because buffer limit was reached."));const u=c();return t.indexOf(u)===-1&&t.push(u),u.then(()=>r(u)).then(null,()=>r(u).then(null,()=>{})),u}function i(c){return new W((u,l)=>{let f=t.length;if(!f)return u(!0);const y=setTimeout(()=>{c&&c>0&&u(!1)},c);t.forEach(m=>{fe(m).then(()=>{--f||(clearTimeout(y),u(!0))},l)})})}return{$:t,add:o,drain:i}}const Us=60*1e3;function Fs(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?Us:r-t}function Xs(e,t){return e[t]||e.all||0}function Hs(e,t,n=Date.now()){return Xs(e,t)>n}function js(e,{statusCode:t,headers:n},r=Date.now()){const o={...e},i=n&&n["x-sentry-rate-limits"],c=n&&n["retry-after"];if(i)for(const u of i.trim().split(",")){const[l,f,,,y]=u.split(":",5),m=parseInt(l,10),C=(isNaN(m)?60:m)*1e3;if(!f)o.all=r+C;else for(const v of f.split(";"))v==="metric_bucket"?(!y||y.split(";").includes("custom"))&&(o[v]=r+C):o[v]=r+C}else c?o.all=r+Fs(c,r):t===429&&(o.all=r+60*1e3);return o}const Js=64;function qs(e,t,n=xs(e.bufferSize||Js)){let r={};const o=c=>n.drain(c);function i(c){const u=[];if(Jn(c,(m,C)=>{const v=qn(C);if(Hs(r,v)){const B=tr(m,C);e.recordDroppedEvent("ratelimit_backoff",v,B)}else u.push(m)}),u.length===0)return fe({});const l=Re(c[0],u),f=m=>{Jn(l,(C,v)=>{const B=tr(C,v);e.recordDroppedEvent(m,qn(v),B)})},y=()=>t({body:is(l)}).then(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=js(r,m),m),m=>{throw f("network_error"),m});return n.add(y).then(m=>m,m=>{if(m instanceof V)return U&&N.error("Skipped sending event because buffer is full."),f("queue_overflow"),fe({});throw m})}return{send:i,flush:o}}function tr(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function zs(e,t,n=[t],r="npm"){const o=e._metadata||{};o.sdk||(o.sdk={name:`sentry.javascript.${t}`,packages:n.map(i=>({name:`${r}:@sentry/${i}`,version:de})),version:de}),e._metadata=o}function Ks(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Gs(){return"npm"}const ct=j,Ws=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function nr(e,t){const n=xt(e,t),r={type:ei(t),value:ti(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function Ys(e,t,n,r){const o=Rt(),i=o&&o.getOptions().normalizeDepth,c=ai(t),u={__serialized__:jn(t,i)};if(c)return{exception:{values:[nr(e,c)]},extra:u};const l={exception:{values:[{type:Ze(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:si(t,{isUnhandledRejection:r})}]},extra:u};if(n){const f=xt(e,n);f.length&&(l.exception.values[0].stacktrace={frames:f})}return l}function Mt(e,t){return{exception:{values:[nr(e,t)]}}}function xt(e,t){const n=t.stacktrace||t.stack||"",r=Zs(t),o=$s(t);try{return e(n,r,o)}catch{}return[]}const Vs=/Minified React error #\d+;/i;function Zs(e){return e&&Vs.test(e.message)?1:0}function $s(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function rr(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function ei(e){const t=e&&e.name;return!t&&rr(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function ti(e){const t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:rr(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function ni(e,t,n,r){const o=n&&n.syntheticException||void 0,i=oi(e,t,o,r);return Te(i),i.level="error",n&&n.event_id&&(i.event_id=n.event_id),fe(i)}function ri(e,t,n="info",r,o){const i=r&&r.syntheticException||void 0,c=Ut(e,t,i,o);return c.level=n,r&&r.event_id&&(c.event_id=r.event_id),fe(c)}function oi(e,t,n,r,o){let i;if(mn(t)&&t.error)return Mt(e,t.error);if(Cn(t)||$r(t)){const c=t;if("stack"in t)i=Mt(e,t);else{const u=c.name||(Cn(c)?"DOMError":"DOMException"),l=c.message?`${u}: ${c.message}`:u;i=Ut(e,l,n,r),Qn(i,l)}return"code"in c&&(i.tags={...i.tags,"DOMException.code":`${c.code}`}),i}return yn(t)?Mt(e,t):Ee(t)||Ze(t)?(i=Ys(e,t,n,o),Te(i,{synthetic:!0}),i):(i=Ut(e,t,n,r),Qn(i,`${t}`),Te(i,{synthetic:!0}),i)}function Ut(e,t,n,r){const o={};if(r&&n){const i=xt(e,n);i.length&&(o.exception={values:[{value:t,stacktrace:{frames:i}}]}),Te(o,{synthetic:!0})}if(_t(t)){const{__sentry_template_string__:i,__sentry_template_values__:c}=t;return o.logentry={message:i,params:c},o}return o.message=t,o}function si(e,{isUnhandledRejection:t}){const n=co(e),r="exception";return mn(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:Ze(e)?`Event \`${ii(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function ii(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function ai(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}function ci(e,{metadata:t,tunnel:n,dsn:r}){const o={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:ot(r)}},i=ui(e);return Re(o,[i])}function ui(e){return[{type:"user_report"},e]}class li extends Ns{constructor(t){const n={parentSpanIsAlwaysRootSpan:!0,...t},r=ct.SENTRY_SDK_SOURCE||Gs();zs(n,"browser",["browser"],r),super(n),n.sendClientReports&&ct.document&&ct.document.addEventListener("visibilitychange",()=>{ct.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,n){return ni(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return ri(this._options.stackParser,t,n,r,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){Ws&&N.warn("SDK not enabled, will not capture user feedback.");return}const n=ci(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(n)}_prepareEvent(t,n,r){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r)}}const Ai=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ut=j,lt={};function di(e){const t=lt[e];if(t)return t;let n=ut[e];if(Ks(n))return lt[e]=n.bind(ut);const r=ut.document;if(r&&typeof r.createElement=="function")try{const o=r.createElement("iframe");o.hidden=!0,r.head.appendChild(o);const i=o.contentWindow;i&&i[e]&&(n=i[e]),r.head.removeChild(o)}catch(o){Ai&&N.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,o)}return n&&(lt[e]=n.bind(ut))}function or(e){lt[e]=void 0}function fi(e,t=di("fetch")){let n=0,r=0;function o(i){const c=i.body.length;n+=c,r++;const u={body:i.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};if(!t)return or("fetch"),nt("No fetch implementation available");try{return t(e.url,u).then(l=>(n-=c,r--,{statusCode:l.status,headers:{"x-sentry-rate-limits":l.headers.get("X-Sentry-Rate-Limits"),"retry-after":l.headers.get("Retry-After")}}))}catch(l){return or("fetch"),n-=c,r--,nt(l)}}return qs(e,o)}const hi=30,pi=50;function Ft(e,t,n,r){const o={filename:e,function:t==="<anonymous>"?be:t,in_app:!0};return n!==void 0&&(o.lineno=n),r!==void 0&&(o.colno=r),o}const gi=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,yi=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,mi=/\((\S*)(?::(\d+))(?::(\d+))\)/,Ci=[hi,e=>{const t=gi.exec(e);if(t){const[,r,o,i]=t;return Ft(r,be,+o,+i)}const n=yi.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){const c=mi.exec(n[2]);c&&(n[2]=c[1],n[3]=c[2],n[4]=c[3])}const[o,i]=sr(n[1]||be,n[2]);return Ft(i,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}}],bi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Ei=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,vi=Yr(...[Ci,[pi,e=>{const t=bi.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=Ei.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],o=t[1]||be;return[o,r]=sr(o,r),Ft(r,o,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}]]),sr=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:be,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},Ii="https://bbed26c9265c425abb56ff9d3728183e@sentry.chocodev.kz/302";let Xt=null;function Bi(e){const t=new li({dsn:Ii,transport:fi,stackParser:vi,integrations:[],release:"1.1.61",environment:e.environment||"production"}),n=new ce;n.setClient(t),n.setTags(e),t.init(),Xt=n}function se(e,t){Xt&&Xt.captureException(e,t?{captureContext:{extra:t}}:void 0)}function ir(e,t){qe("webPayToken",e),t&&qe("webPayRefreshToken",t)}function ar(){Ce("webPayToken"),Ce("webPayRefreshToken")}async function Si(e){const t=r=>{ir(r.access_token,r.refresh_token),e.accessToken=r.access_token,e._tokenExpiresAt=r.expires_in?Date.now()+r.expires_in*1e3:null},n=bt("webPayRefreshToken");if(n&&e.config.clientId)try{const r=await Xr(e.apiUrl,e.config.clientId,n,e.config.country);t(r);return}catch{Ce("webPayRefreshToken")}if(!e.config.clientId){e.config.onError({attributes:{message:e.t("errorMissingTrackClient")}});return}if(!e.config.trackId&&typeof e.config.onRequestNewTrackId=="function"&&(e.config.trackId=await e.config.onRequestNewTrackId()),!e.config.trackId){e.config.onError({attributes:{message:e.t("errorMissingTrackClient")}});return}try{const r=await sn(e.apiUrl,e.config.clientId,e.config.trackId,e.config.country);t(r)}catch(r){if(typeof e.config.onRequestNewTrackId=="function"){e.config.trackId=await e.config.onRequestNewTrackId();const o=await sn(e.apiUrl,e.config.clientId,e.config.trackId,e.config.country);t(o)}else throw r}}const _i={kaspi_pay:`<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
9
9
  <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"/>
10
10
  </svg>
11
11
  `,new_card:`<svg width="21" height="12" viewBox="0 0 21 12" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -62,15 +62,15 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
62
62
  <image id="image0_23934_927" width="989" height="768" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
63
63
  </defs>
64
64
  </svg>
65
- `};function Si(e){const t=e==null?void 0:e.toLowerCase();return t&&Bi[t]||""}const Xt=`<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
65
+ `};function Qi(e){const t=e==null?void 0:e.toLowerCase();return t&&_i[t]||""}const Ht=`<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
66
66
  <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"/>
67
67
  </svg>
68
- `,_i='<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>',Qi='<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>';function lt(e){return Si(e==null?void 0:e.iconType)}function sr(e,t,n,r={}){const{editMode:o=!1}=r;return(o?e.filter(c=>c.type==="card"):e).map(c=>{const u=!o&&!!t&&t.type===c.type&&t.cardId===c.cardId,l=JSON.stringify(c).replace(/'/g,"&apos;");return o?`
68
+ `,ki='<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>',Pi='<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>';function At(e){return Qi(e==null?void 0:e.iconType)}function cr(e,t,n,r={}){const{editMode:o=!1}=r;return(o?e.filter(c=>c.type==="card"):e).map(c=>{const u=!o&&!!t&&t.type===c.type&&t.cardId===c.cardId,l=JSON.stringify(c).replace(/'/g,"&apos;");return o?`
69
69
  <div
70
70
  class="choco-widget-method-item choco-widget-method-item--edit"
71
71
  role="listitem"
72
72
  >
73
- <div class="choco-widget-method-item-icon-wrapper" aria-hidden="true">${lt(c)}</div>
73
+ <div class="choco-widget-method-item-icon-wrapper" aria-hidden="true">${At(c)}</div>
74
74
  <div class="choco-widget-method-item-label">${c.label}</div>
75
75
  <button
76
76
  type="button"
@@ -79,7 +79,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
79
79
  data-method='${l}'
80
80
  aria-label="${c.label} — Удалить"
81
81
  >
82
- ${_i}
82
+ ${ki}
83
83
  </button>
84
84
  </div>
85
85
  `:`
@@ -91,11 +91,11 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
91
91
  aria-label="${c.label}${u?" (выбрано)":""}"
92
92
  type="button"
93
93
  >
94
- <div class="choco-widget-method-item-icon-wrapper ${c.type}" aria-hidden="true">${lt(c)}</div>
94
+ <div class="choco-widget-method-item-icon-wrapper ${c.type}" aria-hidden="true">${At(c)}</div>
95
95
  <div class="choco-widget-method-item-label">${c.label}</div>
96
- ${u?Qi:""}
96
+ ${u?Pi:""}
97
97
  </button>
98
- `}).join("")}function ki(e,t,n,r){if(!e)return"";const o=typeof e.amount=="number"&&Number.isFinite(e.amount),i=typeof e.percent=="number"&&Number.isFinite(e.percent);return`
98
+ `}).join("")}function wi(e,t,n,r){if(!e)return"";const o=typeof e.amount=="number"&&Number.isFinite(e.amount),i=typeof e.percent=="number"&&Number.isFinite(e.percent);return`
99
99
  <div class="choco-widget-balance-toggle" data-action="toggle-bonuses">
100
100
  <div class="choco-widget-balance-info">
101
101
  <div class="choco-widget-balance-text">
@@ -105,7 +105,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
105
105
  </div>
106
106
  <div class="choco-widget-balance-label-wrapper">
107
107
  <div class="choco-widget-balance-icon">
108
- ${Xt}
108
+ ${Ht}
109
109
  </div>
110
110
  <div class="choco-widget-balance-amount">${o?Z(e.amount,"ru",r):0}</div>
111
111
  <label class="choco-widget-toggle">
@@ -114,7 +114,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
114
114
  </label>
115
115
  </div>
116
116
  </div>
117
- `}function Pi(e,t,n,r,o){if(!e)return"";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?Z(l,"ru",o):null;return`
117
+ `}function Ti(e,t,n,r,o){if(!e)return"";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),f=Number.isFinite(l)&&l>0?Z(l,"ru",o):null;return`
118
118
  <div class="choco-widget-balance-toggle${n?" choco-widget-balance-toggle--disabled":""}" data-action="toggle-coupon">
119
119
  <div class="choco-widget-balance-info">
120
120
  <div class="choco-widget-balance-text">
@@ -123,11 +123,11 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
123
123
  </div>
124
124
  </div>
125
125
  <div class="choco-widget-balance-label-wrapper">
126
- ${h?`
126
+ ${f?`
127
127
  <div class="choco-widget-balance-icon">
128
- ${Xt}
128
+ ${Ht}
129
129
  </div>
130
- <div class="choco-widget-balance-amount">${h}</div>
130
+ <div class="choco-widget-balance-amount">${f}</div>
131
131
  `:""}
132
132
  <label class="choco-widget-toggle">
133
133
  <input type="checkbox" ${t&&!n?"checked":""} ${n?"disabled":""} />
@@ -135,7 +135,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
135
135
  </label>
136
136
  </div>
137
137
  </div>
138
- `}function wi(e,t,n,r,o,i,c,u,l){if(!e&&!n&&!o)return"";const h=e?`
138
+ `}function Ri(e,t,n,r,o,i,c,u,l){if(!e&&!n&&!o)return"";const f=e?`
139
139
  <div class="choco-widget-balance-toggle" data-action="toggle-balance">
140
140
  <div class="choco-widget-balance-info">
141
141
  <div class="choco-widget-balance-text">
@@ -144,7 +144,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
144
144
  </div>
145
145
  <div class="choco-widget-balance-label-wrapper">
146
146
  <div class="choco-widget-balance-icon">
147
- ${Xt}
147
+ ${Ht}
148
148
  </div>
149
149
  <div class="choco-widget-balance-amount">${e}</div>
150
150
  <label class="choco-widget-toggle">
@@ -155,11 +155,11 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
155
155
  </div>
156
156
  `:"";return`
157
157
  <div class="choco-widget-balance-section">
158
- ${Pi(o,i,c,u,l)}
159
- ${h}
160
- ${ki(n,r,u,l)}
158
+ ${Ti(o,i,c,u,l)}
159
+ ${f}
160
+ ${wi(n,r,u,l)}
161
161
  </div>
162
- `}function Ti(e,t){return e?`
162
+ `}function Li(e,t){return e?`
163
163
  <div class="choco-widget-cashback-section">
164
164
  <div class="choco-widget-cashback-info">
165
165
  <span class="choco-widget-cashback-icon">🎁</span>
@@ -168,7 +168,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
168
168
  </span>
169
169
  </div>
170
170
  </div>
171
- `:""}function Ri(e){const{amountFormatted:t,originalAmountFormatted:n,showOriginalAmount:r=!1,paymentMethod:o,methods:i,selectedMethod:c,balanceFormatted:u,useBalance:l,bonuses:h,useBonuses:y,coupon:m,useCoupon:b,couponDisabled:I,cashbackFormatted:B,disabled:Q,paymentMethodDisabled:S=!1,loading:P,showFreedomBtn:k,freedomAmountFormatted:L,t:R,currency:z}=e,D=(o==null?void 0:o.label)??R("selectMethod"),G=lt(o),K=sr(i,c),J=wi(u,l,h,y,m,b,I,R,z),M=Ti(B,R),v=(c==null?void 0:c.type)==="google_pay",g=(c==null?void 0:c.type)==="apple_pay",p=v||g;return`
171
+ `:""}function Oi(e){const{amountFormatted:t,originalAmountFormatted:n,showOriginalAmount:r=!1,paymentMethod:o,methods:i,selectedMethod:c,balanceFormatted:u,useBalance:l,bonuses:f,useBonuses:y,coupon:m,useCoupon:C,couponDisabled:v,cashbackFormatted:B,disabled:Q,paymentMethodDisabled:S=!1,loading:P,showFreedomBtn:k,freedomAmountFormatted:L,t:R,currency:z}=e,D=(o==null?void 0:o.label)??R("selectMethod"),G=At(o),K=cr(i,c),J=Ri(u,l,f,y,m,C,v,R,z),M=Li(B,R),I=(c==null?void 0:c.type)==="google_pay",g=(c==null?void 0:c.type)==="apple_pay",p=I||g;return`
172
172
  <div class="choco-widget-bottom-bar" role="region" aria-label="${R("paymentMethod")}">
173
173
  ${J}
174
174
  <div class="choco-widget-payment-info">
@@ -217,7 +217,7 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
217
217
  ${S?R("login"):`${R("pay")} ${t}`}
218
218
  </button>
219
219
  </div>
220
- <div class="choco-widget-google-pay-row ${v?"":"choco-widget-google-pay-row--hidden"}">
220
+ <div class="choco-widget-google-pay-row ${I?"":"choco-widget-google-pay-row--hidden"}">
221
221
  <div class="choco-widget-google-pay-button-slot" data-action="google-pay-button-slot"></div>
222
222
  </div>
223
223
  <div class="choco-widget-apple-pay-row ${g?"":"choco-widget-apple-pay-row--hidden"}">
@@ -294,11 +294,11 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
294
294
  </div>
295
295
  </div>
296
296
  </div>
297
- `}function Li(){return`
297
+ `}function Ni(){return`
298
298
  <div class="choco-widget-bottom-bar-prerender">
299
299
  <div class="choco-widget-payment-loading"></div>
300
300
  </div>
301
- `}function Oi(e,t,n,r={}){return sr(e,t,n,r)}function Ni(e){return lt(e)}function Di(e){if(typeof document>"u")return{mountTarget:null,isEmbedded:!1};const t=e.config.containerSelector;if(t){const n=document.querySelector(t);if(n instanceof HTMLElement)return{mountTarget:n,isEmbedded:!0}}return{mountTarget:document.body,isEmbedded:!1}}function ir(e){if(typeof document>"u")return!1;e.container||(e.container=document.createElement("div"),e.container.id="choco-one-click-widget",e.container.className="choco-one-click-widget");const{mountTarget:t,isEmbedded:n}=Di(e);return t?(e.container.parentElement!==t&&t.appendChild(e.container),e.container.classList.toggle("choco-one-click-widget--embedded",n),!0):!1}function Mi(e){ir(e)&&(e.container.style.setProperty("--choco-widget-accent-color",e.config.color),e.container.innerHTML=Li())}function xi(e){var m,b,I,B,Q;if(e._destroyed||!ir(e))return;e.container.style.setProperty("--choco-widget-accent-color",e.config.color),e.container.classList.remove("choco-one-click-widget--visible");const t=e.getAvailablePaymentMethods(),n=(m=e.checkoutContext)==null?void 0:m.data,r=e.config.currency||"KZT",o=(B=(I=(b=n==null?void 0:n.balance)==null?void 0:b.data)==null?void 0:I.money)==null?void 0:B[r],i=!e.config.disableUseBalance&&o>0?Z(o,e.config.locale,e.config.currency):null,c=(Q=n==null?void 0:n.cashback)==null?void 0:Q.data,u=(c==null?void 0:c.cashbackAmount)>0?Z(c.cashbackAmount,e.config.locale,e.config.currency):null,l=e._getPayableAmount(),h=l<e.config.amount;e.container.innerHTML=Ri({amountFormatted:Z(l,e.config.locale,e.config.currency),originalAmountFormatted:Z(e.config.amount,e.config.locale,e.config.currency),showOriginalAmount:h,paymentMethod:e.selectedPaymentMethod,methods:t,selectedMethod:e.selectedPaymentMethod,balanceFormatted:i,useBalance:e.useBalance,bonuses:e.config.bonuses,useBonuses:e.useBonuses,coupon:e.selectedCoupon,useCoupon:e.useCoupon,couponDisabled:e._isCouponDisabled(),cashbackFormatted:u,disabled:e.disabled,paymentMethodDisabled:e.paymentMethodDisabled,loading:e.loading,showFreedomBtn:!e.config.isFridge&&e.config.onFreedomLink!==null,freedomAmountFormatted:Z(Math.round(l*.94),e.config.locale,e.config.currency),t:(S,P)=>e.t(S,P),currency:r}),e._attachEventListeners(),e.isOpen=!0,e._emitUserEvent("one_click_pay_cta_rendered",{terminal_id:e.config.terminalId,project_id:e.config.projectId??e.config.clientId});const y=e._getPaymentMethodForUserEvent();y!=null&&e._emitUserEvent("one_click_pay_method_resolved",{payment_method:y}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var S;e._destroyed||(S=e.container)==null||S.classList.add("choco-one-click-widget--visible")})})}function Re(e){var r;const t=(r=e.container)==null?void 0:r.querySelector(".choco-widget-payment-methods");if(!t)return;const n=e.getAvailablePaymentMethods();t.innerHTML=Oi(n,e.selectedPaymentMethod,o=>e.t(o),{editMode:e.isPaymentSheetEditMode}),t.querySelectorAll("[data-action='delete-card']").forEach(o=>{o.addEventListener("click",i=>{i.stopPropagation();const c=JSON.parse(o.getAttribute("data-method")||"{}");ji(e,c)})}),t.querySelectorAll("[data-action='select-method']").forEach(o=>{o.addEventListener("click",i=>{const c=JSON.parse(i.currentTarget.getAttribute("data-method")||"{}");Ar(e,c)})})}function ar(e){var o,i,c;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(".choco-widget-method-icon-wrapper");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=Ni(e.selectedPaymentMethod)),cr(e)}function At(e){var m,b,I,B,Q,S;const t=(m=e.container)==null?void 0:m.querySelector(".choco-widget-pay-button"),n=(b=e.container)==null?void 0:b.querySelector(".choco-widget-google-pay-amount"),r=(I=e.container)==null?void 0:I.querySelector(".choco-widget-google-pay-amount-label");let o=(B=e.container)==null?void 0:B.querySelector(".choco-widget-google-pay-amount-value"),i=(Q=e.container)==null?void 0:Q.querySelector(".choco-widget-google-pay-amount-value-number");const c=e._getPayableAmount(),u=Z(c,e.config.locale,e.config.currency),l=c<e.config.amount,h=Z(e.config.amount,e.config.locale,e.config.currency);if(t){const P=e.paymentMethodDisabled?e.t("login"):`${e.t("pay")} ${u}`;t.textContent=P,t.setAttribute("aria-label",P)}const y=(S=e.container)==null?void 0:S.querySelector(".choco-widget-freedom-card-btn");if(y&&(y.textContent=`от ${Z(Math.round(c*.94),e.config.locale,e.config.currency)} по карте Freedom`),r&&(r.textContent=`${e.t("total")} ${u}`),!l){o==null||o.remove();return}!o&&n&&(o=document.createElement("div"),o.className="choco-widget-google-pay-amount-value",o.innerHTML=`${e.t("instead")} <span class="choco-widget-google-pay-amount-value-number"></span>`,n.appendChild(o),i=o.querySelector(".choco-widget-google-pay-amount-value-number")),i?i.textContent=h:o&&(o.textContent=`${e.t("instead")} ${h}`)}function cr(e){var l,h,y,m,b,I,B,Q,S,P;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(".choco-widget-google-pay-amount"),c=(b=e.container)==null?void 0:b.querySelector(".choco-widget-google-pay-row"),u=(I=e.container)==null?void 0:I.querySelector(".choco-widget-apple-pay-row");if(o==null||o.classList.toggle("choco-widget-pay-button--hidden",r),i==null||i.classList.toggle("choco-widget-google-pay-amount--hidden",!r),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){Ui(e);const k=(B=e.container)==null?void 0:B.querySelector('[data-action="apple-pay-button-slot"]');k&&(k.innerHTML="")}else if(n){e._googlePayButtonRenderVersion+=1;const k=(Q=e.container)==null?void 0:Q.querySelector('[data-action="google-pay-button-slot"]');k&&(k.innerHTML=""),Fi(e)}else{e._googlePayButtonRenderVersion+=1;const k=(S=e.container)==null?void 0:S.querySelector('[data-action="google-pay-button-slot"]'),L=(P=e.container)==null?void 0:P.querySelector('[data-action="apple-pay-button-slot"]');k&&(k.innerHTML=""),L&&(L.innerHTML="")}At(e),ue(e)}async function Ui(e){var c,u,l,h,y;const t=(c=e.container)==null?void 0:c.querySelector('[data-action="google-pay-button-slot"]');if(!t||(t.innerHTML="",((u=e.selectedPaymentMethod)==null?void 0:u.type)!=="google_pay"))return;const n=++e._googlePayButtonRenderVersion;try{await e._loadGooglePaySdk()}catch{e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}if(n!==e._googlePayButtonRenderVersion)return;if(!((y=(h=(l=window.google)==null?void 0:l.payments)==null?void 0:h.api)!=null&&y.PaymentsClient)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const r=e.config.environment==="production",i=new window.google.payments.api.PaymentsClient({environment:r?"PRODUCTION":"TEST"}).createButton({onClick:()=>e.handlePayment(),buttonType:"pay",buttonColor:"black",buttonLocale:e.config.locale||"ru",buttonSizeMode:"fill"});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=>{m.style.setProperty("border-radius","12px","important"),m.style.setProperty("font-weight","bold","important"),m.style.setProperty("font-size","16px","important")}),t.appendChild(i),ue(e)}function Fi(e){var i,c;const t=(i=e.container)==null?void 0:i.querySelector('[data-action="apple-pay-button-slot"]');if(!t||(t.innerHTML="",((c=e.selectedPaymentMethod)==null?void 0:c.type)!=="apple_pay"))return;const n=document.createElement("div");n.className="choco-widget-apple-pay-button-wrapper";const r=document.createElement("button");r.type="button",r.className="choco-widget-apple-pay-button choco-widget-apple-pay-button--native",r.setAttribute("aria-label","Оплатить с Apple Pay"),r.style.setProperty("width","100%","important"),r.style.setProperty("height","52px","important"),r.style.setProperty("min-height","52px","important"),r.style.setProperty("border-radius","12px","important"),r.style.setProperty("-webkit-appearance","-apple-pay-button"),r.style.setProperty("-apple-pay-button-type","buy"),r.style.setProperty("-apple-pay-button-style","black"),r.addEventListener("click",()=>e.handlePayment());const o=document.createElement("div");o.className="choco-widget-apple-pay-button-overlay",o.setAttribute("aria-hidden","true"),o.innerHTML=`
301
+ `}function Di(e,t,n,r={}){return cr(e,t,n,r)}function Mi(e){return At(e)}function xi(e){if(typeof document>"u")return{mountTarget:null,isEmbedded:!1};const t=e.config.containerSelector;if(t){const n=document.querySelector(t);if(n instanceof HTMLElement)return{mountTarget:n,isEmbedded:!0}}return{mountTarget:document.body,isEmbedded:!1}}function ur(e){if(typeof document>"u")return!1;e.container||(e.container=document.createElement("div"),e.container.id="choco-one-click-widget",e.container.className="choco-one-click-widget");const{mountTarget:t,isEmbedded:n}=xi(e);return t?(e.container.parentElement!==t&&t.appendChild(e.container),e.container.classList.toggle("choco-one-click-widget--embedded",n),!0):!1}function Ui(e){ur(e)&&(e.container.style.setProperty("--choco-widget-accent-color",e.config.color),e.container.innerHTML=Ni())}function Fi(e){var m,C,v,B,Q;if(e._destroyed||!ur(e))return;e.container.style.setProperty("--choco-widget-accent-color",e.config.color),e.container.classList.remove("choco-one-click-widget--visible");const t=e.getAvailablePaymentMethods(),n=(m=e.checkoutContext)==null?void 0:m.data,r=e.config.currency||"KZT",o=(B=(v=(C=n==null?void 0:n.balance)==null?void 0:C.data)==null?void 0:v.money)==null?void 0:B[r],i=!e.config.disableUseBalance&&o>0?Z(o,e.config.locale,e.config.currency):null,c=(Q=n==null?void 0:n.cashback)==null?void 0:Q.data,u=(c==null?void 0:c.cashbackAmount)>0?Z(c.cashbackAmount,e.config.locale,e.config.currency):null,l=e._getPayableAmount(),f=l<e.config.amount;e.container.innerHTML=Oi({amountFormatted:Z(l,e.config.locale,e.config.currency),originalAmountFormatted:Z(e.config.amount,e.config.locale,e.config.currency),showOriginalAmount:f,paymentMethod:e.selectedPaymentMethod,methods:t,selectedMethod:e.selectedPaymentMethod,balanceFormatted:i,useBalance:e.useBalance,bonuses:e.config.bonuses,useBonuses:e.useBonuses,coupon:e.selectedCoupon,useCoupon:e.useCoupon,couponDisabled:e._isCouponDisabled(),cashbackFormatted:u,disabled:e.disabled,paymentMethodDisabled:e.paymentMethodDisabled,loading:e.loading,showFreedomBtn:!e.config.isFridge&&e.config.onFreedomLink!==null,freedomAmountFormatted:Z(Math.round(l*.94),e.config.locale,e.config.currency),t:(S,P)=>e.t(S,P),currency:r}),e._attachEventListeners(),e.isOpen=!0,e._emitUserEvent("one_click_pay_cta_rendered",{terminal_id:e.config.terminalId,project_id:e.config.projectId??e.config.clientId});const y=e._getPaymentMethodForUserEvent();y!=null&&e._emitUserEvent("one_click_pay_method_resolved",{payment_method:y}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var S;e._destroyed||(S=e.container)==null||S.classList.add("choco-one-click-widget--visible")})})}function Le(e){var r;const t=(r=e.container)==null?void 0:r.querySelector(".choco-widget-payment-methods");if(!t)return;const n=e.getAvailablePaymentMethods();t.innerHTML=Di(n,e.selectedPaymentMethod,o=>e.t(o),{editMode:e.isPaymentSheetEditMode}),t.querySelectorAll("[data-action='delete-card']").forEach(o=>{o.addEventListener("click",i=>{i.stopPropagation();const c=JSON.parse(o.getAttribute("data-method")||"{}");qi(e,c)})}),t.querySelectorAll("[data-action='select-method']").forEach(o=>{o.addEventListener("click",i=>{const c=JSON.parse(i.currentTarget.getAttribute("data-method")||"{}");hr(e,c)})})}function lr(e){var o,i,c;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(".choco-widget-method-icon-wrapper");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=Mi(e.selectedPaymentMethod)),Ar(e)}function dt(e){var m,C,v,B,Q,S;const t=(m=e.container)==null?void 0:m.querySelector(".choco-widget-pay-button"),n=(C=e.container)==null?void 0:C.querySelector(".choco-widget-google-pay-amount"),r=(v=e.container)==null?void 0:v.querySelector(".choco-widget-google-pay-amount-label");let o=(B=e.container)==null?void 0:B.querySelector(".choco-widget-google-pay-amount-value"),i=(Q=e.container)==null?void 0:Q.querySelector(".choco-widget-google-pay-amount-value-number");const c=e._getPayableAmount(),u=Z(c,e.config.locale,e.config.currency),l=c<e.config.amount,f=Z(e.config.amount,e.config.locale,e.config.currency);if(t){const P=e.paymentMethodDisabled?e.t("login"):`${e.t("pay")} ${u}`;t.textContent=P,t.setAttribute("aria-label",P)}const y=(S=e.container)==null?void 0:S.querySelector(".choco-widget-freedom-card-btn");if(y&&(y.textContent=`от ${Z(Math.round(c*.94),e.config.locale,e.config.currency)} по карте Freedom`),r&&(r.textContent=`${e.t("total")} ${u}`),!l){o==null||o.remove();return}!o&&n&&(o=document.createElement("div"),o.className="choco-widget-google-pay-amount-value",o.innerHTML=`${e.t("instead")} <span class="choco-widget-google-pay-amount-value-number"></span>`,n.appendChild(o),i=o.querySelector(".choco-widget-google-pay-amount-value-number")),i?i.textContent=f:o&&(o.textContent=`${e.t("instead")} ${f}`)}function Ar(e){var l,f,y,m,C,v,B,Q,S,P;const t=((l=e.selectedPaymentMethod)==null?void 0:l.type)==="google_pay",n=((f=e.selectedPaymentMethod)==null?void 0:f.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(".choco-widget-google-pay-amount"),c=(C=e.container)==null?void 0:C.querySelector(".choco-widget-google-pay-row"),u=(v=e.container)==null?void 0:v.querySelector(".choco-widget-apple-pay-row");if(o==null||o.classList.toggle("choco-widget-pay-button--hidden",r),i==null||i.classList.toggle("choco-widget-google-pay-amount--hidden",!r),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){Xi(e);const k=(B=e.container)==null?void 0:B.querySelector('[data-action="apple-pay-button-slot"]');k&&(k.innerHTML="")}else if(n){e._googlePayButtonRenderVersion+=1;const k=(Q=e.container)==null?void 0:Q.querySelector('[data-action="google-pay-button-slot"]');k&&(k.innerHTML=""),Hi(e)}else{e._googlePayButtonRenderVersion+=1;const k=(S=e.container)==null?void 0:S.querySelector('[data-action="google-pay-button-slot"]'),L=(P=e.container)==null?void 0:P.querySelector('[data-action="apple-pay-button-slot"]');k&&(k.innerHTML=""),L&&(L.innerHTML="")}dt(e),ue(e)}async function Xi(e){var c,u,l,f,y;const t=(c=e.container)==null?void 0:c.querySelector('[data-action="google-pay-button-slot"]');if(!t||(t.innerHTML="",((u=e.selectedPaymentMethod)==null?void 0:u.type)!=="google_pay"))return;const n=++e._googlePayButtonRenderVersion;try{await e._loadGooglePaySdk()}catch{e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}if(n!==e._googlePayButtonRenderVersion)return;if(!((y=(f=(l=window.google)==null?void 0:l.payments)==null?void 0:f.api)!=null&&y.PaymentsClient)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const r=e.config.environment==="production",i=new window.google.payments.api.PaymentsClient({environment:r?"PRODUCTION":"TEST"}).createButton({onClick:()=>e.handlePayment(),buttonType:"pay",buttonColor:"black",buttonLocale:e.config.locale||"ru",buttonSizeMode:"fill"});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=>{m.style.setProperty("border-radius","12px","important"),m.style.setProperty("font-weight","bold","important"),m.style.setProperty("font-size","16px","important")}),t.appendChild(i),ue(e)}function Hi(e){var i,c;const t=(i=e.container)==null?void 0:i.querySelector('[data-action="apple-pay-button-slot"]');if(!t||(t.innerHTML="",((c=e.selectedPaymentMethod)==null?void 0:c.type)!=="apple_pay"))return;e._prewarmAuthToken();const n=document.createElement("div");n.className="choco-widget-apple-pay-button-wrapper";const r=document.createElement("button");r.type="button",r.className="choco-widget-apple-pay-button choco-widget-apple-pay-button--native",r.setAttribute("aria-label","Оплатить с Apple Pay"),r.style.setProperty("width","100%","important"),r.style.setProperty("height","52px","important"),r.style.setProperty("min-height","52px","important"),r.style.setProperty("border-radius","12px","important"),r.style.setProperty("-webkit-appearance","-apple-pay-button"),r.style.setProperty("-apple-pay-button-type","buy"),r.style.setProperty("-apple-pay-button-style","black"),r.addEventListener("click",()=>e.handlePayment());const o=document.createElement("div");o.className="choco-widget-apple-pay-button-overlay",o.setAttribute("aria-hidden","true"),o.innerHTML=`
302
302
  <span class="choco-widget-apple-pay-button-text">Оплатить с</span>
303
303
  <span class="choco-widget-apple-pay-button-icon">
304
304
  <svg width="52" height="24" viewBox="0 0 52 24" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -312,4 +312,4 @@ Reason: ${B}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
312
312
  </defs>
313
313
  </svg>
314
314
  </span>
315
- `,n.appendChild(r),n.appendChild(o),t.appendChild(n),ue(e)}function ur(e){var o;if(!e.selectedCoupon)return;const t=e._isCouponDisabled();t&&e.useCoupon&&(e.useCoupon=!1);const n=(o=e.container)==null?void 0:o.querySelector('[data-action="toggle-coupon"]');if(!n)return;n.classList.toggle("choco-widget-balance-toggle--disabled",t);const r=n.querySelector("input[type='checkbox']");r&&(r.disabled=t,t&&(r.checked=!1))}function he(e){e.loading=!0,ue(e)}function q(e){var m,b,I,B,Q,S,P,k;e.loading=!1;const t=(m=e.container)==null?void 0:m.querySelector(".choco-widget-payment-method"),n=(b=e.container)==null?void 0:b.querySelector(".choco-widget-pay-button"),r=(I=e.container)==null?void 0:I.querySelector(".choco-widget-google-pay-button-slot button"),o=(B=e.container)==null?void 0:B.querySelector(".choco-widget-apple-pay-button-slot button"),i=(Q=e.container)==null?void 0:Q.querySelector(".choco-widget-google-pay-amount"),c=(S=e.container)==null?void 0:S.querySelector(".choco-widget-google-pay-row"),u=(P=e.container)==null?void 0:P.querySelector(".choco-widget-apple-pay-row"),l=(k=e.container)==null?void 0:k.querySelector(".choco-widget-balance-section"),h=e._isInteractionBlocked(),y=e.paymentMethodDisabled||h;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")}function ue(e){var b,I,B,Q,S,P,k,L,R;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(".choco-widget-google-pay-button-slot button"),i=(S=e.container)==null?void 0:S.querySelector(".choco-widget-apple-pay-button-slot button"),c=(P=e.container)==null?void 0:P.querySelector(".choco-widget-google-pay-amount"),u=(k=e.container)==null?void 0:k.querySelector(".choco-widget-google-pay-row"),l=(L=e.container)==null?void 0:L.querySelector(".choco-widget-apple-pay-row"),h=(R=e.container)==null?void 0:R.querySelector(".choco-widget-balance-section"),y=e._isInteractionBlocked(),m=e.paymentMethodDisabled||y;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))}function lr(e){var n;if(e._isInteractionBlocked())return;const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');t&&(t.classList.add("choco-widget-payment-sheet--open"),e.isPaymentSheetOpen=!0,Le(e))}function le(e){var n;const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');if(t){dt(e);const r=t.querySelector(".choco-widget-sheet-content");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,Re(e),Le(e))}}function Le(e){var l;const t=(l=e.container)==null?void 0:l.querySelector('[data-sheet="payment"]');if(!t)return;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");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"))}function Ht(e){if(!e.addCardActionUrl||!e.container)return;const t=e.container.querySelector('[data-sheet="add-card"]'),n=e.container.querySelector("#choco-widget-add-card-iframe");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,Xi(e))}function Ie(e){var r,o;const t=(r=e.container)==null?void 0:r.querySelector('[data-sheet="add-card"]'),n=(o=e.container)==null?void 0:o.querySelector("#choco-widget-add-card-iframe");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,Hi(e)}function Xi(e){e._boundAddCardMessage=t=>{var n;e.isAddCardViewOpen&&(n=t.data)!=null&&n.message&&t.origin==="https://rahmetapp.kz"&&he(e)},window.addEventListener("message",e._boundAddCardMessage)}function Hi(e){e._boundAddCardMessage&&(window.removeEventListener("message",e._boundAddCardMessage),e._boundAddCardMessage=null)}function ji(e,t){var c;e._pendingDeleteMethod=t;const n=(c=e.container)==null?void 0:c.querySelector('[data-sheet="payment"]');if(!n)return;n.classList.add("choco-widget-payment-sheet--delete-confirm");const r=n.querySelector(".choco-widget-sheet-title"),o=n.querySelector('[data-action="edit-sheet"]'),i=n.querySelector('[data-action="previous-sheet"]');r&&(r.textContent=e.t("confirmDeleteCard")),o&&(o.style.display="none"),i&&(i.style.display="none")}function dt(e){var n;e._pendingDeleteMethod=null,jt(e,!1);const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');t==null||t.classList.remove("choco-widget-payment-sheet--delete-confirm"),Le(e)}function jt(e,t){var i,c,u;const n=(i=e.container)==null?void 0:i.querySelector(".choco-widget-sheet-delete-confirm-actions"),r=(c=e.container)==null?void 0:c.querySelector('[data-action="confirm-delete-cancel"]'),o=(u=e.container)==null?void 0:u.querySelector('[data-action="confirm-delete-submit"]');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))}async function Ji(e,t){var r,o;const n=t==null?void 0:t.cardId;if(!(!n||(t==null?void 0:t.type)!=="card"))try{await Ur(e.apiUrl,e._getApiConfig(),n),e.checkoutContext=await bt(e.apiUrl,e._getApiConfig()),((r=e.selectedPaymentMethod)==null?void 0:r.type)==="card"&&((o=e.selectedPaymentMethod)==null?void 0:o.cardId)===n&&(e.selectedPaymentMethod=mt(e.checkoutContext.data,e._getKaspiOptions()),e._emitPaymentMethodSelected(),ar(e)),Re(e),e.config.onSuccess({message:e.t("cardDeleted")}),e.config.onCardDeleted&&e.config.onCardDeleted({cardId:n})}catch(i){e.config.onError({attributes:{message:(i==null?void 0:i.message)||e.t("paymentError")}})}}function Ar(e,t){if(e._isInteractionBlocked())return;if(e.selectedPaymentMethod=t,e._emitPaymentMethodSelected(),t.type==="new_card"){e._emitUserEvent("one_click_pay_method_resolved",{payment_method:t.type}),le(e),e.handlePayment();return}const n=e._getPaymentMethodForUserEvent();n!=null&&e._emitUserEvent("one_click_pay_method_resolved",{payment_method:n}),Re(e),le(e),ar(e)}const ft="choco_pending_order_id",qi=1800*1e3;function zi(e){je(ft,JSON.stringify({id:e,ts:Date.now()}))}function Ki(){const e=Ct(ft);if(!e)return null;try{const{id:t,ts:n}=JSON.parse(e);return!t||typeof n!="number"?null:Date.now()-n>qi?(Ce(ft),null):String(t)}catch{return null}}function dr(e){e._pendingOrderId=null,Ce(ft)}function fr(e,t){var r;const n=t.type||((r=t.data)==null?void 0:r.type);if(!n){console.warn("Unknown event format:",t);return}switch(n){case"order.paid":e._orderStatusResolved=!0,pe(e),pr(e,t);break;case"order.failed":e._orderStatusResolved=!0,pe(e),gr(e,t);break;case"order.action_required":Gi(e,t);break;default:console.warn("Unknown event type:",n)}}function pe(e){e._orderStatusPollingId&&(clearInterval(e._orderStatusPollingId),e._orderStatusPollingId=null)}function ge(e,t){pe(e),e._orderStatusResolved=!1,e._pendingOrderId=String(t),zi(String(t));const n=6e3,r=5;let o=0;const i=async()=>{if(!e._orderStatusResolved){if(o>=r){pe(e),q(e),e.config.onError({attributes:{message:e.t("errorNoServerResponseRetry")}});return}o+=1;try{const{data:c}=await Xr(e.apiUrl,e._getApiConfig(),String(t)),u=c==null?void 0:c.status,l=(c==null?void 0:c.payload)||{};if(u==="success"){e._orderStatusResolved=!0,pe(e),pr(e,{id:String(l.id||t),attributes:{amount:l.amount,paid_at:l.paid_at||""}});return}u==="fail"&&(e._orderStatusResolved=!0,pe(e),gr(e,{id:String(l.id||t),attributes:{message:l.message||e.t("paymentError")}}))}catch(c){console.warn("[Polling] checkOrderStatus error:",c)}}};e._orderStatusPollingId=setInterval(i,n),i()}function ht(){return typeof document>"u"?!1:document.hidden||document.visibilityState==="hidden"}function hr(e,t){q(e),e.config.onSuccess(t)}function Jt(e){if(!e._pendingSuccessPayload||ht())return;const t=e._pendingSuccessPayload;e._pendingSuccessPayload=null,hr(e,t)}function pt(e){if(ht()||e._orderStatusResolved||e._orderStatusPollingId)return;const t=e._pendingOrderId||Ki();t&&(e._pendingOrderId=t,ge(e,t))}function pr(e,t){var o,i;dr(e),e.isAddCardViewOpen&&Ie(e);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};if(ht()){e._pendingSuccessPayload=r;return}hr(e,r)}function gr(e,t){var r,o;dr(e),e.isAddCardViewOpen&&Ie(e),q(e);const n=t.attributes||((r=t.data)==null?void 0:r.attributes)||{};e.config.onError({id:t.id||((o=t.data)==null?void 0:o.id),attributes:n})}function Gi(e,t){var i,c,u;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";if(!r){console.error(e.t("errorActionUrlMissing")),e.waitingForNewCardAction&&(e.waitingForNewCardAction=!1,q(e),e.config.onError({attributes:{message:e.t("errorNoServerResponse")}}));return}if(e.waitingForNewCardAction&&(e.waitingForNewCardAction=!1,e._clearNewCardActionTimeout()),o==="inner"){e.addCardActionUrl=r,q(e),e._showAddCardView();return}if(((c=e.selectedPaymentMethod)==null?void 0:c.type)==="kaspi_pay"){const l=t.id||((u=t.data)==null?void 0:u.id);if(l&&!e._orderStatusResolved&&!e._orderStatusPollingId&&ge(e,String(l)),typeof e.config.onKaspiLink=="function"){e.config.onKaspiLink({action_link:r,action_url:r,action_type:o,event:t});return}}window.location.href=r}async function Wi(e){var n,r,o,i,c;if(!e.selectedPaymentMethod){e.config.onError({attributes:{message:e.t("errorPaymentMethodNotSelected")}});return}const{checkoutOptions:t}=e._getPaymentBreakdown();if(e._isBalanceFullyCoveringAmount()){he(e);try{const u=await sn(e.apiUrl,e._getApiConfig(),e.deviceId,e.selectedPaymentMethod,t);await yr(e);const l=(u==null?void 0:u.id)??((n=u==null?void 0:u.data)==null?void 0:n.id);return l&&ge(e,String(l)),u}catch(u){throw q(e),se(u,{paymentMethod:"balance"}),e.config.onError({attributes:{message:e._resolveErrorMessage(u)}}),u}}if(e.selectedPaymentMethod.type==="new_card"){await Yi(e,t);return}if(e.selectedPaymentMethod.type==="apple_pay"){await Vi(e,t);return}if(e.selectedPaymentMethod.type==="google_pay"){await Zi(e,t);return}he(e);try{const u=await sn(e.apiUrl,e._getApiConfig(),e.deviceId,e.selectedPaymentMethod,t);await yr(e);const l=(u==null?void 0:u.id)??((r=u==null?void 0:u.data)==null?void 0:r.id);if(l&&ge(e,String(l)),((o=e.selectedPaymentMethod)==null?void 0:o.type)==="kaspi_pay"){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";if(y)return typeof e.config.onKaspiLink=="function"?(e.config.onKaspiLink({action_link:y,action_url:y,action_type:m,event:u}),u):(window.location.href=y,u)}return u}catch(u){throw q(e),se(u,{paymentMethod:((c=e.selectedPaymentMethod)==null?void 0:c.type)||"card"}),e.config.onError({message:e._resolveErrorMessage(u)}),u}}async function yr(e){var t,n;if(!(((t=e.selectedPaymentMethod)==null?void 0:t.type)!=="card"||!((n=e.selectedPaymentMethod)!=null&&n.cardId)))try{await Fr(e.apiUrl,e._getApiConfig(),e.selectedPaymentMethod.cardId)}catch(r){console.warn("Failed to mark selected card as default:",r)}}async function Yi(e,t){he(e),e.waitingForNewCardAction=!0,e._setNewCardActionTimeout();try{await Hr(e.apiUrl,e._getApiConfig(),e.deviceId,t)}catch(n){e.waitingForNewCardAction=!1,e._clearNewCardActionTimeout(),q(e),se(n,{paymentMethod:"new_card"}),e.config.onError({attributes:{message:e._resolveErrorMessage(n)}}),console.error("New card payment error:",n)}}let Oe=null;async function Vi(e,t){const n=window.ApplePaySession;if(!n||!n.canMakePayments()){e.config.onError({attributes:{message:e.t("errorApplePayUnsupported")}});return}if(Oe)return;he(e);const r={countryCode:e.config.currency==="GEL"?"GE":"KZ",currencyCode:e.config.currency,supportedNetworks:["visa","masterCard"],merchantCapabilities:["supports3DS"],total:{label:e.config.merchantName||"Choco",amount:String(e._getPayableAmount()),type:"final"}},o=new n(3,r);Oe=o,o.onvalidatemerchant=async i=>{var c,u;try{let l;try{l=await an(e.apiUrl,e._getApiConfig(),i.validationURL)}catch(m){if(m.status===401)await e._obtainTokenByRefreshOrTrackId(),l=await an(e.apiUrl,e._getApiConfig(),i.validationURL);else throw m}const h=((u=(c=l==null?void 0:l.data)==null?void 0:c.attributes)==null?void 0:u.session)||l,y=JSON.parse(atob(h));o.completeMerchantValidation(y)}catch(l){console.error("Apple Pay session error:",l),se(l,{paymentMethod:"apple_pay",phase:"merchant_validation"}),q(e),o.abort(),e.config.onError({attributes:{message:e.t("errorApplePayInit")}})}},o.onpaymentauthorized=async i=>{var c;try{if(typeof e.config.onBeforeCheckout=="function"){const h=await e.config.onBeforeCheckout();h&&typeof h=="object"&&Object.assign(e.config,h)}const u=await Jr(e.apiUrl,e._getApiConfig(),e.deviceId,i.payment,t);o.completePayment(n.STATUS_SUCCESS),Oe=null;const l=(u==null?void 0:u.id)??((c=u==null?void 0:u.data)==null?void 0:c.id);l&&!e._orderStatusResolved&&ge(e,String(l))}catch(u){console.error("Apple Pay payment error:",u),se(u,{paymentMethod:"apple_pay",phase:"payment_authorized"}),o.completePayment(n.STATUS_FAILURE),Oe=null,q(e),e.config.onError({attributes:{message:e._resolveErrorMessage(u,"errorApplePayPayment")}})}},o.oncancel=()=>{var i;if(Oe=null,q(e),((i=e.selectedPaymentMethod)==null?void 0:i.type)==="apple_pay"){e.config.onError({attributes:{message:e.t("errorApplePayInterrupted")}});return}e.config.onCancel()},o.begin()}async function Zi(e,t){var S,P,k,L,R,z;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||{};if(!(r.payment_method_google_pay==="enabled"||r.payment_method_google_pay===!0)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const c=o==null?void 0:o.gateway,u=o==null?void 0:o.merchant_id;if(!c||!u){e.config.onError({attributes:{message:e.t("errorGooglePaySettingsUnavailable")}});return}const l=e.config.environment==="production",h=(o==null?void 0:o.merchant_name)||"Choco",y=o==null?void 0:o.google_merchant_id;if(l&&!y){e.config.onError({attributes:{message:e.t("errorGooglePaySettingsUnavailable")}});return}if(e.config.isNativeAndroid){await $i(e,t,{gateway:c,gatewayMerchantId:u});return}const m=Number(e._getCheckoutAmount()).toFixed(2);try{await e._loadGooglePaySdk()}catch(D){console.error("Google Pay SDK load error:",D),e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const b=window.google;if(!(b!=null&&b.payments)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const I=[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["VISA","MASTERCARD"],billingAddressRequired:!1},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:c,gatewayMerchantId:u}}}],B={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:I,transactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:"Итого",totalPrice:m,currencyCode:e.config.currency,countryCode:e.config.currency==="GEL"?"GE":"KZ"},merchantInfo:l?{merchantId:y,merchantName:h}:{merchantName:h}},Q=new b.payments.api.PaymentsClient({environment:l?"PRODUCTION":"TEST"});try{const D=await Q.isReadyToPay({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:I});if(!(D!=null&&D.result)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}he(e);const G=await Q.loadPaymentData(B),K=(R=(L=G==null?void 0:G.paymentMethodData)==null?void 0:L.tokenizationData)==null?void 0:R.token;if(!K)throw new Error(e.t("errorGooglePayPayment"));const J=JSON.parse(K),M=await cn(e.apiUrl,e._getApiConfig(),e.deviceId,J,t),v=(M==null?void 0:M.id)??((z=M==null?void 0:M.data)==null?void 0:z.id);v&&ge(e,String(v))}catch(D){q(e),D.statusCode==="CANCELED"?e.config.onCancel():(se(D,{paymentMethod:"google_pay"}),e.config.onError({attributes:{message:e._resolveErrorMessage(D,"errorGooglePayPayment")}}),console.error("Google Pay error:",D))}}async function $i(e,t,n){var r;if(!e.config.onPayWithGooglePay){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}he(e);try{const o=await e.config.onPayWithGooglePay({amount:Number(e._getCheckoutAmount()),gateway:n.gateway,gatewayMerchantId:n.gatewayMerchantId}),i=JSON.parse(o),c=await cn(e.apiUrl,e._getApiConfig(),e.deviceId,i,t),u=(c==null?void 0:c.id)??((r=c==null?void 0:c.data)==null?void 0:r.id);u&&ge(e,String(u))}catch(o){q(e),o.statusCode==="CANCELED"?e.config.onCancel():(se(o,{paymentMethod:"google_pay_native"}),e.config.onError({attributes:{message:e._resolveErrorMessage(o,"errorGooglePayPayment")}}),console.error("Google Pay native error:",o))}}function ea(e){var c,u,l,h,y,m,b,I,B,Q,S,P;const t=e.container;(c=t.querySelector('[data-action="freedom-card"]'))==null||c.addEventListener("click",()=>{e.config.onFreedomLink&&e.config.onFreedomLink()}),(u=t.querySelector('[data-action="pay"]'))==null||u.addEventListener("click",()=>e.handlePayment()),(l=t.querySelector('[data-action="change-method"]'))==null||l.addEventListener("click",()=>lr(e)),t.querySelectorAll('[data-action="close"]').forEach(k=>k.addEventListener("click",()=>e.close())),(h=t.querySelector('[data-action="close-sheet"]'))==null||h.addEventListener("click",()=>{e._pendingDeleteMethod?dt(e):le(e)}),(y=t.querySelector('[data-action="edit-sheet"]'))==null||y.addEventListener("click",()=>{e.isPaymentSheetEditMode=!0,Re(e),Le(e)}),(m=t.querySelector('[data-action="previous-sheet"]'))==null||m.addEventListener("click",()=>{e.isPaymentSheetEditMode=!1,Re(e),Le(e)}),(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",()=>dt(e)),(B=t.querySelector('[data-action="confirm-delete-submit"]'))==null||B.addEventListener("click",()=>{if(e._pendingDeleteMethod){const k=e._pendingDeleteMethod;jt(e,!0),Ji(e,k).then(()=>le(e)).finally(()=>jt(e,!1))}}),t.querySelectorAll(".choco-widget-method-item").forEach(k=>{k.addEventListener("click",L=>{const R=JSON.parse(L.currentTarget.getAttribute("data-method")||"{}");Ar(e,R)})});const n=t.querySelector('[data-sheet="payment"]');n&&(n.addEventListener("click",k=>{k.target===n&&le(e)}),na(e,n));const r=t.querySelector('[data-action="toggle-balance"]');r&&((Q=r.querySelector("input[type='checkbox']"))==null||Q.addEventListener("change",k=>{e.useBalance=k.target.checked,ur(e),e._updatePayButtonAmount()}));const o=t.querySelector('[data-action="toggle-bonuses"]');o&&((S=o.querySelector("input[type='checkbox']"))==null||S.addEventListener("change",k=>{e.useBonuses=k.target.checked,e.config.onAppliedBonus(e.useBonuses),ur(e),e._updatePayButtonAmount()}));const i=t.querySelector('[data-action="toggle-coupon"]');i&&((P=i.querySelector("input[type='checkbox']"))==null||P.addEventListener("change",k=>{e.useCoupon=k.target.checked,e._updatePayButtonAmount(),e._emitCouponSuppressingCashback()})),document.removeEventListener("keydown",e._boundKeyDown),document.addEventListener("keydown",e._boundKeyDown),cr(e)}function ta(e,t){var n,r;e.isOpen&&(t.key==="Escape"&&(t.preventDefault(),e._pendingDeleteMethod?dt(e):e.isAddCardViewOpen?Ie(e):e.isPaymentSheetOpen?le(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()))}function na(e,t){const n=t.querySelector('[data-action="sheet-drag-handle"]'),r=t.querySelector(".choco-widget-sheet-content");if(!n||!r)return;const o=80;let i=0,c=0;const u=h=>{c=h.clientY;const y=Math.max(0,c-i);r.style.transform=`translateY(${y}px)`},l=h=>{n.releasePointerCapture(h.pointerId),n.removeEventListener("pointermove",u),n.removeEventListener("pointerup",l),n.removeEventListener("pointercancel",l);const y=Math.max(0,c-i);if(r.classList.remove("choco-widget-sheet-content--dragging"),y>=o){r.style.transform="translateY(100%)";const m=()=>{r.removeEventListener("transitionend",m),r.style.transform="",le(e)};r.addEventListener("transitionend",m)}else r.style.transform=""};n.addEventListener("pointerdown",h=>{!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))})}class ye{static _getAuthStorageValue(t){return Ct(t)}static _setAuthStorageValue(t,n){je(t,n)}static _removeAuthStorageValue(t){Ce(t)}static async logout(){or()}constructor(t){this.config=qr(t),this.accessToken=null,this.deviceId=Vt(),this.apiUrl=Sr(this.config.environment),this.translations=_e,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._pendingOrderId=null,this._pendingDeleteMethod=null,this._pendingSuccessPayload=null,this._lifecycleListenersAttached=!1,this._destroyed=!1,this._boundAddCardMessage=null,this._boundKeyDown=n=>ta(this,n),this._boundVisibilityChange=()=>this._onVisibilityChange(),this._boundWindowFocus=()=>this._onWindowFocus(),this._boundPageShow=()=>this._onPageShow(),vi({clientId:String(this.config.clientId),terminalId:String(this.config.terminalId),environment:this.config.environment})}t(t,n={}){var i;const r=this.config.locale||"ru",o=((i=this.translations[r])==null?void 0:i[t])||this.translations.ru[t];return typeof o!="string"?t:o.replace(/{(\w+)}/g,(c,u)=>Object.prototype.hasOwnProperty.call(n,u)?String(n[u]):c)}_resolveErrorMessage(t,n="paymentError"){return(t==null?void 0:t.message)||this.t(n)}_getApiConfig(){return{...this.config,accessToken:this.accessToken}}_isInteractionBlocked(){return this.disabled||this.loading}_getBalanceAmount(){var o,i,c,u;const t=(u=(c=(i=(o=this.checkoutContext)==null?void 0:o.data)==null?void 0:i.balance)==null?void 0:c.data)==null?void 0:u.money,n=this.config.currency||"KZT",r=Number(t==null?void 0:t[n]);return Number.isFinite(r)&&r>0?r:0}_getBonusesAmount(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.amount);return Number.isFinite(t)&&t>0?t:0}_getBonusesPercent(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.percent);return!Number.isFinite(t)||t<=0?0:t>=100?100:t}_getAvailableBonus(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.availableBonus);return Number.isFinite(t)&&t>0?t:0}_getCouponDiscount(){if(!this.useCoupon||!this.selectedCoupon||this._isCouponDisabled()||this.selectedCoupon.type==="coupon")return 0;const t=Number(this.selectedCoupon.reward_amount);return Number.isFinite(t)&&t>0?t:0}_getPaymentBreakdown(){const t=this.config.amount,n=this._getBalanceAmount(),r=this.useBalance?Math.min(n,t):0,o=t-r,i=this.useBalance&&r>=t,c=this.useBonuses?this._getAvailableBonus():0,u=Math.max(o-c,0),l=this._getCouponDiscount(),h=Math.max(u-l,0),y=this.useBalance?t:h,m=this.useBalance&&!i,I=this.useCoupon&&this.selectedCoupon&&!this._isCouponDisabled()?{id:this.selectedCoupon.voucher_id,template_id:this.selectedCoupon.template_id,type:this.selectedCoupon.type}:void 0;return{payableAmount:h,checkoutOptions:{checkoutAmount:y,forceBalanceMethod:i,useBalance:m,voucher:I}}}_getPayableAmount(){return this._getPaymentBreakdown().payableAmount}_isBalanceFullyCoveringAmount(){return this._getPaymentBreakdown().checkoutOptions.forceBalanceMethod}_getCheckoutAmount(){return this._getPaymentBreakdown().checkoutOptions.checkoutAmount??this.config.amount}_getPaymentMethodForUserEvent(){var t;return this._isBalanceFullyCoveringAmount()?"balance":((t=this.selectedPaymentMethod)==null?void 0:t.type)??null}_getKaspiOptions(){return{onlyKaspiAvailable:this.config.onlyKaspiAvailable,disableKaspi:this.config.disableKaspi,disableGooglePay:this.config.disableGooglePay}}_emitUserEvent(t,n={}){typeof this.config.onUserEvent=="function"&&this.config.onUserEvent({eventName:t,eventProperties:n})}_emitPaymentMethodSelected(t=this.selectedPaymentMethod){typeof this.config.onPaymentMethodSelected=="function"&&this.config.onPaymentMethodSelected(t||null)}_emitCouponSuppressingCashback(){var n;const t=this.useCoupon&&((n=this.selectedCoupon)==null?void 0:n.suppresses_cashback)===!0;this.config.onCouponSuppressingCashback(t)}_attachEventListeners(){ea(this)}_updatePayButtonAmount(){At(this)}_showAddCardView(){Ht(this)}_closeAddCardView(){Ie(this)}_setNewCardActionTimeout(){this._clearNewCardActionTimeout(),this.newCardActionRequiredTimeoutId=setTimeout(()=>{this.waitingForNewCardAction&&(this.waitingForNewCardAction=!1,q(this),this.config.onError({attributes:{message:this.t("errorNoServerResponseRetry")}})),this.newCardActionRequiredTimeoutId=null},6e4)}_clearNewCardActionTimeout(){this.newCardActionRequiredTimeoutId&&(window.clearTimeout(this.newCardActionRequiredTimeoutId),this.newCardActionRequiredTimeoutId=null)}_saveTokensToStorage(t,n){ut(t,n)}_clearAuthStorage(){or()}_getAuthStorageValue(t){return ye._getAuthStorageValue(t)}_setAuthStorageValue(t,n){ye._setAuthStorageValue(t,n)}_removeAuthStorageValue(t){ye._removeAuthStorageValue(t)}_loadGooglePaySdk(){var t,n;return typeof window>"u"||typeof document>"u"?Promise.reject(new Error("Google Pay SDK requires browser environment")):(n=(t=window.google)==null?void 0:t.payments)!=null&&n.api?Promise.resolve():this._googlePayScriptPromise?this._googlePayScriptPromise:(this._googlePayScriptPromise=new Promise((r,o)=>{const i=document.querySelector('script[data-choco-google-pay-sdk="true"]');if(i){i.addEventListener("load",()=>r(),{once:!0}),i.addEventListener("error",()=>o(new Error("Failed to load Google Pay SDK")),{once:!0});return}const c=document.createElement("script");c.src="https://pay.google.com/gp/p/js/pay.js",c.async=!0,c.defer=!0,c.setAttribute("data-choco-google-pay-sdk","true"),c.onload=()=>r(),c.onerror=()=>o(new Error("Failed to load Google Pay SDK")),document.head.appendChild(c)}).finally(()=>{var r,o;(o=(r=window.google)==null?void 0:r.payments)!=null&&o.api||(this._googlePayScriptPromise=null)}),this._googlePayScriptPromise)}_attachLifecycleListeners(){this._lifecycleListenersAttached||(document.addEventListener("visibilitychange",this._boundVisibilityChange),window.addEventListener("focus",this._boundWindowFocus),window.addEventListener("pageshow",this._boundPageShow),this._lifecycleListenersAttached=!0)}_detachLifecycleListeners(){this._lifecycleListenersAttached&&(document.removeEventListener("visibilitychange",this._boundVisibilityChange),window.removeEventListener("focus",this._boundWindowFocus),window.removeEventListener("pageshow",this._boundPageShow),this._lifecycleListenersAttached=!1)}_onVisibilityChange(){ht()||(Jt(this),pt(this))}_onWindowFocus(){Jt(this),pt(this)}_onPageShow(){Jt(this),pt(this)}async _obtainTokenByRefreshOrTrackId(){await Ii(this)}async _fetchCheckoutContextWithRetry(){try{this.checkoutContext=await bt(this.apiUrl,this._getApiConfig())}catch(t){if(t.status===401)this._removeAuthStorageValue("webPayToken"),await this._obtainTokenByRefreshOrTrackId(),this.checkoutContext=await bt(this.apiUrl,this._getApiConfig());else throw t}}async _fetchCoupons(){try{const t=await jr(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);this.selectedCoupon=r.length>0?r[0]:null,this.useCoupon=!1}catch{this.selectedCoupon=null,this.useCoupon=!1}}_isCouponDisabled(){if(!this.selectedCoupon)return!1;if(this.config.amount<this.selectedCoupon.min_pay_amount)return!0;const t=this._getBalanceAmount(),n=this.useBalance?Math.min(t,this.config.amount):0,r=this.config.amount-n,o=this.useBonuses?Math.min(this._getAvailableBonus(),r):0;return r-o<this.selectedCoupon.reward_amount}_prerender(){Mi(this)}_render(){xi(this)}async init(){var t,n;try{if(this._prerender(),this._attachLifecycleListeners(),!this.config.clientId)return this.config.onError({attributes:{message:this.t("errorMissingTrackClient")}}),!1;if(this.accessToken=this._getAuthStorageValue("webPayToken"),!this.config.trackId&&!this.accessToken)return this.paymentMethodDisabled=!0,this._render(),!0;if(!this.accessToken&&(await this._obtainTokenByRefreshOrTrackId(),this._destroyed))return!1;try{await this._fetchCheckoutContextWithRetry()}catch(o){const i=o;return this.config.onError({attributes:{message:i.message}}),!1}if(this._destroyed||(await this._fetchCoupons(),this._emitCouponSuppressingCashback(),this._destroyed))return!1;const r=en((n=(t=this.checkoutContext)==null?void 0:t.data)==null?void 0:n.socket_connections,o=>fr(this,o));return r&&(this.centrifuge=r.centrifuge),pt(this),this.selectedPaymentMethod=mt(this.checkoutContext.data,this._getKaspiOptions()),this._emitPaymentMethodSelected(),this._render(),!0}catch(r){return console.error(`${this.t("errorWidgetInit")}:`,r),se(r,{phase:"init"}),this.config.onError({attributes:{message:r.message}}),!1}}close(){this.config.onCancel()}destroy(){this._destroyed=!0;const t=document.getElementById("choco-one-click-widget");t&&(t.style.display="none"),this._clearNewCardActionTimeout(),pe(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(()=>{var n;(n=this.container)==null||n.remove(),this.container=null},300)),this.isOpen=!1,this.isPaymentSheetOpen=!1,this.isAddCardViewOpen=!1,this.selectedPaymentMethod=null}getAvailablePaymentMethods(){var t;return(t=this.checkoutContext)!=null&&t.data?Dr(this.checkoutContext.data,n=>this.t(n),this._getKaspiOptions()):[]}async createOrder(){return Wi(this)}async pay(){try{await this.createOrder()}catch(t){console.error(`${this.t("errorPaymentProcess")}:`,t)}}async handlePayment(){if(this._isInteractionBlocked())return;const t=this._getPaymentMethodForUserEvent();t!=null&&this._emitUserEvent("one_click_pay_cta_tapped",{payment_method:t});try{if(this.config.onConfirmPay){this.config.onConfirmPay(this.selectedPaymentMethod||null);return}await this.pay()}catch(n){console.error(`${this.t("errorPaymentProcess")}:`,n)}}openPaymentSheet(){lr(this)}closePaymentSheet(){le(this)}async updateAmount(t){var n;if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error("amount must be a non-negative number");if(this.config.amount=t,this._isCouponDisabled()&&(this.useCoupon=!1),this.selectedCoupon){const r=this.isPaymentSheetOpen,o=this.isAddCardViewOpen;if(this._render(),ue(this),r){const i=(n=this.container)==null?void 0:n.querySelector('[data-sheet="payment"]');i&&(i.classList.add("choco-widget-payment-sheet--open"),this.isPaymentSheetOpen=!0)}o&&Ht(this);return}At(this)}async updateAvailableBonus(t){if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error("availableBonus must be a non-negative number");this.config.bonuses&&(this.config.bonuses.availableBonus=t),At(this)}async updateLocale(t){if(typeof t!="string"||!this.translations[t])throw new Error(`Unsupported locale: ${t}`);if(this.config.locale=t,!this.container)return;const n=this.isPaymentSheetOpen,r=this.isAddCardViewOpen;if(this._render(),ue(this),n){const o=this.container.querySelector('[data-sheet="payment"]');o&&(o.classList.add("choco-widget-payment-sheet--open"),this.isPaymentSheetOpen=!0)}r&&Ht(this)}async setLoading(t){this.loading=!!t,ue(this)}async setDisabled(t){this.disabled=!!t,ue(this)}async setPreorderId(t){this.config.preorderId=t}async setMerchantOrderId(t){this.config.merchantOrderId=t}async setIdempotencyKey(t){this.config.idempotencyKey=t}async logout(){await ye.logout(),this.accessToken=null}async updateTrackId(t){var n,r;if(this.config.trackId=t,!this.config.clientId)return this.config.onError({attributes:{message:this.t("errorMissingTrackClient")}}),!1;try{this._prerender(),await this._obtainTokenByRefreshOrTrackId();try{await this._fetchCheckoutContextWithRetry()}catch(i){const c=i;return this.config.onError({attributes:{message:c.message}}),!1}await this._fetchCoupons(),this._emitCouponSuppressingCashback(),this.centrifuge&&(this.centrifuge.disconnect(),this.centrifuge=null);const o=en((r=(n=this.checkoutContext)==null?void 0:n.data)==null?void 0:r.socket_connections,i=>fr(this,i));return o&&(this.centrifuge=o.centrifuge),this.selectedPaymentMethod=mt(this.checkoutContext.data,this._getKaspiOptions()),this._emitPaymentMethodSelected(),this.paymentMethodDisabled=!1,this._render(),!0}catch(o){return console.error(`${this.t("errorWidgetInit")}:`,o),se(o,{phase:"updateTrackId"}),this.config.onError({attributes:{message:o.message}}),!1}}async onConfirmPay(t){if(typeof t!="function")throw new Error("onConfirmPay callback must be a function");this.config.onConfirmPay=t}async onPaymentMethodSelected(t){if(typeof t!="function")throw new Error("onPaymentMethodSelected callback must be a function");this.config.onPaymentMethodSelected=t,this._emitPaymentMethodSelected()}async onKaspiLink(t){if(typeof t!="function")throw new Error("onKaspiLink callback must be a function");this.config.onKaspiLink=t}async onUserEvent(t){if(typeof t!="function")throw new Error("onUserEvent callback must be a function");this.config.onUserEvent=t}async onFreedomLink(t){if(typeof t!="function")throw new Error("onFreedomLink callback must be a function");this.config.onFreedomLink=t}async onAppliedBonus(t){if(typeof t!="function")throw new Error("onAppliedBonus callback must be a function");this.config.onAppliedBonus=t}async onCouponSuppressingCashback(t){if(typeof t!="function")throw new Error("onCouponSuppressingCashback callback must be a function");this.config.onCouponSuppressingCashback=t}}return typeof window<"u"&&(window.ChocoOneClickWidget=ye),ye}));
315
+ `,n.appendChild(r),n.appendChild(o),t.appendChild(n),ue(e)}function dr(e){var o;if(!e.selectedCoupon)return;const t=e._isCouponDisabled();t&&e.useCoupon&&(e.useCoupon=!1);const n=(o=e.container)==null?void 0:o.querySelector('[data-action="toggle-coupon"]');if(!n)return;n.classList.toggle("choco-widget-balance-toggle--disabled",t);const r=n.querySelector("input[type='checkbox']");r&&(r.disabled=t,t&&(r.checked=!1))}function he(e){e.loading=!0,ue(e)}function q(e){var m,C,v,B,Q,S,P,k;e.loading=!1;const t=(m=e.container)==null?void 0:m.querySelector(".choco-widget-payment-method"),n=(C=e.container)==null?void 0:C.querySelector(".choco-widget-pay-button"),r=(v=e.container)==null?void 0:v.querySelector(".choco-widget-google-pay-button-slot button"),o=(B=e.container)==null?void 0:B.querySelector(".choco-widget-apple-pay-button-slot button"),i=(Q=e.container)==null?void 0:Q.querySelector(".choco-widget-google-pay-amount"),c=(S=e.container)==null?void 0:S.querySelector(".choco-widget-google-pay-row"),u=(P=e.container)==null?void 0:P.querySelector(".choco-widget-apple-pay-row"),l=(k=e.container)==null?void 0:k.querySelector(".choco-widget-balance-section"),f=e._isInteractionBlocked(),y=e.paymentMethodDisabled||f;t&&(t.disabled=y),n&&(n.disabled=f,n.classList.remove("choco-widget-pay-button--loading")),r&&(r.disabled=f),o&&(o.disabled=f),i==null||i.classList.toggle("choco-widget-wallet-blocked",f),i==null||i.setAttribute("aria-disabled",String(f)),c==null||c.classList.toggle("choco-widget-wallet-blocked",f),c==null||c.setAttribute("aria-disabled",String(f)),u==null||u.classList.toggle("choco-widget-wallet-blocked",f),u==null||u.setAttribute("aria-disabled",String(f)),l==null||l.classList.remove("disabled")}function ue(e){var C,v,B,Q,S,P,k,L,R;const t=(C=e.container)==null?void 0:C.querySelector(".choco-widget-payment-method"),n=(v=e.container)==null?void 0:v.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(".choco-widget-google-pay-button-slot button"),i=(S=e.container)==null?void 0:S.querySelector(".choco-widget-apple-pay-button-slot button"),c=(P=e.container)==null?void 0:P.querySelector(".choco-widget-google-pay-amount"),u=(k=e.container)==null?void 0:k.querySelector(".choco-widget-google-pay-row"),l=(L=e.container)==null?void 0:L.querySelector(".choco-widget-apple-pay-row"),f=(R=e.container)==null?void 0:R.querySelector(".choco-widget-balance-section"),y=e._isInteractionBlocked(),m=e.paymentMethodDisabled||y;f==null||f.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))}function fr(e){var n;if(e._isInteractionBlocked())return;const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');t&&(t.classList.add("choco-widget-payment-sheet--open"),e.isPaymentSheetOpen=!0,Oe(e))}function le(e){var n;const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');if(t){ft(e);const r=t.querySelector(".choco-widget-sheet-content");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,Le(e),Oe(e))}}function Oe(e){var l;const t=(l=e.container)==null?void 0:l.querySelector('[data-sheet="payment"]');if(!t)return;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(f=>f.type==="card");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"))}function jt(e){if(!e.addCardActionUrl||!e.container)return;const t=e.container.querySelector('[data-sheet="add-card"]'),n=e.container.querySelector("#choco-widget-add-card-iframe");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,ji(e))}function Ie(e){var r,o;const t=(r=e.container)==null?void 0:r.querySelector('[data-sheet="add-card"]'),n=(o=e.container)==null?void 0:o.querySelector("#choco-widget-add-card-iframe");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,Ji(e)}function ji(e){e._boundAddCardMessage=t=>{var n;e.isAddCardViewOpen&&(n=t.data)!=null&&n.message&&t.origin==="https://rahmetapp.kz"&&he(e)},window.addEventListener("message",e._boundAddCardMessage)}function Ji(e){e._boundAddCardMessage&&(window.removeEventListener("message",e._boundAddCardMessage),e._boundAddCardMessage=null)}function qi(e,t){var c;e._pendingDeleteMethod=t;const n=(c=e.container)==null?void 0:c.querySelector('[data-sheet="payment"]');if(!n)return;n.classList.add("choco-widget-payment-sheet--delete-confirm");const r=n.querySelector(".choco-widget-sheet-title"),o=n.querySelector('[data-action="edit-sheet"]'),i=n.querySelector('[data-action="previous-sheet"]');r&&(r.textContent=e.t("confirmDeleteCard")),o&&(o.style.display="none"),i&&(i.style.display="none")}function ft(e){var n;e._pendingDeleteMethod=null,Jt(e,!1);const t=(n=e.container)==null?void 0:n.querySelector('[data-sheet="payment"]');t==null||t.classList.remove("choco-widget-payment-sheet--delete-confirm"),Oe(e)}function Jt(e,t){var i,c,u;const n=(i=e.container)==null?void 0:i.querySelector(".choco-widget-sheet-delete-confirm-actions"),r=(c=e.container)==null?void 0:c.querySelector('[data-action="confirm-delete-cancel"]'),o=(u=e.container)==null?void 0:u.querySelector('[data-action="confirm-delete-submit"]');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))}async function zi(e,t){var r,o;const n=t==null?void 0:t.cardId;if(!(!n||(t==null?void 0:t.type)!=="card"))try{await Hr(e.apiUrl,e._getApiConfig(),n),e.checkoutContext=await Et(e.apiUrl,e._getApiConfig()),((r=e.selectedPaymentMethod)==null?void 0:r.type)==="card"&&((o=e.selectedPaymentMethod)==null?void 0:o.cardId)===n&&(e.selectedPaymentMethod=Ct(e.checkoutContext.data,e._getKaspiOptions()),e._emitPaymentMethodSelected(),lr(e)),Le(e),e.config.onSuccess({message:e.t("cardDeleted")}),e.config.onCardDeleted&&e.config.onCardDeleted({cardId:n})}catch(i){e.config.onError({attributes:{message:(i==null?void 0:i.message)||e.t("paymentError")}})}}function hr(e,t){if(e._isInteractionBlocked())return;if(e.selectedPaymentMethod=t,e._emitPaymentMethodSelected(),t.type==="new_card"){e._emitUserEvent("one_click_pay_method_resolved",{payment_method:t.type}),le(e),e.handlePayment();return}const n=e._getPaymentMethodForUserEvent();n!=null&&e._emitUserEvent("one_click_pay_method_resolved",{payment_method:n}),Le(e),le(e),lr(e)}const ht="choco_pending_order_id",Ki=1800*1e3;function Gi(e){qe(ht,JSON.stringify({id:e,ts:Date.now()}))}function Wi(){const e=bt(ht);if(!e)return null;try{const{id:t,ts:n}=JSON.parse(e);return!t||typeof n!="number"?null:Date.now()-n>Ki?(Ce(ht),null):String(t)}catch{return null}}function pr(e){e._pendingOrderId=null,Ce(ht)}function gr(e,t){var r;const n=t.type||((r=t.data)==null?void 0:r.type);if(!n){console.warn("Unknown event format:",t);return}switch(n){case"order.paid":e._orderStatusResolved=!0,pe(e),mr(e,t);break;case"order.failed":e._orderStatusResolved=!0,pe(e),Cr(e,t);break;case"order.action_required":Yi(e,t);break;default:console.warn("Unknown event type:",n)}}function pe(e){e._orderStatusPollingId&&(clearInterval(e._orderStatusPollingId),e._orderStatusPollingId=null)}function ge(e,t){pe(e),e._orderStatusResolved=!1,e._pendingOrderId=String(t),Gi(String(t));const n=6e3,r=5;let o=0;const i=async()=>{if(!e._orderStatusResolved){if(o>=r){pe(e),q(e),e.config.onError({attributes:{message:e.t("errorNoServerResponseRetry")}});return}o+=1;try{let c;try{c=await an(e.apiUrl,e._getApiConfig(),String(t))}catch(y){if((y==null?void 0:y.status)===401)await e._obtainTokenByRefreshOrTrackId(),c=await an(e.apiUrl,e._getApiConfig(),String(t));else throw y}const{data:u}=c,l=u==null?void 0:u.status,f=(u==null?void 0:u.payload)||{};if(l==="success"){e._orderStatusResolved=!0,pe(e),mr(e,{id:String(f.id||t),attributes:{amount:f.amount,paid_at:f.paid_at||""}});return}l==="fail"&&(e._orderStatusResolved=!0,pe(e),Cr(e,{id:String(f.id||t),attributes:{message:f.message||e.t("paymentError")}}))}catch(c){console.warn("[Polling] checkOrderStatus error:",c)}}};e._orderStatusPollingId=setInterval(i,n),i()}function pt(){return typeof document>"u"?!1:document.hidden||document.visibilityState==="hidden"}function yr(e,t){q(e),e.config.onSuccess(t)}function qt(e){if(!e._pendingSuccessPayload||pt())return;const t=e._pendingSuccessPayload;e._pendingSuccessPayload=null,yr(e,t)}function Ne(e){if(pt()||e._orderStatusResolved)return;const t=e._pendingOrderId||Wi();t&&(e._pendingOrderId=t,ge(e,t))}function mr(e,t){var o,i;pr(e),e.isAddCardViewOpen&&Ie(e);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};if(pt()){e._pendingSuccessPayload=r;return}yr(e,r)}function Cr(e,t){var r,o;pr(e),e.isAddCardViewOpen&&Ie(e),q(e);const n=t.attributes||((r=t.data)==null?void 0:r.attributes)||{};e.config.onError({id:t.id||((o=t.data)==null?void 0:o.id),attributes:n})}function Yi(e,t){var i,c,u;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";if(!r){console.error(e.t("errorActionUrlMissing")),e.waitingForNewCardAction&&(e.waitingForNewCardAction=!1,q(e),e.config.onError({attributes:{message:e.t("errorNoServerResponse")}}));return}if(e.waitingForNewCardAction&&(e.waitingForNewCardAction=!1,e._clearNewCardActionTimeout()),o==="inner"){e.addCardActionUrl=r,q(e),e._showAddCardView();return}if(((c=e.selectedPaymentMethod)==null?void 0:c.type)==="kaspi_pay"){const l=t.id||((u=t.data)==null?void 0:u.id);if(l&&!e._orderStatusResolved&&!e._orderStatusPollingId&&ge(e,String(l)),typeof e.config.onKaspiLink=="function"){e.config.onKaspiLink({action_link:r,action_url:r,action_type:o,event:t});return}}window.location.href=r}async function Vi(e){var n,r,o,i,c;if(!e.selectedPaymentMethod){e.config.onError({attributes:{message:e.t("errorPaymentMethodNotSelected")}});return}const{checkoutOptions:t}=e._getPaymentBreakdown();if(e._isBalanceFullyCoveringAmount()){he(e);try{const u=await cn(e.apiUrl,e._getApiConfig(),e.deviceId,e.selectedPaymentMethod,t);await br(e);const l=(u==null?void 0:u.id)??((n=u==null?void 0:u.data)==null?void 0:n.id);return l&&ge(e,String(l)),u}catch(u){throw q(e),se(u,{paymentMethod:"balance"}),e.config.onError({attributes:{message:e._resolveErrorMessage(u)}}),u}}if(e.selectedPaymentMethod.type==="new_card"){await Zi(e,t);return}if(e.selectedPaymentMethod.type==="apple_pay"){await $i(e,t);return}if(e.selectedPaymentMethod.type==="google_pay"){await ea(e,t);return}he(e);try{const u=await cn(e.apiUrl,e._getApiConfig(),e.deviceId,e.selectedPaymentMethod,t);await br(e);const l=(u==null?void 0:u.id)??((r=u==null?void 0:u.data)==null?void 0:r.id);if(l&&ge(e,String(l)),((o=e.selectedPaymentMethod)==null?void 0:o.type)==="kaspi_pay"){const f=(u==null?void 0:u.attributes)||((i=u==null?void 0:u.data)==null?void 0:i.attributes)||{},y=f.action_link||f.action_url,m=f.action_url_type||f.action_type||"redirect";if(y)return typeof e.config.onKaspiLink=="function"?(e.config.onKaspiLink({action_link:y,action_url:y,action_type:m,event:u}),u):(window.location.href=y,u)}return u}catch(u){throw q(e),se(u,{paymentMethod:((c=e.selectedPaymentMethod)==null?void 0:c.type)||"card"}),e.config.onError({message:e._resolveErrorMessage(u)}),u}}async function br(e){var t,n;if(!(((t=e.selectedPaymentMethod)==null?void 0:t.type)!=="card"||!((n=e.selectedPaymentMethod)!=null&&n.cardId)))try{await jr(e.apiUrl,e._getApiConfig(),e.selectedPaymentMethod.cardId)}catch(r){console.warn("Failed to mark selected card as default:",r)}}async function Zi(e,t){he(e),e.waitingForNewCardAction=!0,e._setNewCardActionTimeout();try{await Jr(e.apiUrl,e._getApiConfig(),e.deviceId,t)}catch(n){e.waitingForNewCardAction=!1,e._clearNewCardActionTimeout(),q(e),se(n,{paymentMethod:"new_card"}),e.config.onError({attributes:{message:e._resolveErrorMessage(n)}}),console.error("New card payment error:",n)}}let De=null,Be=!1,gt=!1;async function $i(e,t){const n=window.ApplePaySession;if(!n||!n.canMakePayments()){e.config.onError({attributes:{message:e.t("errorApplePayUnsupported")}});return}if(De)return;he(e);const r={countryCode:e.config.currency==="GEL"?"GE":"KZ",currencyCode:e.config.currency,supportedNetworks:["visa","masterCard"],merchantCapabilities:["supports3DS"],total:{label:e.config.merchantName||"Choco",amount:String(e._getPayableAmount()),type:"final"}},o=new n(3,r);De=o,Be=!1,gt=!1,o.onvalidatemerchant=async i=>{var c,u;try{let l;try{l=await un(e.apiUrl,e._getApiConfig(),i.validationURL)}catch(m){if(m.status===401)await e._obtainTokenByRefreshOrTrackId(),l=await un(e.apiUrl,e._getApiConfig(),i.validationURL);else throw m}const f=((u=(c=l==null?void 0:l.data)==null?void 0:c.attributes)==null?void 0:u.session)||l,y=JSON.parse(atob(f));o.completeMerchantValidation(y),Be=!0}catch(l){console.error("Apple Pay session error:",l),se(l,{paymentMethod:"apple_pay",phase:"merchant_validation"}),q(e),gt=!0,o.abort(),e.config.onError({attributes:{message:e.t("errorApplePayInit")}})}},o.onpaymentauthorized=async i=>{var c;try{if(typeof e.config.onBeforeCheckout=="function"){const f=await e.config.onBeforeCheckout();f&&typeof f=="object"&&Object.assign(e.config,f)}const u=await zr(e.apiUrl,e._getApiConfig(),e.deviceId,i.payment,t);o.completePayment(n.STATUS_SUCCESS),De=null,Be=!1;const l=(u==null?void 0:u.id)??((c=u==null?void 0:u.data)==null?void 0:c.id);l&&!e._orderStatusResolved&&ge(e,String(l))}catch(u){console.error("Apple Pay payment error:",u),se(u,{paymentMethod:"apple_pay",phase:"payment_authorized"}),o.completePayment(n.STATUS_FAILURE),De=null,Be=!1,q(e),e.config.onError({attributes:{message:e._resolveErrorMessage(u,"errorApplePayPayment")}})}},o.oncancel=()=>{var u;const i=Be,c=gt;if(De=null,Be=!1,gt=!1,q(e),!c){if(((u=e.selectedPaymentMethod)==null?void 0:u.type)==="apple_pay"&&!i){e.config.onError({attributes:{message:e.t("errorApplePayInterrupted")}});return}e.config.onCancel()}},o.begin()}async function ea(e,t){var S,P,k,L,R,z;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||{};if(!(r.payment_method_google_pay==="enabled"||r.payment_method_google_pay===!0)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const c=o==null?void 0:o.gateway,u=o==null?void 0:o.merchant_id;if(!c||!u){e.config.onError({attributes:{message:e.t("errorGooglePaySettingsUnavailable")}});return}const l=e.config.environment==="production",f=(o==null?void 0:o.merchant_name)||"Choco",y=o==null?void 0:o.google_merchant_id;if(l&&!y){e.config.onError({attributes:{message:e.t("errorGooglePaySettingsUnavailable")}});return}if(e.config.isNativeAndroid){await ta(e,t,{gateway:c,gatewayMerchantId:u});return}const m=Number(e._getCheckoutAmount()).toFixed(2);try{await e._loadGooglePaySdk()}catch(D){console.error("Google Pay SDK load error:",D),e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const C=window.google;if(!(C!=null&&C.payments)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}const v=[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["VISA","MASTERCARD"],billingAddressRequired:!1},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:c,gatewayMerchantId:u}}}],B={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:v,transactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:"Итого",totalPrice:m,currencyCode:e.config.currency,countryCode:e.config.currency==="GEL"?"GE":"KZ"},merchantInfo:l?{merchantId:y,merchantName:f}:{merchantName:f}},Q=new C.payments.api.PaymentsClient({environment:l?"PRODUCTION":"TEST"});try{const D=await Q.isReadyToPay({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:v});if(!(D!=null&&D.result)){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}he(e);const G=await Q.loadPaymentData(B),K=(R=(L=G==null?void 0:G.paymentMethodData)==null?void 0:L.tokenizationData)==null?void 0:R.token;if(!K)throw new Error(e.t("errorGooglePayPayment"));const J=JSON.parse(K),M=await ln(e.apiUrl,e._getApiConfig(),e.deviceId,J,t),I=(M==null?void 0:M.id)??((z=M==null?void 0:M.data)==null?void 0:z.id);I&&ge(e,String(I))}catch(D){q(e),D.statusCode==="CANCELED"?e.config.onCancel():(se(D,{paymentMethod:"google_pay"}),e.config.onError({attributes:{message:e._resolveErrorMessage(D,"errorGooglePayPayment")}}),console.error("Google Pay error:",D))}}async function ta(e,t,n){var r;if(!e.config.onPayWithGooglePay){e.config.onError({attributes:{message:e.t("errorGooglePayUnsupported")}});return}he(e);try{const o=await e.config.onPayWithGooglePay({amount:Number(e._getCheckoutAmount()),gateway:n.gateway,gatewayMerchantId:n.gatewayMerchantId}),i=JSON.parse(o),c=await ln(e.apiUrl,e._getApiConfig(),e.deviceId,i,t),u=(c==null?void 0:c.id)??((r=c==null?void 0:c.data)==null?void 0:r.id);u&&ge(e,String(u))}catch(o){q(e),o.statusCode==="CANCELED"?e.config.onCancel():(se(o,{paymentMethod:"google_pay_native"}),e.config.onError({attributes:{message:e._resolveErrorMessage(o,"errorGooglePayPayment")}}),console.error("Google Pay native error:",o))}}function na(e){var c,u,l,f,y,m,C,v,B,Q,S,P;const t=e.container;(c=t.querySelector('[data-action="freedom-card"]'))==null||c.addEventListener("click",()=>{e.config.onFreedomLink&&e.config.onFreedomLink()}),(u=t.querySelector('[data-action="pay"]'))==null||u.addEventListener("click",()=>e.handlePayment()),(l=t.querySelector('[data-action="change-method"]'))==null||l.addEventListener("click",()=>fr(e)),t.querySelectorAll('[data-action="close"]').forEach(k=>k.addEventListener("click",()=>e.close())),(f=t.querySelector('[data-action="close-sheet"]'))==null||f.addEventListener("click",()=>{e._pendingDeleteMethod?ft(e):le(e)}),(y=t.querySelector('[data-action="edit-sheet"]'))==null||y.addEventListener("click",()=>{e.isPaymentSheetEditMode=!0,Le(e),Oe(e)}),(m=t.querySelector('[data-action="previous-sheet"]'))==null||m.addEventListener("click",()=>{e.isPaymentSheetEditMode=!1,Le(e),Oe(e)}),(C=t.querySelector('[data-action="close-add-card"]'))==null||C.addEventListener("click",()=>Ie(e)),(v=t.querySelector('[data-action="confirm-delete-cancel"]'))==null||v.addEventListener("click",()=>ft(e)),(B=t.querySelector('[data-action="confirm-delete-submit"]'))==null||B.addEventListener("click",()=>{if(e._pendingDeleteMethod){const k=e._pendingDeleteMethod;Jt(e,!0),zi(e,k).then(()=>le(e)).finally(()=>Jt(e,!1))}}),t.querySelectorAll(".choco-widget-method-item").forEach(k=>{k.addEventListener("click",L=>{const R=JSON.parse(L.currentTarget.getAttribute("data-method")||"{}");hr(e,R)})});const n=t.querySelector('[data-sheet="payment"]');n&&(n.addEventListener("click",k=>{k.target===n&&le(e)}),oa(e,n));const r=t.querySelector('[data-action="toggle-balance"]');r&&((Q=r.querySelector("input[type='checkbox']"))==null||Q.addEventListener("change",k=>{e.useBalance=k.target.checked,dr(e),e._updatePayButtonAmount()}));const o=t.querySelector('[data-action="toggle-bonuses"]');o&&((S=o.querySelector("input[type='checkbox']"))==null||S.addEventListener("change",k=>{e.useBonuses=k.target.checked,e.config.onAppliedBonus(e.useBonuses),dr(e),e._updatePayButtonAmount()}));const i=t.querySelector('[data-action="toggle-coupon"]');i&&((P=i.querySelector("input[type='checkbox']"))==null||P.addEventListener("change",k=>{e.useCoupon=k.target.checked,e._updatePayButtonAmount(),e._emitCouponSuppressingCashback()})),document.removeEventListener("keydown",e._boundKeyDown),document.addEventListener("keydown",e._boundKeyDown),Ar(e)}function ra(e,t){var n,r;e.isOpen&&(t.key==="Escape"&&(t.preventDefault(),e._pendingDeleteMethod?ft(e):e.isAddCardViewOpen?Ie(e):e.isPaymentSheetOpen?le(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()))}function oa(e,t){const n=t.querySelector('[data-action="sheet-drag-handle"]'),r=t.querySelector(".choco-widget-sheet-content");if(!n||!r)return;const o=80;let i=0,c=0;const u=f=>{c=f.clientY;const y=Math.max(0,c-i);r.style.transform=`translateY(${y}px)`},l=f=>{n.releasePointerCapture(f.pointerId),n.removeEventListener("pointermove",u),n.removeEventListener("pointerup",l),n.removeEventListener("pointercancel",l);const y=Math.max(0,c-i);if(r.classList.remove("choco-widget-sheet-content--dragging"),y>=o){r.style.transform="translateY(100%)";const m=()=>{r.removeEventListener("transitionend",m),r.style.transform="",le(e)};r.addEventListener("transitionend",m)}else r.style.transform=""};n.addEventListener("pointerdown",f=>{!e.isPaymentSheetOpen||f.button!==0||(f.preventDefault(),i=f.clientY,c=f.clientY,r.classList.add("choco-widget-sheet-content--dragging"),n.setPointerCapture(f.pointerId),n.addEventListener("pointermove",u),n.addEventListener("pointerup",l),n.addEventListener("pointercancel",l))})}class ye{static _getAuthStorageValue(t){return bt(t)}static _setAuthStorageValue(t,n){qe(t,n)}static _removeAuthStorageValue(t){Ce(t)}static async logout(){ar()}constructor(t){this.config=Kr(t),this.accessToken=null,this._tokenExpiresAt=null,this._tokenPrewarmPromise=null,this.deviceId=Zt(),this.apiUrl=kr(this.config.environment),this.translations=Qe,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._pendingOrderId=null,this._pendingDeleteMethod=null,this._pendingSuccessPayload=null,this._lifecycleListenersAttached=!1,this._destroyed=!1,this._boundAddCardMessage=null,this._boundKeyDown=n=>ra(this,n),this._boundVisibilityChange=()=>this._onVisibilityChange(),this._boundWindowFocus=()=>this._onWindowFocus(),this._boundPageShow=()=>this._onPageShow(),Bi({clientId:String(this.config.clientId),terminalId:String(this.config.terminalId),environment:this.config.environment})}t(t,n={}){var i;const r=this.config.locale||"ru",o=((i=this.translations[r])==null?void 0:i[t])||this.translations.ru[t];return typeof o!="string"?t:o.replace(/{(\w+)}/g,(c,u)=>Object.prototype.hasOwnProperty.call(n,u)?String(n[u]):c)}_resolveErrorMessage(t,n="paymentError"){return(t==null?void 0:t.message)||this.t(n)}_getApiConfig(){return{...this.config,accessToken:this.accessToken}}_isInteractionBlocked(){return this.disabled||this.loading}_getBalanceAmount(){var o,i,c,u;const t=(u=(c=(i=(o=this.checkoutContext)==null?void 0:o.data)==null?void 0:i.balance)==null?void 0:c.data)==null?void 0:u.money,n=this.config.currency||"KZT",r=Number(t==null?void 0:t[n]);return Number.isFinite(r)&&r>0?r:0}_getBonusesAmount(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.amount);return Number.isFinite(t)&&t>0?t:0}_getBonusesPercent(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.percent);return!Number.isFinite(t)||t<=0?0:t>=100?100:t}_getAvailableBonus(){var n;const t=Number((n=this.config.bonuses)==null?void 0:n.availableBonus);return Number.isFinite(t)&&t>0?t:0}_getCouponDiscount(){if(!this.useCoupon||!this.selectedCoupon||this._isCouponDisabled()||this.selectedCoupon.type==="coupon")return 0;const t=Number(this.selectedCoupon.reward_amount);return Number.isFinite(t)&&t>0?t:0}_getPaymentBreakdown(){const t=this.config.amount,n=this._getBalanceAmount(),r=this.useBalance?Math.min(n,t):0,o=t-r,i=this.useBalance&&r>=t,c=this.useBonuses?this._getAvailableBonus():0,u=Math.max(o-c,0),l=this._getCouponDiscount(),f=Math.max(u-l,0),y=this.useBalance?t:f,m=this.useBalance&&!i,v=this.useCoupon&&this.selectedCoupon&&!this._isCouponDisabled()?{id:this.selectedCoupon.voucher_id,template_id:this.selectedCoupon.template_id,type:this.selectedCoupon.type}:void 0;return{payableAmount:f,checkoutOptions:{checkoutAmount:y,forceBalanceMethod:i,useBalance:m,voucher:v}}}_getPayableAmount(){return this._getPaymentBreakdown().payableAmount}_isBalanceFullyCoveringAmount(){return this._getPaymentBreakdown().checkoutOptions.forceBalanceMethod}_getCheckoutAmount(){return this._getPaymentBreakdown().checkoutOptions.checkoutAmount??this.config.amount}_getPaymentMethodForUserEvent(){var t;return this._isBalanceFullyCoveringAmount()?"balance":((t=this.selectedPaymentMethod)==null?void 0:t.type)??null}_getKaspiOptions(){return{onlyKaspiAvailable:this.config.onlyKaspiAvailable,disableKaspi:this.config.disableKaspi,disableGooglePay:this.config.disableGooglePay}}_emitUserEvent(t,n={}){typeof this.config.onUserEvent=="function"&&this.config.onUserEvent({eventName:t,eventProperties:n})}_emitPaymentMethodSelected(t=this.selectedPaymentMethod){typeof this.config.onPaymentMethodSelected=="function"&&this.config.onPaymentMethodSelected(t||null)}_emitCouponSuppressingCashback(){var n;const t=this.useCoupon&&((n=this.selectedCoupon)==null?void 0:n.suppresses_cashback)===!0;this.config.onCouponSuppressingCashback(t)}_attachEventListeners(){na(this)}_updatePayButtonAmount(){dt(this)}_showAddCardView(){jt(this)}_closeAddCardView(){Ie(this)}_setNewCardActionTimeout(){this._clearNewCardActionTimeout(),this.newCardActionRequiredTimeoutId=setTimeout(()=>{this.waitingForNewCardAction&&(this.waitingForNewCardAction=!1,q(this),this.config.onError({attributes:{message:this.t("errorNoServerResponseRetry")}})),this.newCardActionRequiredTimeoutId=null},6e4)}_clearNewCardActionTimeout(){this.newCardActionRequiredTimeoutId&&(window.clearTimeout(this.newCardActionRequiredTimeoutId),this.newCardActionRequiredTimeoutId=null)}_saveTokensToStorage(t,n){ir(t,n)}_clearAuthStorage(){ar()}_getAuthStorageValue(t){return ye._getAuthStorageValue(t)}_setAuthStorageValue(t,n){ye._setAuthStorageValue(t,n)}_removeAuthStorageValue(t){ye._removeAuthStorageValue(t)}_loadGooglePaySdk(){var t,n;return typeof window>"u"||typeof document>"u"?Promise.reject(new Error("Google Pay SDK requires browser environment")):(n=(t=window.google)==null?void 0:t.payments)!=null&&n.api?Promise.resolve():this._googlePayScriptPromise?this._googlePayScriptPromise:(this._googlePayScriptPromise=new Promise((r,o)=>{const i=document.querySelector('script[data-choco-google-pay-sdk="true"]');if(i){i.addEventListener("load",()=>r(),{once:!0}),i.addEventListener("error",()=>o(new Error("Failed to load Google Pay SDK")),{once:!0});return}const c=document.createElement("script");c.src="https://pay.google.com/gp/p/js/pay.js",c.async=!0,c.defer=!0,c.setAttribute("data-choco-google-pay-sdk","true"),c.onload=()=>r(),c.onerror=()=>o(new Error("Failed to load Google Pay SDK")),document.head.appendChild(c)}).finally(()=>{var r,o;(o=(r=window.google)==null?void 0:r.payments)!=null&&o.api||(this._googlePayScriptPromise=null)}),this._googlePayScriptPromise)}_attachLifecycleListeners(){this._lifecycleListenersAttached||(document.addEventListener("visibilitychange",this._boundVisibilityChange),window.addEventListener("focus",this._boundWindowFocus),window.addEventListener("pageshow",this._boundPageShow),this._lifecycleListenersAttached=!0)}_detachLifecycleListeners(){this._lifecycleListenersAttached&&(document.removeEventListener("visibilitychange",this._boundVisibilityChange),window.removeEventListener("focus",this._boundWindowFocus),window.removeEventListener("pageshow",this._boundPageShow),this._lifecycleListenersAttached=!1)}_onVisibilityChange(){pt()||(qt(this),Ne(this))}_onWindowFocus(){qt(this),Ne(this)}_onPageShow(){qt(this),Ne(this)}async _obtainTokenByRefreshOrTrackId(){await Si(this)}_isTokenExpiringSoon(t=9e4){return this.accessToken?this._tokenExpiresAt==null?!1:Date.now()>=this._tokenExpiresAt-t:!0}_prewarmAuthToken(){this._destroyed||this.paymentMethodDisabled||this._tokenPrewarmPromise||!this._isTokenExpiringSoon()||(this._tokenPrewarmPromise=this._obtainTokenByRefreshOrTrackId().catch(()=>{}).finally(()=>{this._tokenPrewarmPromise=null}))}async _fetchCheckoutContextWithRetry(){try{this.checkoutContext=await Et(this.apiUrl,this._getApiConfig())}catch(t){if(t.status===401)this._removeAuthStorageValue("webPayToken"),await this._obtainTokenByRefreshOrTrackId(),this.checkoutContext=await Et(this.apiUrl,this._getApiConfig());else throw t}}async _fetchCoupons(){try{const t=await qr(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);this.selectedCoupon=r.length>0?r[0]:null,this.useCoupon=!1}catch{this.selectedCoupon=null,this.useCoupon=!1}}_isCouponDisabled(){if(!this.selectedCoupon)return!1;if(this.config.amount<this.selectedCoupon.min_pay_amount)return!0;const t=this._getBalanceAmount(),n=this.useBalance?Math.min(t,this.config.amount):0,r=this.config.amount-n,o=this.useBonuses?Math.min(this._getAvailableBonus(),r):0;return r-o<this.selectedCoupon.reward_amount}_prerender(){Ui(this)}_render(){Fi(this)}async init(){var t,n;try{if(this._prerender(),this._attachLifecycleListeners(),!this.config.clientId)return this.config.onError({attributes:{message:this.t("errorMissingTrackClient")}}),!1;if(this.accessToken=this._getAuthStorageValue("webPayToken"),!this.config.trackId&&!this.accessToken)return this.paymentMethodDisabled=!0,this._render(),!0;if(!this.accessToken&&(await this._obtainTokenByRefreshOrTrackId(),this._destroyed))return!1;try{await this._fetchCheckoutContextWithRetry()}catch(o){const i=o;return this.config.onError({attributes:{message:i.message}}),!1}if(this._destroyed||(await this._fetchCoupons(),this._emitCouponSuppressingCashback(),this._destroyed))return!1;const r=tn((n=(t=this.checkoutContext)==null?void 0:t.data)==null?void 0:n.socket_connections,o=>gr(this,o));return r&&(this.centrifuge=r.centrifuge),Ne(this),this.selectedPaymentMethod=Ct(this.checkoutContext.data,this._getKaspiOptions()),this._emitPaymentMethodSelected(),this._render(),!0}catch(r){return console.error(`${this.t("errorWidgetInit")}:`,r),se(r,{phase:"init"}),this.config.onError({attributes:{message:r.message}}),!1}}close(){this.config.onCancel()}destroy(){this._destroyed=!0;const t=document.getElementById("choco-one-click-widget");t&&(t.style.display="none"),this._clearNewCardActionTimeout(),pe(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(()=>{var n;(n=this.container)==null||n.remove(),this.container=null},300)),this.isOpen=!1,this.isPaymentSheetOpen=!1,this.isAddCardViewOpen=!1,this.selectedPaymentMethod=null}getAvailablePaymentMethods(){var t;return(t=this.checkoutContext)!=null&&t.data?Ur(this.checkoutContext.data,n=>this.t(n),this._getKaspiOptions()):[]}async createOrder(){return Vi(this)}async pay(){try{await this.createOrder()}catch(t){console.error(`${this.t("errorPaymentProcess")}:`,t)}}async handlePayment(){if(this._isInteractionBlocked())return;const t=this._getPaymentMethodForUserEvent();t!=null&&this._emitUserEvent("one_click_pay_cta_tapped",{payment_method:t});try{if(this.config.onConfirmPay){this.config.onConfirmPay(this.selectedPaymentMethod||null);return}await this.pay()}catch(n){console.error(`${this.t("errorPaymentProcess")}:`,n)}}openPaymentSheet(){fr(this)}closePaymentSheet(){le(this)}resumeOrderStatusCheck(){Ne(this)}async updateAmount(t){var n;if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error("amount must be a non-negative number");if(this.config.amount=t,this._isCouponDisabled()&&(this.useCoupon=!1),this.selectedCoupon){const r=this.isPaymentSheetOpen,o=this.isAddCardViewOpen;if(this._render(),ue(this),r){const i=(n=this.container)==null?void 0:n.querySelector('[data-sheet="payment"]');i&&(i.classList.add("choco-widget-payment-sheet--open"),this.isPaymentSheetOpen=!0)}o&&jt(this);return}dt(this)}async updateAvailableBonus(t){if(typeof t!="number"||!Number.isFinite(t)||t<0)throw new Error("availableBonus must be a non-negative number");this.config.bonuses&&(this.config.bonuses.availableBonus=t),dt(this)}async updateLocale(t){if(typeof t!="string"||!this.translations[t])throw new Error(`Unsupported locale: ${t}`);if(this.config.locale=t,!this.container)return;const n=this.isPaymentSheetOpen,r=this.isAddCardViewOpen;if(this._render(),ue(this),n){const o=this.container.querySelector('[data-sheet="payment"]');o&&(o.classList.add("choco-widget-payment-sheet--open"),this.isPaymentSheetOpen=!0)}r&&jt(this)}async setLoading(t){this.loading=!!t,ue(this)}async setDisabled(t){this.disabled=!!t,ue(this)}async setPreorderId(t){this.config.preorderId=t}async setMerchantOrderId(t){this.config.merchantOrderId=t}async setIdempotencyKey(t){this.config.idempotencyKey=t}async logout(){await ye.logout(),this.accessToken=null}async updateTrackId(t){var n,r;if(this.config.trackId=t,!this.config.clientId)return this.config.onError({attributes:{message:this.t("errorMissingTrackClient")}}),!1;try{this._prerender(),await this._obtainTokenByRefreshOrTrackId();try{await this._fetchCheckoutContextWithRetry()}catch(i){const c=i;return this.config.onError({attributes:{message:c.message}}),!1}await this._fetchCoupons(),this._emitCouponSuppressingCashback(),this.centrifuge&&(this.centrifuge.disconnect(),this.centrifuge=null);const o=tn((r=(n=this.checkoutContext)==null?void 0:n.data)==null?void 0:r.socket_connections,i=>gr(this,i));return o&&(this.centrifuge=o.centrifuge),this.selectedPaymentMethod=Ct(this.checkoutContext.data,this._getKaspiOptions()),this._emitPaymentMethodSelected(),this.paymentMethodDisabled=!1,this._render(),!0}catch(o){return console.error(`${this.t("errorWidgetInit")}:`,o),se(o,{phase:"updateTrackId"}),this.config.onError({attributes:{message:o.message}}),!1}}async onConfirmPay(t){if(typeof t!="function")throw new Error("onConfirmPay callback must be a function");this.config.onConfirmPay=t}async onPaymentMethodSelected(t){if(typeof t!="function")throw new Error("onPaymentMethodSelected callback must be a function");this.config.onPaymentMethodSelected=t,this._emitPaymentMethodSelected()}async onKaspiLink(t){if(typeof t!="function")throw new Error("onKaspiLink callback must be a function");this.config.onKaspiLink=t}async onUserEvent(t){if(typeof t!="function")throw new Error("onUserEvent callback must be a function");this.config.onUserEvent=t}async onFreedomLink(t){if(typeof t!="function")throw new Error("onFreedomLink callback must be a function");this.config.onFreedomLink=t}async onAppliedBonus(t){if(typeof t!="function")throw new Error("onAppliedBonus callback must be a function");this.config.onAppliedBonus=t}async onCouponSuppressingCashback(t){if(typeof t!="function")throw new Error("onCouponSuppressingCashback callback must be a function");this.config.onCouponSuppressingCashback=t}}return typeof window<"u"&&(window.ChocoOneClickWidget=ye),ye}));