@tagadapay/plugin-sdk 4.0.0 → 4.0.4
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/README.md +1129 -1129
- package/build-cdn.js +499 -499
- package/dist/external-tracker.js +156 -2
- package/dist/external-tracker.min.js +2 -2
- package/dist/external-tracker.min.js.map +4 -4
- package/dist/react/providers/TagadaProvider.js +5 -5
- package/dist/tagada-react-sdk-minimal.min.js +2 -2
- package/dist/tagada-react-sdk-minimal.min.js.map +4 -4
- package/dist/tagada-react-sdk.js +707 -253
- package/dist/tagada-react-sdk.min.js +2 -2
- package/dist/tagada-react-sdk.min.js.map +4 -4
- package/dist/tagada-sdk.js +2922 -102
- package/dist/tagada-sdk.min.js +2 -2
- package/dist/tagada-sdk.min.js.map +4 -4
- package/dist/v2/core/funnelClient.d.ts +40 -0
- package/dist/v2/core/funnelClient.js +30 -0
- package/dist/v2/core/pixelTracker.d.ts +51 -0
- package/dist/v2/core/pixelTracker.js +425 -0
- package/dist/v2/core/resources/checkout.d.ts +45 -1
- package/dist/v2/core/resources/checkout.js +13 -3
- package/dist/v2/core/resources/offers.d.ts +3 -3
- package/dist/v2/core/resources/offers.js +11 -3
- package/dist/v2/core/resources/promotionEvents.d.ts +5 -0
- package/dist/v2/core/resources/promotionEvents.js +2 -0
- package/dist/v2/core/resources/promotions.d.ts +6 -1
- package/dist/v2/core/resources/promotions.js +6 -1
- package/dist/v2/core/resources/shippingRates.d.ts +18 -0
- package/dist/v2/core/resources/shippingRates.js +18 -0
- package/dist/v2/core/utils/clickIdResolver.d.ts +79 -0
- package/dist/v2/core/utils/clickIdResolver.js +169 -0
- package/dist/v2/core/utils/index.d.ts +2 -0
- package/dist/v2/core/utils/index.js +4 -0
- package/dist/v2/core/utils/metaEventId.d.ts +14 -0
- package/dist/v2/core/utils/metaEventId.js +16 -0
- package/dist/v2/core/utils/previewModeIndicator.js +101 -101
- package/dist/v2/index.d.ts +7 -0
- package/dist/v2/index.js +10 -0
- package/dist/v2/react/components/ApplePayButton.js +50 -0
- package/dist/v2/react/components/FunnelScriptInjector.js +9 -9
- package/dist/v2/react/components/GooglePayButton.js +39 -1
- package/dist/v2/react/components/StripeExpressButton.js +54 -2
- package/dist/v2/react/hooks/payment-actions/useNgeniusThreedsAction.js +11 -11
- package/dist/v2/react/hooks/useCheckoutQuery.js +41 -29
- package/dist/v2/react/hooks/useDiscountsQuery.js +4 -0
- package/dist/v2/react/hooks/useFunnel.d.ts +7 -0
- package/dist/v2/react/hooks/useFunnel.js +2 -1
- package/dist/v2/react/hooks/useOfferQuery.d.ts +11 -0
- package/dist/v2/react/hooks/useOfferQuery.js +11 -0
- package/dist/v2/react/hooks/usePixelTracking.d.ts +10 -5
- package/dist/v2/react/hooks/usePixelTracking.js +32 -374
- package/dist/v2/react/hooks/usePreviewOffer.d.ts +3 -1
- package/dist/v2/react/hooks/usePreviewOffer.js +4 -2
- package/dist/v2/react/hooks/usePromotionsQuery.js +9 -3
- package/dist/v2/react/hooks/useShippingRatesQuery.js +36 -21
- package/dist/v2/react/hooks/useStepConfig.d.ts +9 -0
- package/dist/v2/react/hooks/useStepConfig.js +5 -1
- package/dist/v2/react/index.d.ts +5 -0
- package/dist/v2/react/index.js +9 -0
- package/dist/v2/react/providers/TagadaProvider.js +18 -5
- package/dist/v2/standalone/apple-pay-service.d.ts +1 -1
- package/dist/v2/standalone/index.d.ts +3 -0
- package/dist/v2/standalone/index.js +23 -0
- package/dist/v2/standalone/payment-service.d.ts +54 -1
- package/dist/v2/standalone/payment-service.js +228 -61
- package/package.json +115 -115
package/dist/tagada-sdk.min.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TagadaPay SDK v4.0.
|
|
2
|
+
* TagadaPay SDK v4.0.4
|
|
3
3
|
* CDN Bundle - Full standalone SDK for external/vanilla pages
|
|
4
4
|
* Usage: window.tgd.createTagadaClient(), window.tgd.formatMoney(), etc.
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
7
|
-
"use strict";var TagadaSDKBundle=(()=>{var Ql=Object.create;var Et=Object.defineProperty,eu=Object.defineProperties,tu=Object.getOwnPropertyDescriptor,nu=Object.getOwnPropertyDescriptors,ru=Object.getOwnPropertyNames,qo=Object.getOwnPropertySymbols,iu=Object.getPrototypeOf,Ko=Object.prototype.hasOwnProperty,ou=Object.prototype.propertyIsEnumerable;var Ge=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),su=t=>{throw TypeError(t)};var jo=(t,e,n)=>e in t?Et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,w=(t,e)=>{for(var n in e||(e={}))Ko.call(e,n)&&jo(t,n,e[n]);if(qo)for(var n of qo(e))ou.call(e,n)&&jo(t,n,e[n]);return t},I=(t,e)=>eu(t,nu(e));var we=(t,e)=>()=>(t&&(e=t(t=0)),e);var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vt=(t,e)=>{for(var n in e)Et(t,n,{get:e[n],enumerable:!0})},zo=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ru(e))!Ko.call(t,i)&&i!==n&&Et(t,i,{get:()=>e[i],enumerable:!(r=tu(e,i))||r.enumerable});return t};var Nr=(t,e,n)=>(n=t!=null?Ql(iu(t)):{},zo(e||!t||!t.__esModule?Et(n,"default",{value:t,enumerable:!0}):n,t)),Dr=t=>zo(Et({},"__esModule",{value:!0}),t);var Be=function(t,e){this[0]=t,this[1]=e},Lr=(t,e,n)=>{var r=(s,a,l,c)=>{try{var u=n[s](a),d=(a=u.value)instanceof Be,f=u.done;Promise.resolve(d?a[0]:a).then(g=>d?r(s==="return"?s:"next",a[1]?{done:g.done,value:g.value}:g,l,c):l({value:g,done:f})).catch(g=>r("throw",g,l,c))}catch(g){c(g)}},i=s=>o[s]=a=>new Promise((l,c)=>r(s,a,l,c)),o={};return n=n.apply(t,e),o[Ge("asyncIterator")]=()=>o,i("next"),i("throw"),i("return"),o},He=t=>{var e=t[Ge("asyncIterator")],n=!1,r,i={};return e==null?(e=t[Ge("iterator")](),r=o=>i[o]=s=>e[o](s)):(e=e.call(t),r=o=>i[o]=s=>{if(n){if(n=!1,o==="throw")throw s;return s}return n=!0,{done:!1,value:new Be(new Promise(a=>{var l=e[o](s);l instanceof Object||su("Object expected"),a(l)}),1)}}),i[Ge("iterator")]=()=>i,r("next"),"throw"in e?r("throw"):i.throw=o=>{throw o},"return"in e&&r("return"),i},Go=(t,e,n)=>(e=t[Ge("asyncIterator")])?e.call(t):(t=t[Ge("iterator")](),e={},n=(r,i)=>(i=t[r])&&(e[r]=o=>new Promise((s,a,l)=>(o=i.call(t,o),l=o.done,Promise.resolve(o.value).then(c=>s({value:c,done:l}),a)))),n("next"),n("return"),e);function Vo(t){var r;if(typeof document=="undefined")return null;let n="; ".concat(document.cookie).split("; ".concat(t,"="));return n.length===2&&((r=n.pop())==null?void 0:r.split(";").shift())||null}function Wo(t="local"){let e=Ho[t];if(!e)return console.warn("Unknown environment: ".concat(t,". Falling back to local.")),{environment:"local",apiConfig:Ho.local};let n=null;if(typeof window!="undefined"&&(n=new URLSearchParams(window.location.search).get("tagadaClientBaseUrl"),!n))try{n=localStorage.getItem("tgd_client_base_url")||Vo("tgd_client_base_url")}catch(i){}return n?(console.log("[SDK] Using custom API base URL override: ".concat(n)),{environment:t,apiConfig:I(w({},e),{baseUrl:n})}):{environment:t,apiConfig:e}}function Ct(){var i;if(console.log("[SDK] detectEnvironment() called"),typeof window=="undefined")return"local";let e=new URLSearchParams(window.location.search).get("tagadaClientEnv");if(e&&(e==="production"||e==="development"||e==="local"))return console.log("[SDK] Using explicit environment override: ".concat(e)),e;try{let o=localStorage.getItem("tgd_client_env")||Vo("tgd_client_env");if(o&&(o==="production"||o==="development"||o==="local"))return console.log("[SDK] Using persisted environment override: ".concat(o)),o}catch(o){}let n=window.location.hostname,r=window.location.href;if(console.log('[SDK] detectEnvironment() - hostname: "'.concat(n,'"')),n==="localhost"||n.startsWith("127.")||n.startsWith("192.168.")||n.startsWith("10.")||n.includes(".local")||n===""||n==="0.0.0.0"||n.includes("ngrok-free.dev")||n.includes("ngrok-free.app")||n.includes("ngrok.io")||n.includes("ngrok.app")||n.includes(".loclx.io")){if(console.log("[SDK] detectEnvironment() - returning LOCAL"),typeof window!="undefined"&&((i=window==null?void 0:window.__TAGADA_ENV__)!=null&&i.TAGADA_ENVIRONMENT)){let o=window.__TAGADA_ENV__.TAGADA_ENVIRONMENT.toLowerCase();if(o==="production"||o==="development"||o==="local")return console.log("[SDK] Local override detected: ".concat(o)),o}return"local"}return n.includes("tagada.io")||n.includes("tagadapay.com")||n.includes("yourproductiondomain.com")?"production":n.includes("tagada.dev")||n.includes("tagadapay.dev")||n.includes("vercel.app")||n.includes("netlify.app")||n.includes("surge.sh")||n.includes("github.io")||n.includes("herokuapp.com")||n.includes("railway.app")||r.includes("?env=dev")||r.includes("?dev=true")||r.includes("#dev")?"development":(console.warn("[SDK] Unknown domain: ".concat(n,", defaulting to production")),"production")}function Tt(t=!1){return Ct()!=="local"?!1:t&&typeof window!="undefined"?!window.location.hostname.includes(".cdn."):!0}var Ho,Zt=we(()=>{"use strict";Ho={production:{baseUrl:"https://api.tagada.io",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}},development:{baseUrl:"https://api.tagada.dev",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}},local:{baseUrl:"http://app.localhost:3000",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}}}});var en,Qt,Mr=we(()=>{"use strict";en=(f=>(f.DIRECT_NAVIGATION="direct_navigation",f.BACK_NAVIGATION="back_navigation",f.CONTINUE_CLICKED="continue_clicked",f.BUTTON_CLICK="button_click",f.FORM_SUBMIT="form_submit",f.PAYMENT_SUCCESS="payment_success",f.PAYMENT_FAILED="payment_failed",f.OFFER_ACCEPTED="offer_accepted",f.OFFER_DECLINED="offer_declined",f.CART_UPDATED="cart_updated",f.CART_ITEM_ADDED="cart_item_added",f.CUSTOM="custom",f))(en||{}),Qt=class{constructor(e){this.apiClient=e}async initialize(e){return this.apiClient.post("/api/v1/funnel/initialize",e)}async navigate(e){return this.apiClient.post("/api/v1/funnel/navigate",e)}async updateContext(e,n){return this.apiClient.patch("/api/v1/funnel/context/".concat(e),n)}async endSession(e){return this.apiClient.delete("/api/v1/funnel/session/".concat(e))}async getSession(e,n,r){let i=new URLSearchParams;n&&i.append("currentUrl",n),r&&i.append("includeDebugData","true");let o="/api/v1/funnel/session/".concat(e).concat(i.toString()?"?".concat(i):"");return this.apiClient.get(o)}}});var Ve,Br=we(()=>{"use strict";Ve=class{constructor(){this.listeners=new Set}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){this.listeners.forEach(n=>{try{n(e)}catch(r){console.error("Error in event listener:",r)}})}clear(){this.listeners.clear()}}});function re(t){if(typeof window!="undefined")try{let n=localStorage.getItem(tn)!==t;localStorage.setItem(tn,t),n&&window.dispatchEvent(new Event("storage"))}catch(e){console.error("Failed to save token to localStorage:",e)}}function Rt(){if(typeof window!="undefined")try{return localStorage.getItem(tn)}catch(t){return console.error("Failed to get token from localStorage:",t),null}return null}function We(){if(typeof window!="undefined")try{localStorage.removeItem(tn)}catch(t){console.error("Failed to clear token from localStorage:",t)}}var tn,Ye=we(()=>{"use strict";tn="cms_token"});function Fr(t){typeof document!="undefined"&&(document.cookie="".concat(Ur,"=").concat(t,"; path=/; max-age=2592000; SameSite=Lax"))}function nn(){if(typeof document=="undefined")return;let t=document.cookie.split("; ").find(e=>e.startsWith("".concat(Ur,"=")));return t?t.split("=")[1]:void 0}function It(){typeof document!="undefined"&&(document.cookie="".concat(Ur,"=; path=/; max-age=0"))}function cu(){return!!nn()}function lu(){var t;if(typeof document!="undefined")try{let e=document.cookie.split("; ").find(r=>r.startsWith("".concat(au,"=")));if(!e)return;let n=JSON.parse(decodeURIComponent(e.split("=")[1]));return(t=n==null?void 0:n.metadata)==null?void 0:t.funnelVariantId}catch(e){console.warn("Failed to parse sticky session for variant ID:",e);return}}var Ur,au,rn=we(()=>{"use strict";Ur="tgd-funnel-session-id",au="tgd-session-id"});function Je(t){if(typeof window=="undefined")return null;try{return localStorage.getItem(t)}catch(e){return null}}function Xe(t,e){if(typeof window!="undefined")try{localStorage.setItem(t,e)}catch(n){}}function _t(t){var r;if(typeof document=="undefined")return null;let n=document.cookie.split(";").find(i=>i.trim().startsWith("".concat(t,"=")));return n?(r=n.split("=")[1])==null?void 0:r.trim():null}function At(t,e,n=86400){if(typeof document!="undefined"){if(t==="tgd_draft"||t==="tgd-draft"){console.warn("\u{1F6E1}\uFE0F [SDK] Blocked attempt to set ".concat(t," as cookie - this should only be in localStorage"));return}document.cookie="".concat(t,"=").concat(e,"; path=/; max-age=").concat(n)}}function Jo(t){typeof document!="undefined"&&(document.cookie="".concat(t,"=; path=/; max-age=0"))}function Ue(){if(typeof window=="undefined")return{};let t=new URLSearchParams(window.location.search),e,n=t.get("draft");if(n!==null)e=n==="true";else{let S=Je(N.DRAFT);S!==null&&(e=S==="true")}let r,i=t.get("funnelTracking");if(i!==null)r=i!=="false";else{let S=Je(N.FUNNEL_TRACKING)||_t(N.FUNNEL_TRACKING);S!==null&&(r=S!=="false")}let o=t.get("token")||Rt()||null,s=t.get("funnelSessionId")||null,a=t.get("funnelId")||null,l,c=t.get("funnelEnv");c&&(c==="staging"||c==="production")&&(l=c);let u=t.get("forceReset")==="true",d,f=t.get("tagadaClientEnv");if(f&&(f==="production"||f==="development"||f==="local"))d=f;else{let S=Je(N.CLIENT_ENV)||_t(N.CLIENT_ENV);S&&(S==="production"||S==="development"||S==="local")&&(d=S)}let g,p=t.get("tagadaClientBaseUrl");if(p)g=p;else{let S=Je(N.CLIENT_BASE_URL)||_t(N.CLIENT_BASE_URL);S&&(g=S)}let h,m=t.get("currency");if(m)h=m;else{let S=Je(N.CURRENCY)||_t(N.CURRENCY);S&&(h=S)}let b,P=t.get("locale");if(P)b=P;else{let S=Je(N.LOCALE)||_t(N.LOCALE);S&&(b=S)}return{forceReset:u,token:o,funnelSessionId:s,funnelId:a,draft:e,funnelTracking:r,funnelEnv:l,tagadaClientEnv:d,tagadaClientBaseUrl:g,currency:h,locale:b}}function Ce(){var e;return(e=Ue().draft)!=null?e:!1}function $r(t){if(typeof window!="undefined")if(t)Xe(N.DRAFT,"true");else try{localStorage.removeItem(N.DRAFT)}catch(e){}}function Xo(t=!1){let e=null;typeof window!="undefined"&&(e=new URLSearchParams(window.location.search).get("token"));let n=Ue(),r=n.forceReset||!1;if(!r&&!n.token)return Yo(),!1;t&&(console.log("[SDK] Detected params:",n),console.log("[SDK] URL token (direct read):",e?e.substring(0,20)+"...":"none")),r&&(t&&console.log("[SDK] Force reset: Clearing all stored state"),We(),It(),typeof window!="undefined"&&window.localStorage&&Object.keys(localStorage).forEach(s=>{(s.startsWith("tagadapay_")||s.startsWith("tgd_"))&&(t&&console.log("[SDK] Clearing localStorage: ".concat(s)),localStorage.removeItem(s))}));let i=e||n.token;return i!=null?(t&&console.log("[SDK] Setting token from URL:",i.substring(0,20)+"..."),i===""||i==="null"?We():(re(i),t&&console.log("[SDK] \u2705 Token set in localStorage immediately after clear"))):r&&(t&&console.log("[SDK] Force reset mode (no token in URL)"),We()),Yo(),n.funnelSessionId&&t&&console.log("[SDK] Using funnelSessionId from URL:",n.funnelSessionId),r}function Yo(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search),e=t.get("draft");e!==null&&$r(e==="true");let n=t.get("funnelTracking");n!==null&&uu(n!=="false");let r=t.get("tagadaClientEnv");r&&(r==="production"||r==="development"||r==="local")&&du(r);let i=t.get("tagadaClientBaseUrl");i&&pu(i);let o=t.get("currency");o&&(Xe(N.CURRENCY,o.toUpperCase()),At(N.CURRENCY,o.toUpperCase(),86400));let s=t.get("locale");s&&(Xe(N.LOCALE,s),At(N.LOCALE,s,86400))}function uu(t){if(typeof window=="undefined")return;let e=t?"true":"false";Xe(N.FUNNEL_TRACKING,e),At(N.FUNNEL_TRACKING,e,86400)}function du(t){typeof window!="undefined"&&(Xe(N.CLIENT_ENV,t),At(N.CLIENT_ENV,t,86400))}function Zo(){if(typeof window!="undefined")try{localStorage.removeItem(N.CLIENT_ENV),Jo(N.CLIENT_ENV)}catch(t){}}function pu(t){typeof window!="undefined"&&(Xe(N.CLIENT_BASE_URL,t),At(N.CLIENT_BASE_URL,t,86400))}function Qo(){if(typeof window!="undefined")try{localStorage.removeItem(N.CLIENT_BASE_URL),Jo(N.CLIENT_BASE_URL)}catch(t){}}function es(){var e;return(e=Ue().funnelTracking)!=null?e:!0}var N,xt=we(()=>{"use strict";Ye();rn();N={DRAFT:"tgd_draft",FUNNEL_TRACKING:"tgd_funnel_tracking",FORCE_RESET:"tgd_force_reset",CLIENT_ENV:"tgd_client_env",CLIENT_BASE_URL:"tgd_client_base_url",CURRENCY:"tgd_currency",LOCALE:"tgd_locale"}});var ts={};vt(ts,{injectPreviewModeIndicator:()=>gu,isIndicatorInjected:()=>hu,removePreviewModeIndicator:()=>mu});function qr(t){if(typeof window=="undefined"||typeof document=="undefined")return;let e=window.location.hostname,n=e.split("."),r=["",e,"."+e];for(let a=1;a<n.length;a++){let l=n.slice(a).join(".");r.push(l),r.push("."+l)}let i=window.location.pathname.split("/").filter(a=>a),o=["/"],s="";i.forEach(a=>{s+="/"+a,o.push(s)}),r.forEach(a=>{o.forEach(l=>{let c="".concat(t,"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=").concat(l),u=a?"; domain=".concat(a):"";document.cookie=c+u,document.cookie=c+u+"; secure",document.cookie=c+u+"; SameSite=None; secure",document.cookie=c+u+"; SameSite=Lax",document.cookie=c+u+"; SameSite=Strict"})})}function fu(){if(typeof window=="undefined"||!confirm("\u{1F6AA} Leave Preview Mode?\n\nThis will clear ALL cookies and localStorage (including Shopify session, cart, and preview settings) and reload the page.\n\nAre you sure?"))return;let e=new URL(window.location.href);["draft","funnelEnv","funnelTracking","tagadaClientEnv","tagadaClientBaseUrl","forceReset","funnelId","funnelSessionId","token"].forEach(o=>e.searchParams.delete(o)),window.history.replaceState({},"",e.href);try{let o=Object.getOwnPropertyDescriptor(Document.prototype,"cookie")||Object.getOwnPropertyDescriptor(HTMLDocument.prototype,"cookie");o&&o.set&&Object.defineProperty(document,"cookie",{configurable:!0,enumerable:!0,get:function(){return o.get?o.get.call(this):""},set:function(s){if(typeof s=="string"){let a=s.toLowerCase();if(a.includes("tgd_draft")||a.includes("tgd-draft")||a.includes("tgd.draft")||a.includes("tgddraft")){if(a.includes("max-age=0")||a.includes("expires=thu, 01 jan 1970")){o.set&&o.set.call(this,s);return}console.warn("\u{1F6E1}\uFE0F [TagadaPay] BLOCKED: tgd_draft should never be a cookie");return}}o.set&&o.set.call(this,s)}})}catch(o){console.warn("[TagadaPay] Could not install cookie blocker:",o)}if(window.localStorage)try{localStorage.removeItem("tgd_draft"),localStorage.removeItem("tgd_funnel_tracking"),localStorage.removeItem("tgd_client_env"),localStorage.removeItem("tgd_client_base_url"),localStorage.removeItem("cms_token")}catch(o){console.warn("[TagadaPay] Failed to clear some localStorage keys:",o)}We(),It(),Zo(),Qo(),window.localStorage&&localStorage.clear(),window.sessionStorage&&sessionStorage.clear(),["tgd-funnel-session-id","tgd_draft","tgd_funnel_tracking","tgd_client_env","tgd_client_base_url","cms_token","tagadapay_session"].forEach(o=>qr(o)),["tgd-draft","tgd_draft","tgd.draft","tgddraft"].forEach(o=>qr(o)),document.cookie&&document.cookie.split(";").forEach(s=>{let a=s.split("=")[0].trim();if(!a)return;let l=window.location.hostname,c=l.split("."),u=["",l,"."+l];for(let p=1;p<c.length;p++){let h=c.slice(p).join(".");u.push(h),u.push("."+h)}let d=window.location.pathname.split("/").filter(p=>p),f=["/"],g="";d.forEach(p=>{g+="/"+p,f.push(g)}),u.forEach(p=>{f.forEach(h=>{let m="".concat(a,"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=").concat(h),b=p?"; domain=".concat(p):"";document.cookie=m+b,document.cookie=m+b+"; secure",document.cookie=m+b+"; SameSite=None; secure",document.cookie=m+b+"; SameSite=Lax",document.cookie=m+b+"; SameSite=Strict",document.cookie=m+b+"; secure; SameSite=None",document.cookie=m+b+"; secure; SameSite=Lax",document.cookie=m+b+"; secure; SameSite=Strict"})})}),setTimeout(()=>{window.localStorage&&localStorage.length>0&&localStorage.clear(),qr("tgd_draft"),typeof window.stop=="function"&&window.stop(),window.location.replace(e.href)},10)}function gu(){if(on||typeof window=="undefined"||typeof document=="undefined")return;let t=Ue(),e=Ce(),n=!es(),r=!!(t.tagadaClientEnv||t.tagadaClientBaseUrl);if(!e&&!n&&!r)return;let i=document.createElement("div");i.id="tgd-preview-indicator",i.style.cssText='\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 999999;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n ';let o=document.createElement("div");o.style.cssText="\n background: ".concat(e?"#ff9500":"#007aff",";\n color: white;\n padding: 8px 12px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 6px;\n "),o.innerHTML='\n <span style="font-size: 16px;">\u{1F50D}</span>\n <span>'.concat(e?"Preview Mode":"Dev Mode","</span>\n ");let s=document.createElement("div");s.style.cssText="\n position: absolute;\n bottom: calc(100% + 8px);\n right: 0;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 12px;\n min-width: 250px;\n font-size: 12px;\n line-height: 1.5;\n display: none;\n ",s.style.paddingTop="20px";let a=document.createElement("div");a.style.cssText="\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n height: 8px;\n display: none;\n ";let l='<div style="margin-bottom: 8px; font-weight: 600; color: #1d1d1f;">Current Environment</div>';l+='<div style="display: flex; flex-direction: column; gap: 6px;">',e&&(l+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Draft Mode:</span>\n <span style="color: #ff9500; font-weight: 600;">ON</span>\n </div>\n '),n&&(l+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Tracking:</span>\n <span style="color: #ff3b30; font-weight: 600;">DISABLED</span>\n </div>\n '),t.funnelEnv&&(l+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Funnel Env:</span>\n <span style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 11px;">\n '.concat(t.funnelEnv,"\n </span>\n </div>\n ")),t.tagadaClientEnv&&(l+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>API Env:</span>\n <span style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 11px;">\n '.concat(t.tagadaClientEnv,"\n </span>\n </div>\n ")),t.tagadaClientBaseUrl&&(l+='\n <div style="color: #86868b;">\n <div style="margin-bottom: 4px;">API URL:</div>\n <div style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 10px; word-break: break-all; background: #f5f5f7; padding: 4px 6px; border-radius: 4px;">\n '.concat(t.tagadaClientBaseUrl,"\n </div>\n </div>\n ")),t.funnelId&&(l+='\n <div style="color: #86868b; margin-top: 4px; padding-top: 8px; border-top: 1px solid #e5e5e5;">\n <div style="margin-bottom: 4px;">Funnel ID:</div>\n <div style="color: #1d1d1f; font-family: monospace; font-size: 10px; word-break: break-all; background: #f5f5f7; padding: 4px 6px; border-radius: 4px;">\n '.concat(t.funnelId,"\n </div>\n </div>\n ")),l+="</div>",l+='\n <div style="margin-top: 12px; padding-top: 8px; border-top: 1px solid #e5e5e5; font-size: 11px; color: #86868b; text-align: center;">\n Add <code style="background: #f5f5f7; padding: 2px 4px; border-radius: 3px;">?forceReset=true</code> to reset\n </div>\n ',l+='\n <div style="margin-top: 12px; padding-top: 8px; border-top: 1px solid #e5e5e5;">\n <button id="tgd-leave-preview" style="\n background: #ff3b30;\n color: white;\n border: none;\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: opacity 0.2s;\n width: 100%;\n ">\n \u{1F6AA} Leave Preview Mode\n </button>\n </div>\n ',s.innerHTML=l;let c=!1,u=()=>{c=!0,s.style.display="block",a.style.display="block"},d=()=>{c=!1,setTimeout(()=>{c||(s.style.display="none",a.style.display="none")},100)};o.addEventListener("mouseenter",u),o.addEventListener("mouseleave",d),a.addEventListener("mouseenter",u),a.addEventListener("mouseleave",d),s.addEventListener("mouseenter",u),s.addEventListener("mouseleave",d);let f=s.querySelector("#tgd-leave-preview");f&&(f.addEventListener("mouseenter",()=>{f.style.opacity="0.8"}),f.addEventListener("mouseleave",()=>{f.style.opacity="1"}),f.addEventListener("click",g=>{g.stopPropagation(),fu()})),i.appendChild(o),i.appendChild(a),i.appendChild(s),document.body.appendChild(i),Ze=i,on=!0}function mu(){Ze&&Ze.parentNode&&(Ze.parentNode.removeChild(Ze),Ze=null,on=!1)}function hu(){return on}var Ze,on,ns=we(()=>{"use strict";xt();Ye();rn();Ze=null,on=!1});var ps={};vt(ps,{FunnelClient:()=>kt,TrackingProvider:()=>ss,findMethod:()=>ls,getAssignedOrderBumpOfferIds:()=>Ru,getAssignedPaymentFlowId:()=>Nt,getAssignedPixels:()=>Tu,getAssignedResources:()=>ds,getAssignedScripts:()=>Cu,getAssignedStaticResources:()=>vu,getAssignedStepConfig:()=>oe,getAssignedUpsellOfferIds:()=>Iu,getEnabledMethods:()=>as,getExpressMethods:()=>cs,getExpressMethodsByProcessor:()=>yu,getLocalFunnelConfig:()=>us,isMethodEnabled:()=>wu,loadLocalFunnelConfig:()=>Pu});function as(t){return t?Object.values(t).filter(e=>e.enabled):[]}function cs(t){return as(t).filter(e=>e.express)}function yu(t){let e={};for(let n of cs(t)){let r=n.processorId||n.integrationId||n.provider;e[r]||(e[r]=[]),e[r].push(n)}return e}function ls(t,e){if(t){for(let n of Object.values(t))if(n.method===e&&n.enabled)return n}}function wu(t,e){return!!ls(t,e)}function bu(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_ID__)return window.__TGD_FUNNEL_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function sn(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_VARIANT_ID__)return window.__TGD_FUNNEL_VARIANT_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-variant-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function Ot(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_STEP_ID__)return window.__TGD_FUNNEL_STEP_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-step-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function is(t){if(!t||typeof t!="string")return;let e=t.trim();if(!e)return;let n=[()=>JSON.parse(e),()=>JSON.parse(decodeURIComponent(e)),()=>JSON.parse(decodeURIComponent(decodeURIComponent(e)))];for(let r of n)try{let i=r();if(i&&typeof i=="object")return i}catch(i){}typeof console!="undefined"&&console.warn("[SDK] Failed to parse stepConfig:",e.substring(0,100))}function Su(){if(typeof window=="undefined")return!1;let t=window.location.hostname;return t==="localhost"||t==="127.0.0.1"||t.endsWith(".localhost")&&!t.includes(".cdn.")}async function Pu(){if(!Su())return null;if(ie!==void 0)return ie;if(jr)return await new Promise(t=>setTimeout(t,100)),ie!=null?ie:null;jr=!0;try{console.log("\u{1F6E0}\uFE0F [SDK] Loading local funnel config from /config/funnel.local.json...");let t=await fetch("/config/funnel.local.json");if(!t.ok)return console.log("\u{1F6E0}\uFE0F [SDK] funnel.local.json not found (this is fine in production)"),ie=null,null;let e=await t.json();return console.log("\u{1F6E0}\uFE0F [SDK] \u2705 Loaded local funnel config:",e),ie=e,e}catch(t){return console.log("\u{1F6E0}\uFE0F [SDK] funnel.local.json not available:",t),ie=null,null}finally{jr=!1}}function us(){return ie!=null?ie:null}function Eu(t){let e=w(w({},t.staticResources),t.resources);return{payment:t.paymentFlowId?{paymentFlowId:t.paymentFlowId}:void 0,resources:Object.keys(e).length>0?e:void 0,scripts:t.scripts,pixels:t.pixels,orderBumps:t.orderBumps,upsellOffers:t.upsellOffers}}function oe(){if(typeof window=="undefined")return;let t=us();if(t)return console.log("\u{1F6E0}\uFE0F [SDK] Using local funnel.local.json (overrides injected)"),Eu(t);let e=window.__TGD_STEP_CONFIG__;if(e){let n=is(e);if(n)return n}if(typeof document!="undefined"){let n=document.querySelector('meta[name="x-step-config"]'),r=n==null?void 0:n.getAttribute("content");if(r){let i=is(r);if(i)return i}}}function Nt(){var n,r;let t=oe(),e=(n=t==null?void 0:t.paymentSetupConfig)==null?void 0:n.card;if(e!=null&&e.paymentFlowId)return e.paymentFlowId;if((r=t==null?void 0:t.payment)!=null&&r.paymentFlowId)return t.payment.paymentFlowId;if(typeof window!="undefined"){if(window.__TGD_PAYMENT_FLOW_ID__)return window.__TGD_PAYMENT_FLOW_ID__;if(typeof document!="undefined"){let i=document.querySelector('meta[name="x-payment-flow-id"]');return(i==null?void 0:i.getAttribute("content"))||void 0}}}function ds(){let t=oe(),e=t==null?void 0:t.staticResources,n=t==null?void 0:t.resources;if(!(!e&&!n))return w(w({},e),n)}function vu(){return ds()}function Cu(t){let e=oe();if(!(e!=null&&e.scripts))return;let n=e.scripts.filter(r=>r.enabled);return t&&(n=n.filter(r=>r.position===t||!r.position&&t==="head-end")),n.length>0?n:void 0}function os(t){let e="containerId"in t?"containerId":"pixelId",n=t[e];if(!n||!n.includes(";")&&!n.includes(","))return[t];let r=n.split(/[;,]/).map(i=>i.trim()).filter(i=>i.length>0);return r.length<=1?[t]:r.map(i=>I(w({},t),{[e]:i}))}function Tu(){let t=oe(),e=t==null?void 0:t.pixels;if(!e||typeof e!="object")return;let n={};for(let[r,i]of Object.entries(e))i&&(Array.isArray(i)?n[r]=i.flatMap(o=>os(o)):typeof i=="object"&&(n[r]=os(i)));return Object.keys(n).length>0?n:void 0}function Ru(){let t=oe();if(t!=null&&t.orderBumps&&t.orderBumps.mode==="custom")return t.orderBumps.enabledOfferIds}function Iu(){let t=oe();if(t!=null&&t.upsellOffers&&t.upsellOffers.mode==="custom")return t.upsellOffers.enabledUpsellIds}var rs,ss,ie,jr,kt,Qe=we(()=>{"use strict";Zt();Mr();Br();xt();rn();rs=()=>Promise.resolve().then(()=>(ns(),ts)).then(t=>t.injectPreviewModeIndicator()),ss=(o=>(o.FACEBOOK="facebook",o.TIKTOK="tiktok",o.SNAPCHAT="snapchat",o.PINTEREST="pinterest",o.GTM="gtm",o))(ss||{});jr=!1;kt=class{constructor(e){this.eventDispatcher=new Ve;this.isInitializing=!1;this.initializationAttempted=!1;this.config=e,this.resource=new Qt(e.apiClient),this.state={context:null,isLoading:!1,isInitialized:!1,isNavigating:!1,error:null,sessionError:null}}setConfig(e){this.config=w(w({},this.config),e)}subscribe(e){return this.eventDispatcher.subscribe(e)}getState(){return this.state}getDetectedSessionId(){var r;if((r=this.state.context)!=null&&r.sessionId)return this.state.context.sessionId;if(typeof window=="undefined")return null;let n=new URLSearchParams(window.location.search).get("funnelSessionId");return n||nn()||null}resetInitialization(){this.initializationAttempted=!1,this.isInitializing=!1,this.updateState({context:null,isInitialized:!1})}async autoInitialize(e,n,r){if(this.state.context)return this.state.context;if(this.isInitializing||this.initializationAttempted)return null;this.initializationAttempted=!0,this.isInitializing=!0,this.updateState({isLoading:!0,error:null});try{let i=this.getDetectedSessionId(),a=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||r,l=bu(),c=sn(),u=Ot(),d=Ue(),f=this.config.funnelId||l||a,g=this.config.stepId||u,p=typeof window!="undefined"?new URLSearchParams(window.location.search):null,h=p==null?void 0:p.get("funnelEnv");this.config.debugMode&&console.log("\u{1F680} [FunnelClient] Auto-initializing...",{existingSessionId:i,effectiveFunnelId:f,funnelVariantId:c,funnelStepId:g,draft:d.draft,funnelTracking:d.funnelTracking,funnelEnv:h,tagadaClientEnv:d.tagadaClientEnv,tagadaClientBaseUrl:d.tagadaClientBaseUrl,source:{funnelId:this.config.funnelId?"config":l?"injected":a?"url/prop":"none",stepId:this.config.stepId?"config":u?"injected":"none"}});let m=await this.resource.initialize({cmsSession:{customerId:e.customerId,sessionId:e.sessionId,storeId:n.id,accountId:n.accountId},funnelId:f,existingSessionId:i||void 0,currentUrl:typeof window!="undefined"?window.location.href:void 0,funnelVariantId:c,funnelStepId:g,draft:d.draft,funnelTracking:d.funnelTracking,funnelEnv:h||void 0,tagadaClientEnv:d.tagadaClientEnv,tagadaClientBaseUrl:d.tagadaClientBaseUrl,currency:d.currency,locale:d.locale});if(m.success&&m.context){let b=this.enrichContext(m.context);return this.handleSessionSuccess(b),rs(),b}else throw new Error(m.error||"Failed to initialize funnel session")}catch(i){let o=i instanceof Error?i:new Error(String(i));throw this.updateState({error:o,isLoading:!1}),this.config.debugMode&&console.error("\u274C [FunnelClient] Init failed:",o),o}finally{this.isInitializing=!1}}async initialize(e,n,r,i){this.updateState({isLoading:!0,error:null});try{let o=sn(),s=Ot();this.config.debugMode&&(o&&console.log("\u{1F3AF} [FunnelClient] Detected A/B test variant:",o),s&&console.log("\u{1F3AF} [FunnelClient] Detected step ID:",s));let a=await this.resource.initialize({cmsSession:{customerId:e.customerId,sessionId:e.sessionId,storeId:n.id,accountId:n.accountId},funnelId:r,entryStepId:i,currentUrl:typeof window!="undefined"?window.location.href:void 0,funnelVariantId:o,funnelStepId:s});if(a.success&&a.context){let l=this.enrichContext(a.context);return this.handleSessionSuccess(l),rs(),l}else throw new Error(a.error||"Failed to initialize")}catch(o){let s=o instanceof Error?o:new Error(String(o));throw this.updateState({error:s,isLoading:!1}),s}}async navigate(e,n){var r,i,o,s,a,l;if(n!=null&&n.waitForSession&&!((r=this.state.context)!=null&&r.sessionId)){this.config.debugMode&&console.log("\u23F3 [FunnelClient] Waiting for session before navigation...");let c=5e3,u=Date.now();for(;!((i=this.state.context)!=null&&i.sessionId)&&Date.now()-u<c;)await new Promise(d=>setTimeout(d,100));(o=this.state.context)!=null&&o.sessionId&&this.config.debugMode&&console.log("\u2705 [FunnelClient] Session ready, proceeding with navigation")}if(!((s=this.state.context)!=null&&s.sessionId))throw new Error("No active session");this.updateState({isNavigating:!0,isLoading:!0});try{let c=sn(),u=Ot(),d=typeof window!="undefined"?window.location.href:void 0;!u&&this.config.stepId&&(u=this.config.stepId,this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Using stepId from config (no injection):",u)),!c&&this.config.variantId&&(c=this.config.variantId,this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Using variantId from config (no injection):",c)),this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Sending to backend:",{sessionId:this.state.context.sessionId,currentUrl:d,funnelStepId:u||"(not found)",funnelVariantId:c||"(not found)",hasInjectedStepId:!!Ot(),hasInjectedVariantId:!!sn(),usedConfigFallback:!Ot()&&!!this.config.stepId,customerTags:(n==null?void 0:n.customerTags)||"(none)",deviceId:(n==null?void 0:n.deviceId)||"(none)"});let f=(n==null?void 0:n.fireAndForget)||!1,g=await this.resource.navigate({sessionId:this.state.context.sessionId,event:e,currentUrl:d,funnelStepId:u,funnelVariantId:c,fireAndForget:f,customerTags:n==null?void 0:n.customerTags,deviceId:n==null?void 0:n.deviceId});if(!g.success||!g.result)throw new Error(g.error||"Navigation failed");let p=g.result;if(p.queued)return this.updateState({isNavigating:!1,isLoading:!1}),p.sessionId&&p.sessionId!==((a=this.state.context)==null?void 0:a.sessionId)&&(this.config.debugMode&&console.log("\u{1F525} [FunnelClient] Session ID updated: ".concat((l=this.state.context)==null?void 0:l.sessionId," \u2192 ").concat(p.sessionId)),this.state.context&&(this.state.context.sessionId=p.sessionId)),this.config.debugMode&&console.log("\u{1F525} [FunnelClient] Navigation queued (fire-and-forget mode)"),p;let h=(n==null?void 0:n.autoRedirect)!==void 0?n.autoRedirect:this.config.autoRedirect!==!1;return this.updateState({isNavigating:!1,isLoading:!1}),h&&(p!=null&&p.url)&&typeof window!="undefined"&&(this.config.debugMode&&console.log("\u{1F680} [FunnelClient] Auto-redirecting to:",p.url,"(skipped session refresh - next page will initialize)"),window.location.replace(p.url)),p}catch(c){let u=c instanceof Error?c:new Error(String(c));throw this.updateState({error:u,isNavigating:!1,isLoading:!1}),u}}async goToStep(e,n){return this.navigate({type:"direct_navigation",data:{targetStepId:e}},n)}async refreshSession(){var e;if((e=this.state.context)!=null&&e.sessionId)try{let n=await this.resource.getSession(this.state.context.sessionId);if(n.success&&n.context){let r=this.enrichContext(n.context);return this.updateState({context:r,sessionError:null}),r}}catch(n){this.updateState({sessionError:n instanceof Error?n:new Error(String(n))})}}async updateContext(e){var n;if(!((n=this.state.context)!=null&&n.sessionId))throw new Error("No active session");this.updateState({isLoading:!0});try{let r=await this.resource.updateContext(this.state.context.sessionId,{contextUpdates:e});if(r.success)await this.refreshSession();else throw new Error(r.error||"Failed to update context")}finally{this.updateState({isLoading:!1})}}async endSession(){var e;if((e=this.state.context)!=null&&e.sessionId)try{await this.resource.endSession(this.state.context.sessionId)}finally{this.state.context=null,this.updateState({context:null,isInitialized:!1})}}updateState(e){this.state=w(w({},this.state),e),this.eventDispatcher.notify(this.state)}handleSessionSuccess(e){Fr(e.sessionId),this.updateState({context:e,isLoading:!1,isInitialized:!0,error:null,sessionError:null})}enrichContext(e){var s,a;if((((s=this.config.environment)==null?void 0:s.environment)||Ct())!=="local")return e;let r=((a=this.config.pluginConfig)==null?void 0:a.staticResources)||{};if(Object.keys(r).length===0)return e;let i=e.static||{};return Object.keys(r).every(l=>i[l]===r[l])&&Object.keys(i).length===Object.keys(r).length?e:I(w({},e),{static:w(w({},r),i)})}}});var Bs=E(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.PathError=ce.TokenData=void 0;ce.parse=oi;ce.compile=id;ce.match=sd;ce.pathToRegexp=Ds;ce.stringify=ld;var ni="/",ri=t=>t,ks=new RegExp("^[$_\\p{ID_Start}]$","u"),ii=new RegExp("^[$\\u200c\\u200d\\p{ID_Continue}]$","u"),nd={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function rd(t){return t.replace(/[{}()\[\]+?!:*\\]/g,"\\$&")}function be(t){return t.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}var bn=class{constructor(e,n){this.tokens=e,this.originalPath=n}};ce.TokenData=bn;var qe=class extends TypeError{constructor(e,n){let r=e;n&&(r+=": ".concat(n)),r+="; visit https://git.new/pathToRegexpError for info",super(r),this.originalPath=n}};ce.PathError=qe;function oi(t,e={}){let{encodePath:n=ri}=e,r=[...t],i=[],o=0,s=0;function a(){let c="";if(ks.test(r[o]))do c+=r[o++];while(ii.test(r[o]));else if(r[o]==='"'){let u=o;for(;o++<r.length;){if(r[o]==='"'){o++,u=0;break}r[o]==="\\"&&o++,c+=r[o]}if(u)throw new qe("Unterminated quote at index ".concat(u),t)}if(!c)throw new qe("Missing parameter name at index ".concat(o),t);return c}for(;o<r.length;){let c=r[o],u=nd[c];u?i.push({type:u,index:o++,value:c}):c==="\\"?i.push({type:"escape",index:o++,value:r[o++]}):c===":"?i.push({type:"param",index:o++,value:a()}):c==="*"?i.push({type:"wildcard",index:o++,value:a()}):i.push({type:"char",index:o++,value:c})}i.push({type:"end",index:o,value:""});function l(c){let u=[];for(;;){let d=i[s++];if(d.type===c)break;if(d.type==="char"||d.type==="escape"){let f=d.value,g=i[s];for(;g.type==="char"||g.type==="escape";)f+=g.value,g=i[++s];u.push({type:"text",value:n(f)});continue}if(d.type==="param"||d.type==="wildcard"){u.push({type:d.type,name:d.value});continue}if(d.type==="{"){u.push({type:"group",tokens:l("}")});continue}throw new qe("Unexpected ".concat(d.type," at index ").concat(d.index,", expected ").concat(c),t)}return u}return new bn(l("end"),t)}function id(t,e={}){let{encode:n=encodeURIComponent,delimiter:r=ni}=e,i=typeof t=="object"?t:oi(t,e),o=Ns(i.tokens,r,n);return function(a={}){let[l,...c]=o(a);if(c.length)throw new TypeError("Missing parameters: ".concat(c.join(", ")));return l}}function Ns(t,e,n){let r=t.map(i=>od(i,e,n));return i=>{let o=[""];for(let s of r){let[a,...l]=s(i);o[0]+=a,o.push(...l)}return o}}function od(t,e,n){if(t.type==="text")return()=>[t.value];if(t.type==="group"){let i=Ns(t.tokens,e,n);return o=>{let[s,...a]=i(o);return a.length?[""]:[s]}}let r=n||ri;return t.type==="wildcard"&&n!==!1?i=>{let o=i[t.name];if(o==null)return["",t.name];if(!Array.isArray(o)||o.length===0)throw new TypeError('Expected "'.concat(t.name,'" to be a non-empty array'));return[o.map((s,a)=>{if(typeof s!="string")throw new TypeError('Expected "'.concat(t.name,"/").concat(a,'" to be a string'));return r(s)}).join(e)]}:i=>{let o=i[t.name];if(o==null)return["",t.name];if(typeof o!="string")throw new TypeError('Expected "'.concat(t.name,'" to be a string'));return[r(o)]}}function sd(t,e={}){let{decode:n=decodeURIComponent,delimiter:r=ni}=e,{regexp:i,keys:o}=Ds(t,e),s=o.map(a=>n===!1?ri:a.type==="param"?n:l=>l.split(r).map(n));return function(l){let c=i.exec(l);if(!c)return!1;let u=c[0],d=Object.create(null);for(let f=1;f<c.length;f++){if(c[f]===void 0)continue;let g=o[f-1],p=s[f-1];d[g.name]=p(c[f])}return{path:u,params:d}}}function Ds(t,e={}){let{delimiter:n=ni,end:r=!0,sensitive:i=!1,trailing:o=!0}=e,s=[],a=i?"":"i",l=[];for(let d of Ls(t,[])){let f=typeof d=="object"?d:oi(d,e);for(let g of wn(f.tokens,0,[]))l.push(ad(g,n,s,f.originalPath))}let c="^(?:".concat(l.join("|"),")");return o&&(c+="(?:".concat(be(n),"$)?")),c+=r?"$":"(?=".concat(be(n),"|$)"),{regexp:new RegExp(c,a),keys:s}}function Ls(t,e){if(Array.isArray(t))for(let n of t)Ls(n,e);else e.push(t);return e}function*wn(t,e,n){if(e===t.length)return yield n;let r=t[e];if(r.type==="group")for(let i of wn(r.tokens,0,n.slice()))yield*He(wn(t,e+1,i));else n.push(r);yield*He(wn(t,e+1,n))}function ad(t,e,n,r){let i="",o="",s=!0;for(let a of t){if(a.type==="text"){i+=be(a.value),o+=a.value,s||(s=a.value.includes(e));continue}if(a.type==="param"||a.type==="wildcard"){if(!s&&!o)throw new qe('Missing text before "'.concat(a.name,'" ').concat(a.type),r);a.type==="param"?i+="(".concat(cd(e,s?"":o),"+)"):i+="([\\s\\S]+)",n.push(a),o="",s=!1;continue}}return i}function cd(t,e){return e.length<2?t.length<2?"[^".concat(be(t+e),"]"):"(?:(?!".concat(be(t),")[^").concat(be(e),"])"):t.length<2?"(?:(?!".concat(be(e),")[^").concat(be(t),"])"):"(?:(?!".concat(be(e),"|").concat(be(t),")[\\s\\S])")}function Ms(t){let e="",n=0;function r(i){return ud(i)&&dd(t[n])?i:JSON.stringify(i)}for(;n<t.length;){let i=t[n++];if(i.type==="text"){e+=rd(i.value);continue}if(i.type==="group"){e+="{".concat(Ms(i.tokens),"}");continue}if(i.type==="param"){e+=":".concat(r(i.name));continue}if(i.type==="wildcard"){e+="*".concat(r(i.name));continue}throw new TypeError("Unknown token type: ".concat(i.type))}return e}function ld(t){return Ms(t.tokens)}function ud(t){let[e,...n]=t;return ks.test(e)&&n.every(r=>ii.test(r))}function dd(t){return t&&t.type==="text"?!ii.test(t.value[0]):!0}});var En=E(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.WEB_ELEMENTS_VERSION=x.USER_AGENT_HEADER=x.USER_AGENT_CLIENT=x.MERGE_CONTENT_TYPE=x.DEFAULT_ELEMENTS_BASE_URL=x.DEFAULT_BASE_URL=x.DD_TOKEN=x.DD_GIT_SHA=x.CONTENT_TYPE_HEADER=x.CLIENT_USER_AGENT_HEADER=x.CLIENT_BASE_PATHS=x.CF_RAY_HEADER=x.BT_TRACE_ID_HEADER=x.BT_IDEMPOTENCY_KEY_HEADER=x.BT_EXPOSE_PROXY_RESPONSE_HEADER=x.BROWSER_LIST=x.API_KEY_HEADER=void 0;var md="1.7.2";x.WEB_ELEMENTS_VERSION=md;var hd="BT-API-KEY";x.API_KEY_HEADER=hd;var yd="bt-trace-id";x.BT_TRACE_ID_HEADER=yd;var wd="cf-ray";x.CF_RAY_HEADER=wd;var bd="bt-idempotency-key";x.BT_IDEMPOTENCY_KEY_HEADER=bd;var Sd="BT-EXPOSE-RAW-PROXY-RESPONSE";x.BT_EXPOSE_PROXY_RESPONSE_HEADER=Sd;var Pd="Content-Type";x.CONTENT_TYPE_HEADER=Pd;var Ed="application/merge-patch+json";x.MERGE_CONTENT_TYPE=Ed;var vd="User-Agent";x.USER_AGENT_HEADER=vd;var Cd="BT-CLIENT-USER-AGENT";x.CLIENT_USER_AGENT_HEADER=Cd;var Td="BasisTheoryJS";x.USER_AGENT_CLIENT=Td;var Rd="https://api.basistheory.com";x.DEFAULT_BASE_URL=Rd;var Id="https://js.basistheory.com/hosted-elements";x.DEFAULT_ELEMENTS_BASE_URL=Id;var _d="pub5f53501515584007899577554c4aeda6";x.DD_TOKEN=_d;var Ad="b862d8e634020f77c61023ffeee4f0e01c36e871";x.DD_GIT_SHA=Ad;var xd={tokens:"tokens",tokenize:"tokenize",applications:"applications",applicationKeys:"applications",applicationTemplates:"application-templates",tenants:"tenants/self",logs:"logs",reactorFormulas:"reactor-formulas",reactors:"reactors",permissions:"permissions",proxies:"proxies",proxy:"proxy",sessions:"sessions",threeds:"3ds",tokenIntents:"token-intents"};x.CLIENT_BASE_PATHS=xd;var Od=[{browserName:"Firefox",browserUA:"Firefox"},{browserName:"SamsungBrowser",browserUA:"SamsungBrowser"},{browserName:"Opera",browserUA:"Opera"},{browserName:"Opera",browserUA:"OPR"},{browserName:"Microsoft Internet Explorer",browserUA:"Trident"},{browserName:"Microsoft Edge (Legacy)",browserUA:"Edge"},{browserName:"Microsoft Edge (Chromium)",browserUA:"Edg"},{browserName:"Google Chrome/Chromium",browserUA:"Chrome"},{browserName:"Safari",browserUA:"Safari"}];x.BROWSER_LIST=Od});var Ei=E((bw,Ia)=>{"use strict";function ia(t,e){return function(){return t.apply(e,arguments)}}var{toString:kd}=Object.prototype,{getPrototypeOf:hi}=Object,{iterator:An,toStringTag:oa}=Symbol,xn=(t=>e=>{let n=kd.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ue=t=>(t=t.toLowerCase(),e=>xn(e)===t),On=t=>e=>typeof e===t,{isArray:gt}=Array,dt=On("undefined");function $t(t){return t!==null&&!dt(t)&&t.constructor!==null&&!dt(t.constructor)&&J(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var sa=ue("ArrayBuffer");function Nd(t){let e;return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&sa(t.buffer),e}var Dd=On("string"),J=On("function"),aa=On("number"),qt=t=>t!==null&&typeof t=="object",Ld=t=>t===!0||t===!1,Cn=t=>{if(xn(t)!=="object")return!1;let e=hi(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(oa in t)&&!(An in t)},Md=t=>{if(!qt(t)||$t(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch(e){return!1}},Bd=ue("Date"),Ud=ue("File"),Fd=ue("Blob"),$d=ue("FileList"),qd=t=>qt(t)&&J(t.pipe),jd=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||J(t.append)&&((e=xn(t))==="formdata"||e==="object"&&J(t.toString)&&t.toString()==="[object FormData]"))},Kd=ue("URLSearchParams"),[zd,Gd,Hd,Vd]=["ReadableStream","Request","Response","Headers"].map(ue),Wd=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function jt(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t=="undefined")return;let r,i;if(typeof t!="object"&&(t=[t]),gt(t))for(r=0,i=t.length;r<i;r++)e.call(null,t[r],r,t);else{if($t(t))return;let o=n?Object.getOwnPropertyNames(t):Object.keys(t),s=o.length,a;for(r=0;r<s;r++)a=o[r],e.call(null,t[a],a,t)}}function ca(t,e){if($t(t))return null;e=e.toLowerCase();let n=Object.keys(t),r=n.length,i;for(;r-- >0;)if(i=n[r],e===i.toLowerCase())return i;return null}var je=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global,la=t=>!dt(t)&&t!==je;function ui(){let{caseless:t,skipUndefined:e}=la(this)&&this||{},n={},r=(i,o)=>{let s=t&&ca(n,o)||o;Cn(n[s])&&Cn(i)?n[s]=ui(n[s],i):Cn(i)?n[s]=ui({},i):gt(i)?n[s]=i.slice():(!e||!dt(i))&&(n[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&jt(arguments[i],r);return n}var Yd=(t,e,n,{allOwnKeys:r}={})=>(jt(e,(i,o)=>{n&&J(i)?t[o]=ia(i,n):t[o]=i},{allOwnKeys:r}),t),Jd=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Xd=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Zd=(t,e,n,r)=>{let i,o,s,a={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),o=i.length;o-- >0;)s=i[o],(!r||r(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=n!==!1&&hi(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},Qd=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;let r=t.indexOf(e,n);return r!==-1&&r===n},ep=t=>{if(!t)return null;if(gt(t))return t;let e=t.length;if(!aa(e))return null;let n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},tp=(t=>e=>t&&e instanceof t)(typeof Uint8Array!="undefined"&&hi(Uint8Array)),np=(t,e)=>{let r=(t&&t[An]).call(t),i;for(;(i=r.next())&&!i.done;){let o=i.value;e.call(t,o[0],o[1])}},rp=(t,e)=>{let n,r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},ip=ue("HTMLFormElement"),op=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),js=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),sp=ue("RegExp"),ua=(t,e)=>{let n=Object.getOwnPropertyDescriptors(t),r={};jt(n,(i,o)=>{let s;(s=e(i,o,t))!==!1&&(r[o]=s||i)}),Object.defineProperties(t,r)},ap=t=>{ua(t,(e,n)=>{if(J(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;let r=t[n];if(J(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},cp=(t,e)=>{let n={},r=i=>{i.forEach(o=>{n[o]=!0})};return gt(t)?r(t):r(String(t).split(e)),n},lp=()=>{},up=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function dp(t){return!!(t&&J(t.append)&&t[oa]==="FormData"&&t[An])}var pp=t=>{let e=new Array(10),n=(r,i)=>{if(qt(r)){if(e.indexOf(r)>=0)return;if($t(r))return r;if(!("toJSON"in r)){e[i]=r;let o=gt(r)?[]:{};return jt(r,(s,a)=>{let l=n(s,i+1);!dt(l)&&(o[a]=l)}),e[i]=void 0,o}}return r};return n(t,0)},fp=ue("AsyncFunction"),gp=t=>t&&(qt(t)||J(t))&&J(t.then)&&J(t.catch),da=((t,e)=>t?setImmediate:e?((n,r)=>(je.addEventListener("message",({source:i,data:o})=>{i===je&&o===n&&r.length&&r.shift()()},!1),i=>{r.push(i),je.postMessage(n,"*")}))("axios@".concat(Math.random()),[]):n=>setTimeout(n))(typeof setImmediate=="function",J(je.postMessage)),mp=typeof queueMicrotask!="undefined"?queueMicrotask.bind(je):typeof process!="undefined"&&process.nextTick||da,hp=t=>t!=null&&J(t[An]),y={isArray:gt,isArrayBuffer:sa,isBuffer:$t,isFormData:jd,isArrayBufferView:Nd,isString:Dd,isNumber:aa,isBoolean:Ld,isObject:qt,isPlainObject:Cn,isEmptyObject:Md,isReadableStream:zd,isRequest:Gd,isResponse:Hd,isHeaders:Vd,isUndefined:dt,isDate:Bd,isFile:Ud,isBlob:Fd,isRegExp:sp,isFunction:J,isStream:qd,isURLSearchParams:Kd,isTypedArray:tp,isFileList:$d,forEach:jt,merge:ui,extend:Yd,trim:Wd,stripBOM:Jd,inherits:Xd,toFlatObject:Zd,kindOf:xn,kindOfTest:ue,endsWith:Qd,toArray:ep,forEachEntry:np,matchAll:rp,isHTMLForm:ip,hasOwnProperty:js,hasOwnProp:js,reduceDescriptors:ua,freezeMethods:ap,toObjectSet:cp,toCamelCase:op,noop:lp,toFiniteNumber:up,findKey:ca,global:je,isContextDefined:la,isSpecCompliantForm:dp,toJSONObject:pp,isAsyncFn:fp,isThenable:gp,setImmediate:da,asap:mp,isIterable:hp};function T(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}y.inherits(T,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:y.toJSONObject(this.config),code:this.code,status:this.status}}});var pa=T.prototype,fa={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{fa[t]={value:t}});Object.defineProperties(T,fa);Object.defineProperty(pa,"isAxiosError",{value:!0});T.from=(t,e,n,r,i,o)=>{let s=Object.create(pa);y.toFlatObject(t,s,function(u){return u!==Error.prototype},c=>c!=="isAxiosError");let a=t&&t.message?t.message:"Error",l=e==null&&t?t.code:e;return T.call(s,a,l,n,r,i),t&&s.cause==null&&Object.defineProperty(s,"cause",{value:t,configurable:!0}),s.name=t&&t.name||"Error",o&&Object.assign(s,o),s};var yp=null;function di(t){return y.isPlainObject(t)||y.isArray(t)}function ga(t){return y.endsWith(t,"[]")?t.slice(0,-2):t}function Ks(t,e,n){return t?t.concat(e).map(function(i,o){return i=ga(i),!n&&o?"["+i+"]":i}).join(n?".":""):e}function wp(t){return y.isArray(t)&&!t.some(di)}var bp=y.toFlatObject(y,{},null,function(e){return/^is[A-Z]/.test(e)});function kn(t,e,n){if(!y.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=y.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,m){return!y.isUndefined(m[h])});let r=n.metaTokens,i=n.visitor||u,o=n.dots,s=n.indexes,l=(n.Blob||typeof Blob!="undefined"&&Blob)&&y.isSpecCompliantForm(e);if(!y.isFunction(i))throw new TypeError("visitor must be a function");function c(p){if(p===null)return"";if(y.isDate(p))return p.toISOString();if(y.isBoolean(p))return p.toString();if(!l&&y.isBlob(p))throw new T("Blob is not supported. Use a Buffer instead.");return y.isArrayBuffer(p)||y.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function u(p,h,m){let b=p;if(p&&!m&&typeof p=="object"){if(y.endsWith(h,"{}"))h=r?h:h.slice(0,-2),p=JSON.stringify(p);else if(y.isArray(p)&&wp(p)||(y.isFileList(p)||y.endsWith(h,"[]"))&&(b=y.toArray(p)))return h=ga(h),b.forEach(function(S,v){!(y.isUndefined(S)||S===null)&&e.append(s===!0?Ks([h],v,o):s===null?h:h+"[]",c(S))}),!1}return di(p)?!0:(e.append(Ks(m,h,o),c(p)),!1)}let d=[],f=Object.assign(bp,{defaultVisitor:u,convertValue:c,isVisitable:di});function g(p,h){if(!y.isUndefined(p)){if(d.indexOf(p)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(p),y.forEach(p,function(b,P){(!(y.isUndefined(b)||b===null)&&i.call(e,b,y.isString(P)?P.trim():P,h,f))===!0&&g(b,h?h.concat(P):[P])}),d.pop()}}if(!y.isObject(t))throw new TypeError("data must be an object");return g(t),e}function zs(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function yi(t,e){this._pairs=[],t&&kn(t,this,e)}var ma=yi.prototype;ma.append=function(e,n){this._pairs.push([e,n])};ma.toString=function(e){let n=e?function(r){return e.call(this,r,zs)}:zs;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Sp(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ha(t,e,n){if(!e)return t;let r=n&&n.encode||Sp;y.isFunction(n)&&(n={serialize:n});let i=n&&n.serialize,o;if(i?o=i(e,n):o=y.isURLSearchParams(e)?e.toString():new yi(e,n).toString(r),o){let s=t.indexOf("#");s!==-1&&(t=t.slice(0,s)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}var pi=class{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){y.forEach(this.handlers,function(r){r!==null&&e(r)})}},Gs=pi,ya={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Pp=typeof URLSearchParams!="undefined"?URLSearchParams:yi,Ep=typeof FormData!="undefined"?FormData:null,vp=typeof Blob!="undefined"?Blob:null,Cp={isBrowser:!0,classes:{URLSearchParams:Pp,FormData:Ep,Blob:vp},protocols:["http","https","file","blob","url","data"]},wi=typeof window!="undefined"&&typeof document!="undefined",fi=typeof navigator=="object"&&navigator||void 0,Tp=wi&&(!fi||["ReactNative","NativeScript","NS"].indexOf(fi.product)<0),Rp=typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ip=wi&&window.location.href||"http://localhost",_p=Object.freeze({__proto__:null,hasBrowserEnv:wi,hasStandardBrowserWebWorkerEnv:Rp,hasStandardBrowserEnv:Tp,navigator:fi,origin:Ip}),K=w(w({},_p),Cp);function Ap(t,e){return kn(t,new K.classes.URLSearchParams,w({visitor:function(n,r,i,o){return K.isNode&&y.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function xp(t){return y.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Op(t){let e={},n=Object.keys(t),r,i=n.length,o;for(r=0;r<i;r++)o=n[r],e[o]=t[o];return e}function wa(t){function e(n,r,i,o){let s=n[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),l=o>=n.length;return s=!s&&y.isArray(i)?i.length:s,l?(y.hasOwnProp(i,s)?i[s]=[i[s],r]:i[s]=r,!a):((!i[s]||!y.isObject(i[s]))&&(i[s]=[]),e(n,r,i[s],o)&&y.isArray(i[s])&&(i[s]=Op(i[s])),!a)}if(y.isFormData(t)&&y.isFunction(t.entries)){let n={};return y.forEachEntry(t,(r,i)=>{e(xp(r),i,n,0)}),n}return null}function kp(t,e,n){if(y.isString(t))try{return(e||JSON.parse)(t),y.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}var bi={transitional:ya,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){let r=n.getContentType()||"",i=r.indexOf("application/json")>-1,o=y.isObject(e);if(o&&y.isHTMLForm(e)&&(e=new FormData(e)),y.isFormData(e))return i?JSON.stringify(wa(e)):e;if(y.isArrayBuffer(e)||y.isBuffer(e)||y.isStream(e)||y.isFile(e)||y.isBlob(e)||y.isReadableStream(e))return e;if(y.isArrayBufferView(e))return e.buffer;if(y.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Ap(e,this.formSerializer).toString();if((a=y.isFileList(e))||r.indexOf("multipart/form-data")>-1){let l=this.env&&this.env.FormData;return kn(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),kp(e)):e}],transformResponse:[function(e){let n=this.transitional||bi.transitional,r=n&&n.forcedJSONParsing,i=this.responseType==="json";if(y.isResponse(e)||y.isReadableStream(e))return e;if(e&&y.isString(e)&&(r&&!this.responseType||i)){let s=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?T.from(a,T.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:K.classes.FormData,Blob:K.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};y.forEach(["delete","get","head","post","put","patch"],t=>{bi.headers[t]={}});var Si=bi,Np=y.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Dp=t=>{let e={},n,r,i;return t&&t.split("\n").forEach(function(s){i=s.indexOf(":"),n=s.substring(0,i).trim().toLowerCase(),r=s.substring(i+1).trim(),!(!n||e[n]&&Np[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},Hs=Symbol("internals");function Ft(t){return t&&String(t).trim().toLowerCase()}function Tn(t){return t===!1||t==null?t:y.isArray(t)?t.map(Tn):String(t)}function Lp(t){let e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}var Mp=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function ai(t,e,n,r,i){if(y.isFunction(r))return r.call(this,e,n);if(i&&(e=n),!!y.isString(e)){if(y.isString(r))return e.indexOf(r)!==-1;if(y.isRegExp(r))return r.test(e)}}function Bp(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function Up(t,e){let n=y.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(i,o,s){return this[r].call(this,e,i,o,s)},configurable:!0})})}var pt=class{constructor(e){e&&this.set(e)}set(e,n,r){let i=this;function o(a,l,c){let u=Ft(l);if(!u)throw new Error("header name must be a non-empty string");let d=y.findKey(i,u);(!d||i[d]===void 0||c===!0||c===void 0&&i[d]!==!1)&&(i[d||l]=Tn(a))}let s=(a,l)=>y.forEach(a,(c,u)=>o(c,u,l));if(y.isPlainObject(e)||e instanceof this.constructor)s(e,n);else if(y.isString(e)&&(e=e.trim())&&!Mp(e))s(Dp(e),n);else if(y.isObject(e)&&y.isIterable(e)){let a={},l,c;for(let u of e){if(!y.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?y.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}s(a,n)}else e!=null&&o(n,e,r);return this}get(e,n){if(e=Ft(e),e){let r=y.findKey(this,e);if(r){let i=this[r];if(!n)return i;if(n===!0)return Lp(i);if(y.isFunction(n))return n.call(this,i,r);if(y.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ft(e),e){let r=y.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||ai(this,this[r],r,n)))}return!1}delete(e,n){let r=this,i=!1;function o(s){if(s=Ft(s),s){let a=y.findKey(r,s);a&&(!n||ai(r,r[a],a,n))&&(delete r[a],i=!0)}}return y.isArray(e)?e.forEach(o):o(e),i}clear(e){let n=Object.keys(this),r=n.length,i=!1;for(;r--;){let o=n[r];(!e||ai(this,this[o],o,e,!0))&&(delete this[o],i=!0)}return i}normalize(e){let n=this,r={};return y.forEach(this,(i,o)=>{let s=y.findKey(r,o);if(s){n[s]=Tn(i),delete n[o];return}let a=e?Bp(o):String(o).trim();a!==o&&delete n[o],n[a]=Tn(i),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let n=Object.create(null);return y.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=e&&y.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){let r=new this(e);return n.forEach(i=>r.set(i)),r}static accessor(e){let r=(this[Hs]=this[Hs]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=Ft(s);r[a]||(Up(i,s),r[a]=!0)}return y.isArray(e)?e.forEach(o):o(e),this}};pt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);y.reduceDescriptors(pt.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});y.freezeMethods(pt);var le=pt;function ci(t,e){let n=this||Si,r=e||n,i=le.from(r.headers),o=r.data;return y.forEach(t,function(a){o=a.call(n,o,i.normalize(),e?e.status:void 0)}),i.normalize(),o}function ba(t){return!!(t&&t.__CANCEL__)}function mt(t,e,n){T.call(this,t==null?"canceled":t,T.ERR_CANCELED,e,n),this.name="CanceledError"}y.inherits(mt,T,{__CANCEL__:!0});function Sa(t,e,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new T("Request failed with status code "+n.status,[T.ERR_BAD_REQUEST,T.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Fp(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function $p(t,e){t=t||10;let n=new Array(t),r=new Array(t),i=0,o=0,s;return e=e!==void 0?e:1e3,function(l){let c=Date.now(),u=r[o];s||(s=c),n[i]=l,r[i]=c;let d=o,f=0;for(;d!==i;)f+=n[d++],d=d%t;if(i=(i+1)%t,i===o&&(o=(o+1)%t),c-s<e)return;let g=u&&c-u;return g?Math.round(f*1e3/g):void 0}}function qp(t,e){let n=0,r=1e3/e,i,o,s=(c,u=Date.now())=>{n=u,i=null,o&&(clearTimeout(o),o=null),t(...c)};return[(...c)=>{let u=Date.now(),d=u-n;d>=r?s(c,u):(i=c,o||(o=setTimeout(()=>{o=null,s(i)},r-d)))},()=>i&&s(i)]}var _n=(t,e,n=3)=>{let r=0,i=$p(50,250);return qp(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,l=s-r,c=i(l),u=s<=a;r=s;let d={loaded:s,total:a,progress:a?s/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-s)/c:void 0,event:o,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(d)},n)},Vs=(t,e)=>{let n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Ws=t=>(...e)=>y.asap(()=>t(...e)),jp=K.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,K.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(K.origin),K.navigator&&/(msie|trident)/i.test(K.navigator.userAgent)):()=>!0,Kp=K.hasStandardBrowserEnv?{write(t,e,n,r,i,o,s){if(typeof document=="undefined")return;let a=["".concat(t,"=").concat(encodeURIComponent(e))];y.isNumber(n)&&a.push("expires=".concat(new Date(n).toUTCString())),y.isString(r)&&a.push("path=".concat(r)),y.isString(i)&&a.push("domain=".concat(i)),o===!0&&a.push("secure"),y.isString(s)&&a.push("SameSite=".concat(s)),document.cookie=a.join("; ")},read(t){if(typeof document=="undefined")return null;let e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function zp(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Gp(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Pa(t,e,n){let r=!zp(e);return t&&(r||n==!1)?Gp(t,e):e}var Ys=t=>t instanceof le?w({},t):t;function Ke(t,e){e=e||{};let n={};function r(c,u,d,f){return y.isPlainObject(c)&&y.isPlainObject(u)?y.merge.call({caseless:f},c,u):y.isPlainObject(u)?y.merge({},u):y.isArray(u)?u.slice():u}function i(c,u,d,f){if(y.isUndefined(u)){if(!y.isUndefined(c))return r(void 0,c,d,f)}else return r(c,u,d,f)}function o(c,u){if(!y.isUndefined(u))return r(void 0,u)}function s(c,u){if(y.isUndefined(u)){if(!y.isUndefined(c))return r(void 0,c)}else return r(void 0,u)}function a(c,u,d){if(d in e)return r(c,u);if(d in t)return r(void 0,c)}let l={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(c,u,d)=>i(Ys(c),Ys(u),d,!0)};return y.forEach(Object.keys(w(w({},t),e)),function(u){let d=l[u]||i,f=d(t[u],e[u],u);y.isUndefined(f)&&d!==a||(n[u]=f)}),n}var Ea=t=>{let e=Ke({},t),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=e;if(e.headers=s=le.from(s),e.url=ha(Pa(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),y.isFormData(n)){if(K.hasStandardBrowserEnv||K.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(y.isFunction(n.getHeaders)){let l=n.getHeaders(),c=["content-type","content-length"];Object.entries(l).forEach(([u,d])=>{c.includes(u.toLowerCase())&&s.set(u,d)})}}if(K.hasStandardBrowserEnv&&(r&&y.isFunction(r)&&(r=r(e)),r||r!==!1&&jp(e.url))){let l=i&&o&&Kp.read(o);l&&s.set(i,l)}return e},Hp=typeof XMLHttpRequest!="undefined",Vp=Hp&&function(t){return new Promise(function(n,r){let i=Ea(t),o=i.data,s=le.from(i.headers).normalize(),{responseType:a,onUploadProgress:l,onDownloadProgress:c}=i,u,d,f,g,p;function h(){g&&g(),p&&p(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(i.method.toUpperCase(),i.url,!0),m.timeout=i.timeout;function b(){if(!m)return;let S=le.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),R={data:!a||a==="text"||a==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:S,config:t,request:m};Sa(function(A){n(A),h()},function(A){r(A),h()},R),m=null}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(b)},m.onabort=function(){m&&(r(new T("Request aborted",T.ECONNABORTED,t,m)),m=null)},m.onerror=function(v){let R=v&&v.message?v.message:"Network Error",_=new T(R,T.ERR_NETWORK,t,m);_.event=v||null,r(_),m=null},m.ontimeout=function(){let v=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",R=i.transitional||ya;i.timeoutErrorMessage&&(v=i.timeoutErrorMessage),r(new T(v,R.clarifyTimeoutError?T.ETIMEDOUT:T.ECONNABORTED,t,m)),m=null},o===void 0&&s.setContentType(null),"setRequestHeader"in m&&y.forEach(s.toJSON(),function(v,R){m.setRequestHeader(R,v)}),y.isUndefined(i.withCredentials)||(m.withCredentials=!!i.withCredentials),a&&a!=="json"&&(m.responseType=i.responseType),c&&([f,p]=_n(c,!0),m.addEventListener("progress",f)),l&&m.upload&&([d,g]=_n(l),m.upload.addEventListener("progress",d),m.upload.addEventListener("loadend",g)),(i.cancelToken||i.signal)&&(u=S=>{m&&(r(!S||S.type?new mt(null,t,m):S),m.abort(),m=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));let P=Fp(i.url);if(P&&K.protocols.indexOf(P)===-1){r(new T("Unsupported protocol "+P+":",T.ERR_BAD_REQUEST,t));return}m.send(o||null)})},Wp=(t,e)=>{let{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,i,o=function(c){if(!i){i=!0,a();let u=c instanceof Error?c:this.reason;r.abort(u instanceof T?u:new mt(u instanceof Error?u.message:u))}},s=e&&setTimeout(()=>{s=null,o(new T("timeout ".concat(e," of ms exceeded"),T.ETIMEDOUT))},e),a=()=>{t&&(s&&clearTimeout(s),s=null,t.forEach(c=>{c.unsubscribe?c.unsubscribe(o):c.removeEventListener("abort",o)}),t=null)};t.forEach(c=>c.addEventListener("abort",o));let{signal:l}=r;return l.unsubscribe=()=>y.asap(a),l}},Yp=Wp,Jp=function*(t,e){let n=t.byteLength;if(!e||n<e){yield t;return}let r=0,i;for(;r<n;)i=r+e,yield t.slice(r,i),r=i},Xp=function(t,e){return Lr(this,null,function*(){try{for(var n=Go(Zp(t)),r,i,o;r=!(i=yield new Be(n.next())).done;r=!1){let s=i.value;yield*He(Jp(s,e))}}catch(i){o=[i]}finally{try{r&&(i=n.return)&&(yield new Be(i.call(n)))}finally{if(o)throw o[0]}}})},Zp=function(t){return Lr(this,null,function*(){if(t[Symbol.asyncIterator]){yield*He(t);return}let e=t.getReader();try{for(;;){let{done:n,value:r}=yield new Be(e.read());if(n)break;yield r}}finally{yield new Be(e.cancel())}})},Js=(t,e,n,r)=>{let i=Xp(t,e),o=0,s,a=l=>{s||(s=!0,r&&r(l))};return new ReadableStream({async pull(l){try{let{done:c,value:u}=await i.next();if(c){a(),l.close();return}let d=u.byteLength;if(n){let f=o+=d;n(f)}l.enqueue(new Uint8Array(u))}catch(c){throw a(c),c}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},Xs=64*1024,{isFunction:vn}=y,Qp=(({Request:t,Response:e})=>({Request:t,Response:e}))(y.global),{ReadableStream:Zs,TextEncoder:Qs}=y.global,ea=(t,...e)=>{try{return!!t(...e)}catch(n){return!1}},ef=t=>{t=y.merge.call({skipUndefined:!0},Qp,t);let{fetch:e,Request:n,Response:r}=t,i=e?vn(e):typeof fetch=="function",o=vn(n),s=vn(r);if(!i)return!1;let a=i&&vn(Zs),l=i&&(typeof Qs=="function"?(p=>h=>p.encode(h))(new Qs):async p=>new Uint8Array(await new n(p).arrayBuffer())),c=o&&a&&ea(()=>{let p=!1,h=new n(K.origin,{body:new Zs,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!h}),u=s&&a&&ea(()=>y.isReadableStream(new r("").body)),d={stream:u&&(p=>p.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!d[p]&&(d[p]=(h,m)=>{let b=h&&h[p];if(b)return b.call(h);throw new T("Response type '".concat(p,"' is not supported"),T.ERR_NOT_SUPPORT,m)})});let f=async p=>{if(p==null)return 0;if(y.isBlob(p))return p.size;if(y.isSpecCompliantForm(p))return(await new n(K.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(y.isArrayBufferView(p)||y.isArrayBuffer(p))return p.byteLength;if(y.isURLSearchParams(p)&&(p=p+""),y.isString(p))return(await l(p)).byteLength},g=async(p,h)=>{let m=y.toFiniteNumber(p.getContentLength());return m==null?f(h):m};return async p=>{let{url:h,method:m,data:b,signal:P,cancelToken:S,timeout:v,onDownloadProgress:R,onUploadProgress:_,responseType:A,headers:D,withCredentials:W="same-origin",fetchOptions:U}=Ea(p),q=e||fetch;A=A?(A+"").toLowerCase():"text";let F=Yp([P,S&&S.toAbortSignal()],v),ke=null,he=F&&F.unsubscribe&&(()=>{F.unsubscribe()}),St;try{if(_&&c&&m!=="get"&&m!=="head"&&(St=await g(D,b))!==0){let j=new n(h,{method:"POST",body:b,duplex:"half"}),te;if(y.isFormData(b)&&(te=j.headers.get("content-type"))&&D.setContentType(te),j.body){let[ve,ye]=Vs(St,_n(Ws(_)));b=Js(j.body,Xs,ve,ye)}}y.isString(W)||(W=W?"include":"omit");let Q=o&&"credentials"in n.prototype,Pt=I(w({},U),{signal:F,method:m.toUpperCase(),headers:D.normalize().toJSON(),body:b,duplex:"half",credentials:Q?W:void 0});ke=o&&new n(h,Pt);let k=await(o?q(ke,U):q(h,Pt)),Ne=u&&(A==="stream"||A==="response");if(u&&(R||Ne&&he)){let j={};["status","statusText","headers"].forEach(De=>{j[De]=k[De]});let te=y.toFiniteNumber(k.headers.get("content-length")),[ve,ye]=R&&Vs(te,_n(Ws(R),!0))||[];k=new r(Js(k.body,Xs,ve,()=>{ye&&ye(),he&&he()}),j)}A=A||"text";let M=await d[y.findKey(d,A)||"text"](k,p);return!Ne&&he&&he(),await new Promise((j,te)=>{Sa(j,te,{data:M,headers:le.from(k.headers),status:k.status,statusText:k.statusText,config:p,request:ke})})}catch(Q){throw he&&he(),Q&&Q.name==="TypeError"&&/Load failed|fetch/i.test(Q.message)?Object.assign(new T("Network Error",T.ERR_NETWORK,p,ke),{cause:Q.cause||Q}):T.from(Q,Q&&Q.code,p,ke)}}},tf=new Map,va=t=>{let e=t&&t.env||{},{fetch:n,Request:r,Response:i}=e,o=[r,i,n],s=o.length,a=s,l,c,u=tf;for(;a--;)l=o[a],c=u.get(l),c===void 0&&u.set(l,c=a?new Map:ef(e)),u=c;return c};va();var Pi={http:yp,xhr:Vp,fetch:{get:va}};y.forEach(Pi,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}});var ta=t=>"- ".concat(t),nf=t=>y.isFunction(t)||t===null||t===!1;function rf(t,e){t=y.isArray(t)?t:[t];let{length:n}=t,r,i,o={};for(let s=0;s<n;s++){r=t[s];let a;if(i=r,!nf(r)&&(i=Pi[(a=String(r)).toLowerCase()],i===void 0))throw new T("Unknown adapter '".concat(a,"'"));if(i&&(y.isFunction(i)||(i=i.get(e))))break;o[a||"#"+s]=i}if(!i){let s=Object.entries(o).map(([l,c])=>"adapter ".concat(l," ")+(c===!1?"is not supported by the environment":"is not available in the build")),a=n?s.length>1?"since :\n"+s.map(ta).join("\n"):" "+ta(s[0]):"as no adapter specified";throw new T("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return i}var Ca={getAdapter:rf,adapters:Pi};function li(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new mt(null,t)}function na(t){return li(t),t.headers=le.from(t.headers),t.data=ci.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Ca.getAdapter(t.adapter||Si.adapter,t)(t).then(function(r){return li(t),r.data=ci.call(t,t.transformResponse,r),r.headers=le.from(r.headers),r},function(r){return ba(r)||(li(t),r&&r.response&&(r.response.data=ci.call(t,t.transformResponse,r.response),r.response.headers=le.from(r.response.headers))),Promise.reject(r)})}var Ta="1.13.2",Nn={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Nn[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});var ra={};Nn.transitional=function(e,n,r){function i(o,s){return"[Axios v"+Ta+"] Transitional option '"+o+"'"+s+(r?". "+r:"")}return(o,s,a)=>{if(e===!1)throw new T(i(s," has been removed"+(n?" in "+n:"")),T.ERR_DEPRECATED);return n&&!ra[s]&&(ra[s]=!0,console.warn(i(s," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,s,a):!0}};Nn.spelling=function(e){return(n,r)=>(console.warn("".concat(r," is likely a misspelling of ").concat(e)),!0)};function of(t,e,n){if(typeof t!="object")throw new T("options must be an object",T.ERR_BAD_OPTION_VALUE);let r=Object.keys(t),i=r.length;for(;i-- >0;){let o=r[i],s=e[o];if(s){let a=t[o],l=a===void 0||s(a,o,t);if(l!==!0)throw new T("option "+o+" must be "+l,T.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new T("Unknown option "+o,T.ERR_BAD_OPTION)}}var Rn={assertOptions:of,validators:Nn},Se=Rn.validators,ft=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Gs,response:new Gs}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;let o=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+="\n"+o):r.stack=o}catch(s){}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Ke(this.defaults,n);let{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&Rn.assertOptions(r,{silentJSONParsing:Se.transitional(Se.boolean),forcedJSONParsing:Se.transitional(Se.boolean),clarifyTimeoutError:Se.transitional(Se.boolean)},!1),i!=null&&(y.isFunction(i)?n.paramsSerializer={serialize:i}:Rn.assertOptions(i,{encode:Se.function,serialize:Se.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Rn.assertOptions(n,{baseUrl:Se.spelling("baseURL"),withXsrfToken:Se.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&y.merge(o.common,o[n.method]);o&&y.forEach(["delete","get","head","post","put","patch","common"],p=>{delete o[p]}),n.headers=le.concat(s,o);let a=[],l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});let c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let u,d=0,f;if(!l){let p=[na.bind(this),void 0];for(p.unshift(...a),p.push(...c),f=p.length,u=Promise.resolve(n);d<f;)u=u.then(p[d++],p[d++]);return u}f=a.length;let g=n;for(;d<f;){let p=a[d++],h=a[d++];try{g=p(g)}catch(m){h.call(this,m);break}}try{u=na.call(this,g)}catch(p){return Promise.reject(p)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(e){e=Ke(this.defaults,e);let n=Pa(e.baseURL,e.url,e.allowAbsoluteUrls);return ha(n,e.params,e.paramsSerializer)}};y.forEach(["delete","get","head","options"],function(e){ft.prototype[e]=function(n,r){return this.request(Ke(r||{},{method:e,url:n,data:(r||{}).data}))}});y.forEach(["post","put","patch"],function(e){function n(r){return function(o,s,a){return this.request(Ke(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}ft.prototype[e]=n(),ft.prototype[e+"Form"]=n(!0)});var In=ft,gi=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});let r=this;this.promise.then(i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o,s=new Promise(a=>{r.subscribe(a),o=a}).then(i);return s.cancel=function(){r.unsubscribe(o)},s},e(function(o,s,a){r.reason||(r.reason=new mt(o,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){let e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new t(function(i){e=i}),cancel:e}}},sf=gi;function af(t){return function(n){return t.apply(null,n)}}function cf(t){return y.isObject(t)&&t.isAxiosError===!0}var mi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(mi).forEach(([t,e])=>{mi[e]=t});var lf=mi;function Ra(t){let e=new In(t),n=ia(In.prototype.request,e);return y.extend(n,In.prototype,e,{allOwnKeys:!0}),y.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Ra(Ke(t,i))},n}var B=Ra(Si);B.Axios=In;B.CanceledError=mt;B.CancelToken=sf;B.isCancel=ba;B.VERSION=Ta;B.toFormData=kn;B.AxiosError=T;B.Cancel=B.CanceledError;B.all=function(e){return Promise.all(e)};B.spread=af;B.isAxiosError=cf;B.mergeConfig=Ke;B.AxiosHeaders=le;B.formToJSON=t=>wa(y.isHTMLForm(t)?new FormData(t):t);B.getAdapter=Ca.getAdapter;B.HttpStatusCode=lf;B.default=B;Ia.exports=B});var Ti=E((Pw,Ci)=>{"use strict";var Aa=t=>typeof t=="object"&&t!==null,xa=Symbol("skip"),_a=t=>Aa(t)&&!(t instanceof RegExp)&&!(t instanceof Error)&&!(t instanceof Date),vi=(t,e,n,r=new WeakMap)=>{if(n=w({deep:!1,target:{}},n),r.has(t))return r.get(t);r.set(t,n.target);let{target:i}=n;delete n.target;let o=s=>s.map(a=>_a(a)?vi(a,e,n,r):a);if(Array.isArray(t))return o(t);for(let[s,a]of Object.entries(t)){let l=e(s,a,t);if(l===xa)continue;let[c,u,{shouldRecurse:d=!0}={}]=l;c!=="__proto__"&&(n.deep&&d&&_a(u)&&(u=Array.isArray(u)?o(u):vi(u,e,n,r)),i[c]=u)}return i};Ci.exports=(t,e,n)=>{if(!Aa(t))throw new TypeError("Expected an object, got `".concat(t,"` (").concat(typeof t,")"));return vi(t,e,n)};Ci.exports.mapObjectSkip=xa});var ka=E((vw,Ri)=>{"use strict";var uf=t=>{let e=!1,n=!1,r=!1;for(let i=0;i<t.length;i++){let o=t[i];e&&/[a-zA-Z]/.test(o)&&o.toUpperCase()===o?(t=t.slice(0,i)+"-"+t.slice(i),e=!1,r=n,n=!0,i++):n&&r&&/[a-zA-Z]/.test(o)&&o.toLowerCase()===o?(t=t.slice(0,i-1)+"-"+t.slice(i-1),r=n,n=!1,e=!0):(e=o.toLowerCase()===o&&o.toUpperCase()!==o,r=n,n=o.toUpperCase()===o&&o.toLowerCase()!==o)}return t},Oa=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let n=i=>e.pascalCase?i.charAt(0).toUpperCase()+i.slice(1):i;return Array.isArray(t)?t=t.map(i=>i.trim()).filter(i=>i.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=uf(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(i,o)=>o.toUpperCase()).replace(/\d+(\w|$)/g,i=>i.toUpperCase()),n(t))};Ri.exports=Oa;Ri.exports.default=Oa});var Da=E((Cw,Na)=>{"use strict";var Ii=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,n){this.cache.set(e,n),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let n=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,n),n}}set(e,n){return this.cache.has(e)?this.cache.set(e,n):this._set(e,n),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let n=this.cache.delete(e);return n&&this._size--,this.oldCache.delete(e)||n}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[n]=e;this.cache.has(n)||(yield e)}}get size(){let e=0;for(let n of this.oldCache.keys())this.cache.has(n)||e++;return this._size+e}};Na.exports=Ii});var Fa=E((Tw,Ua)=>{"use strict";var La=Ti(),df=ka(),pf=Da(),ff=(t,e)=>t.some(n=>typeof n=="string"?n===e:(n.lastIndex=0,n.test(e))),_i=new pf({maxSize:1e5}),Ma=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp)&&!(t instanceof Error)&&!(t instanceof Date),Ba=(t,e)=>{if(!Ma(t))return t;e=w({deep:!1,pascalCase:!1},e);let{exclude:n,pascalCase:r,stopPaths:i,deep:o}=e,s=new Set(i),a=l=>(c,u)=>{if(o&&Ma(u)){let d=l===void 0?c:"".concat(l,".").concat(c);s.has(d)||(u=La(u,a(d)))}if(!(n&&ff(n,c))){let d=r?"".concat(c,"_"):c;if(_i.has(d))c=_i.get(d);else{let f=df(c,{pascalCase:r});c.length<100&&_i.set(d,f),c=f}}return[c,u]};return La(t,a(void 0))};Ua.exports=(t,e)=>Array.isArray(t)?Object.keys(t).map(n=>Ba(t[n],e)):Ba(t,e)});var Ai=E((Iw,$a)=>{$a.exports=Ai()});var Ni={};vt(Ni,{__addDisposableResource:()=>dc,__assign:()=>Dn,__asyncDelegator:()=>rc,__asyncGenerator:()=>nc,__asyncValues:()=>ic,__await:()=>ht,__awaiter:()=>Ja,__classPrivateFieldGet:()=>cc,__classPrivateFieldIn:()=>uc,__classPrivateFieldSet:()=>lc,__createBinding:()=>Mn,__decorate:()=>Ka,__disposeResources:()=>pc,__esDecorate:()=>Ga,__exportStar:()=>Za,__extends:()=>qa,__generator:()=>Xa,__importDefault:()=>ac,__importStar:()=>sc,__makeTemplateObject:()=>oc,__metadata:()=>Ya,__param:()=>za,__propKey:()=>Va,__read:()=>ki,__rest:()=>ja,__rewriteRelativeImportExtension:()=>fc,__runInitializers:()=>Ha,__setFunctionName:()=>Wa,__spread:()=>Qa,__spreadArray:()=>tc,__spreadArrays:()=>ec,__values:()=>Ln,default:()=>hf});function qa(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");xi(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function ja(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function Ka(t,e,n,r){var i=arguments.length,o=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(i<3?s(o):i>3?s(e,n,o):s(e,n))||o);return i>3&&o&&Object.defineProperty(e,n,o),o}function za(t,e){return function(n,r){e(n,r,t)}}function Ga(t,e,n,r,i,o){function s(b){if(b!==void 0&&typeof b!="function")throw new TypeError("Function expected");return b}for(var a=r.kind,l=a==="getter"?"get":a==="setter"?"set":"value",c=!e&&t?r.static?t:t.prototype:null,u=e||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),d,f=!1,g=n.length-1;g>=0;g--){var p={};for(var h in r)p[h]=h==="access"?{}:r[h];for(var h in r.access)p.access[h]=r.access[h];p.addInitializer=function(b){if(f)throw new TypeError("Cannot add initializers after decoration has completed");o.push(s(b||null))};var m=(0,n[g])(a==="accessor"?{get:u.get,set:u.set}:u[l],p);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(d=s(m.get))&&(u.get=d),(d=s(m.set))&&(u.set=d),(d=s(m.init))&&i.unshift(d)}else(d=s(m))&&(a==="field"?i.unshift(d):u[l]=d)}c&&Object.defineProperty(c,r.name,u),f=!0}function Ha(t,e,n){for(var r=arguments.length>2,i=0;i<e.length;i++)n=r?e[i].call(t,n):e[i].call(t);return r?n:void 0}function Va(t){return typeof t=="symbol"?t:"".concat(t)}function Wa(t,e,n){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(t,"name",{configurable:!0,value:n?"".concat(n," ",e):e})}function Ya(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function Ja(t,e,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(t,e||[])).next())})}function Xa(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(n=0)),n;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return n.label++,{value:c[1],done:!1};case 5:n.label++,i=c[1],c=[0];continue;case 7:c=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){n.label=c[1];break}if(c[0]===6&&n.label<o[1]){n.label=o[1],o=c;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(c);break}o[2]&&n.ops.pop(),n.trys.pop();continue}c=e.call(t,n)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Za(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Mn(e,t,n)}function Ln(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ki(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(a){s={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return o}function Qa(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(ki(arguments[e]));return t}function ec(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var r=Array(t),i=0,e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r}function tc(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function ht(t){return this instanceof ht?(this.v=t,this):new ht(t)}function nc(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),i[Symbol.asyncIterator]=function(){return this},i;function s(g){return function(p){return Promise.resolve(p).then(g,d)}}function a(g,p){r[g]&&(i[g]=function(h){return new Promise(function(m,b){o.push([g,h,m,b])>1||l(g,h)})},p&&(i[g]=p(i[g])))}function l(g,p){try{c(r[g](p))}catch(h){f(o[0][3],h)}}function c(g){g.value instanceof ht?Promise.resolve(g.value.v).then(u,d):f(o[0][2],g)}function u(g){l("next",g)}function d(g){l("throw",g)}function f(g,p){g(p),o.shift(),o.length&&l(o[0][0],o[0][1])}}function rc(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,o){e[i]=t[i]?function(s){return(n=!n)?{value:ht(t[i](s)),done:!1}:o?o(s):s}:o}}function ic(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Ln=="function"?Ln(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(s){return new Promise(function(a,l){s=t[o](s),i(a,l,s.done,s.value)})}}function i(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}}function oc(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function sc(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n=Oi(t),r=0;r<n.length;r++)n[r]!=="default"&&Mn(e,t,n[r]);return gf(e,t),e}function ac(t){return t&&t.__esModule?t:{default:t}}function cc(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}function lc(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}function uc(t,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof t=="function"?e===t:t.has(e)}function dc(t,e,n){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var r,i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=e[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=e[Symbol.dispose],n&&(i=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");i&&(r=function(){try{i.call(this)}catch(o){return Promise.reject(o)}}),t.stack.push({value:e,dispose:r,async:n})}else n&&t.stack.push({async:!0});return e}function pc(t){function e(o){t.error=t.hasError?new mf(o,t.error,"An error was suppressed during disposal."):o,t.hasError=!0}var n,r=0;function i(){for(;n=t.stack.pop();)try{if(!n.async&&r===1)return r=0,t.stack.push(n),Promise.resolve().then(i);if(n.dispose){var o=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(o).then(i,function(s){return e(s),i()})}else r|=1}catch(s){e(s)}if(r===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return i()}function fc(t,e){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,r,i,o,s){return r?e?".jsx":".js":i&&(!o||!s)?n:i+o+"."+s.toLowerCase()+"js"}):t}var xi,Dn,Mn,gf,Oi,mf,hf,Di=we(()=>{xi=function(t,e){return xi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},xi(t,e)};Dn=function(){return Dn=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Dn.apply(this,arguments)};Mn=Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]};gf=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},Oi=function(t){return Oi=Object.getOwnPropertyNames||function(e){var n=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[n.length]=r);return n},Oi(t)};mf=typeof SuppressedError=="function"?SuppressedError:function(t,e,n){var r=new Error(n);return r.name="SuppressedError",r.error=t,r.suppressed=e,r};hf={__extends:qa,__assign:Dn,__rest:ja,__decorate:Ka,__param:za,__esDecorate:Ga,__runInitializers:Ha,__propKey:Va,__setFunctionName:Wa,__metadata:Ya,__awaiter:Ja,__generator:Xa,__createBinding:Mn,__exportStar:Za,__values:Ln,__read:ki,__spread:Qa,__spreadArrays:ec,__spreadArray:tc,__await:ht,__asyncGenerator:nc,__asyncDelegator:rc,__asyncValues:ic,__makeTemplateObject:oc,__importStar:sc,__importDefault:ac,__classPrivateFieldGet:cc,__classPrivateFieldSet:lc,__classPrivateFieldIn:uc,__addDisposableResource:dc,__disposeResources:pc,__rewriteRelativeImportExtension:fc}});var gc=E(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.lowerCase=yt.localeLowerCase=void 0;var yf={tr:{regexp:/\u0130|\u0049|\u0049\u0307/g,map:{\u0130:"i",I:"\u0131",I\u0307:"i"}},az:{regexp:/\u0130/g,map:{\u0130:"i",I:"\u0131",I\u0307:"i"}},lt:{regexp:/\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,map:{I:"i\u0307",J:"j\u0307",\u012E:"\u012F\u0307",\u00CC:"i\u0307\u0300",\u00CD:"i\u0307\u0301",\u0128:"i\u0307\u0303"}}};function wf(t,e){var n=yf[e.toLowerCase()];return Li(n?t.replace(n.regexp,function(r){return n.map[r]}):t)}yt.localeLowerCase=wf;function Li(t){return t.toLowerCase()}yt.lowerCase=Li});var hc=E(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.noCase=void 0;var bf=gc(),Sf=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],Pf=/[^A-Z0-9]+/gi;function Ef(t,e){e===void 0&&(e={});for(var n=e.splitRegexp,r=n===void 0?Sf:n,i=e.stripRegexp,o=i===void 0?Pf:i,s=e.transform,a=s===void 0?bf.lowerCase:s,l=e.delimiter,c=l===void 0?" ":l,u=mc(mc(t,r,"$1\0$2"),o,"\0"),d=0,f=u.length;u.charAt(d)==="\0";)d++;for(;u.charAt(f-1)==="\0";)f--;return u.slice(d,f).split("\0").map(a).join(c)}Bn.noCase=Ef;function mc(t,e,n){return e instanceof RegExp?t.replace(e,n):e.reduce(function(r,i){return r.replace(i,n)},t)}});var yc=E(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.dotCase=void 0;var vf=(Di(),Dr(Ni)),Cf=hc();function Tf(t,e){return e===void 0&&(e={}),Cf.noCase(t,vf.__assign({delimiter:"."},e))}Un.dotCase=Tf});var wc=E(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.snakeCase=void 0;var Rf=(Di(),Dr(Ni)),If=yc();function _f(t,e){return e===void 0&&(e={}),If.dotCase(t,Rf.__assign({delimiter:"_"},e))}Fn.snakeCase=_f});var Sc=E((kw,bc)=>{bc.exports=kf;var Af=/\s/,xf=/(_|-|\.|:)/,Of=/([a-z][A-Z]|[A-Z][a-z])/;function kf(t){return Af.test(t)?t.toLowerCase():xf.test(t)?(Df(t)||t).toLowerCase():Of.test(t)?Mf(t).toLowerCase():t.toLowerCase()}var Nf=/[\W_]+(.|$)/g;function Df(t){return t.replace(Nf,function(e,n){return n?" "+n:""})}var Lf=/(.)([A-Z]+)/g;function Mf(t){return t.replace(Lf,function(e,n,r){return n+" "+r.toLowerCase().split("").join(" ")})}});var Ec=E((Nw,Pc)=>{var Bf=Sc();Pc.exports=Uf;function Uf(t){return Bf(t).replace(/[\W_]+(.|$)/g,function(e,n){return n?" "+n:""}).trim()}});var Cc=E((Dw,vc)=>{var Ff=Ec();vc.exports=$f;function $f(t){return Ff(t).replace(/\s/g,"_")}});var Rc=E((Lw,Tc)=>{"use strict";var qf=Ti(),jf=Cc();Tc.exports=function(t,e){return e=Object.assign({deep:!0,exclude:[]},e),qf(t,function(n,r){return[Kf(e.exclude,n)?n:jf(n),r]},e)};function Kf(t,e){return t.some(function(n){return typeof n=="string"?n===e:n.test(e)})}});var Bi=E($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.BasisTheoryApiError=void 0;function zf(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Mi=class t extends zf(Error){constructor(e,n,r,i){super(e),this.status=n,this.data=r,this._debug=i,this.name="BasisTheoryApiError",Object.setPrototypeOf(this,t.prototype)}};$n.BasisTheoryApiError=Mi});var jn=E(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.logger=void 0;var Ic=En(),Gf=(()=>{let t="pubb96b84a13912504f4354f2d794ea4fab",e=!0,n=async(i,o,s={})=>{if(e)try{var a,l,c,u,d,f;let g;Ic.DEFAULT_BASE_URL.includes("localhost")?g="local":Ic.DEFAULT_BASE_URL.includes("dev")?g="dev":g="prod";let p=w({level:o,message:i,service:"js-sdk",env:g,referrer:(a=document)===null||a===void 0?void 0:a.referrer,origin:(l=window)===null||l===void 0||(c=l.location)===null||c===void 0?void 0:c.origin,url:(u=window)===null||u===void 0||(d=u.location)===null||d===void 0?void 0:d.href,userAgent:(f=navigator)===null||f===void 0?void 0:f.userAgent},s);await fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat(t),{method:"POST",body:JSON.stringify(p),headers:{"Content-Type":"application/json"}})}catch(g){console.warn("There was an error sending telemetry.")}};return{setTelemetryEnabled:i=>{e=i},log:{error:(i,o={})=>n(i,"error",o),info:(i,o={})=>n(i,"info",o),warn:(i,o={})=>n(i,"warn",o)}}})();qn.logger=Gf});var wt=E(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.transformTokenResponseCamelCase=C.transformTokenRequestSnakeCase=C.transformResponseCamelCase=C.transformRequestSnakeCase=C.transformReactorResponseCamelCase=C.transformReactorRequestSnakeCase=C.transformProxyResponseCamelCase=C.transformProxyRequestSnakeCase=C.proxyRaw=C.getRuntime=C.getQueryParams=C.getOSVersion=C.getBrowser=C.errorInterceptorDebug=C.errorInterceptor=C.debugTransform=C.dataExtractor=C.dataAndHeadersExtractor=C.createRequestConfig=C.concatResponseTransformerWithDefault=C.concatRequestTransformerWithDefault=C.buildUserAgentString=C.buildClientUserAgentString=C.assertInit=void 0;var Ac=Kn(Ei()),Pe=Kn(Fa()),_c=Kn(Ai()),Hf=wc(),Kt=Kn(Rc()),Vf=Bi(),de=En(),Wf=jn();function Kn(t){return t&&t.__esModule?t:{default:t}}var Yf=t=>{if(t==null)throw new Error("BasisTheory has not yet been properly initialized.");return t};C.assertInit=Yf;var Jf=t=>{if(typeof t!="undefined")return(0,Kt.default)(t,{deep:!0})};C.transformRequestSnakeCase=Jf;var Xf=t=>t;C.proxyRaw=Xf;var Zf=t=>{if(typeof t!="undefined")return w(w({},(0,Kt.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};C.transformReactorRequestSnakeCase=Zf;var Qf=t=>{if(typeof t!="undefined")return w(w({},(0,Kt.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};C.transformProxyRequestSnakeCase=Qf;var eg=t=>{if(typeof t!="undefined")return w(w(w({},(0,Kt.default)(t,{deep:!0})),t.data!==void 0?{data:t.data}:{}),t.metadata!==void 0?{metadata:t.metadata}:{})};C.transformTokenRequestSnakeCase=eg;var $i=t=>t&&(t==null?void 0:t.pagination)!==void 0&&(t==null?void 0:t.data)!==void 0,tg=t=>{if(typeof t!="undefined")return $i(t)?{data:t.data.map(r=>w(w(w({},(0,Pe.default)(r,{deep:!0})),r.data!==void 0?{data:r.data}:{}),r.metadata!==void 0?{metadata:r.metadata}:{})),pagination:(0,Pe.default)(t.pagination,{deep:!0})}:w(w(w({},(0,Pe.default)(t,{deep:!0})),t.data!==void 0?{data:t.data}:{}),t.metadata!==void 0?{metadata:t.metadata}:{})};C.transformTokenResponseCamelCase=tg;var ng=t=>{if(typeof t!="undefined")return $i(t)?{data:t.data.map(r=>w(w({},(0,Pe.default)(r,{deep:!0})),r.configuration!==void 0?{configuration:r.configuration}:{})),pagination:(0,Pe.default)(t.pagination,{deep:!0})}:w(w({},(0,Pe.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};C.transformReactorResponseCamelCase=ng;var rg=t=>{if(typeof t!="undefined")return $i(t)?{data:t.data.map(r=>w(w({},(0,Pe.default)(r,{deep:!0})),r.configuration!==void 0?{configuration:r.configuration}:{})),pagination:(0,Pe.default)(t.pagination,{deep:!0})}:w(w({},(0,Pe.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};C.transformProxyResponseCamelCase=rg;var ig=t=>{if(typeof t!="undefined")return(0,Pe.default)(t,{deep:!0})};C.transformResponseCamelCase=ig;var og=t=>t==null?void 0:t.data;C.dataExtractor=og;var sg=t=>({data:t==null?void 0:t.data,headers:t==null?void 0:t.headers});C.dataAndHeadersExtractor=sg;var Ui=t=>[t,...Ac.default.defaults.transformRequest];C.concatRequestTransformerWithDefault=Ui;var Fi=t=>[...Ac.default.defaults.transformResponse,t];C.concatResponseTransformerWithDefault=Fi;var ag=(t,e)=>{if(!t)return e?w(w({},e.transformRequest!==void 0?{transformRequest:Ui(e.transformRequest)}:{}),e.transformResponse!==void 0?{transformResponse:Fi(e.transformResponse)}:{}):void 0;let{apiKey:n,correlationId:r,idempotencyKey:i,query:o,headers:s}=t,a=n?{[de.API_KEY_HEADER]:n}:{},l=r?{[de.BT_TRACE_ID_HEADER]:r}:{},c=i?{[de.BT_IDEMPOTENCY_KEY_HEADER]:i}:{};return w(w(w({headers:w(w(w(w({},a),l),c),typeof s!="undefined"&&w({},s))},typeof o!="undefined"&&{params:o}),(e==null?void 0:e.transformRequest)!==void 0?{transformRequest:Ui(e.transformRequest)}:{}),(e==null?void 0:e.transformResponse)!==void 0?{transformResponse:Fi(e.transformResponse)}:{})};C.createRequestConfig=ag;var xc=(t,e)=>{var n,r,i,o,s,a,l,c,u,d,f,g,p,h,m;let b=(n=t==null||(r=t.response)===null||r===void 0?void 0:r.status)!==null&&n!==void 0?n:-1,P=t==null||(i=t.response)===null||i===void 0?void 0:i.data,S;if(e){var v,R,_,A;S={cfRay:t==null||(v=t.response)===null||v===void 0||(R=v.headers)===null||R===void 0?void 0:R[de.CF_RAY_HEADER],btTraceId:t==null||(_=t.response)===null||_===void 0||(A=_.headers)===null||A===void 0?void 0:A[de.BT_TRACE_ID_HEADER]}}let D=b>-1&&b<499?"warn":"error";throw Wf.logger.log[D]("Error when making ".concat(t==null||(o=t.config)===null||o===void 0||(s=o.method)===null||s===void 0?void 0:s.toUpperCase()," request to ").concat(t==null||(a=t.config)===null||a===void 0?void 0:a.baseURL," from the JS SDK"),{apiStatus:b,logType:"axiosError",logOrigin:"axiosErrorInterceptor",requestDetails:{url:t==null||(l=t.config)===null||l===void 0?void 0:l.baseURL,method:t==null||(c=t.config)===null||c===void 0||(u=c.method)===null||u===void 0?void 0:u.toUpperCase(),btUserAgent:t==null||(d=t.config)===null||d===void 0||(f=d.headers)===null||f===void 0?void 0:f[de.CLIENT_USER_AGENT_HEADER]},errorDetails:{code:t==null?void 0:t.code,name:t==null?void 0:t.name,stack:t==null?void 0:t.stack,headers:t==null||(g=t.response)===null||g===void 0?void 0:g.headers,message:t==null?void 0:t.message,status:t==null||(p=t.response)===null||p===void 0?void 0:p.status,statusText:t==null||(h=t.response)===null||h===void 0?void 0:h.statusText,data:t==null||(m=t.response)===null||m===void 0?void 0:m.data}}),new Vf.BasisTheoryApiError(t.message,b,P,S)},cg=t=>xc(t,!1);C.errorInterceptor=cg;var lg=t=>xc(t,!0);C.errorInterceptorDebug=lg;var ug=(t={})=>{let e=Object.keys(t);if(e.length){let n=new URLSearchParams,r=(i,o,s=!1)=>{let a=typeof o,l=s?i:(0,Hf.snakeCase)(i);(o===null||["boolean","number","string"].includes(a))&&n.append(l,o)};return e.forEach(i=>{let o=t[i];Array.isArray(o)?o.forEach(s=>{r(String(i),s)}):o&&typeof o=="object"?Object.keys(o).forEach(a=>{r("".concat(String(i),".").concat(a),o[a],!0)}):r(String(i),o)}),"?".concat(n.toString())}return""};C.getQueryParams=ug;var dg=t=>"(".concat(t.name||"","; ").concat(t.version||"","; ").concat(t.url||"",")"),pg=t=>{let e="".concat(de.USER_AGENT_CLIENT,"/unknown");return t&&Object.keys(t||{}).length&&(e+=" ".concat(dg(t))),e};C.buildUserAgentString=pg;var Oc=()=>{let{userAgent:t}=window.navigator,e="unknown",n=de.BROWSER_LIST.find(r=>t.includes(r.browserUA));if(n)try{e=t.split("".concat(n.browserUA,"/"))[1]}catch(r){e="unknown"}return"".concat((n==null?void 0:n.browserName)||"unknown","/").concat(e)};C.getBrowser=Oc;var kc=()=>typeof window=="object"&&window.navigator.product==="ReactNative",Nc=()=>{if(kc())return"ReactNative";if(typeof window=="undefined")try{return"".concat(_c.default.type(),"/").concat(_c.default.version())}catch(t){return"unknown"}try{let e=window.navigator.appVersion.match(new RegExp("\\(([^)]+)\\)","u"));return e&&e.length>1?e[1]:"unknown"}catch(t){return"unknown"}};C.getOSVersion=Nc;var Dc=()=>kc()?"ReactNative":typeof window=="undefined"?"NodeJS/".concat(process.version):Oc();C.getRuntime=Dc;var fg=t=>{let e={client:de.USER_AGENT_CLIENT,clientVersion:"unknown",osVersion:Nc(),runtimeVersion:Dc(),application:{}};return t&&(e.application=t),JSON.stringify((0,Kt.default)(e))};C.buildClientUserAgentString=fg;var gg=(t,e)=>(e&&typeof t=="object"&&t!==void 0&&(t._debug=I(w({},t._debug),{cfRay:e[de.CF_RAY_HEADER],btTraceId:e[de.BT_TRACE_ID_HEADER]})),t);C.debugTransform=gg});var Lc=E(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.BasisTheoryValidationError=void 0;function mg(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var qi=class t extends mg(Error){constructor(e,n,r){super(e),this.details=n,this.validation=r,this.name="BasisTheoryValidationError",Object.setPrototypeOf(this,t.prototype)}};zn.BasisTheoryValidationError=qi});var Mc=E(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.HttpClientError=void 0;function hg(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var ji=class t extends hg(Error){constructor(e,n,r,i){super(e),this.name="HttpClientError",this.status=n,this.data=r,this.headers=i,Object.setPrototypeOf(this,t.prototype)}};Gn.HttpClientError=ji});var z=E(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var Bc={BasisTheoryApiError:!0,BasisTheoryValidationError:!0,HttpClientError:!0};Object.defineProperty(pe,"BasisTheoryApiError",{enumerable:!0,get:function(){return yg.BasisTheoryApiError}});Object.defineProperty(pe,"BasisTheoryValidationError",{enumerable:!0,get:function(){return wg.BasisTheoryValidationError}});Object.defineProperty(pe,"HttpClientError",{enumerable:!0,get:function(){return bg.HttpClientError}});var Ki=En();Object.keys(Ki).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Bc,t)||t in pe&&pe[t]===Ki[t]||Object.defineProperty(pe,t,{enumerable:!0,get:function(){return Ki[t]}})});var zi=wt();Object.keys(zi).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Bc,t)||t in pe&&pe[t]===zi[t]||Object.defineProperty(pe,t,{enumerable:!0,get:function(){return zi[t]}})});var yg=Bi(),wg=Lc(),bg=Mc()});var Uc=E(()=>{"use strict"});var Fc=E(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.BasisTheoryService=void 0;var Hn=Sg(Ei()),Ee=z();function Sg(t){return t&&t.__esModule?t:{default:t}}var Gi=class{constructor(e){let{apiKey:n,baseURL:r,transformRequest:i,transformResponse:o,appInfo:s,debug:a}=e;if(typeof Hn.default=="string")throw new Error("basis-theory-js@1.77.0+ and basis-theory-react@1.12.1+ are not supported with CRA 5, go to https://github.com/Basis-Theory/basis-theory-js/issues/365#issuecomment-1662883062 for workarounds.");this.client=Hn.default.create({baseURL:r,headers:w({[Ee.API_KEY_HEADER]:n,[Ee.CLIENT_USER_AGENT_HEADER]:(0,Ee.buildClientUserAgentString)(s)},typeof window=="undefined"&&{[Ee.USER_AGENT_HEADER]:(0,Ee.buildUserAgentString)(s)}),transformRequest:[].concat(i||Ee.transformRequestSnakeCase,Hn.default.defaults.transformRequest),transformResponse:Hn.default.defaults.transformResponse.concat(o||Ee.transformResponseCamelCase,a?Ee.debugTransform:[])}),this.client.interceptors.response.use(void 0,a?Ee.errorInterceptorDebug:Ee.errorInterceptor)}};Vn.BasisTheoryService=Gi});var G=E(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});var Hi=Uc();Object.keys(Hi).forEach(function(t){t==="default"||t==="__esModule"||t in Le&&Le[t]===Hi[t]||Object.defineProperty(Le,t,{enumerable:!0,get:function(){return Hi[t]}})});var Vi=Fc();Object.keys(Vi).forEach(function(t){t==="default"||t==="__esModule"||t in Le&&Le[t]===Vi[t]||Object.defineProperty(Le,t,{enumerable:!0,get:function(){return Vi[t]}})})});var fe=E(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.CrudBuilder=void 0;var X=z(),Pg=t=>class extends t{create(n,r){return this.client.post("/",n,(0,X.createRequestConfig)(r)).then(X.dataExtractor)}},Eg=t=>class extends t{retrieve(n,r){return this.client.get(n,(0,X.createRequestConfig)(r)).then(X.dataExtractor)}},vg=t=>class extends t{update(n,r,i){return this.client.put(n,r,(0,X.createRequestConfig)(i)).then(X.dataExtractor)}},Cg=t=>class extends t{patch(n,r,i){let o=(0,X.createRequestConfig)(i);return this.client.patch(n,r,I(w({},o),{headers:I(w({},(o==null?void 0:o.headers)||{}),{[X.CONTENT_TYPE_HEADER]:X.MERGE_CONTENT_TYPE})})).then(X.dataExtractor)}},Tg=t=>class extends t{async delete(n,r){await this.client.delete(n,(0,X.createRequestConfig)(r))}},Rg=t=>class extends t{list(n={},r={}){let i="/".concat((0,X.getQueryParams)(n));return this.client.get(i,(0,X.createRequestConfig)(r)).then(X.dataExtractor)}},Wi=class{constructor(e){this.BaseService=e}create(){return this.BaseService=Pg(this.BaseService),this}retrieve(){return this.BaseService=Eg(this.BaseService),this}update(){return this.BaseService=vg(this.BaseService),this}patch(){return this.BaseService=Cg(this.BaseService),this}delete(){return this.BaseService=Tg(this.BaseService),this}list(){return this.BaseService=Rg(this.BaseService),this}build(){return this.BaseService}};Wn.CrudBuilder=Wi});var qc=E(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.BasisTheoryApplicationTemplates=void 0;var $c=z(),Ig=G(),_g=fe(),Ag=new _g.CrudBuilder(class extends Ig.BasisTheoryService{list(e){return this.client.get("/",(0,$c.createRequestConfig)(e)).then($c.dataExtractor)}}).retrieve().build();Yn.BasisTheoryApplicationTemplates=Ag});var jc=E(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Object.defineProperty(Yi,"BasisTheoryApplicationTemplates",{enumerable:!0,get:function(){return xg.BasisTheoryApplicationTemplates}});var xg=qc()});var Kc=E(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.BasisTheoryApplicationKeys=void 0;var Jn=z(),Og=G(),kg=fe(),Ng=new kg.CrudBuilder(class extends Og.BasisTheoryService{create(e){return this.client.post("".concat(e,"/keys")).then(Jn.dataExtractor)}get(e){return this.client.get("".concat(e,"/keys")).then(Jn.dataExtractor)}getById(e,n){return this.client.get("".concat(e,"/keys/").concat(n)).then(Jn.dataExtractor)}delete(e,n){return this.client.delete("".concat(e,"/keys/").concat(n)).then(Jn.dataExtractor)}}).build();Xn.BasisTheoryApplicationKeys=Ng});var zc=E(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Object.defineProperty(Ji,"BasisTheoryApplicationKeys",{enumerable:!0,get:function(){return Dg.BasisTheoryApplicationKeys}});var Dg=Kc()});var Gc=E(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.BasisTheoryApplications=void 0;var Zn=z(),Lg=G(),Mg=fe(),Bg=new Mg.CrudBuilder(class extends Lg.BasisTheoryService{getApplicationByKey(){return this.retrieveByKey()}retrieveByKey(e){return this.client.get("/key",(0,Zn.createRequestConfig)(e)).then(Zn.dataExtractor)}regenerateKey(e,n){return this.client.post("".concat(e,"/regenerate"),void 0,(0,Zn.createRequestConfig)(n)).then(Zn.dataExtractor)}}).create().retrieve().update().delete().list().build();Qn.BasisTheoryApplications=Bg});var Zi=E(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Object.defineProperty(Xi,"BasisTheoryApplications",{enumerable:!0,get:function(){return Ug.BasisTheoryApplications}});var Ug=Gc()});var Hc=E(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.BasisTheoryTokenize=void 0;var er=z(),Fg=G(),Qi=class extends Fg.BasisTheoryService{tokenize(e,n={}){return this.client.post("/",e,(0,er.createRequestConfig)(n,{transformRequest:er.proxyRaw,transformResponse:er.proxyRaw})).then(er.dataExtractor)}};tr.BasisTheoryTokenize=Qi});var Vc=E(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});Object.defineProperty(eo,"BasisTheoryTokenize",{enumerable:!0,get:function(){return $g.BasisTheoryTokenize}});var $g=Hc()});var Wc=E(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.delegateTokenize=void 0;var qg=Vc(),jg=t=>class extends qg.BasisTheoryTokenize{tokenize(n,r){return t!=null&&t.hasElement(n)?t.tokenize(n,r):super.tokenize(n,r)}};nr.delegateTokenize=jg});var Yc=E(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.BasisTheoryTokens=void 0;var zt=z(),Gt=wt(),Kg=G(),zg=fe(),Gg=new zg.CrudBuilder(class extends Kg.BasisTheoryService{constructor(e){let n=e;n.transformRequest=[].concat(Gt.transformTokenRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(Gt.transformTokenResponseCamelCase,e.transformResponse||[]),super(n)}retrieve(e,n={}){let r="/".concat(e);return this.client.get(r,(0,zt.createRequestConfig)(n)).then(Gt.dataExtractor)}update(e,n,r={}){let i="/".concat(e),o=(0,zt.createRequestConfig)(r);return this.client.patch(i,n,I(w({},o),{headers:I(w({},(o==null?void 0:o.headers)||{}),{[zt.CONTENT_TYPE_HEADER]:zt.MERGE_CONTENT_TYPE})})).then(Gt.dataExtractor)}search(e,n){return this.client.post("/search",e,(0,zt.createRequestConfig)(n)).then(Gt.dataExtractor)}}).create().delete().list().build();rr.BasisTheoryTokens=Gg});var no=E(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});Object.defineProperty(to,"BasisTheoryTokens",{enumerable:!0,get:function(){return Hg.BasisTheoryTokens}});var Hg=Yc()});var Jc=E(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.delegateTokens=void 0;var Vg=no(),Wg=t=>class extends Vg.BasisTheoryTokens{create(n,r){return t!=null&&t.hasElement(n)?t.tokens.create(n,r):super.create(n,r)}update(n,r,i){return t!=null&&t.hasElement(r)?t.tokens.update(n,r,i):super.update(n,r,i)}retrieve(n,r){return t!==void 0?t.tokens.retrieve(n,r):super.retrieve(n,r)}};ir.delegateTokens=Wg});var Xc=E(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.BasisTheoryProxy=void 0;var Ie=z(),Yg=G(),ro=class extends Yg.BasisTheoryService{get(e){return this.proxyRequest("get",e)}post(e){return this.proxyRequest("post",e)}put(e){return this.proxyRequest("put",e)}patch(e){return this.proxyRequest("patch",e)}delete(e){return this.proxyRequest("delete",e)}proxyRequest(e,n){var r;if(e==="post"||e==="put"||e==="patch"){var i,o;let s=n!=null&&n.includeResponseHeaders&&e==="post"?Ie.dataAndHeadersExtractor:Ie.dataExtractor;return this.client[e]((i=n==null?void 0:n.path)!==null&&i!==void 0?i:"",(o=n==null?void 0:n.body)!==null&&o!==void 0?o:void 0,(0,Ie.createRequestConfig)(n,{transformRequest:Ie.proxyRaw,transformResponse:Ie.proxyRaw})).then(s)}return this.client[e]((r=n==null?void 0:n.path)!==null&&r!==void 0?r:"/",(0,Ie.createRequestConfig)(n,{transformRequest:Ie.proxyRaw,transformResponse:Ie.proxyRaw})).then(Ie.dataExtractor)}};or.BasisTheoryProxy=ro});var Zc=E(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});var io=Xc();Object.keys(io).forEach(function(t){t==="default"||t==="__esModule"||t in Ht&&Ht[t]===io[t]||Object.defineProperty(Ht,t,{enumerable:!0,get:function(){return io[t]}})})});var Qc=E(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.delegateProxy=void 0;var Jg=Zc(),Xg=t=>class extends Jg.BasisTheoryProxy{get(n){return t!==void 0?t.proxy.get(n):super.get(n)}post(n){return t!==void 0?t.proxy.post(n):super.post(n)}put(n){return t!==void 0?t.proxy.put(n):super.put(n)}patch(n){return t!==void 0?t.proxy.patch(n):super.patch(n)}delete(n){return t!==void 0?t.proxy.delete(n):super.delete(n)}};sr.delegateProxy=Xg});var tl=E(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.BasisTheoryTokenIntents=void 0;var el=z(),Zg=G(),Qg=fe(),em=new Qg.CrudBuilder(class extends Zg.BasisTheoryService{constructor(e){let n=e;n.transformRequest=[].concat(el.transformTokenRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(el.transformTokenResponseCamelCase,e.transformResponse||[]),super(n)}}).create().delete().build();ar.BasisTheoryTokenIntents=em});var nl=E(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});Object.defineProperty(oo,"BasisTheoryTokenIntents",{enumerable:!0,get:function(){return tm.BasisTheoryTokenIntents}});var tm=tl()});var rl=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.delegateTokenIntents=void 0;var nm=nl(),rm=t=>class extends nm.BasisTheoryTokenIntents{create(n,r){return t!=null&&t.hasElement(n)?t.tokenIntents.create(n,r):super.create(n,r)}};cr.delegateTokenIntents=rm});var il=E(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});var so=Wc();Object.keys(so).forEach(function(t){t==="default"||t==="__esModule"||t in Z&&Z[t]===so[t]||Object.defineProperty(Z,t,{enumerable:!0,get:function(){return so[t]}})});var ao=Jc();Object.keys(ao).forEach(function(t){t==="default"||t==="__esModule"||t in Z&&Z[t]===ao[t]||Object.defineProperty(Z,t,{enumerable:!0,get:function(){return ao[t]}})});var co=Qc();Object.keys(co).forEach(function(t){t==="default"||t==="__esModule"||t in Z&&Z[t]===co[t]||Object.defineProperty(Z,t,{enumerable:!0,get:function(){return co[t]}})});var lo=rl();Object.keys(lo).forEach(function(t){t==="default"||t==="__esModule"||t in Z&&Z[t]===lo[t]||Object.defineProperty(Z,t,{enumerable:!0,get:function(){return lo[t]}})})});var uo=E(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.injectScript=bt.findScript=void 0;var im=t=>document.querySelector('script[src^="'.concat(t,'"]'));bt.findScript=im;var om=t=>{let e=document.createElement("script");e.src=t;let n=document.head||document.body;if(!n)throw new Error("No <head> or <body> elements found in document.");return n.append(e),e};bt.injectScript=om});var po=E($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE=$.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE=$.ELEMENTS_SCRIPT_FAILED_TO_DELIVER=$.ELEMENTS_NOM_DOM_ERROR_MESSAGE=$.ELEMENTS_INIT_ERROR_MESSAGE=$.CARD_ICON_POSITIONS=$.CARD_BRANDS=$.AUTOCOMPLETE_VALUES=void 0;var sm="BasisTheory Elements was not properly initialized.";$.ELEMENTS_INIT_ERROR_MESSAGE=sm;var am="Tried to load BasisTheoryElements in a non-DOM environment.";$.ELEMENTS_NOM_DOM_ERROR_MESSAGE=am;var cm="Basis Theory Elements did not load properly. Check network tab for more details.";$.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE=cm;var lm="Unable to load the Elements script. This may be due to network restrictions or browser extensions like ad blockers interfering with script loading. Check browser settings or network connection and try again.";$.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE=lm;var um="Failed to deliver Elements script from Basis Theory. Check your network connection and try again or contact support@basistheory.com";$.ELEMENTS_SCRIPT_FAILED_TO_DELIVER=um;var dm=["visa","mastercard","american-express","discover","diners-club","jcb","unionpay","maestro","elo","hiper","hipercard","mir","unknown"];$.CARD_BRANDS=dm;var pm=["left","right","none"];$.CARD_ICON_POSITIONS=pm;var fm=["additional-name","address-level1","address-level2","address-level3","address-level4","address-line1","address-line2","address-line3","bday-day","bday-month","bday-year","bday","billing","cc-additional-name","cc-csc","cc-exp-month","cc-exp-year","cc-exp","cc-family-name","cc-given-name","cc-name","cc-number","cc-type","country-name","country","current-password","email","family-name","fax","given-name","home","honorific-prefix","honorific-suffix","language","mobile","name","new-password","nickname","off","on","one-time-code","organization-title","organization","page","postal-code","sex","shipping","street-address","tel-area-code","tel-country-code","tel-extension","tel-local-prefix","tel-local-suffix","tel-local","tel-national","tel","transaction-amount","transaction-currency","url","username","work"];$.AUTOCOMPLETE_VALUES=fm});var sl=E(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.loadElements=void 0;var Me=jn(),ze=po(),fo=uo(),go,ol=(t,e)=>new Promise((n,r)=>{let i=(0,fo.findScript)(t);if(!i)i=(0,fo.injectScript)(t);else{if(window.BasisTheoryElements){n(window.BasisTheoryElements);return}if(e>0){try{var o;(o=i)===null||o===void 0||o.remove()}catch(s){(async()=>await Me.logger.log.error("Error removing script from DOM on retry attempt ".concat(e),{logType:"scriptRemovalError",logOrigin:"loadScript",retryCount:e,removalError:s}))(),r(new Error(ze.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}i=(0,fo.injectScript)(t)}}i.addEventListener("load",()=>{if(window.BasisTheoryElements){n(window.BasisTheoryElements);return}(async()=>await Me.logger.log.error("Elements not found on window on load",{logType:"elementsNotFoundOnWindow",logOrigin:"loadScript",retryCount:e}))(),r(new Error(ze.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE))}),i.addEventListener("error",async s=>{if(await Me.logger.log.error("Elements script onError event",{logType:"elementsScriptOnError",logOrigin:"loadScript",retryCount:e,event:{message:s==null?void 0:s.message,source:s==null?void 0:s.filename,lineno:s==null?void 0:s.lineno,colno:s==null?void 0:s.colno,error:s==null?void 0:s.error,target:s==null?void 0:s.target}}),e===0){ol(t,e+1).then(n).catch(r);return}try{let l=await fetch(t),c,u;try{u=await l.text(),c=JSON.parse(u)}catch(d){var a;c=(a=u)!==null&&a!==void 0?a:""}if(!l.ok){await Me.logger.log.error("Second attempt to load elements script failed, fetch failed with status: ".concat(l.status,"."),{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:e,fetchResult:"error",fetchResponse:c,fetchHeaders:l.headers,fetchStatusText:l.statusText}),r(new Error(ze.ELEMENTS_SCRIPT_FAILED_TO_DELIVER));return}await Me.logger.log.error("Second attempt to load elements script failed, fetch success",{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:e,fetchResult:"success",fetchResponse:c,fetchHeaders:l.headers,fetchStatusText:l.statusText}),r(new Error(ze.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}catch(l){await Me.logger.log.error("Second attempt failed to load elements script failed, fetch network error.",{logType:"elementsScriptFetchError",logOrigin:"loadScript",retryCount:e,fetchResult:"error",fetchError:JSON.stringify(l!=null?l:"Unknown Error")}),r(new Error(ze.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}})}),gm=t=>(go||(go=new Promise((e,n)=>{if(typeof window!="object"){(async()=>(await Me.logger.log.warn(ze.ELEMENTS_NOM_DOM_ERROR_MESSAGE,{logType:"elementsNonDomError",logOrigin:"loadElements"}),n(new Error(ze.ELEMENTS_NOM_DOM_ERROR_MESSAGE))))();return}if(window.BasisTheoryElements){e(window.BasisTheoryElements);return}let r="https://js.basistheory.com/web-elements/1.5.0/client/index.js";if(typeof t!="undefined")try{r=new URL(t).toString().replace(new RegExp("\\/$","u"),"")}catch(i){throw(async()=>await Me.logger.log.warn("Invalid format for the given Elements client url.",{logType:"invalidClientUrlError",logOrigin:"loadElements"}))(),new Error("Invalid format for the given Elements client url.")}ol(r,0).then(e).catch(i=>{n(i)})})),go);lr.loadElements=gm});var al=E(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var mo=il();Object.keys(mo).forEach(function(t){t==="default"||t==="__esModule"||t in ge&&ge[t]===mo[t]||Object.defineProperty(ge,t,{enumerable:!0,get:function(){return mo[t]}})});var ho=uo();Object.keys(ho).forEach(function(t){t==="default"||t==="__esModule"||t in ge&&ge[t]===ho[t]||Object.defineProperty(ge,t,{enumerable:!0,get:function(){return ho[t]}})});var yo=sl();Object.keys(yo).forEach(function(t){t==="default"||t==="__esModule"||t in ge&&ge[t]===yo[t]||Object.defineProperty(ge,t,{enumerable:!0,get:function(){return yo[t]}})})});var cl=E(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.BasisTheoryLogs=void 0;var mm=G(),hm=fe(),ym=new hm.CrudBuilder(class extends mm.BasisTheoryService{}).list().build();ur.BasisTheoryLogs=ym});var ll=E(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});Object.defineProperty(wo,"BasisTheoryLogs",{enumerable:!0,get:function(){return wm.BasisTheoryLogs}});var wm=cl()});var ul=E(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.BasisTheoryPermissions=void 0;var bo=z(),bm=G(),So=class extends bm.BasisTheoryService{list(e,n){let r="/".concat((0,bo.getQueryParams)(e));return this.client.get(r,(0,bo.createRequestConfig)(n)).then(bo.dataExtractor)}};dr.BasisTheoryPermissions=So});var dl=E(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Object.defineProperty(Po,"BasisTheoryPermissions",{enumerable:!0,get:function(){return Sm.BasisTheoryPermissions}});var Sm=ul()});var fl=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.BasisTheoryProxies=void 0;var pl=wt(),Pm=G(),Em=fe(),vm=new Em.CrudBuilder(class extends Pm.BasisTheoryService{constructor(e){let n=w({},e);n.transformRequest=[].concat(pl.transformProxyRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(pl.transformProxyResponseCamelCase,e.transformResponse||[]),super(n)}}).create().retrieve().update().patch().delete().list().build();pr.BasisTheoryProxies=vm});var gl=E(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});var Eo=fl();Object.keys(Eo).forEach(function(t){t==="default"||t==="__esModule"||t in Vt&&Vt[t]===Eo[t]||Object.defineProperty(Vt,t,{enumerable:!0,get:function(){return Eo[t]}})})});var ml=E(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.BasisTheoryReactorFormulas=void 0;var Cm=G(),Tm=fe(),Rm=new Tm.CrudBuilder(class extends Cm.BasisTheoryService{}).create().retrieve().update().delete().list().build();fr.BasisTheoryReactorFormulas=Rm});var hl=E(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});Object.defineProperty(vo,"BasisTheoryReactorFormulas",{enumerable:!0,get:function(){return Im.BasisTheoryReactorFormulas}});var Im=ml()});var wl=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.BasisTheoryReactors=void 0;var gr=z(),yl=wt(),_m=G(),Am=fe(),xm=new Am.CrudBuilder(class extends _m.BasisTheoryService{constructor(e){let n=w({},e);n.transformRequest=[].concat(yl.transformReactorRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(yl.transformReactorResponseCamelCase,e.transformResponse||[]),super(n)}react(e,n,r){return this.client.post("/".concat(e,"/react"),n,(0,gr.createRequestConfig)(r,{transformRequest:gr.proxyRaw,transformResponse:gr.proxyRaw})).then(gr.dataExtractor)}}).create().retrieve().update().patch().delete().list().build();mr.BasisTheoryReactors=xm});var bl=E(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Object.defineProperty(Co,"BasisTheoryReactors",{enumerable:!0,get:function(){return Om.BasisTheoryReactors}});var Om=wl()});var Pl=E(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.BasisTheorySessions=void 0;var Sl=z(),hr=wt(),km=G(),To=class extends km.BasisTheoryService{constructor(e){let n=w({},e);n.transformRequest=[].concat(hr.transformProxyRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(hr.transformProxyResponseCamelCase,e.transformResponse||[]),super(n)}create(e={}){return this.client.post("/",void 0,(0,Sl.createRequestConfig)(e)).then(hr.dataExtractor)}authorize(e,n={}){return this.client.post("/authorize",e,(0,Sl.createRequestConfig)(n)).then(hr.dataExtractor)}};yr.BasisTheorySessions=To});var El=E(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Object.defineProperty(Ro,"BasisTheorySessions",{enumerable:!0,get:function(){return Nm.BasisTheorySessions}});var Nm=Pl()});var vl=E(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.BasisTheoryTenants=void 0;var L=z(),Dm=G(),Lm=fe(),Mm=new Lm.CrudBuilder(class extends Dm.BasisTheoryService{retrieve(e){return this.client.get("/",(0,L.createRequestConfig)(e)).then(L.dataExtractor)}update(e,n){return this.client.put("/",e,(0,L.createRequestConfig)(n)).then(L.dataExtractor)}async delete(e){await this.client.delete("/",(0,L.createRequestConfig)(e))}retrieveUsageReport(e){return this.client.get("/reports/usage",(0,L.createRequestConfig)(e)).then(L.dataExtractor)}createInvitation(e,n){return this.client.post("/invitations",e,(0,L.createRequestConfig)(n)).then(L.dataExtractor)}resendInvitation(e,n){return this.client.post("/invitations/".concat(e,"/resend"),{},(0,L.createRequestConfig)(n)).then(L.dataExtractor)}listInvitations(e,n){let r="/invitations".concat((0,L.getQueryParams)(e));return this.client.get(r,(0,L.createRequestConfig)(n)).then(L.dataExtractor)}retrieveInvitation(e,n){return this.client.get("/invitations/".concat(e),(0,L.createRequestConfig)(n)).then(L.dataExtractor)}async deleteInvitation(e,n){await this.client.delete("/invitations/".concat(e),(0,L.createRequestConfig)(n))}listMembers(e,n){let r="/members".concat((0,L.getQueryParams)(e));return this.client.get(r,(0,L.createRequestConfig)(n)).then(L.dataExtractor)}async deleteMember(e,n){await this.client.delete("/members/".concat(e),(0,L.createRequestConfig)(n))}}).build();wr.BasisTheoryTenants=Mm});var Cl=E(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Object.defineProperty(Io,"BasisTheoryTenants",{enumerable:!0,get:function(){return Bm.BasisTheoryTenants}});var Bm=vl()});var Tl=E(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.BasisTheoryThreeDS=void 0;var br=z(),Um=G(),_o=class extends Um.BasisTheoryService{createSession(e){return this.client.post("/sessions",e).then(br.dataExtractor)}getSessionById(e){return this.client.get("/sessions/".concat(e)).then(br.dataExtractor)}authenticateSession(e,n){return this.client.post("/sessions/".concat(e,"/authenticate"),n).then(br.dataExtractor)}getChallengeResult(e){return this.client.get("/sessions/".concat(e,"/challenge-result")).then(br.dataExtractor)}};Sr.BasisTheoryThreeDS=_o});var Rl=E(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});var Ao=Tl();Object.keys(Ao).forEach(function(t){t==="default"||t==="__esModule"||t in Wt&&Wt[t]===Ao[t]||Object.defineProperty(Wt,t,{enumerable:!0,get:function(){return Ao[t]}})})});var Il=E(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.BasisTheory=void 0;var Fm=jc(),$m=zc(),qm=Zi(),O=z(),jm=jn(),Yt=al(),Km=po(),zm=ll(),Gm=dl(),Hm=gl(),Vm=hl(),Wm=bl(),Ym=El(),Jm=Cl(),Xm=Rl();function Zm(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Qm={apiBaseUrl:O.DEFAULT_BASE_URL,elements:!1,disableTelemetry:!1,debug:!1,appInfo:{}},xo=class{constructor(){Zm(this,"_initStatus","not-started")}async init(e,n={}){if(this._initStatus!=="not-started"&&this._initStatus!=="error")throw new Error("This BasisTheory instance has been already initialized.");this._initStatus="in-progress";try{this._initOptions=Object.freeze(w(w({},Qm),n));let r=this._initOptions.apiBaseUrl;try{let o=new URL(this.initOptions.apiBaseUrl);o.hostname==="localhost"?o.protocol="http":o.protocol="https",r="".concat(o.toString().replace(new RegExp("\\/$","u"),""),"/")}catch(o){throw new Error("Invalid format for the given API base url.")}let i=this._initOptions.appInfo;this._initOptions.elements&&await this.loadElements(e),this._tokens=new((0,Yt.delegateTokens)(this._elements))({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.tokens,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._tokenize=new((0,Yt.delegateTokenize)(this._elements))({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.tokenize,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._applications=new qm.BasisTheoryApplications({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.applications,r).toString(),appInfo:i}),this._applicationKeys=new $m.BasisTheoryApplicationKeys({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.applicationKeys,r).toString(),appInfo:i}),this._applicationTemplates=new Fm.BasisTheoryApplicationTemplates({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.applicationTemplates,r).toString(),appInfo:i}),this._tenants=new Jm.BasisTheoryTenants({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.tenants,r).toString(),appInfo:i}),this._logs=new zm.BasisTheoryLogs({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.logs,r).toString(),appInfo:i}),this._reactorFormulas=new Vm.BasisTheoryReactorFormulas({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.reactorFormulas,r).toString(),appInfo:i}),this._reactors=new Wm.BasisTheoryReactors({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.reactors,r).toString(),appInfo:i}),this._permissions=new Gm.BasisTheoryPermissions({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.permissions,r).toString(),appInfo:i}),this._proxies=new Hm.BasisTheoryProxies({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.proxies,r).toString(),appInfo:i}),this._proxy=new((0,Yt.delegateProxy)(this._elements))({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.proxy,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._sessions=new Ym.BasisTheorySessions({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.sessions,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._threeds=new Xm.BasisTheoryThreeDS({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.threeds,r).toString(),appInfo:i}),this._tokenIntents=new((0,Yt.delegateTokenIntents)(this._elements))({apiKey:e,baseURL:new URL(O.CLIENT_BASE_PATHS.tokenIntents,r).toString(),appInfo:i,debug:this._initOptions.debug}),n.disableTelemetry&&jm.logger.setTelemetryEnabled(!1),this._initStatus="done"}catch(r){throw this._initStatus="error",r}return this}createElement(e,n){if(!this._elements)throw new Error(Km.ELEMENTS_INIT_ERROR_MESSAGE);return this._elements.createElement(e,n)}tokenize(e,n){return(0,O.assertInit)(this._tokenize).tokenize(e,n)}async loadElements(e){let n;try{n=new URL(this.initOptions.elementsBaseUrl||O.DEFAULT_ELEMENTS_BASE_URL)}catch(l){throw new Error("Invalid format for the given Elements base url.")}let r=await(0,Yt.loadElements)(this.initOptions.elementsClientUrl),i=this.initOptions.elementsUseNgApi||!1,o=this.initOptions.elementsUseSameOriginApi||!1,s=this.initOptions.disableTelemetry||!1,a=this.initOptions.debug||!1;await r.init(e,n.toString().replace(new RegExp("\\/$","u"),""),i,o,s,a),this.elements=r}get initOptions(){return(0,O.assertInit)(this._initOptions)}get tokens(){return(0,O.assertInit)(this._tokens)}get applications(){return(0,O.assertInit)(this._applications)}get applicationKeys(){return(0,O.assertInit)(this._applicationKeys)}get applicationTemplates(){return(0,O.assertInit)(this._applicationTemplates)}get client(){if(this._elements){var e;return(e=this._elements)===null||e===void 0?void 0:e.client}console.error("Elements are not initialized. Either initialize elements or use a regular HTTP client if no elements are needed.")}get tenants(){return(0,O.assertInit)(this._tenants)}get logs(){return(0,O.assertInit)(this._logs)}get reactorFormulas(){return(0,O.assertInit)(this._reactorFormulas)}get reactors(){return(0,O.assertInit)(this._reactors)}get permissions(){return(0,O.assertInit)(this._permissions)}get proxies(){return(0,O.assertInit)(this._proxies)}get proxy(){return(0,O.assertInit)(this._proxy)}get sessions(){return(0,O.assertInit)(this._sessions)}get threeds(){return(0,O.assertInit)(this._threeds)}get tokenIntents(){return(0,O.assertInit)(this._tokenIntents)}get elements(){return(0,O.assertInit)(this._elements)}set elements(e){this._elements=e}};Pr.BasisTheory=xo});var Do=E(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});var No={_instance:!0};ee._instance=void 0;var Er=Il();Object.keys(Er).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(No,t)||t in ee&&ee[t]===Er[t]||Object.defineProperty(ee,t,{enumerable:!0,get:function(){return Er[t]}})});var Oo=Zi();Object.keys(Oo).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(No,t)||t in ee&&ee[t]===Oo[t]||Object.defineProperty(ee,t,{enumerable:!0,get:function(){return Oo[t]}})});var ko=no();Object.keys(ko).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(No,t)||t in ee&&ee[t]===ko[t]||Object.defineProperty(ee,t,{enumerable:!0,get:function(){return ko[t]}})});var eh=new Er.BasisTheory;ee._instance=eh});var zl={};vt(zl,{BasisTheory3ds:()=>Kl,sdkBaseUrl:()=>Ir});function Sh(t){let{messageType:e,messageVersion:n,threeDSServerTransID:r,acsTransID:i,challengeWindowSize:o}=t;return typeof t=="object"&&t!==null&&typeof e=="string"&&typeof n=="string"&&typeof r=="string"&&typeof i=="string"&&Object.values(Tr).includes(o)}var _e,Ae,Cr,th,kl,nh,Nl,rh,ih,Dl,oh,me,Tr,vr,sh,ah,ch,Ll,lh,Ml,Bl,Ul,_l,Jt,Fl,uh,$l,Rr,ql,H,Lo,jl,Al,dh,xl,Ol,ph,fh,gh,mh,hh,yh,wh,bh,Ph,Eh,vh,Ch,Ir,Kl,Gl=we(()=>{_e={FRAME_CONTAINER_ID:"methodFrameContainer",IFRAME_NAME:"methodIframe",FORM_NAME:"threeDSMethodForm",INPUT_NAME:"threeDSMethodData"},Ae={FRAME_CONTAINER_ID:"challengeFrameContainer",IFRAME_NAME:"challengeIframe",FORM_NAME:"threeDSCReqForm"},Cr={IFRAME:"iframe",REDIRECT:"redirect"},th="BT-API-KEY",kl="BT-TRACE-ID",nh="https://api.basistheory.com",Nl="https://3ds.basistheory.com",rh="pages/method.html",ih="pages/challenge.html",Dl=!1,oh=({disableTelemetry:t})=>{Dl=t},me=(()=>{let t="pubb96b84a13912504f4354f2d794ea4fab",e=async(n,r,i,o={})=>{if(Dl)return;let s=I(w({application:"3ds-web",ddsource:"3ds-web",service:"3ds-web"},o),{level:r,message:r==="error"&&i?"".concat(n,": ").concat(i.message):n});try{if(!(await fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat(t),{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).ok)throw new Error("Network response was not ok")}catch(a){}};return{log:{error:(n,r,i)=>e(n,"error",r,i),info:(n,r)=>e(n,"info",void 0,r),warn:(n,r)=>e(n,"warn",void 0,r)}}})();(function(t){t.ONE="01",t.TWO="02",t.THREE="03",t.FOUR="04",t.FIVE="05"})(Tr||(Tr={}));vr=t=>t==null?"":JSON.stringify(t),sh=()=>{let t=[1,4,8,15,16,24,32,48],e=window.screen.colorDepth,n=t.filter(r=>r<=e);return n.length===0?t[0]:Math.max(...n)},ah=t=>t==null?void 0:t.split("-").slice(0,2).join("-"),ch=()=>({browserColorDepth:vr(sh()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:ah(window.navigator.language),browserScreenHeight:vr(window.screen.height),browserScreenWidth:vr(window.screen.width),browserTZ:vr(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent}),Ll=(t="05")=>{let n={"01":["250px","400px"],"02":["390px","400px"],"03":["500px","600px"],"04":["600px","400px"],"05":["100%","100%"]}[t];if(n)return n;{let r=new Error("Window size ".concat(t," is not supported"));throw me.log.error("Unsupported window size",r),r}},lh=t=>!t||t instanceof HTMLElement,Ml=(t,e,n,r="0",i="0",o)=>{if(!lh(t)||!e||!n){let a="Unable to create iframe. Container must be a HTML element ".concat(JSON.stringify(t)," ").concat(e," ").concat(n);throw me.log.error("Unable to create iframe",new Error),Error(a)}let s=document.createElement("iframe");return s.name=e,s.width=r,s.height=i,s.setAttribute("id",n),s.setAttribute("frameborder","0"),s.setAttribute("border","0"),o&&typeof o=="function"&&s.addEventListener("onload",o),t.appendChild(s),s},Bl=(t,e,n)=>{let r=document.createElement("form");return r.name=t,r.action=e,r.method="POST",r.target=n,r},Ul=(t,e)=>{let n=document.createElement("input");return n.name=t,n.value=e,n},_l=(t,e=!1)=>{let n;if(n=document.getElementById(t),n){n.innerHTML="",e&&n.setAttribute("style","display:none;");return}n=document.createElement("div"),n.id=t,e&&n.setAttribute("style","display:none;"),document.body.appendChild(n)},Jt=t=>t==null?void 0:t.map(e=>{var n;return(n=document.getElementById(e))==null?void 0:n.remove()}),Fl=(t,e)=>{let n=r=>typeof r=="string"?e(r):typeof r!="object"||r===null?r:Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([i,o])=>[e(i),typeof o=="object"||Array.isArray(o)?n(o):o]));return n(t)},uh=t=>Fl(t,e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()),$l=t=>Fl(t,e=>e.replace(/_./g,n=>n[1].toUpperCase())),Rr=t=>btoa(JSON.stringify(t)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),ql=(()=>{let t,e;return{client:async(i,o,s,a)=>{if(!t)throw Error("Missing api key");e&&me.log.info("Using custom api base url in 3DS SDK ".concat(e));let l={};return a&&(l[kl]=a),await fetch("".concat(e!=null?e:nh,"/3ds").concat(o),{method:i,body:JSON.stringify(s),headers:w({[th]:t,"Content-Type":"application/json"},l)})},init:(i,o)=>{t=i,e=o}}})();(function(t){t.METHOD="method",t.CHALLENGE="challenge",t.METHOD_TIME_OUT="methodTimeout",t.START_METHOD_TIME_OUT="startMethodTimeout",t.ERROR="error"})(H||(H={}));Lo=t=>window.postMessage(t,"*"),jl=t=>typeof t=="object"&&t!==null&&"isCompleted"in t&&typeof t.isCompleted=="boolean"&&"id"in t&&typeof t.id=="string"&&"type"in t&&Object.values(H).includes(t.type),Al=t=>{var e;return(e={[H.CHALLENGE]:Ae.IFRAME_NAME,[H.METHOD]:_e.IFRAME_NAME,[H.METHOD_TIME_OUT]:_e.IFRAME_NAME,[H.ERROR]:"".concat(_e.IFRAME_NAME,",").concat(Ae.IFRAME_NAME),[H.START_METHOD_TIME_OUT]:""}[t])==null?void 0:e.split(",")},dh=t=>{let e;return new Promise((n,r)=>{let i=o=>{var s,a,l,c;if(jl(o.data)){if(o.data.type===H.ERROR)me.log.error("Error occurred during session creation: ".concat((s=o==null?void 0:o.data)==null?void 0:s.details)),r(new Error("An error occurred during session creation: ".concat((a=o==null?void 0:o.data)==null?void 0:a.details))),Jt(Al((l=o.data)==null?void 0:l.type)),clearTimeout(e);else if(o.data.type===H.START_METHOD_TIME_OUT)e=setTimeout(()=>{Lo({id:o.data.id,type:H.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(o.data.type!==H.CHALLENGE){if(o.isTrusted){window.removeEventListener("message",i);let d=(f=>{let g=$l(t),p={id:f.data.id,cardBrand:g.cardBrand,correlationId:g.correlationId};return g.additionalCardBrands&&(p.additionalCardBrands=g.additionalCardBrands),p})(o);n(d),Jt(Al((c=o.data)==null?void 0:c.type)),clearTimeout(e)}}}};window.addEventListener("message",i)})},xl={},Ol={"The card was not supported by any card schemes":"3DS is not supported for the provided card"},ph=t=>"errors"in t&&t.errors!==void 0&&typeof t.errors=="object"&&t.errors!==null,fh=t=>typeof t=="object"&&t!==null&&("title"in t||"status"in t||"detail"in t),gh=t=>{if(ph(t)){for(let e of Object.keys(t.errors))if(Ol[e])throw new Error(Ol[e])}else if(t.status===424&&t.error){let e=[];t.error.message&&e.push(t.error.message),t.error.details&&e.push("details: "+t.error.details);let n=e.length>0?e.join(" - "):t.title||"An unknown 3DS service error occurred";throw new Error(n)}else if(t.title&&xl[t.title])throw new Error(xl[t.title]);throw new Error(t.title||"An unknown error occurred")},mh=(t,e,n)=>{let r=Rr({threeDSServerTransID:e,threeDSMethodNotificationURL:"".concat(n,"?mode=redirect")}),i=window.open("","threeDSMethodForm");if(!i){console.error("Popup blocked or unable to open the window.");return}let o=Bl(_e.FORM_NAME,t,"threeDSMethodForm");o.appendChild(Ul(_e.INPUT_NAME,r)),document.body.appendChild(o),o.submit();let s=window.setInterval(()=>{i.closed&&(clearInterval(s),Lo({isCompleted:!0,id:e,type:H.METHOD}))},500)},hh=(t,e,n)=>{let r=Rr({threeDSServerTransID:e,threeDSMethodNotificationURL:n}),i=document.getElementById(_e.FRAME_CONTAINER_ID),o=Ml(i,_e.IFRAME_NAME,_e.IFRAME_NAME,"0","0");o.src="".concat(Ir,"/").concat(rh),o.onload=()=>{var s;(s=o.contentWindow)==null||s.postMessage({type:"startMethod",threeDSMethodURL:t,threeDSMethodData:r},"*")}},yh=async({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r=!1,methodRequestMode:i,challengeMode:o,correlationId:s})=>{var g;let a=[n,t,e].filter(p=>p!==void 0);if(a.length===0)throw new Error("One of pan, tokenId, or tokenIntentId is required.");if(a.length>1)throw new Error("Only one of pan, tokenId, or tokenIntentId should be provided.");let l=n?"pan":t?"tokenId":"tokenIntentId",c=n||t||e,u=ch(),d=await ql.client("POST","/sessions",uh({[l]:c,device:"browser",deviceInfo:u,webChallengeMode:o}),s);if(!d.ok){let p;try{p=await d.json()}catch(h){let m="Failed to parse error response. HTTP Status: ".concat(d.status);throw me.log.error(m),new Error(m)}if(fh(p))gh(p);else{let h="An unknown error occurred while creating session. Status: ".concat(d.status,".");throw me.log.error("".concat(h," Response: ").concat(JSON.stringify(p,null,2))),new Error(h)}}let f=$l(await d.json());return f.correlationId=((g=d.headers)==null?void 0:g.get(kl))||"",me.log.info("3DS session response received with ID ".concat(f.id)),f.methodUrl&&!r&&(Lo({isCompleted:!1,id:f.id,type:H.START_METHOD_TIME_OUT}),i===Cr.REDIRECT?mh(f.methodUrl,f.id,f.methodNotificationUrl):hh(f.methodUrl,f.id,f.methodNotificationUrl)),f},wh=async({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r=!1,methodRequestMode:i=Cr.IFRAME,challengeMode:o=Cr.IFRAME,correlationId:s=""})=>{let a=await yh({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r,methodRequestMode:i,challengeMode:o,correlationId:s}).catch(l=>Promise.reject(l.message));if(!a.methodUrl||r){let l={id:a.id,cardBrand:a.cardBrand};return a.additionalCardBrands&&(l.additionalCardBrands=a.additionalCardBrands),l}return await dh(a)},bh=(t=6e4)=>{let e;return new Promise((n,r)=>{let i=o=>{var s,a;if(jl(o.data))if(o.data.type===H.ERROR)me.log.error("Error occurred during challenge: ".concat((s=o==null?void 0:o.data)==null?void 0:s.details)),r(new Error("An error occurred during challenge: ".concat((a=o==null?void 0:o.data)==null?void 0:a.details))),Jt([Ae.IFRAME_NAME]),clearTimeout(t);else if(o.data.type===H.CHALLENGE){clearTimeout(e),window.removeEventListener("message",i);let c=(u=>({id:u.data.id,isCompleted:u.data.isCompleted,authenticationStatus:u.data.authenticationStatus}))(o);me.log.info("".concat(o.data.type," notification received for session: ").concat(c.id)),n(c),Jt([Ae.IFRAME_NAME])}else o.isTrusted};window.addEventListener("message",i),e=setTimeout(()=>{window.removeEventListener("message",i),r(new Error("Timed out waiting for a challenge response. Please try again.")),Jt([Ae.IFRAME_NAME])},t)})};Ph=(t,e,n)=>{let r=document.getElementById(n!=null?n:Ae.FRAME_CONTAINER_ID),i=Ll(e.challengeWindowSize),o=Rr(e),s=Ae.IFRAME_NAME,a=Ml(r,s,s,i[0],i[1]);a.src="".concat(Ir,"/").concat(ih),a.onload=()=>{var l;(l=a.contentWindow)==null||l.postMessage({type:"startChallenge",acsURL:t,creq:o},"*")}},Eh=(t,e)=>{let n=Ll(e.challengeWindowSize);if(!window.open("","threeDSChallenge","width=".concat(n[0],",height=").concat(n[1])))throw new Error("Popup blocked or unable to open the window.");let i=Rr(e),o=Bl(Ae.FORM_NAME,t,"threeDSChallenge"),s=Ul("creq",i);o.appendChild(s),document.body.appendChild(o),o.submit()},vh=({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o,containerId:s})=>{if(!t)throw new Error("Session ID is required");let a={messageType:"CReq",messageVersion:r,threeDSServerTransID:t,acsTransID:e,challengeWindowSize:i!=null?i:Tr.THREE};if(Sh(a))o===Cr.REDIRECT?Eh(n,a):Ph(n,a,s);else{let l="Invalid challenge request payload for session: ".concat(t);return me.log.error(l),Promise.reject(new Error(l))}return Promise.resolve({id:t})},Ch=async({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o="iframe",timeout:s=6e4,containerId:a})=>(await vh({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o,containerId:a}).catch(l=>Promise.reject(l.message)),bh(s)),Ir=Nl,Kl=(t,e)=>{var n,r;try{oh({disableTelemetry:(n=e==null?void 0:e.disableTelemetry)!=null?n:!1}),_l(_e.FRAME_CONTAINER_ID,!0),_l(Ae.FRAME_CONTAINER_ID)}catch(i){me.log.error("Unable to create iframe container",i)}return Ir=(r=e==null?void 0:e.sdkBaseUrl)!=null?r:Nl,ql.init(t,e==null?void 0:e.apiBaseUrl),{createSession:wh,startChallenge:Ch}};window.BasisTheory3ds=Kl});var $h={};vt($h,{ApiClient:()=>rt,CheckoutResource:()=>ln,CheckoutUtils:()=>Zr,CurrencyUtils:()=>Bt,ExpressPaymentMethodsResource:()=>fn,FunnelActionType:()=>en,GeoResource:()=>gn,GoogleAutocompleteCore:()=>lt,ISODataCore:()=>yn,OffersResource:()=>pn,OrderBumpUtils:()=>ti,OrderUtils:()=>Xr,OrdersResource:()=>dn,PaymentService:()=>_r,PaymentsResource:()=>ot,PluginConfigUtils:()=>Kr,PostPurchasesUtils:()=>ei,ProductsUtils:()=>Jr,PromotionsUtils:()=>Qr,ShippingRatesResource:()=>un,StoreConfigResource:()=>st,TagadaApiError:()=>Te,TagadaAuthError:()=>tt,TagadaCircuitBreakerError:()=>nt,TagadaClient:()=>Lt,TagadaError:()=>se,TagadaErrorCode:()=>ne,TagadaExternalTracker:()=>Xt,TagadaNetworkError:()=>et,TagadaTracker:()=>Uo,TagadaValidationError:()=>an,ThreedsResource:()=>at,broadcastConfigUpdate:()=>Qu,clearFunnelSessionCookie:()=>It,createRawPluginConfig:()=>bs,createTagadaClient:()=>Fo,debounceConfigUpdate:()=>td,formatMoney:()=>Xu,funnelQueryKeys:()=>Zu,getAssignedPaymentFlowId:()=>Nt,getAssignedStepConfig:()=>oe,getBasisTheoryApiKey:()=>Uh,getBasisTheoryTenantId:()=>Fh,getFunnelSessionCookie:()=>nn,getFunnelVariantId:()=>lu,getInternalPath:()=>Ut,getPathInfo:()=>$s,getPluginConfig:()=>Ku,hasFunnelSessionCookie:()=>cu,injectStepConfigScripts:()=>$o,isApplePayAvailable:()=>Ar,isGooglePayAvailable:()=>Or,isPathRemapped:()=>Fs,loadLocalConfig:()=>ws,loadPluginConfig:()=>zr,matchRoute:()=>qs,onConfigUpdate:()=>ed,sendConfigUpdate:()=>Os,setFunnelSessionCookie:()=>Fr,startApplePaySession:()=>xr,startGooglePaySession:()=>kr});Zt();Qe();var ne={NETWORK_ERROR:"network_error",API_ERROR:"api_error",AUTH_REQUIRED:"auth_required",TOKEN_EXPIRED:"token_expired",NOT_FOUND:"not_found",VALIDATION_ERROR:"validation_error",CIRCUIT_BREAKER:"circuit_breaker",PAYMENT_FAILED:"payment_failed",CARD_DECLINED:"card_declined",SESSION_EXPIRED:"session_expired",RATE_LIMITED:"rate_limited",TIMEOUT:"timeout",UNKNOWN:"unknown"},se=class extends Error{constructor(e,n){var r;super(e),this.name="TagadaError",this.code=n.code,this.statusCode=n.statusCode,this.retryable=(r=n.retryable)!=null?r:!1,this.details=n.details,Object.setPrototypeOf(this,new.target.prototype)}},Te=class extends se{constructor(e,n,r){var i,o;super(e,{code:(i=r==null?void 0:r.code)!=null?i:ne.API_ERROR,statusCode:n,retryable:(o=r==null?void 0:r.retryable)!=null?o:n>=500,details:r==null?void 0:r.details}),this.name="TagadaApiError"}},et=class extends se{constructor(e="Network request failed"){super(e,{code:ne.NETWORK_ERROR,retryable:!0}),this.name="TagadaNetworkError"}},tt=class extends se{constructor(e="Authentication required",n=401){super(e,{code:ne.AUTH_REQUIRED,statusCode:n,retryable:!1}),this.name="TagadaAuthError"}},an=class extends se{constructor(e,n){super(e,{code:ne.VALIDATION_ERROR,statusCode:400,retryable:!1,details:n}),this.name="TagadaValidationError"}},nt=class extends se{constructor(e){super(e,{code:ne.CIRCUIT_BREAKER,retryable:!1}),this.name="TagadaCircuitBreakerError"}};var rt=class{constructor(e){this.currentToken=null;this.tokenProvider=null;this.requestHistory=new Map;this.WINDOW_MS=5e3;this.MAX_REQUESTS=30;this.baseURL=e.baseURL,this.timeout=e.timeout||6e4,this.defaultHeaders=w({"Content-Type":"application/json"},e.headers),typeof setInterval!="undefined"&&setInterval(()=>this.cleanupHistory(),1e4)}setTokenProvider(e){this.tokenProvider=e}async get(e,n){return this.request("GET",e,void 0,n)}async post(e,n,r){return this.request("POST",e,n,r)}async put(e,n,r){return this.request("PUT",e,n,r)}async patch(e,n,r){return this.request("PATCH",e,n,r)}async delete(e,n){return this.request("DELETE",e,void 0,n)}setHeader(e,n){this.defaultHeaders[e]=n}removeHeader(e){delete this.defaultHeaders[e]}updateToken(e){this.currentToken=e,e?this.setHeader("x-cms-token",e):(this.removeHeader("x-cms-token"),console.log("[SDK] Token removed from ApiClient"))}getCurrentToken(){return this.currentToken}updateConfig(e){e.baseURL&&(this.baseURL=e.baseURL),e.timeout&&(this.timeout=e.timeout),e.headers&&Object.assign(this.defaultHeaders,e.headers),console.log("[SDK] ApiClient configuration updated")}async request(e,n,r,i){let o="".concat(e,":").concat(n);try{this.checkRequestLimit(o)}catch(d){throw console.error("[SDK] \u{1F6D1} Request blocked by Circuit Breaker:",d),d}if(!(i!=null&&i.skipAuth)&&!this.currentToken&&this.tokenProvider)try{console.log("[SDK] Waiting for token...");let d=await this.tokenProvider();d&&this.updateToken(d)}catch(d){console.error("[SDK] Failed to get token from provider:",d)}let s=w({},this.defaultHeaders);i!=null&&i.headers&&Object.assign(s,i.headers),!(i!=null&&i.skipAuth)&&this.currentToken&&(s["x-cms-token"]=this.currentToken);let a="".concat(this.baseURL).concat(n);if(i!=null&&i.params){let d=new URLSearchParams(i.params);a+="?".concat(d.toString())}console.log("[SDK] Making ".concat(e," request to: ").concat(a));let l=new AbortController,c=setTimeout(()=>l.abort(),this.timeout),u=i!=null&&i.signal?_u([i.signal,l.signal]):l.signal;try{let d={method:e,headers:s,signal:u};r!==void 0&&(d.body=JSON.stringify(r));let f=await fetch(a,d);if(!f.ok){let p=await this.safeParseJson(f);throw this.toTagadaError(f.status,p,f.statusText)}return await f.json()}catch(d){throw d instanceof se?d:d instanceof DOMException&&d.name==="AbortError"?new Te("Request timed out",0,{code:ne.TIMEOUT,retryable:!0}):d instanceof TypeError?new et(d.message):d instanceof Error?d:new Error(String(d))}finally{clearTimeout(c)}}toTagadaError(e,n,r){var o,s,a;let i=(s=(o=n==null?void 0:n.message)!=null?o:n==null?void 0:n.error)!=null?s:r;return e===401||e===403?new tt(i,e):e===429?new Te(i,429,{code:ne.RATE_LIMITED,retryable:!0}):e===404?new Te(i,404,{code:ne.NOT_FOUND,retryable:!1}):new Te(i,e,{code:(a=n==null?void 0:n.code)!=null?a:ne.API_ERROR,details:n,retryable:e>=500})}async safeParseJson(e){try{return await e.json()}catch(n){return}}checkRequestLimit(e){let n=Date.now(),r=this.requestHistory.get(e);if(!r){this.requestHistory.set(e,{count:1,firstRequestTime:n});return}if(n-r.firstRequestTime>this.WINDOW_MS){this.requestHistory.set(e,{count:1,firstRequestTime:n});return}if(r.count++,r.count>this.MAX_REQUESTS)throw new nt("Circuit Breaker: Too many requests to ".concat(e," (").concat(r.count," in ").concat(this.WINDOW_MS,"ms)"))}cleanupHistory(){let e=Date.now();for(let[n,r]of this.requestHistory.entries())e-r.firstRequestTime>this.WINDOW_MS&&this.requestHistory.delete(n)}};function _u(t){let e=new AbortController;for(let n of t){if(n.aborted)return e.abort(n.reason),e.signal;n.addEventListener("abort",()=>e.abort(n.reason),{once:!0,signal:e.signal})}return e.signal}function Au(){return{width:window.screen.width,height:window.screen.height}}function xu(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(t){return"UTC"}}function fs(){try{return navigator.language||"en-US"}catch(t){return"en-US"}}var Fe=typeof navigator!="undefined"?navigator.userAgent:"";function ae(t,...e){for(let n of e){let r=t.match(n);if(r)return r}return null}function Ou(t){let e=[[/EdgA?\/([\d.]+)/i,"Edge"],[/OPR\/([\d.]+)/i,"Opera"],[/Brave\/([\d.]+)/i,"Brave"],[/Vivaldi\/([\d.]+)/i,"Vivaldi"],[/SamsungBrowser\/([\d.]+)/i,"Samsung Internet"],[/UCBrowser\/([\d.]+)/i,"UC Browser"],[/Firefox\/([\d.]+)/i,"Firefox"],[/CriOS\/([\d.]+)/i,"Chrome"],[/FxiOS\/([\d.]+)/i,"Firefox"],[/Chrome\/([\d.]+)/i,"Chrome"],[/Version\/([\d.]+).*Safari/i,"Safari"],[/Safari\/([\d.]+)/i,"Safari"]];for(let[n,r]of e){let i=t.match(n);if(i){let o=i[1]||"";return{name:r,version:o,major:o.split(".")[0]||""}}}return{name:"",version:"",major:""}}function ku(t){let e=ae(t,/Windows NT ([\d.]+)/i)||ae(t,/Mac OS X ([\d_.]+)/i)||ae(t,/Android ([\d.]+)/i)||ae(t,/iPhone OS ([\d_]+)/i)||ae(t,/iPad.*OS ([\d_]+)/i)||ae(t,/CrOS[\w ]*\/([\d.]+)/i)||ae(t,/Linux/i);if(!e)return{name:"",version:""};let n=e[0],r=(e[1]||"").replace(/_/g,".");return/Windows/i.test(n)?{name:"Windows",version:{"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7","6.0":"Vista","5.1":"XP"}[r]||r}:/Mac OS X/i.test(n)?{name:"macOS",version:r}:/Android/i.test(n)?{name:"Android",version:r}:/iPhone|iPad/i.test(n)?{name:"iOS",version:r}:/CrOS/i.test(n)?{name:"Chrome OS",version:r}:/Linux/i.test(n)?{name:"Linux",version:""}:{name:"",version:""}}function Nu(t){var e;if(/iPad/i.test(t))return{type:"tablet",vendor:"Apple",model:"iPad"};if(/iPhone/i.test(t))return{type:"mobile",vendor:"Apple",model:"iPhone"};if(/iPod/i.test(t))return{type:"mobile",vendor:"Apple",model:"iPod"};if(/Android/i.test(t)){let n=t.match(/Android[\s\d.]+;\s*([^)]+?)(?:\s+Build)/i);return{type:/Mobile/i.test(t)?"mobile":"tablet",model:(e=n==null?void 0:n[1])==null?void 0:e.trim()}}}function Du(t){let e=ae(t,/AppleWebKit\/([\d.]+)/i)||ae(t,/Gecko\/([\d.]+)/i)||ae(t,/Trident\/([\d.]+)/i)||ae(t,/Presto\/([\d.]+)/i);if(!e)return{name:"",version:""};let n=e[0],r=e[1]||"";return/AppleWebKit/i.test(n)?{name:"WebKit",version:r}:/Gecko/i.test(n)?{name:"Gecko",version:r}:/Trident/i.test(n)?{name:"Trident",version:r}:/Presto/i.test(n)?{name:"Presto",version:r}:{name:"",version:""}}function Lu(t){return/x86_64|x64|amd64|Win64/i.test(t)?{architecture:"amd64"}:/ia32|x86/i.test(t)?{architecture:"ia32"}:/aarch64|arm64/i.test(t)?{architecture:"arm64"}:/arm/i.test(t)?{architecture:"arm"}:{architecture:""}}function Mu(){return navigator.webdriver?!0:/bot|crawl|spider|slurp|Googlebot|bingbot|yandex|baidu|duckduck|facebookexternalhit|Twitterbot|linkedinbot|embedly|quora|pinterest|redditbot|Slackbot|Discordbot|WhatsApp|TelegramBot|Applebot/i.test(Fe)}function Bu(t){return/Chrome|Chromium|Edge|Brave|Opera|Vivaldi|Arc/i.test(t)}function Uu(){return window.matchMedia("(display-mode: standalone)").matches||navigator.standalone===!0}function Fu(t){return/mac/i.test(t)?navigator.maxTouchPoints>0:!1}function gs(){if(typeof window=="undefined")return{userAgent:{name:"",browser:{major:"",name:"",version:""},os:{name:"",version:""},device:void 0,engine:{name:"",version:""},cpu:{architecture:""}},screenResolution:{width:0,height:0},timeZone:"UTC",flags:{isBot:!1,isChromeFamily:!1,isStandalonePWA:!1,isAppleSilicon:!1}};let t=Ou(Fe),e=ku(Fe),n=Nu(Fe),r=Du(Fe),i=Lu(Fe),o;try{o={isBot:Mu(),isChromeFamily:Bu(t.name),isStandalonePWA:Uu(),isAppleSilicon:Fu(e.name)}}catch(s){o={isBot:!1,isChromeFamily:!1,isStandalonePWA:!1,isAppleSilicon:!1}}return{userAgent:{name:Fe,browser:t,os:e,device:n,engine:r,cpu:i},screenResolution:Au(),timeZone:xu(),flags:o}}function ms(){if(typeof window=="undefined")return{};let t=new URLSearchParams(window.location.search);return{locale:t.get("locale")||void 0,currency:t.get("currency")||void 0,utmSource:t.get("utm_source")||void 0,utmMedium:t.get("utm_medium")||void 0,utmCampaign:t.get("utm_campaign")||void 0,gclid:t.get("gclid")||void 0}}var cn=class{constructor(){this.listeners=new Map}on(e,n){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(n),()=>this.off(e,n)}off(e,n){this.listeners.has(e)&&this.listeners.get(e).delete(n)}async emit(e,n){if(this.listeners.has(e)){let r=Array.from(this.listeners.get(e));await Promise.all(r.map(i=>{try{return Promise.resolve(i(n))}catch(o){return console.error('[EventBus] Error in listener for event "'.concat(e,'":'),o),Promise.resolve()}}))}}clear(){this.listeners.clear()}};Br();function Dt(t){try{let e=t.split(".");if(e.length!==3)return console.error("Invalid JWT token format"),null;let n=e[1],r=n+"=".repeat((4-n.length%4)%4),i=atob(r),o=JSON.parse(i);return o.exp&&Date.now()>=o.exp*1e3?(console.warn("JWT token is expired"),null):{sessionId:o.sessionId,storeId:o.storeId,accountId:o.accountId,customerId:o.customerId,role:o.role,isValid:!0,isLoading:!1}}catch(e){return console.error("Failed to decode JWT token:",e),null}}function hs(t){try{let e=t.split(".");if(e.length!==3)return!0;let n=e[1],r=n+"=".repeat((4-n.length%4)%4),i=atob(r),o=JSON.parse(i);return o.exp?Date.now()>=o.exp*1e3:!1}catch(e){return console.error("Failed to check token expiration:",e),!0}}Zt();var it={},$u=["","VITE_","REACT_APP_","NEXT_PUBLIC_"];function Re(t,e=$u){var n,r,i;for(let o of e){let s=o?"".concat(o).concat(t):t;if(typeof process!="undefined"&&((n=process==null?void 0:process.env)!=null&&n[s]))return console.log("process.env[".concat(s,"]"),process.env[s]),process.env[s];if(typeof it!="undefined"&&((r=it==null?void 0:it.env)!=null&&r[s]))return console.log("import.meta.env[".concat(s,"]"),it.env[s]),it.env[s];if(typeof window!="undefined"&&((i=window==null?void 0:window.__TAGADA_ENV__)!=null&&i[s]))return console.log("window.__TAGADA_ENV__[".concat(s,"]"),window.__TAGADA_ENV__[s]),window.__TAGADA_ENV__[s]}}var qu=async(t="default")=>{try{if((Re("TAGADA_ENV")||Re("TAGADA_ENVIRONMENT"))==="production"||!Tt(!0))return null;let n=await fetch("/.local.json");if(!n.ok)return null;let r=await n.json(),i={},o=!1;try{let a=await fetch("/config/".concat(t,".tgd.json"));a.ok||(a=await fetch("/config/".concat(t,".json"))),a.ok&&(i=await a.json(),o=!0)}catch(a){}if(!o&&t!=="default"){console.warn("\u26A0\uFE0F Config variant '".concat(t,"' not found, falling back to 'default'"));try{let a=await fetch("/config/default.tgd.json");a.ok||(a=await fetch("/config/default.json")),a.ok&&(i=await a.json(),o=!0,console.log("\u2705 Fallback to 'default' config successful"))}catch(a){}}o||console.warn(t==="default"?"\u26A0\uFE0F No 'default' config found. Create /config/default.tgd.json":"\u26A0\uFE0F Neither '".concat(t,"' nor 'default' config found. Create /config/default.tgd.json"));let s={storeId:r.storeId,accountId:r.accountId,basePath:r.basePath,config:i};return console.log("\u{1F6E0}\uFE0F Using local development plugin config:",s),s}catch(e){return null}},ju=async()=>{try{if((Re("TAGADA_ENV")||Re("TAGADA_ENVIRONMENT"))==="production"||!Tt(!0))return null;try{console.log("\u{1F6E0}\uFE0F [V2] Attempting to load /config/funnel.local.json...");let r=await fetch("/config/funnel.local.json");if(r.ok){let i=await r.json();console.log("\u{1F6E0}\uFE0F [V2] \u2705 Loaded local funnel config (NEW format):",i);let{loadLocalFunnelConfig:o}=await Promise.resolve().then(()=>(Qe(),ps));if(await o(),i.staticResources){let s={};for(let[a,l]of Object.entries(i.staticResources))s[a]={id:l};return s}return null}}catch(r){console.log("\u{1F6E0}\uFE0F [V2] funnel.local.json not found, trying legacy format...")}console.log("\u{1F6E0}\uFE0F [V2] Attempting to load /config/resources.static.json (legacy)...");let e=await fetch("/config/resources.static.json");if(!e.ok)return console.log("\u{1F6E0}\uFE0F [V2] No local static resources found"),null;let n=await e.json();return console.log("\u{1F6E0}\uFE0F [V2] \u2705 Loaded legacy static resources:",n),n}catch(t){return console.error("\u{1F6E0}\uFE0F [V2] \u274C Error loading static resources:",t),null}},$e=t=>{if(typeof document=="undefined")return;let e=document.querySelector('meta[name="'.concat(t,'"]'));return(e==null?void 0:e.getAttribute("content"))||void 0},ys=()=>{if(typeof window!="undefined"&&window.__TAGADA_PLUGIN_CONFIG__)return window.__TAGADA_PLUGIN_CONFIG__;try{let t=$e("x-plugin-config");if(t)return JSON.parse(decodeURIComponent(t))}catch(t){}return{}};function Ku(){if(typeof document=="undefined")return{basePath:"/",config:{}};let t=$e("x-plugin-store-id"),e=$e("x-plugin-account-id"),n=$e("x-plugin-base-path")||"/",r=ys();return{storeId:t,accountId:e,basePath:n,config:r}}var zu=async()=>{try{if(typeof document=="undefined")return null;let t=$e("x-plugin-store-id"),e=$e("x-plugin-account-id");if(!t)return null;let n=$e("x-plugin-base-path")||"/",r=ys();e||console.warn("\u26A0\uFE0F Plugin config: Account ID not found in meta tags");let i={storeId:t,accountId:e,basePath:n,config:r};return console.log("\u{1F680} [HIGHEST PRIORITY] Plugin config loaded from meta tags (runtime injected config):",{storeId:t,accountId:e,basePath:n,configKeys:Object.keys(r),configSize:JSON.stringify(r).length}),i}catch(t){return console.warn("\u26A0\uFE0F Error loading production config from meta tags:",t),null}},zr=async(t="default",e)=>{var s,a;console.log("\u{1F527} [V2] loadPluginConfig called with variant:",t);let n=await ju(),r=await zu();if(r){let l=I(w({},r),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using INJECTED config from meta tags (HIGHEST PRIORITY)"),l}if(e){let l={storeId:e.storeId,accountId:e.accountId,basePath:(s=e.basePath)!=null?s:"/",config:(a=e.config)!=null?a:{},staticResources:n!=null?n:void 0};return console.log("\u2705 [V2] Using raw config parameter (PRIORITY 2)"),l}let i=await bs();if(i){let l=I(w({},i),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using environment variables config (PRIORITY 3 - build time)"),l}let o=await qu(t);if(o){let l=I(w({},o),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using local dev config files (PRIORITY 4)"),l}return console.warn("\u26A0\uFE0F [V2] No plugin config found - using defaults"),{basePath:"/",config:{},staticResources:n!=null?n:void 0}};async function ws(t="default",e){try{if(!Tt())return null;if(e)return e;let n=["/config/".concat(t,".config.json"),"/config/".concat(t,".tgd.json"),"/config/".concat(t,".json")];for(let r of n)try{let i=await fetch(r);if(i.ok)return await i.json()}catch(i){continue}return console.warn("\u26A0\uFE0F [loadLocalConfig] No config found for '".concat(t,"'")),null}catch(n){return console.error("[loadLocalConfig] Error loading config:",n),null}}async function bs(){try{if(!Tt())return;let t=Re("TAGADA_STORE_ID"),e=Re("TAGADA_ACCOUNT_ID"),n=Re("TAGADA_BASE_PATH"),r=Re("TAGADA_CONFIG_NAME");if(!t||!e)return;let i=await ws(r);if(!i)return;let o={storeId:t,accountId:e,basePath:n||"/",config:i};return console.log("\u{1F6E0}\uFE0F [createRawPluginConfig] Using environment variables (build-time config):",{hasStoreId:!!o.storeId,hasAccountId:!!o.accountId,basePath:o.basePath,hasConfig:!!o.config}),o}catch(t){console.error("[createRawPluginConfig] Error creating config:",t);return}}var Kr=class{static getPluginConfig(e,n){return{storeId:(e==null?void 0:e.storeId)||(n==null?void 0:n.storeId),accountId:(e==null?void 0:e.accountId)||(n==null?void 0:n.accountId),basePath:(e==null?void 0:e.basePath)||(n==null?void 0:n.basePath)||"/",config:(e==null?void 0:e.config)||{}}}static validateConfig(e){return!!(e.storeId&&e.accountId)}};xt();Ye();Ye();var Gr=new Map,Hr=new Set;function Gu(){return typeof window=="undefined"?null:new URLSearchParams(window.location.search).get("authCode")}async function Ss(t,e,n,r=!1){if(Hr.has(t))throw r&&console.log("[AuthHandoff] Code already resolved, skipping duplicate request"),new Error("Auth code already resolved");let i=Gr.get(t);if(i)return r&&console.log("[AuthHandoff] Resolution already in progress, waiting for existing request"),i;r&&console.log("[AuthHandoff] Resolving authCode:",t.substring(0,15)+"...");let o=(async()=>{try{let s=await fetch("".concat(n,"/api/v1/cms/auth/resolve-handoff"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:t,storeId:e})});if(!s.ok){let l=await s.json().catch(()=>({message:"Unknown error"}));throw new Error(l.message||"Failed to resolve auth handoff: ".concat(s.status))}let a=await s.json();return r&&console.log("[AuthHandoff] \u2705 Resolved successfully:",{customerId:a.customer.id,role:a.customer.role,hasContext:Object.keys(a.context).length>0}),r&&console.log("[AuthHandoff] Storing new token (overriding existing)"),re(a.token),Hu(r),Hr.add(t),a}catch(s){throw console.error("[AuthHandoff] \u274C Failed to resolve:",s),s}finally{Gr.delete(t)}})();return Gr.set(t,o),o}function Hu(t=!1){if(typeof window=="undefined")return;let e=new URL(window.location.href);e.searchParams.has("authCode")&&(e.searchParams.delete("authCode"),window.history.replaceState({},"",e.pathname+e.search+e.hash),t&&console.log("[AuthHandoff] Cleaned authCode from URL"))}function Ps(){let t=Gu();return!(!t||!t.startsWith("ah_")||Hr.has(t))}var Lt=class{constructor(e={}){this.bus=new cn;this.eventDispatcher=new Ve;this.tokenPromise=null;this.tokenResolver=null;this.isInitializingSession=!1;this.lastSessionInitError=null;this.sessionInitRetryCount=0;this.MAX_SESSION_INIT_RETRIES=3;var a,l,c,u;this.config=e,this.instanceId=Math.random().toString(36).substr(2,9),this.boundHandleStorageChange=this.handleStorageChange.bind(this),this.boundHandlePageshow=d=>{if(d.persisted)if(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Page restored from BFcache (back button), re-initializing funnel...")),this.funnel&&this.state.session&&this.state.store){this.funnel.resetInitialization();let f=this.getAccountId(),p=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||void 0;this.funnel.autoInitialize({customerId:this.state.session.customerId,sessionId:this.state.session.sessionId},{id:this.state.store.id,accountId:f},p).catch(h=>{console.error("[TagadaClient] Funnel re-initialization failed:",h)})}else this.sessionInitRetryCount=0,this.initialize()},console.log("[TagadaClient ".concat(this.instanceId,"] Initializing...")),console.log("[TagadaClient ".concat(this.instanceId,"] Config:"),{debugMode:e.debugMode,hasRawPluginConfig:!!e.rawPluginConfig,rawPluginConfig:e.rawPluginConfig,features:e.features}),Xo(this.config.debugMode)&&this.config.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Preview mode active - state cleared"));let r=this.resolveEnvironment(),i=Wo(r);e.customApiConfig&&(i=I(w(w({},i),e.customApiConfig),{apiConfig:w(w({},i.apiConfig),e.customApiConfig.apiConfig)}),this.config.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Applied custom API config:"),i.apiConfig.baseUrl)),this.state={auth:{isAuthenticated:!1,isLoading:!1,customer:null,session:null},session:null,customer:null,locale:{locale:"en-US",language:"en",region:"US",messages:{}},currency:{code:"USD",symbol:"$",name:"US Dollar"},store:null,environment:i,isLoading:!0,isInitialized:!1,isSessionInitialized:!1,pluginConfig:{basePath:"/",config:{}},pluginConfigLoading:!0,debugMode:(a=e.debugMode)!=null?a:r!=="production",token:null},console.log("[TagadaClient ".concat(this.instanceId,"] Initial state:"),{pluginConfigLoading:this.state.pluginConfigLoading,hasRawPluginConfig:!!e.rawPluginConfig}),this.apiClient=new rt({baseURL:i.apiConfig.baseUrl});let o=(l=e.features)==null?void 0:l.funnel;if(o!==!1){let d=typeof o=="object"?o:{};this.funnel=new kt({apiClient:this.apiClient,debugMode:this.state.debugMode,pluginConfig:this.state.pluginConfig,environment:this.state.environment,autoRedirect:d.autoRedirect,funnelId:(c=e.rawPluginConfig)==null?void 0:c.funnelId,stepId:(u=e.rawPluginConfig)==null?void 0:u.stepId})}this.apiClient.setTokenProvider(this.waitForToken.bind(this)),typeof window!="undefined"&&(window.addEventListener("storage",this.boundHandleStorageChange),window.addEventListener("pageshow",this.boundHandlePageshow)),this.setupConfigHotReload(),this.initialize()}destroy(){typeof window!="undefined"&&(window.removeEventListener("storage",this.boundHandleStorageChange),window.removeEventListener("pageshow",this.boundHandlePageshow)),this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Destroyed")),this.eventDispatcher.clear(),this.bus.clear()}handleStorageChange(){if(Rt()===this.state.token){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Token unchanged (ignoring event)"));return}if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization in progress, skipping storage change"));return}if(this.sessionInitRetryCount>=this.MAX_SESSION_INIT_RETRIES&&this.lastSessionInitError){this.state.debugMode&&console.error("[TagadaClient ".concat(this.instanceId,"] Max session init retries reached, giving up"),this.lastSessionInitError);return}this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Storage changed, re-initializing token...")),this.initializeToken()}subscribe(e){return this.eventDispatcher.subscribe(e)}getState(){return this.state}updateState(e){this.state=w(w({},this.state),e),this.eventDispatcher.notify(this.state)}resolveEnvironment(){return this.config.environment?this.config.environment:Ct()}async initialize(){try{await this.initializePluginConfig(),this.state.pluginConfig.storeId?await this.initializeToken():(console.warn("[TagadaClient] No store ID found in plugin config. Skipping token initialization."),this.updateState({isLoading:!1,isInitialized:!0}))}catch(e){console.error("[TagadaClient] Initialization failed:",e),this.updateState({isLoading:!1,isInitialized:!0})}}async initializePluginConfig(){if(console.log("[TagadaClient ".concat(this.instanceId,"] initializePluginConfig called"),{pluginConfigLoading:this.state.pluginConfigLoading,hasRawPluginConfig:!!this.config.rawPluginConfig}),!this.state.pluginConfigLoading){console.log("[TagadaClient ".concat(this.instanceId,"] Plugin config already loading or loaded, skipping..."));return}try{let e=this.config.localConfig||"default";console.log("[TagadaClient ".concat(this.instanceId,"] Loading plugin config with variant: ").concat(e));let n=await zr(e,this.config.rawPluginConfig);console.log("[TagadaClient ".concat(this.instanceId,"] Plugin config loaded:"),n),this.updateState({pluginConfig:n,pluginConfigLoading:!1}),this.funnel&&this.funnel.setConfig({pluginConfig:n,environment:this.state.environment})}catch(e){console.error("[TagadaClient] Failed to load plugin config:",e),this.updateState({pluginConfig:{basePath:"/",config:{}},pluginConfigLoading:!1})}}async initializeToken(){var e;if(Ps()){let n=this.state.pluginConfig.storeId;if(!n)return console.error("[TagadaClient] Cannot resolve authCode: storeId not found in config"),this.fallbackToNormalFlow();console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F510} Cross-domain auth detected, resolving..."));try{let r=new URLSearchParams(window.location.search).get("authCode");if(!r)return this.fallbackToNormalFlow();let i=await Ss(r,n,this.state.environment.apiConfig.baseUrl,this.state.debugMode);console.log("[TagadaClient ".concat(this.instanceId,"] \u2705 Auth handoff resolved:"),{customerId:i.customer.id,role:i.customer.role,hasContext:Object.keys(i.context).length>0}),this.setToken(i.token);let o=Dt(i.token);o?(this.updateState({session:o}),await this.initializeSession(o),(e=i.context)!=null&&e.funnelSessionId&&this.funnel&&this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Restoring funnel session from handoff context:"),i.context.funnelSessionId)):(console.error("[TagadaClient] Failed to decode token from handoff"),this.updateState({isInitialized:!0,isLoading:!1}));return}catch(r){console.error("[TagadaClient ".concat(this.instanceId,"] \u274C Auth handoff failed, falling back to normal flow:"),r)}}await this.fallbackToNormalFlow()}async fallbackToNormalFlow(){let n=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("token");n&&(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F512} URL token detected, setting immediately to prevent race condition")),this.apiClient.updateToken(n),re(n));let r=Rt();console.log("[TagadaClient ".concat(this.instanceId,"] Initializing token (normal flow)..."),{hasExistingToken:!!r,hasQueryToken:!!n,storeId:this.state.pluginConfig.storeId});let i=null,o=!1;if(n?(i=n,o=!0):r&&!hs(r)&&(i=r),i){this.setToken(i),o&&(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Persisting query token to storage...")),re(i));let s=Dt(i);s?(this.updateState({session:s}),await this.initializeSession(s)):(console.error("[TagadaClient] Failed to decode token"),this.updateState({isInitialized:!0,isLoading:!1}))}else{let s=this.state.pluginConfig.storeId;console.log("[TagadaClient ".concat(this.instanceId,"] No existing token, creating anonymous token..."),{hasStoreId:!!s,storeId:s}),s?await this.createAnonymousToken(s):(console.warn("[TagadaClient ".concat(this.instanceId,"] No storeId in plugin config, skipping anonymous token creation")),this.updateState({isInitialized:!0,isLoading:!1}))}}setToken(e){this.apiClient.updateToken(e),this.updateState({token:e}),this.tokenResolver&&(this.tokenResolver(e),this.tokenPromise=null,this.tokenResolver=null)}waitForToken(){return this.apiClient.getCurrentToken()?Promise.resolve(this.apiClient.getCurrentToken()):(this.tokenPromise||(this.tokenPromise=new Promise(e=>{this.tokenResolver=e})),this.tokenPromise)}async createAnonymousToken(e){if(typeof window!="undefined"){let r=new URLSearchParams(window.location.search).get("token");if(r){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F512} URL has token, skipping anonymous token creation")),this.setToken(r),re(r);let i=Dt(r);i&&(this.updateState({session:i}),await this.initializeSession(i));return}}if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization in progress, skipping anonymous token creation"));return}try{let n=Ce();this.state.debugMode&&console.log("[TagadaClient] Creating anonymous token for store:",e,{draft:n});let r=await this.apiClient.post("/api/v1/cms/session/anonymous",{storeId:e,role:"anonymous",draft:n},{skipAuth:!0});this.setToken(r.token),re(r.token);let i=Dt(r.token);i&&(this.updateState({session:i}),await this.initializeSession(i)),this.updateState({isSessionInitialized:!0})}catch(n){console.error("[TagadaClient] Failed to create anonymous token:",n),this.updateState({isInitialized:!0,isLoading:!1})}}async initializeSession(e){var n,r,i,o,s,a,l,c,u,d,f;if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization already in progress, skipping"));return}this.isInitializingSession=!0;try{this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Initializing session..."),{sessionId:e.sessionId});let g=await gs(),p=ms(),h=fs(),m=Ce(),b=new URLSearchParams(window.location.search).get("draft");b!==null&&$r(b==="true");let P={storeId:e.storeId,accountId:e.accountId,customerId:e.customerId,role:e.role,browserLocale:h,queryLocale:p.locale,queryCurrency:p.currency,utmSource:p.utmSource,utmMedium:p.utmMedium,utmCampaign:p.utmCampaign,gclid:p.gclid,browser:g.userAgent.browser.name,browserVersion:g.userAgent.browser.version,os:g.userAgent.os.name,osVersion:g.userAgent.os.version,deviceType:(n=g.userAgent.device)==null?void 0:n.type,deviceModel:(r=g.userAgent.device)==null?void 0:r.model,deviceVendor:(i=g.userAgent.device)==null?void 0:i.vendor,userAgent:g.userAgent.name,engineName:g.userAgent.engine.name,engineVersion:g.userAgent.engine.version,cpuArchitecture:g.userAgent.cpu.architecture,isBot:(s=(o=g.flags)==null?void 0:o.isBot)!=null?s:!1,isChromeFamily:(l=(a=g.flags)==null?void 0:a.isChromeFamily)!=null?l:!1,isStandalonePWA:(u=(c=g.flags)==null?void 0:c.isStandalonePWA)!=null?u:!1,isAppleSilicon:(f=(d=g.flags)==null?void 0:d.isAppleSilicon)!=null?f:!1,screenWidth:g.screenResolution.width,screenHeight:g.screenResolution.height,timeZone:g.timeZone,draft:m,fetchMessages:!1},S=await this.apiClient.post("/api/v1/cms/session/v2/init",P);this.lastSessionInitError=null,this.sessionInitRetryCount=0,this.updateSessionState(S,e),this.updateState({isInitialized:!0,isSessionInitialized:!0,isLoading:!1}),this.state.debugMode&&console.log("[TagadaClient] Session initialized successfully")}catch(g){this.lastSessionInitError=g,this.sessionInitRetryCount++,console.error("[TagadaClient] Error initializing session (attempt ".concat(this.sessionInitRetryCount,"/").concat(this.MAX_SESSION_INIT_RETRIES,"):"),g),this.updateState({isInitialized:!0,isLoading:!1})}finally{this.isInitializingSession=!1}}updateSessionState(e,n){var s,a,l,c,u,d,f,g,p,h;if(e.store){let m=e.store,b=I(w({},e.store),{accountId:m.accountId||((s=this.state.pluginConfig)==null?void 0:s.accountId)||n.accountId||"",presentmentCurrencies:m.presentmentCurrencies||[e.store.currency||"USD"],chargeCurrencies:m.chargeCurrencies||[e.store.currency||"USD"]});this.updateState({store:b})}if(e.locale){let m={locale:e.locale,language:e.locale.split("-")[0],region:(a=e.locale.split("-")[1])!=null?a:"US",messages:(l=e.messages)!=null?l:{}};this.updateState({locale:m})}if(e.store){let m={code:e.store.currency,symbol:this.getCurrencySymbol(e.store.currency),name:this.getCurrencyName(e.store.currency)};this.updateState({currency:m})}let r={isAuthenticated:(u=(c=e.customer)==null?void 0:c.isAuthenticated)!=null?u:!1,isLoading:!1,customer:(d=e.customer)!=null?d:null,session:n};this.updateState({customer:(f=e.customer)!=null?f:null,auth:r});let i=(g=this.config.features)==null?void 0:g.funnel,o=typeof i=="object"&&i.skipAutoInit;if(this.funnel&&!o&&n.customerId&&((p=e.store)!=null&&p.id)){let m=e.store.accountId||((h=this.state.pluginConfig)==null?void 0:h.accountId)||n.accountId||"";if(m){let P=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||void 0;this.state.debugMode&&console.log("[TagadaClient] Auto-initializing funnel...",{customerId:n.customerId,storeId:e.store.id,accountId:m,funnelId:P||"auto-detect"}),this.funnel.autoInitialize({customerId:n.customerId,sessionId:n.sessionId},{id:e.store.id,accountId:m},P).catch(S=>{console.error("[TagadaClient] Funnel auto-initialization failed:",S)})}else console.warn("[TagadaClient] Cannot auto-initialize funnel: accountId is missing")}}getCurrencySymbol(e){return{USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$"}[e]||e}getCurrencyName(e){return{USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar"}[e]||e}getAccountId(){var e,n,r;return((e=this.state.store)==null?void 0:e.accountId)||((n=this.state.pluginConfig)==null?void 0:n.accountId)||((r=this.state.session)==null?void 0:r.accountId)||""}updatePluginConfig(e){this.state.debugMode&&console.log("[TagadaClient] Hot-reloading config:",e);let n=w(w({},this.state.pluginConfig.config),e);this.updateState({pluginConfig:I(w({},this.state.pluginConfig),{config:n})}),this.bus.emit("CONFIG_UPDATED",n),this.state.debugMode&&console.log("[TagadaClient] Config updated successfully")}setupConfigHotReload(){if(typeof window=="undefined")return;let e=n=>{var r,i;if(((r=n.data)==null?void 0:r.type)==="TAGADAPAY_CONFIG_UPDATE"){let{config:o}=n.data;this.state.debugMode&&console.log("[TagadaClient] Received config update from parent:",o),this.updatePluginConfig(o)}else if(((i=n.data)==null?void 0:i.type)==="APPLY_STYLES_TO_ELEMENT"){let{elementId:o,styles:s}=n.data;this.state.debugMode&&console.log("[TagadaClient] Received style application request:",{elementId:o,styles:s}),this.applyStylesToElement(o,s)}};window.addEventListener("message",e),this.state.debugMode&&console.log("[TagadaClient] Config hot-reload and style manipulation listeners enabled")}applyStylesToElement(e,n){if(typeof document=="undefined")return;let r="tagada-editor-highlight",i=document.getElementById(r);i&&i.remove();let o=d=>{var S;let g=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]).has(d.tagName.toLowerCase()),p=d;if(g){let v=d.parentElement;if((v==null?void 0:v.getAttribute("data-tagada-highlight-wrapper"))==="true"&&v instanceof HTMLElement)p=v;else{let _=document.createElement("div");_.setAttribute("data-tagada-highlight-wrapper","true");let A=window.getComputedStyle(d),D=A.display;if(D==="inline"?_.style.display="inline-block":_.style.display=D,_.style.position="relative",D==="inline"||D.includes("inline")){let U=A.verticalAlign;U&&U!=="baseline"&&(_.style.verticalAlign=U)}["width","height","minWidth","minHeight","maxWidth","maxHeight","flex","flexGrow","flexShrink","flexBasis","gridColumn","gridRow","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","alignSelf","justifySelf","boxSizing","gap","rowGap","columnGap","order","aspectRatio"].forEach(U=>{let q=U.replace(/([A-Z])/g,"-$1").toLowerCase(),F=A.getPropertyValue(q);F&&F.trim()!==""&&(U==="flex"&&F!=="none"&&F!=="0 1 auto"?_.style.flex=F:U==="boxSizing"?_.style.boxSizing=F:_.style.setProperty(q,F))}),d.style&&["width","height","min-width","min-height","max-width","max-height","flex","flex-grow","flex-shrink","flex-basis","grid-column","grid-row","grid-column-start","grid-column-end","grid-row-start","grid-row-end","grid-area","align-self","justify-self","box-sizing","gap","row-gap","column-gap","order","aspect-ratio"].forEach(q=>{let F=d.style.getPropertyValue(q);F&&_.style.setProperty(q,F)}),(S=d.parentNode)==null||S.insertBefore(_,d),_.appendChild(d),p=_}}let h=getComputedStyle(g?d:p);(p.style.position==="static"||!p.style.position)&&(p.style.position="relative");let m=document.createElement("div");m.id=r,m.style.position="absolute",m.style.inset="0",m.style.pointerEvents="none",m.style.zIndex="9999",m.style.boxSizing="border-box",m.style.background="none",m.style.border="none",m.style.outline="none",m.style.margin="0",m.style.padding="0";let b=h.borderRadius;b&&(m.style.borderRadius=b),p.appendChild(m);let P=n||{boxShadow:"0 0 0 2px rgb(239 68 68)"};if(Object.entries(P).forEach(([v,R])=>{let _=v.includes("-")?v.replace(/-([a-z])/g,(A,D)=>D.toUpperCase()):v;v.includes("-")?m.style.setProperty(v,R):m.style[_]=R}),d.scrollIntoView({behavior:"smooth",block:"center"}),this.state.debugMode){let v=Object.entries(P).map(([R,_])=>"".concat(R,": ").concat(_)).join("; ");console.log("[TagadaClient] Applied styles to highlight div of element #".concat(e,":"),v)}},s=5,a=1e3,l=0,c=d=>{let f=window.getComputedStyle(d);return f.display==="none"||f.visibility==="hidden"||f.opacity==="0"||d.hidden||d.offsetWidth===0||d.offsetHeight===0},u=()=>{let d=document.querySelectorAll('[editor-id~="'.concat(e,'"]'));if(d.length===0){if(l+=1,l>=s){this.state.debugMode&&console.warn('[TagadaClient] Element with editor-id containing "'.concat(e,'" not found after ').concat(s," attempts"));return}this.state.debugMode&&console.warn('[TagadaClient] Element with editor-id containing "'.concat(e,'" not found (attempt ').concat(l,"/").concat(s,"), retrying in ").concat(a/1e3,"s")),setTimeout(u,a);return}let f=null;if(d.length===1)f=d[0];else{for(let g=0;g<d.length;g++)if(!c(d[g])){f=d[g];break}f||(f=d[0])}f&&o(f)};u()}};var ln=class{constructor(e){this.apiClient=e}async initCheckout(e){return this.apiClient.post("/api/v1/checkout/session/init",e)}async initCheckoutAsync(e){return this.apiClient.post("/api/v1/checkout/session/init-async",e)}async preloadCheckout(e,n){let r=e.funnelSessionId;!r&&n&&(r=n()||void 0);let i=typeof e.navigationEvent=="string"?{type:e.navigationEvent}:e.navigationEvent,o=I(w(w(w({},e),r&&{funnelSessionId:r}),i&&{navigationEvent:i}),{currentUrl:e.currentUrl||(typeof window!="undefined"?window.location.href:void 0)});return this.apiClient.post("/api/v1/checkout/session/preload",o)}async checkAsyncStatus(e){return this.apiClient.get("/api/public/v1/checkout/async-status/".concat(e))}async getCheckout(e,n){let r=new URLSearchParams;n&&r.set("currency",n),r.set("skipAsyncWait","false");let i="/api/v1/checkout-sessions/".concat(e,"/v2").concat(r.toString()?"?".concat(r.toString()):"");return this.apiClient.get(i)}async getCheckoutRaw(e,n){let r=new URLSearchParams;n&&r.set("currency",n),r.set("skipAsyncWait","true");let i="/api/v1/checkout-sessions/".concat(e,"/v2").concat(r.toString()?"?".concat(r.toString()):"");return this.apiClient.get(i)}async updateAddress(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/address"),{data:n})}async setCheckoutInfo(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/checkout-info"),{shippingAddress:n.shippingAddress,billingAddress:n.differentBillingAddress?n.billingAddress:n.shippingAddress,differentBillingAddress:n.differentBillingAddress||!1})}async applyPromotionCode(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/promotions/apply"),{code:n})}async removePromotion(e,n){return this.apiClient.delete("/api/v1/checkout-sessions/".concat(e,"/promotions/").concat(n))}async getAppliedPromotions(e){return this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/promotions"))}async replaceSessionLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}async updateLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}async addLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/add"),{lineItems:n})}async removeLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/remove"),{lineItems:n})}async setItemQuantity(e,n,r,i){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/set-quantity"),{variantId:n,quantity:r,priceId:i})}async toggleOrderBump(e,n,r){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/toggle-order-bump"),{orderBumpOfferId:n,selected:r})}async updateCustomer(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/customer"),n)}async updateCustomerAndSessionInfo(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/customer-and-session-info"),n)}async previewCheckoutSession(e){return this.apiClient.post("/api/v1/checkout-sessions/preview",e)}async setPaymentMethod(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/payment-method"),{paymentMethodName:n})}};Qe();var Es={production:{tenantId:"b1636929-db11-4b01-b2c2-6a97b3444061",publicKey:"key_prod_us_pub_PNMB2AiaECJ463K6QAPNU6"},test:{tenantId:"99821999-faf5-4427-a92c-9267cb930540",publicKey:"key_test_us_pub_VExdfbFQARn821iqP8zNaq"}};function Vr(t){let e=t?Es.production:Es.test;return{tenantId:e.tenantId,apiKey:e.publicKey}}function vs(){if(typeof window=="undefined")return!1;let t=window.location.hostname;return t.includes("app-dev.tagadapay.com")||t.includes("cdn-dev.tagadapay.com")?!1:t.includes("tagada.io")||t.includes("tagadapay.com")?!0:!(t.includes("tagada.dev")||t.includes("tagadapay.dev")||t==="localhost"||t.startsWith("127.")||t.startsWith("192.168.")||t.startsWith("10.")||t.includes(".local")||t===""||t==="0.0.0.0"||t.includes("ngrok")||t.includes(".loclx.io")||t.includes("vercel.app")||t.includes("netlify.app"))}function Mt(){return Vr(vs()).apiKey}function Cs(){return Vr(vs()).tenantId}var un=class{constructor(e){this.apiClient=e}async getShippingRates(e){return this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/shipping-rates"))}async setShippingRate(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/shipping-rate"),{shippingRateId:n})}async previewShippingRates(e,n){let r=new URLSearchParams({countryCode:n.countryCode});return n.stateCode&&r.set("stateCode",n.stateCode),this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/shipping-rates/preview?").concat(r.toString()))}};var ot=class{constructor(e){this.apiClient=e}async createPaymentInstrument(e){return this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:e})}async createCardPaymentInstrument(e,n){var l,c;if(!e)throw new Error("Payment processor not initialized");console.log("Creating card payment instrument");let r=await e.tokens.create({type:"card",data:w({cvc:n.cvc,number:Number(n.cardNumber.replace(/\s+/g,""))},this.getCardMonthAndYear(n.expiryDate)),metadata:{nonSensitiveField:"nonSensitiveValue"}}),{expiration_month:i,expiration_year:o}=this.getCardMonthAndYear(n.expiryDate),s={type:r.type,card:{maskedCardNumber:(c=(l=r.enrichments)==null?void 0:l.cardDetails)!=null&&c.bin?"".concat(r.enrichments.cardDetails.bin,"****").concat(r.enrichments.cardDetails.last4):n.cardNumber.replace(/\d(?=\d{4})/g,"*"),expirationMonth:i,expirationYear:o},token:r.id},a=await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:s});return console.log("Payment instrument created:",a),a}async createApplePayPaymentInstrument(e,n){if(!e)throw new Error("Payment processor not initialized");if(!n.id)throw new Error("Apple Pay token is missing");let r={type:"apple_pay",token:n.id,dpanType:n.type,card:{bin:n.card.bin,last4:n.card.last4,expirationMonth:n.card.expiration_month,expirationYear:n.card.expiration_year,brand:n.card.brand}};return await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:r})}async createGooglePayPaymentInstrument(e,n){var o;if(!e)throw new Error("Payment processor not initialized");if(!n.id)throw new Error("Google Pay token is missing");let r={type:"google_pay",token:n.id,dpanType:n.type,card:{bin:n.card.bin,last4:n.card.last4,expirationMonth:n.card.expiration_month,expirationYear:n.card.expiration_year,brand:n.card.brand},authMethod:(o=n==null?void 0:n.details)==null?void 0:o.auth_method};return await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:r})}async createApmPaymentInstrument(e){console.log("Creating APM payment instrument:",e);let n={type:"apm",provider:e.provider,paymentMethod:e.paymentMethod,processorId:e.processorId},r=await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:n});return console.log("APM payment instrument created:",r),r}getCardMonthAndYear(e){let[n,r]=e.split("/"),i=new Date().getFullYear(),o=Math.floor(i/100)*100,s=Number(r)+o;return{expiration_month:Number(n),expiration_year:s}}async processPaymentDirect(e,n,r,i={}){console.log("[PaymentsResource] processPaymentDirect START",i.paymentFlowId?"(flow: ".concat(i.paymentFlowId,")"):""),console.log("[PaymentsResource] Full options object:",JSON.stringify(i,null,2)),console.log("[PaymentsResource] processorId:",i.processorId,"paymentMethod:",i.paymentMethod);try{let o=w(w(w(w(w(w(w(w({checkoutSessionId:e,paymentInstrumentId:n},r&&{threedsSessionId:r}),i.initiatedBy&&{initiatedBy:i.initiatedBy}),i.source&&{source:i.source}),i.paymentFlowId&&{paymentFlowId:i.paymentFlowId}),i.processorId&&{processorId:i.processorId}),i.paymentMethod&&{paymentMethod:i.paymentMethod}),i.isExpress&&{isExpress:i.isExpress}),i.shippingRateId&&{shippingRateId:i.shippingRateId});console.log("[PaymentsResource] Request body being sent:",JSON.stringify(o,null,2));let s=await this.apiClient.post("/api/public/v1/checkout/pay-v2",o);return console.log("[PaymentsResource] processPaymentDirect SUCCESS:",s),s}catch(o){throw console.error("[PaymentsResource] processPaymentDirect ERROR:",o),o}}async getCardPaymentInstruments(){return this.apiClient.get("/api/v1/payment-instruments/customer")}async markPaymentActionProcessed(e){return this.apiClient.post("/api/v1/payments/require-action/processed",{paymentId:e})}async getPaymentStatus(e){return this.apiClient.get("/api/v1/payments/".concat(e))}async retrievePayment(e){return this.apiClient.post("/api/v1/payments/retrieve",{paymentId:e})}async saveRadarSession(e){return this.apiClient.post("/api/v1/radar-sessions",e)}async completePaymentAfterAction(e){return this.apiClient.post("/api/v1/payments/complete-after-3ds",{paymentId:e})}async updateThreedsStatus(e){return this.apiClient.post("/api/v1/threeds/status",e)}async ngeniusThreedsComplete(e){return this.apiClient.post("/api/v1/payments/ngenius/threeds-complete",e)}};var dn=class{constructor(e){this.apiClient=e}async getOrder(e){let n=await this.apiClient.get("/api/v1/orders/".concat(e));if(typeof n=="object"&&n!==null&&"success"in n&&n.success===!1)throw new Error(n.error||"Failed to fetch order");let r=typeof n=="object"&&n!==null&&"order"in n?n.order:n;if(!r)throw new Error("Order not found");return r}async createOrder(e){return this.apiClient.post("/api/v1/orders",{checkoutSessionId:e})}async updateOrderStatus(e,n){return this.apiClient.patch("/api/v1/orders/".concat(e,"/status"),{status:n})}async addOrderItems(e,n){return this.apiClient.post("/api/v1/orders/".concat(e,"/items"),{items:n})}async getOrderLineItems(e){return(await this.getOrder(e)).items||[]}};xt();var pn=class{constructor(e){this.apiClient=e}async getOfferById(e){return await this.apiClient.get("/api/v1/offers/".concat(e))}async getOffers(e,n){let r="/api/v1/stores/".concat(e,"/offers");if(n&&n.length>0){let o=n.map(s=>"ids=".concat(encodeURIComponent(s))).join("&");r+="?".concat(o)}return(await this.apiClient.get(r)).offers||[]}async getOffersByIds(e,n){return await this.getOffers(e,n)}async previewOffer(e,n="",r){console.log("\u{1F4E1} [OffersResource] Calling preview API:",{offerId:e,currency:n,lineItems:r,endpoint:"/api/v1/offers/".concat(e,"/preview")});let i=await this.apiClient.post("/api/v1/offers/".concat(e,"/preview"),{offerId:e,currency:n,lineItems:r});return console.log("\u{1F4E5} [OffersResource] Preview API response:",i),i}async payPreviewedOffer(e,n="",r,i,o){console.log("\u{1F4B3} [OffersResource] Calling pay-preview API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,endpoint:"/api/v1/offers/".concat(e,"/pay-preview")});let s=await this.apiClient.post("/api/v1/offers/".concat(e,"/pay-preview"),{offerId:e,currency:n,lineItems:r,returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o});return console.log("\u{1F4E5} [OffersResource] Pay-preview API response:",s),s}async toCheckout(e,n="",r,i,o){console.log("\u{1F6D2} [OffersResource] Calling to-checkout API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,endpoint:"/api/v1/offers/".concat(e,"/to-checkout")});let s=await this.apiClient.post("/api/v1/offers/".concat(e,"/to-checkout"),{offerId:e,currency:n,lineItems:r,returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o});return console.log("\u{1F4E5} [OffersResource] To-checkout API response:",s),s}async initCheckoutSession(e,n,r){let i=Ce(),o={offerId:e,returnUrl:typeof window!="undefined"?window.location.href:"",customerId:r||"",draft:i};return n&&(o.orderId=n),{checkoutSessionId:(await this.apiClient.post("/api/v1/checkout/offer/init",o)).checkoutSessionId}}async createCheckoutSession(e,n){return{checkoutUrl:(await this.apiClient.post("/api/v1/offers/".concat(e,"/checkout"),{returnUrl:n||(typeof window!="undefined"?window.location.origin:"")})).checkoutUrl}}async payWithCheckoutSession(e,n){let r=Ce();await this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/pay"),{checkoutSessionId:e,draft:r,returnUrl:typeof window!="undefined"?window.location.href:"",metadata:{comingFromPostPurchase:!0,postOrder:n,upsell:!0,source:"offer"}})}async payOffer(e,n){let r=Ce();return this.apiClient.post("/api/v1/offers/".concat(e,"/pay"),{offerId:e,draft:r,returnUrl:typeof window!="undefined"?window.location.href:"",metadata:n?{comingFromPostPurchase:!0,postOrder:n,upsell:!0,source:"offer"}:{upsell:!0,source:"offer"}})}async transformToCheckoutSession(e,n,r,i){let o=await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{offerId:e,lineItems:n,mainOrderId:r,returnUrl:i||(typeof window!="undefined"?window.location.origin:"")});return{checkoutUrl:o.checkoutUrl,checkoutSessionId:o.checkoutSessionId,customerId:o.customerId}}async toCheckoutAsync(e,n="",r,i,o){console.log("\u{1F6D2} [OffersResource] Calling to-checkout-async API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,endpoint:"/api/v1/offers/".concat(e,"/to-checkout-async")});let s=await this.apiClient.post("/api/v1/offers/".concat(e,"/to-checkout-async"),{offerId:e,lineItems:(r==null?void 0:r.map(a=>({variantId:a.variantId,quantity:a.quantity})))||[],returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o||""});return console.log("\u{1F4E5} [OffersResource] To-checkout-async API response:",s),s}async transformToCheckout(e,n){return{checkoutUrl:(await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{returnUrl:n||(typeof window!="undefined"?window.location.origin:"")})).checkoutUrl}}async initCheckoutSessionWithVariants(e,n,r){return{checkoutSessionId:(await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{offerId:e,lineItems:n,returnUrl:r||(typeof window!="undefined"?window.location.href:"")})).checkoutSessionId}}async getOrderSummary(e,n=!1){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/order-summary"),{includeVariantOptions:n})}async updateLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}};var fn=class{constructor(e){this.apiClient=e}async getPaymentMethods(e){return this.apiClient.get("/api/v1/payment-methods?checkoutSessionId=".concat(encodeURIComponent(e)))}async updateCheckoutSessionAddress(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/address"),n)}async updateCustomerEmail(e,n){return this.apiClient.post("/api/v1/customers/".concat(e),n)}};var st=class{constructor(e){this.apiClient=e}async getStoreConfig(e){return await this.apiClient.get("/api/v1/checkout/config?storeId=".concat(e))}};var gn=class{constructor(e){this.apiClient=e}async getGeoLocation(){return this.apiClient.get("/api/v1/geo")}async getGeoLocationByIp(e){return this.apiClient.get("/api/v1/geo?ip=".concat(encodeURIComponent(e)))}async detectCountry(){try{let e=await this.getGeoLocation(),n=e==null?void 0:e.country_code;return n&&typeof n=="string"&&n.length===2?n:null}catch(e){return null}}};var at=class{constructor(e){this.apiClient=e}async createSession(e){return this.apiClient.post("/api/v1/threeds/create-session",e)}};var Ts="https://cvwnizdbugpz6jwk.public.blob.vercel-storage.com/geodata/v1";var ct=new Map,mn=new Map,Wr=new Map,Yr=new Map;async function Vu(t){let e=ct.get(t);if(e)return e;let n=Wr.get(t);return n||(n=(async()=>{let r="".concat(Ts,"/").concat(t,"/countries.json"),i=await fetch(r);if(!i.ok)throw new Error("Geodata fetch failed: ".concat(r," (").concat(i.status,")"));let o=await i.json();return ct.set(t,o),Wr.delete(t),o})(),Wr.set(t,n),n)}async function Wu(t){let e=mn.get(t);if(e)return e;let n=Yr.get(t);return n||(n=(async()=>{let r="".concat(Ts,"/").concat(t,"/regions.json"),i=await fetch(r);if(!i.ok)throw new Error("Geodata fetch failed: ".concat(r," (").concat(i.status,")"));let o=await i.json();return mn.set(t,o),Yr.delete(t),o})(),Yr.set(t,n),n)}function Yu(t){return ct.get(t)||ct.get("en")||{}}function Ju(t){return mn.get(t)||mn.get("en")||{}}async function hn(t="en"){await Promise.all([Vu(t),Wu(t)])}var Rs=(t="en")=>{let e=Yu(t);return Object.entries(e).map(([n,r])=>({code:n,name:r.n,iso3:r.i3,numeric:r.nu,uniqueKey:"country-".concat(n)})).sort((n,r)=>n.name.localeCompare(r.name))},Is=(t,e="en")=>{let r=Ju(e)[t];return r?r.map(([i,o],s)=>({code:i,name:o,countryCode:t,uniqueKey:"state-".concat(t,"-").concat(i,"-").concat(s)})).sort((i,o)=>i.name.localeCompare(o.name)):[]};function _s(t){return ct.has(t)}function As(){return[...ct.keys()]}async function xs(t){await hn(t)}typeof globalThis!="undefined"&&typeof fetch!="undefined"&&hn("en").catch(()=>{});var yn=class{static getCountriesData(e="en"){try{let n=Rs(e),r={};return n.forEach(i=>{r[i.code]={iso:i.code,iso3:i.iso3||"",numeric:i.numeric||0,name:i.name}}),r}catch(n){return console.error("Failed to load ISO data for language: ".concat(e),n),{}}}static getRegions(e,n="en"){try{return Is(e,n).map(i=>({iso:i.code,name:i.name}))}catch(r){return[]}}static findRegion(e,n,r="en"){var o;return(o=this.getRegions(e,r).find(s=>s.iso===n))!=null?o:null}static mapGoogleToISO(e,n,r,i="en"){let o=this.getRegions(r,i);if(o.length===0)return null;let s=o.find(a=>a.iso===e);return s||(s=o.find(a=>a.name.toLowerCase()===e.toLowerCase()),s)||(s=o.find(a=>a.name.toLowerCase()===n.toLowerCase()),s)?s:(s=o.find(a=>a.name.toLowerCase().includes(n.toLowerCase())||n.toLowerCase().includes(a.name.toLowerCase())),s!=null?s:null)}static isLanguageRegistered(e){return _s(e)}static getRegisteredLanguages(){return As()}static async importLanguage(e){return xs(e)}static async ensureLoaded(e="en"){return hn(e)}static getAvailableLanguages(){return["en","ru","de","fr","es","zh","hi","pt","ja","ar","it","he"]}};var lt=class{static initialize(e){var n,r;this.apiKey=e,typeof window!="undefined"&&((r=(n=window.google)==null?void 0:n.maps)!=null&&r.places)&&(this.service=new window.google.maps.places.AutocompleteService)}static async searchPlaces(e,n={}){return!this.service||!e.trim()?[]:new Promise((r,i)=>{this.service.getPlacePredictions({input:e,types:n.types||["address"],componentRestrictions:n.componentRestrictions},(o,s)=>{var a,l,c;s===((c=(l=(a=window.google)==null?void 0:a.maps)==null?void 0:l.places)==null?void 0:c.PlacesServiceStatus.OK)&&o?r(o):r([])})})}static async getPlaceDetails(e){var n,r;return typeof window=="undefined"||!((r=(n=window.google)==null?void 0:n.maps)!=null&&r.places)?null:new Promise((i,o)=>{new window.google.maps.places.PlacesService(document.createElement("div")).getDetails({placeId:e,fields:["place_id","formatted_address","address_components","geometry"]},(a,l)=>{var c,u,d;l===((d=(u=(c=window.google)==null?void 0:c.maps)==null?void 0:u.places)==null?void 0:d.PlacesServiceStatus.OK)&&a?i(a):i(null)})})}static extractAddressComponents(e){let n={};for(let r of e.address_components){let i=r.types;i.includes("street_number")?n.streetNumber=r.long_name:i.includes("route")?n.route=r.long_name:i.includes("locality")?(n.city=r.long_name,n.locality=r.long_name):i.includes("administrative_area_level_2")?(n.administrativeAreaLevel2=r.short_name,n.administrativeAreaLevel2Long=r.long_name,n.city||(n.city=r.long_name,n.locality=r.long_name)):i.includes("administrative_area_level_1")?(n.state=r.long_name,n.administrativeAreaLevel1=r.short_name,n.administrativeAreaLevel1Long=r.long_name):i.includes("postal_code")?n.postalCode=r.long_name:i.includes("country")&&(n.country=r.long_name,n.countryCode=r.short_name,n.iso=r.short_name)}return!n.administrativeAreaLevel1&&n.administrativeAreaLevel2&&(n.state=n.administrativeAreaLevel2Long||n.administrativeAreaLevel2,n.administrativeAreaLevel1=n.administrativeAreaLevel2,n.administrativeAreaLevel1Long=n.administrativeAreaLevel2Long),n}};lt.apiKey=null,lt.service=null;Mr();var Jr=class{static findVariant(e,n){for(let r of e){let i=r.variants.find(o=>o.id===n);if(i)return i}return null}static getVariantPrice(e,n="USD"){let r=e.prices.find(o=>o.currency===n);if(r)return r;let i=e.prices.find(o=>o.default);return i||e.prices[0]||null}static getAllVariants(e){let n=[];for(let r of e)if(r.variants)for(let i of r.variants)n.push({product:r,variant:i});return n}static filterVariants(e,n){let r=[];for(let i of e)if(i.variants)for(let o of i.variants)n(o,i)&&r.push({product:i,variant:o});return r}};var Xr=class{static getOrderLineItems(e){return e.items||[]}static getOrderTotal(e){return e.paidAmount||0}static getOrderStatus(e){return e.status||"unknown"}static isOrderCompleted(e){return e.status==="completed"||e.status==="fulfilled"}static isOrderPending(e){return e.status==="pending"||e.status==="processing"}static isOrderCancelled(e){return e.status==="cancelled"||e.status==="refunded"}};function Xu(t,e="USD",n="en-US"){let r=Bt.getDecimalPlaces(e),i;r===0?i=t/100:i=t/Math.pow(10,r);try{return new Intl.NumberFormat(n,{style:"currency",currency:e,minimumFractionDigits:r,maximumFractionDigits:r}).format(i)}catch(o){let s=Bt.getCurrencySymbol(e);return"".concat(s).concat(i.toFixed(r))}}var Bt=class t{static getCurrency(e,n="USD"){var l,c,u,d;let r,i=!1,o=typeof window!="undefined"?new URLSearchParams(window.location.search).get("currency"):null,s=typeof window!="undefined"?localStorage.getItem("tgd_currency")||t.getCookieValue("tgd_currency"):null;o?(r=o.toUpperCase(),i=!0):s?(r=s.toUpperCase(),i=!0):typeof(e==null?void 0:e.currency)=="string"?r=e.currency:(l=e==null?void 0:e.currency)!=null&&l.code?r=e.currency.code:(u=(c=e==null?void 0:e.store)==null?void 0:c.presentmentCurrencies)!=null&&u[0]?r=e.store.presentmentCurrencies[0]:r=n;let a=(d=e==null?void 0:e.store)==null?void 0:d.presentmentCurrencies;if(a!=null&&a.length&&!a.includes(r)&&(console.warn('[CurrencyUtils] Currency "'.concat(r,'" is not in store presentmentCurrencies [').concat(a.join(", "),"]. Falling back to ").concat(a[0],".")),r=a[0],i&&typeof window!="undefined"))try{localStorage.setItem("tgd_currency",r)}catch(f){}return{code:r,symbol:this.getCurrencySymbol(r),name:this.getCurrencyName(r),decimalPlaces:this.getDecimalPlaces(r),isExplicit:i}}static getCookieValue(e){if(typeof document=="undefined")return null;let n=document.cookie.match(new RegExp("(?:^|; )".concat(e,"=([^;]*)")));return n?decodeURIComponent(n[1]):null}static getCurrencySymbol(e){return{USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$",CHF:"CHF",CNY:"\xA5",SEK:"kr",NOK:"kr",DKK:"kr",PLN:"z\u0142",CZK:"K\u010D",HUF:"Ft",RON:"lei",BGN:"\u043B\u0432",HRK:"kn",RUB:"\u20BD",UAH:"\u20B4",TRY:"\u20BA",BRL:"R$",ARS:"$",CLP:"$",COP:"$",MXN:"$",PEN:"S/",UYU:"$U",VEF:"Bs",ZAR:"R",EGP:"\xA3",MAD:"\u062F.\u0645.",TND:"\u062F.\u062A",DZD:"\u062F.\u062C",LYD:"\u0644.\u062F",NGN:"\u20A6",GHS:"\u20B5",KES:"KSh",UGX:"USh",TZS:"TSh",ETB:"Br",ZMW:"ZK",BWP:"P",SZL:"L",LSL:"L",NAD:"N$",MUR:"\u20A8",SCR:"\u20A8",KWD:"\u062F.\u0643",BHD:"\u062F.\u0628",QAR:"\u0631.\u0642",AED:"\u062F.\u0625",OMR:"\u0631.\u0639.",YER:"\uFDFC",SAR:"\u0631.\u0633",JOD:"\u062F.\u0627",LBP:"\u0644.\u0644",ILS:"\u20AA",INR:"\u20B9",PKR:"\u20A8",BDT:"\u09F3",LKR:"\u20A8",NPR:"\u20A8",AFN:"\u060B",KZT:"\u20B8",UZS:"\u043B\u0432",KGS:"\u043B\u0432",TJS:"SM",TMT:"T",AZN:"\u20BC",GEL:"\u20BE",AMD:"\u058F",KRW:"\u20A9",THB:"\u0E3F",VND:"\u20AB",IDR:"Rp",MYR:"RM",SGD:"S$",PHP:"\u20B1",TWD:"NT$",HKD:"HK$",MOP:"MOP$",BND:"B$",LAK:"\u20AD",KHR:"\u17DB",MMK:"K",BOB:"Bs",PYG:"\u20B2",GTQ:"Q",HNL:"L",NIO:"C$",CRC:"\u20A1",PAB:"B/.",DOP:"RD$",JMD:"J$",TTD:"TT$",BBD:"Bds$",XCD:"EC$",AWG:"\u0192",ANG:"\u0192",SRD:"$",GYD:"G$",VES:"Bs.S",VED:"Bs.D"}[e]||e}static getCurrencyName(e){return{USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar",CHF:"Swiss Franc",CNY:"Chinese Yuan",SEK:"Swedish Krona",NOK:"Norwegian Krone",DKK:"Danish Krone",PLN:"Polish Zloty",CZK:"Czech Koruna",HUF:"Hungarian Forint",RON:"Romanian Leu",BGN:"Bulgarian Lev",HRK:"Croatian Kuna",RUB:"Russian Ruble",UAH:"Ukrainian Hryvnia",TRY:"Turkish Lira",BRL:"Brazilian Real",ARS:"Argentine Peso",CLP:"Chilean Peso",COP:"Colombian Peso",MXN:"Mexican Peso",PEN:"Peruvian Sol",UYU:"Uruguayan Peso",VEF:"Venezuelan Bolivar",ZAR:"South African Rand",EGP:"Egyptian Pound",MAD:"Moroccan Dirham",TND:"Tunisian Dinar",DZD:"Algerian Dinar",LYD:"Libyan Dinar",NGN:"Nigerian Naira",GHS:"Ghanaian Cedi",KES:"Kenyan Shilling",UGX:"Ugandan Shilling",TZS:"Tanzanian Shilling",ETB:"Ethiopian Birr",ZMW:"Zambian Kwacha",BWP:"Botswana Pula",SZL:"Swazi Lilangeni",LSL:"Lesotho Loti",NAD:"Namibian Dollar",MUR:"Mauritian Rupee",SCR:"Seychellois Rupee",KWD:"Kuwaiti Dinar",BHD:"Bahraini Dinar",QAR:"Qatari Riyal",AED:"UAE Dirham",OMR:"Omani Rial",YER:"Yemeni Rial",SAR:"Saudi Riyal",JOD:"Jordanian Dinar",LBP:"Lebanese Pound",ILS:"Israeli Shekel",INR:"Indian Rupee",PKR:"Pakistani Rupee",BDT:"Bangladeshi Taka",LKR:"Sri Lankan Rupee",NPR:"Nepalese Rupee",AFN:"Afghan Afghani",KZT:"Kazakhstani Tenge",UZS:"Uzbekistani Som",KGS:"Kyrgyzstani Som",TJS:"Tajikistani Somoni",TMT:"Turkmenistani Manat",AZN:"Azerbaijani Manat",GEL:"Georgian Lari",AMD:"Armenian Dram",KRW:"South Korean Won",THB:"Thai Baht",VND:"Vietnamese Dong",IDR:"Indonesian Rupiah",MYR:"Malaysian Ringgit",SGD:"Singapore Dollar",PHP:"Philippine Peso",TWD:"Taiwan Dollar",HKD:"Hong Kong Dollar",MOP:"Macanese Pataca",BND:"Brunei Dollar",LAK:"Lao Kip",KHR:"Cambodian Riel",MMK:"Myanmar Kyat",BOB:"Bolivian Boliviano",PYG:"Paraguayan Guarani",GTQ:"Guatemalan Quetzal",HNL:"Honduran Lempira",NIO:"Nicaraguan Cordoba",CRC:"Costa Rican Colon",PAB:"Panamanian Balboa",DOP:"Dominican Peso",JMD:"Jamaican Dollar",TTD:"Trinidad and Tobago Dollar",BBD:"Barbadian Dollar",XCD:"East Caribbean Dollar",AWG:"Aruban Florin",ANG:"Netherlands Antillean Guilder",SRD:"Surinamese Dollar",GYD:"Guyanese Dollar",VES:"Venezuelan Bolivar Soberano",VED:"Venezuelan Bolivar Digital"}[e]||e}static getDecimalPlaces(e){var r;return(r={JPY:0,KRW:0,VND:0,IDR:0,LAK:0,KHR:0,MMK:0,PYG:0,VEF:0,VES:0,VED:0}[e])!=null?r:2}};var Zr=class{static getCheckoutSessionId(e){var n;return((n=e.checkoutSession)==null?void 0:n.id)||""}static getLineItems(e){var r;let n=(r=e.checkoutSession)==null?void 0:r.lineItems;return Array.isArray(n)?n:[]}static getTotal(e){var r;let n=(r=e.checkoutSession)==null?void 0:r.totalPrice;return typeof n=="number"?n:0}static isClubMember(e){return e.customerIsClubMember||!1}};var Qr=class{static isValidPromotion(e){return!!(e.id&&e.name)}static getPromotionType(e){return e.type||"unknown"}static hasRules(e){return!!(e.rules&&e.rules.length>0)}static hasActions(e){return!!(e.actions&&e.actions.length>0)}};var ei=class{static isValidOffer(e){return!!(e.id&&e.summaries&&e.summaries.length>0)}static getOfferTotal(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.totalAmount)||0}static getOfferAdjustedTotal(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.totalAdjustedAmount)||0}static hasItems(e){return!!(e.offerLineItems&&e.offerLineItems.length>0)}static getOfferCurrency(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.currency)||"USD"}static getOfferTitle(e,n="en"){var r,i;return((r=e.titleTrans)==null?void 0:r[n])||((i=e.titleTrans)==null?void 0:i.en)||"Offer ".concat(e.id)}};var ti=class{static isValidOffer(e){return!!(e.id&&e.name&&e.price>0)}static toggleSelection(e){return I(w({},e),{isSelected:!e.isSelected})}static calculatePreview(e,n=0){let r=n+e.price,i=e.isSelected?r:n;return{offer:e,totalAmount:r,adjustedAmount:i}}static getSelectedOffers(e){return e.filter(n=>n.isSelected)}static getSelectedTotal(e){return e.filter(n=>n.isSelected).reduce((n,r)=>n+r.price,0)}};var Zu={session:t=>["funnel","session",t],allSessions:()=>["funnel","sessions"],funnelMeta:t=>["funnel","meta",t]};function Os(t,e,n="*"){let r={type:"TAGADAPAY_CONFIG_UPDATE",config:e,timestamp:Date.now()};t.postMessage(r,n)}function Qu(t,e="iframe"){if(typeof document=="undefined")return;let n=document.querySelectorAll(e);n.forEach(r=>{r.contentWindow&&Os(r.contentWindow,t)}),console.log("[ConfigHotReload] Broadcasted config update to ".concat(n.length," iframe(s)"))}function ed(t){if(typeof window=="undefined")return()=>{};let e=n=>{var r;((r=n.data)==null?void 0:r.type)==="TAGADAPAY_CONFIG_UPDATE"&&t(n.data.config)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}}function td(t,e=150){let n=null;return r=>{n&&clearTimeout(n),n=setTimeout(()=>{t(r),n=null},e)}}var si=Nr(Bs()),Y,ut=typeof window!="undefined"&&typeof document!="undefined",pd=ut?history.pushState.bind(history):null,fd=ut?history.replaceState.bind(history):null;function Sn(){Y=void 0}ut&&(window.addEventListener("popstate",Sn),window.addEventListener("hashchange",Sn),history.pushState=function(...t){return Sn(),pd.apply(this,t)},history.replaceState=function(...t){return Sn(),fd.apply(this,t)});function Ut(){if(!ut)return null;if(Y!==void 0)return console.log("[TagadaPay SDK] \u{1F4E6} Returning cached internal path:",Y),Y;console.log("[TagadaPay SDK] \u{1F50D} getInternalPath() called for:",window.location.pathname);try{let t=window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"||window.location.hostname.endsWith(".localhost");if(console.log("[TagadaPay SDK] \u{1F3E0} isLocalhost:",t),t){let s=new URLSearchParams(window.location.search).get("__remap");if(console.log("[TagadaPay SDK] \u{1F50D} Query parameter __remap:",s),s)return Y=s,s;try{let a=localStorage.getItem("tagadapay-remap");if(console.log("[TagadaPay SDK] \u{1F50D} localStorage tagadapay-remap:",a),a)try{let l=JSON.parse(a);if(console.log("[TagadaPay SDK] \u{1F4DD} Parsed remap config:",l),l.externalPath&&l.internalPath){let c=window.location.pathname;console.log("[TagadaPay SDK] \u{1F50D} Checking if",c,"matches pattern",l.externalPath);let d=(0,si.match)(l.externalPath,{decode:decodeURIComponent,end:!0})(c);return console.log("[TagadaPay SDK] \u{1F3AF} Match result:",d),d!==!1?(Y=l.internalPath,console.log("[TagadaPay SDK] \u2705 Path remap: ".concat(l.externalPath," \u2192 ").concat(l.internalPath)),console.log("[TagadaPay SDK] \u2705 Current URL ".concat(c," matches external pattern")),console.log("[TagadaPay SDK] \u{1F4E6} Caching and returning:",l.internalPath),l.internalPath):(console.log("[TagadaPay SDK] \u274C Current URL ".concat(c," does NOT match external pattern ").concat(l.externalPath)),Y=null,null)}else console.log("[TagadaPay SDK] \u26A0\uFE0F Parsed config missing externalPath or internalPath")}catch(l){return console.log("[TagadaPay SDK] \u26A0\uFE0F Failed to parse as JSON, using legacy format:",l),Y=a,a}else console.log("[TagadaPay SDK] \u{1F4ED} No localStorage tagadapay-remap found")}catch(a){console.log("[TagadaPay SDK] \u274C localStorage error:",a)}}let e=document.querySelector('meta[name="tagadapay-path-remap"]');if(e)try{let o=e.getAttribute("content");if(o){let s=decodeURIComponent(o),a=JSON.parse(s);if(a.internal)return console.log("[TagadaPay SDK] \u2705 Got internal path from full remap config:",a.internal),Y=a.internal,a.internal}}catch(o){console.error("[TagadaPay SDK] Error parsing full remap config:",o)}let n=document.querySelector('meta[name="x-plugin-internal-path"]');if(!n)return console.log("[TagadaPay SDK] \u2139\uFE0F No path remap meta tags found"),Y=null,null;let r=n.getAttribute("content");if(!r||r.trim()==="")return Y=null,null;let i=r.trim();return i.startsWith("/")?(console.log("[TagadaPay SDK] \u2705 Got internal path from legacy meta tag:",i),Y=i,i):(Y=null,null)}catch(t){return Y=null,null}}function Fs(){return Ut()!==null}function $s(){if(!ut)throw new Error("[TagadaPay SDK] getPathInfo() cannot be called in SSR context");try{let t=window.location.pathname,e=Ut(),n=new URLSearchParams(window.location.search),r=window.location.hash.replace(/^#/,"");return{externalPath:t,internalPath:e,isRemapped:e!==null,fullUrl:window.location.href,query:n,hash:r}}catch(t){return{externalPath:"/",internalPath:null,isRemapped:!1,fullUrl:"",query:new URLSearchParams,hash:""}}}function Pn(t,e){try{if(t===e)return{matched:!0,params:{}};if(!(e.includes(":")||e.includes("*")||e.includes("{")))return{matched:t===e,params:{}};let i=(0,si.match)(e,{decode:decodeURIComponent,end:!0})(t);if(i===!1)return{matched:!1,params:{}};let o={};return typeof i=="object"&&i.params&&Object.keys(i.params).forEach(s=>{let a=i.params[s];o[s]=Array.isArray(a)?a.join("/"):String(a)}),{matched:!0,params:o}}catch(n){return{matched:t===e,params:{}}}}function gd(t,e,n){let r=Us(e),i=Us(n);if(r.length===0||r.length!==i.length)return t;let o={};return r.forEach((s,a)=>{let l=i[a],c=t[s];c!==void 0&&(o[l]=c)}),o}function Us(t){let e=t.match(/:([a-zA-Z0-9_]+)/g);return e?e.map(n=>n.substring(1)):[]}function qs(t){if(typeof t!="string")throw new Error("[TagadaPay SDK] internalPath must be a string, got ".concat(typeof t));if(t.trim()==="")throw new Error("[TagadaPay SDK] internalPath cannot be empty");if(!t.startsWith("/"))throw new Error('[TagadaPay SDK] internalPath must start with /, got "'.concat(t,'"'));if(!ut)return{matched:!1,params:{}};try{let e=window.location.pathname,n=Ut();if(n){if(!Pn(n,t).matched)return{matched:!1,params:{}};let i=null;if(typeof localStorage!="undefined")try{let s=localStorage.getItem("tagadapay-remap");if(s){let a=JSON.parse(s);a.externalPath&&a.internalPath===n&&(i=a.externalPath)}}catch(s){}if(!i&&typeof document!="undefined"){console.log("[TagadaPay SDK] \u{1F50D} Checking for production path remap meta tag...");let s=document.querySelector('meta[name="tagadapay-path-remap"]');if(s)try{let a=s.getAttribute("content");if(console.log("[TagadaPay SDK] \u{1F4C4} Found meta tag content (encoded):",(a==null?void 0:a.substring(0,100))+"..."),a){let l=decodeURIComponent(a);console.log("[TagadaPay SDK] \u{1F4C4} Decoded content:",l);let c=JSON.parse(l);console.log("[TagadaPay SDK] \u{1F4E6} Parsed remap config:",c),console.log("[TagadaPay SDK] \u{1F50D} Checking if internal path matches:",{parsedInternal:c.internal,remappedInternalPath:n}),c.external&&c.internal===n?(i=c.external,console.log("[TagadaPay SDK] \u2705 Using external pattern from meta tag:",i)):console.log("[TagadaPay SDK] \u26A0\uFE0F Internal path mismatch - not using meta tag config")}}catch(a){console.error("[TagadaPay SDK] \u274C Error parsing path remap meta tag:",a)}else console.log("[TagadaPay SDK] \u274C No tagadapay-path-remap meta tag found")}if(i){let s=Pn(e,i);if(s.matched){console.log("[TagadaPay SDK] \u{1F504} Mapping params from external to internal pattern"),console.log("[TagadaPay SDK] External params:",s.params),console.log("[TagadaPay SDK] External pattern:",i),console.log("[TagadaPay SDK] Internal pattern:",t);let a=gd(s.params,i,t);return console.log("[TagadaPay SDK] Mapped params:",a),{matched:!0,params:a}}}return{matched:!0,params:Pn(e,t).params}}return Pn(e,t)}catch(e){return{matched:!1,params:{}}}}Qe();Qe();var _r=class{constructor(e){this.callbacks={};this.basisTheory=null;this.btInitPromise=null;this.bt3dsClass=null;this.bt3dsInitPromise=null;this.storeConfig=null;this.storeConfigPromise=null;this.pollTimer=null;this.pollAttempts=0;this.isPollingActive=!1;this.redirectReturnProcessed=!1;this.paymentsResource=new ot(e.apiClient),this.threedsResource=new at(e.apiClient),this.storeConfigResource=new st(e.apiClient),this.storeId=e.storeId}get payments(){return this.paymentsResource}setCallbacks(e){this.callbacks=e}warmup(){this.initBasisTheory(),this.initBt3ds(),this.storeId&&this.fetchStoreConfig()}destroy(){this.stopPolling(),this.basisTheory=null,this.btInitPromise=null,this.bt3dsClass=null,this.bt3dsInitPromise=null,this.storeConfig=null,this.storeConfigPromise=null}initBasisTheory(){return this.basisTheory?Promise.resolve(this.basisTheory):this.btInitPromise?this.btInitPromise:(this.btInitPromise=(async()=>{try{let e=Mt(),{BasisTheory:n}=await Promise.resolve().then(()=>Nr(Do())),r=await new n().init(e,{elements:!1});return this.basisTheory=r,console.log("[PaymentService] BasisTheory initialized"),this.basisTheory}catch(e){return console.error("[PaymentService] BasisTheory init failed:",e),null}})(),this.btInitPromise)}getBtApiKey(){return Mt()}initBt3ds(){return this.bt3dsClass?Promise.resolve(this.bt3dsClass):this.bt3dsInitPromise?this.bt3dsInitPromise:(this.bt3dsInitPromise=(async()=>{try{let{BasisTheory3ds:e}=await Promise.resolve().then(()=>(Gl(),zl));return this.bt3dsClass=e,console.log("[PaymentService] BasisTheory 3DS loaded"),this.bt3dsClass}catch(e){return console.error("[PaymentService] BasisTheory 3DS load failed:",e),null}})(),this.bt3dsInitPromise)}fetchStoreConfig(){return this.storeConfig?Promise.resolve(this.storeConfig):this.storeConfigPromise?this.storeConfigPromise:this.storeId?(this.storeConfigPromise=(async()=>{try{return this.storeConfig=await this.storeConfigResource.getStoreConfig(this.storeId),this.storeConfig}catch(e){return null}})(),this.storeConfigPromise):Promise.resolve(null)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null),this.isPollingActive=!1,this.pollAttempts=0}startPolling(e,n,r=20,i=1500){this.stopPolling(),this.isPollingActive=!0,this.pollAttempts=0,console.log("[PaymentService] Starting payment polling:",e);let o=async()=>{var s;if(this.isPollingActive){this.pollAttempts++;try{let a=await this.paymentsResource.getPaymentStatus(e);if(console.log("[PaymentService] Poll #".concat(this.pollAttempts,": ").concat(a.status," / ").concat(a.subStatus)),!this.isPollingActive)return;if(a.status==="succeeded"||a.status==="pending"&&a.subStatus==="authorized"){this.stopPolling(),n.onSuccess(a);return}if(a.requireAction!=="none"&&a.requireActionData&&!a.requireActionData.processed){this.stopPolling(),(s=n.onRequireAction)==null||s.call(n,a);return}if(a.status!=="succeeded"&&a.status!=="pending"){this.stopPolling(),n.onFailure(a.status||"Payment failed");return}this.pollAttempts>=r&&(this.stopPolling(),n.onFailure("Payment verification timeout"))}catch(a){this.pollAttempts>=3&&(this.stopPolling(),n.onFailure("Payment verification failed due to network errors"))}}};o(),this.pollTimer=setInterval(()=>void o(),i)}async processAndHandle(e,n,r,i){var a,l,c,u,d,f,g,p;let o=Nt(),s=await this.paymentsResource.processPaymentDirect(e,n,r,{initiatedBy:(i==null?void 0:i.initiatedBy)||"customer",source:(i==null?void 0:i.source)||"checkout",paymentFlowId:o,processorId:i==null?void 0:i.processorId,paymentMethod:i==null?void 0:i.paymentMethod,shippingRateId:i==null?void 0:i.shippingRateId});return console.log("[PaymentService] Payment response:",{paymentId:(a=s.payment)==null?void 0:a.id,status:(l=s.payment)==null?void 0:l.status,requireAction:(c=s.payment)==null?void 0:c.requireAction}),(f=(d=this.callbacks).onCurrentPaymentId)==null||f.call(d,((u=s.payment)==null?void 0:u.id)||null),s.payment.requireAction!=="none"?(await this.handlePaymentAction(s.payment),{success:!0,payment:s.payment,order:s.order,redirecting:!0}):s.payment.status==="succeeded"?((p=(g=this.callbacks).onProcessing)==null||p.call(g,!1),{success:!0,payment:s.payment,order:s.order}):new Promise(h=>{this.startPolling(s.payment.id,{onSuccess:m=>{var b,P;(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1),h({success:!0,payment:m,order:s.order})},onFailure:m=>{var b,P,S,v;(P=(b=this.callbacks).onError)==null||P.call(b,m),(v=(S=this.callbacks).onProcessing)==null||v.call(S,!1),h({success:!1,error:m})},onRequireAction:m=>{this.handlePaymentAction(m)}})})}async handleResumedPayment(e){var n,r,i,o,s,a,l,c,u,d,f,g;if(e.status==="declined"||e.status==="failed"){let p=((n=e.error)==null?void 0:n.message)||((r=e.error)==null?void 0:r.processorMessage)||"Payment declined";(o=(i=this.callbacks).onError)==null||o.call(i,p),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),(c=(l=this.callbacks).onFailure)==null||c.call(l,p);return}if(e.status==="succeeded"){(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),(g=(f=this.callbacks).onSuccess)==null||g.call(f,e);return}if(e.requireAction!=="none"&&e.requireActionData){await this.handlePaymentAction(e);return}this.startPolling(e.id,{onSuccess:p=>{var h,m,b,P;(m=(h=this.callbacks).onProcessing)==null||m.call(h,!1),(P=(b=this.callbacks).onSuccess)==null||P.call(b,p)},onFailure:p=>{var h,m,b,P;(m=(h=this.callbacks).onError)==null||m.call(h,p),(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1)},onRequireAction:p=>{this.handlePaymentAction(p)}})}async handlePaymentAction(e){var r,i,o,s,a,l,c,u,d,f,g,p,h;if(e.requireAction==="none"||(r=e.requireActionData)!=null&&r.processed)return;let n=e.requireActionData;if(n){try{await this.paymentsResource.markPaymentActionProcessed(e.id)}catch(m){}switch(n.type){case"redirect":case"redirect_to_payment":case"processor_auth":{let m=((o=(i=n.metadata)==null?void 0:i.redirect)==null?void 0:o.redirectUrl)||n.redirectUrl||n.url;m?(console.log("[PaymentService] Redirecting:",m),this.callbacks.onBeforeRedirect&&await this.callbacks.onBeforeRedirect(e,m),window.location.href=m):e.status==="succeeded"&&((a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),(c=(l=this.callbacks).onSuccess)==null||c.call(l,e));break}case"threeds_auth":{let m=(u=n.metadata)==null?void 0:u.threedsSession;m!=null&&m.acsChallengeUrl&&(console.log("[PaymentService] 3DS challenge redirect:",m.acsChallengeUrl),window.location.href=m.acsChallengeUrl);break}case"error":{let m=n.message||"Payment action failed";(f=(d=this.callbacks).onError)==null||f.call(d,m),(p=(g=this.callbacks).onProcessing)==null||p.call(g,!1);break}case"kesspay_auth":this.handleKessPayAuth(n);break;case"trustflow_auth":this.handleTrustFlowAuth(n);break;case"finix_radar":await this.handleFinixRadar(e,n);break;case"stripe_radar":await this.handleStripeRadar(e,n);break;case"radar":((h=n.metadata)==null?void 0:h.provider)==="airwallex"&&await this.handleAirwallexRadar(e,n);break;case"mastercard_auth":await this.handleMasterCardAuth(e,n);break;case"ngenius_3ds":await this.handleNgeniusThreeds(e,n);break;default:{console.log("[PaymentService] Unhandled action, starting polling:",n.type),this.startPolling(e.id,{onSuccess:m=>{var b,P,S,v;(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1),(v=(S=this.callbacks).onSuccess)==null||v.call(S,m)},onFailure:m=>{var b,P,S,v;(P=(b=this.callbacks).onError)==null||P.call(b,m),(v=(S=this.callbacks).onProcessing)==null||v.call(S,!1)},onRequireAction:m=>{this.handlePaymentAction(m)}});break}}}}handleKessPayAuth(e){var r,i,o,s,a,l,c,u,d,f,g;let n=(r=e==null?void 0:e.metadata)==null?void 0:r.threeds;if(!(n!=null&&n.challengeHtml)){(o=(i=this.callbacks).onError)==null||o.call(i,"Missing KessPay 3DS challenge HTML"),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1);return}try{(c=(l=this.callbacks).onProcessing)==null||c.call(l,!1);let p=document.implementation.createHTMLDocument("KessPay 3DS");p.body.innerHTML=n.challengeHtml;let h=p.querySelector("form");if(h){let m=document.createElement("form");m.method=h.method||"POST",m.action=h.action||"",m.style.display="none",h.querySelectorAll("input").forEach(b=>{let P=document.createElement("input");P.type=b.type,P.name=b.name,P.value=b.value,m.appendChild(P)}),document.body.appendChild(m),m.submit()}else document.open(),document.write(n.challengeHtml),document.close()}catch(p){(d=(u=this.callbacks).onError)==null||d.call(u,p instanceof Error?p.message:"KessPay 3DS failed"),(g=(f=this.callbacks).onProcessing)==null||g.call(f,!1)}}handleTrustFlowAuth(e){var r,i,o,s,a,l,c,u,d,f,g;let n=(r=e==null?void 0:e.metadata)==null?void 0:r.trustflow;if(!(n!=null&&n.appId)||!(n!=null&&n.txnId)||!(n!=null&&n.hash)){(o=(i=this.callbacks).onError)==null||o.call(i,"Missing Trust Flow 3DS data"),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1);return}try{(c=(l=this.callbacks).onProcessing)==null||c.call(l,!1);let p=document.createElement("form");p.method="POST",p.action=n.captureUrl,p.style.display="none";for(let[h,m]of[["APP_ID",n.appId],["TXN_ID",n.txnId],["HASH",n.hash]]){let b=document.createElement("input");b.type="hidden",b.name=h,b.value=m,p.appendChild(b)}document.body.appendChild(p),p.submit()}catch(p){(d=(u=this.callbacks).onError)==null||d.call(u,p instanceof Error?p.message:"Trust Flow 3DS failed"),(g=(f=this.callbacks).onProcessing)==null||g.call(f,!1)}}async handleFinixRadar(e,n){var i,o,s,a,l,c,u,d,f;let r=(i=n.metadata)==null?void 0:i.radar;if(!r){(s=(o=this.callbacks).onError)==null||s.call(o,"Finix radar config missing"),(l=(a=this.callbacks).onProcessing)==null||l.call(a,!1);return}try{await this.loadScript("https://js.finix.com/v/1/finix.js",()=>{var h;return typeof((h=window.Finix)==null?void 0:h.Auth)=="function"});let g=await new Promise((h,m)=>{let b=setTimeout(()=>m(new Error("Timeout waiting for Finix Auth")),1e4),P=window.Finix.Auth(r.environment,r.merchantId,()=>{clearTimeout(b);let v=P.getSessionKey();v?h(v):m(new Error("No Finix session key"))}),S=P.getSessionKey();S&&(clearTimeout(b),h(S))});await this.paymentsResource.saveRadarSession({orderId:r.orderId,finixRadarSessionId:g,finixRadarSessionData:{sessionKey:g,merchantId:r.merchantId,environment:r.environment,createdAt:new Date().toISOString()}});let p=await this.paymentsResource.completePaymentAfterAction(e.id);await this.handleResumedPayment(p)}catch(g){(u=(c=this.callbacks).onError)==null||u.call(c,g instanceof Error?g.message:"Finix radar failed"),(f=(d=this.callbacks).onProcessing)==null||f.call(d,!1)}}async handleStripeRadar(e,n){var i,o,s,a,l,c,u,d,f;let r=(i=n.metadata)==null?void 0:i.radar;if(!(r!=null&&r.publishableKey)){(s=(o=this.callbacks).onError)==null||s.call(o,"Stripe radar config missing"),(l=(a=this.callbacks).onProcessing)==null||l.call(a,!1);return}try{await this.loadScript("https://js.stripe.com/v3/",()=>typeof window.Stripe=="function");let p=await window.Stripe(r.publishableKey).createRadarSession();if(p.error)throw new Error(p.error.message||"Failed to create Radar session");if(!p.radarSession)throw new Error("No radar session returned from Stripe");await this.paymentsResource.saveRadarSession({orderId:r.orderId,stripeRadarSessionId:p.radarSession.id,stripeRadarSessionData:p.radarSession});let h=await this.paymentsResource.completePaymentAfterAction(e.id);await this.handleResumedPayment(h)}catch(g){(u=(c=this.callbacks).onError)==null||u.call(c,g instanceof Error?g.message:"Stripe radar failed"),(f=(d=this.callbacks).onProcessing)==null||f.call(d,!1)}}async handleNgeniusThreeds(e,n){var i,o,s,a,l,c,u,d,f;let r=(i=n.metadata)==null?void 0:i.sdk;if(!(r!=null&&r.paymentResponse)||!r.orderReference||!r.paymentReference){(s=(o=this.callbacks).onError)==null||s.call(o,"N-Genius 3DS: missing SDK metadata"),(l=(a=this.callbacks).onProcessing)==null||l.call(a,!1);return}try{let g=r.isSandboxed?"https://paypage.sandbox.ngenius-payments.com/hosted-sessions/sdk.js":"https://paypage.ngenius-payments.com/hosted-sessions/sdk.js";document.getElementById("ngenius-websdk")||await new Promise((b,P)=>{let S=document.createElement("script");S.id="ngenius-websdk",S.src=g,S.onload=()=>b(),S.onerror=()=>P(new Error("Failed to load N-Genius WebSDK")),document.head.appendChild(S)});let p=window.NI;if(!(p!=null&&p.handlePaymentResponse))throw new Error("N-Genius WebSDK did not expose window.NI.handlePaymentResponse");console.log("[N-Genius 3DS] Starting WebSDK challenge");let h=await p.handlePaymentResponse(r.paymentResponse,{mountId:"ngenius-3ds-container",style:{width:"100%",height:500}});console.log("[N-Genius 3DS] WebSDK outcome:",h.status);let m=await this.paymentsResource.ngeniusThreedsComplete({paymentId:e.id,orderReference:r.orderReference,paymentReference:r.paymentReference});await this.handleResumedPayment(m)}catch(g){let p=g instanceof Error?g.message:"N-Genius 3DS failed";console.error("[N-Genius 3DS] Error:",g),(u=(c=this.callbacks).onError)==null||u.call(c,p),(f=(d=this.callbacks).onProcessing)==null||f.call(d,!1)}}async handleAirwallexRadar(e,n){var s,a,l,c,u,d,f,g,p,h,m;let r=((s=n.metadata)==null?void 0:s.isTest)||!1,i=(a=e.order)==null?void 0:a.id,o=(l=e.order)==null?void 0:l.checkoutSessionId;if(!i||!o){(u=(c=this.callbacks).onError)==null||u.call(c,"Missing order info for Airwallex radar"),(f=(d=this.callbacks).onProcessing)==null||f.call(d,!1);return}try{let b=crypto.randomUUID(),P=document.getElementById("airwallex-fraud-api");if(P)P.setAttribute("data-order-session-id",b);else{let v=r?"https://static-demo.airwallex.com":"https://static.airwallex.com",R=document.createElement("script");R.type="text/javascript",R.async=!0,R.id="airwallex-fraud-api",R.setAttribute("data-order-session-id",b),R.src="".concat(v,"/webapp/fraud/device-fingerprint/index.js"),await new Promise((_,A)=>{R.onload=()=>_(),R.onerror=()=>A(new Error("Failed to load Airwallex fraud script")),document.body.appendChild(R)})}await this.paymentsResource.saveRadarSession({paymentId:e.id,checkoutSessionId:o,orderId:i,airwallexRadarSessionId:b});let S=await this.paymentsResource.completePaymentAfterAction(e.id);await this.handleResumedPayment(S)}catch(b){(p=(g=this.callbacks).onError)==null||p.call(g,b instanceof Error?b.message:"Airwallex radar failed"),(m=(h=this.callbacks).onProcessing)==null||m.call(h,!1)}}async handleMasterCardAuth(e,n){var i,o,s,a,l,c,u,d,f,g,p,h,m,b;let r=(i=n==null?void 0:n.metadata)==null?void 0:i.threeds;if(!(r!=null&&r.sessionId)||!(r!=null&&r.merchantId)){(s=(o=this.callbacks).onError)==null||s.call(o,"Missing MasterCard 3DS data"),(l=(a=this.callbacks).onProcessing)==null||l.call(a,!1);return}try{(u=(c=this.callbacks).onProcessing)==null||u.call(c,!1),await this.loadScript(r.scriptUrl,()=>!!window.ThreeDS);let P="mastercard-3ds-container",S=document.getElementById(P);S||(S=document.createElement("div"),S.id=P,S.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;overflow:hidden",document.body.appendChild(S)),await new Promise((A,D)=>{window.ThreeDS.configure({merchantId:r.merchantId,sessionId:r.sessionId,containerId:P,callback:()=>{window.ThreeDS.isConfigured()?A():D(new Error("ThreeDS configuration failed"))},configuration:{userLanguage:"en-US",wsVersion:r.version?parseInt(r.version,10):72}})});let v=await new Promise(A=>{window.ThreeDS.authenticatePayer(r.orderId,r.transactionId,A)}),R=(v==null?void 0:v.htmlRedirectCode)||((g=(f=(d=v==null?void 0:v.restApiResponse)==null?void 0:d.authentication)==null?void 0:f.redirect)==null?void 0:g.html);if(R){let A=document.implementation.createHTMLDocument("MasterCard 3DS");A.body.innerHTML=R;let D=A.querySelector("form");if(D){let W=document.createElement("form");W.method=D.method||"POST",W.action=D.action||"",W.style.display="none",D.querySelectorAll("input").forEach(U=>{let q=document.createElement("input");q.type=U.type,q.name=U.name,q.value=U.value,W.appendChild(q)}),document.body.appendChild(W),W.submit()}else document.open(),document.write(R),document.close()}else if(r.paymentId){let A=await this.paymentsResource.completePaymentAfterAction(r.paymentId);await this.handleResumedPayment(A)}let _=document.getElementById(P);_&&_.remove()}catch(P){(h=(p=this.callbacks).onError)==null||h.call(p,P instanceof Error?P.message:"MasterCard 3DS failed"),(b=(m=this.callbacks).onProcessing)==null||b.call(m,!1)}}async loadScript(e,n){if(typeof window=="undefined"||n())return;if(document.querySelector('script[src="'.concat(e,'"]'))){await this.waitFor(n,1e4);return}let i=document.createElement("script");i.src=e,i.async=!0,await new Promise((o,s)=>{i.onload=()=>o(),i.onerror=()=>s(new Error("Failed to load script: ".concat(e))),document.head.appendChild(i)})}waitFor(e,n){return new Promise((r,i)=>{if(e()){r();return}let o=setTimeout(()=>i(new Error("Timeout")),n),s=()=>{e()?(clearTimeout(o),r()):setTimeout(s,100)};s()})}detectRedirectReturn(){return typeof window=="undefined"||this.redirectReturnProcessed?!1:this.detectAirwallex3dsReturn()?!0:this.detectGenericRedirectReturn()}detectGenericRedirectReturn(){var s,a,l,c,u,d;let e=new URLSearchParams(window.location.search),n=e.get("paymentAction"),r=e.get("paymentActionStatus"),i=e.get("paymentId");return e.get("mode")==="retrieve"||n!=="requireAction"||r!=="completed"||!i?!1:(console.log("[PaymentService] Generic redirect return detected:",i),this.redirectReturnProcessed=!0,(a=(s=this.callbacks).onProcessing)==null||a.call(s,!0),(c=(l=this.callbacks).onCurrentPaymentId)==null||c.call(l,i),(d=(u=this.callbacks).onRedirectReturn)==null||d.call(u,i),this.startPolling(i,{onSuccess:f=>{var g,p,h,m;(p=(g=this.callbacks).onProcessing)==null||p.call(g,!1),this.cleanPaymentUrlParams(),(m=(h=this.callbacks).onSuccess)==null||m.call(h,f)},onFailure:f=>{var g,p,h,m;(p=(g=this.callbacks).onError)==null||p.call(g,f),(m=(h=this.callbacks).onProcessing)==null||m.call(h,!1),this.cleanPaymentUrlParams()},onRequireAction:f=>{this.handlePaymentAction(f)}}),!0)}detectAirwallex3dsReturn(){var a,l,c,u;let e=new URLSearchParams(window.location.search),n=e.get("paymentId"),r=e.get("payment_intent_id"),i=e.get("succeeded"),o=e.get("processorType");return!(r||i!==null)||o!=="airwallex"||!n?!1:(console.log("[PaymentService] Airwallex 3DS return detected:",n),this.redirectReturnProcessed=!0,(l=(a=this.callbacks).onProcessing)==null||l.call(a,!0),(u=(c=this.callbacks).onCurrentPaymentId)==null||u.call(c,n),this.handleAirwallex3dsRedirectReturn(n,r,i),!0)}async handleAirwallex3dsRedirectReturn(e,n,r){var o,s,a,l,c,u,d,f,g,p,h,m,b,P,S,v,R,_,A,D,W,U,q,F,ke,he,St,Q,Pt;let i=()=>{let k=new URLSearchParams(window.location.search);["payment_intent_id","succeeded","processorType","paymentId","paymentAction","paymentActionStatus","error_code","error_message","mode"].forEach(M=>k.delete(M));let Ne=k.toString()?"".concat(window.location.pathname,"?").concat(k.toString()):window.location.pathname;window.history.replaceState({},document.title,Ne)};if(r==="true")try{await this.paymentsResource.updateThreedsStatus({paymentId:e,status:"succeeded",paymentIntentId:n||""}),i();let k=await this.paymentsResource.retrievePayment(e),Ne=((o=k==null?void 0:k.retrieveResult)==null?void 0:o.status)||(k==null?void 0:k.status);if((s=k==null?void 0:k.retrieveResult)!=null&&s.success&&Ne==="succeeded"){let M=await this.paymentsResource.getPaymentStatus(e);(l=(a=this.callbacks).onProcessing)==null||l.call(a,!1),(u=(c=this.callbacks).onSuccess)==null||u.call(c,M)}else if(Ne==="declined"||Ne==="error"){let M=((d=k==null?void 0:k.retrieveResult)==null?void 0:d.message)||(k==null?void 0:k.message)||"Payment failed";(g=(f=this.callbacks).onError)==null||g.call(f,M),(h=(p=this.callbacks).onProcessing)==null||h.call(p,!1)}else{let M=await this.paymentsResource.getPaymentStatus(e);if(M.status==="declined"||M.status==="failed"){let j=((m=M.error)==null?void 0:m.message)||((b=M.error)==null?void 0:b.processorMessage)||"Payment declined";(S=(P=this.callbacks).onError)==null||S.call(P,j),(R=(v=this.callbacks).onProcessing)==null||R.call(v,!1)}else M.status==="succeeded"||M.status==="pending"&&M.subStatus==="authorized"?((A=(_=this.callbacks).onProcessing)==null||A.call(_,!1),(W=(D=this.callbacks).onSuccess)==null||W.call(D,M)):M.requireAction!=="none"&&M.requireActionData&&!M.requireActionData.processed?this.handlePaymentAction(M):this.startPolling(e,{onSuccess:j=>{var te,ve,ye,De;(ve=(te=this.callbacks).onProcessing)==null||ve.call(te,!1),(De=(ye=this.callbacks).onSuccess)==null||De.call(ye,j)},onFailure:j=>{var te,ve,ye,De;(ve=(te=this.callbacks).onError)==null||ve.call(te,j),(De=(ye=this.callbacks).onProcessing)==null||De.call(ye,!1)},onRequireAction:j=>{this.handlePaymentAction(j)}})}}catch(k){(q=(U=this.callbacks).onError)==null||q.call(U,k instanceof Error?k.message:"Failed to process Airwallex 3DS"),(ke=(F=this.callbacks).onProcessing)==null||ke.call(F,!1)}else{let k=new URLSearchParams(window.location.search).get("error_message")||"Authentication failed";(St=(he=this.callbacks).onError)==null||St.call(he,k),(Pt=(Q=this.callbacks).onProcessing)==null||Pt.call(Q,!1),i()}}cleanPaymentUrlParams(){if(typeof window=="undefined")return;let e=new URLSearchParams(window.location.search);["paymentAction","paymentActionStatus","paymentId","payment_intent","payment_intent_client_secret","source_type","redirect_status"].forEach(r=>e.delete(r));let n=e.toString()?"".concat(window.location.pathname,"?").concat(e.toString()):window.location.pathname;window.history.replaceState({},document.title,n)}async createCardPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createCardPaymentInstrument(n!=null?n:void 0,e)}async createApplePayPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createApplePayPaymentInstrument(n!=null?n:void 0,e)}async createGooglePayPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createGooglePayPaymentInstrument(n!=null?n:void 0,e)}async getCardPaymentInstruments(){return this.paymentsResource.getCardPaymentInstruments()}async createThreedsSession(e){let n=await this.initBt3ds();if(!n)throw new Error("BasisTheory 3DS not loaded");let i=await n(this.getBtApiKey()).createSession({tokenId:e.token});return this.threedsResource.createSession({provider:"basis_theory",sessionData:i,paymentInstrumentId:e.id})}async processCardPayment(e,n,r){var i,o,s,a,l,c,u,d,f;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let g=await this.createCardPaymentInstrument({cardNumber:n.cardNumber,expiryDate:n.expiryDate,cvc:n.cvc});if(!(g!=null&&g.id))throw new Error("Failed to create payment instrument");let p,h=await this.fetchStoreConfig();if((l=h==null?void 0:h.computed)!=null&&l.threedsEnabled)try{p=(await this.createThreedsSession(g)).id}catch(m){}return await this.processAndHandle(e,g.id,p,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(g){let p=g instanceof Error?g.message:String(g);return(u=(c=this.callbacks).onError)==null||u.call(c,p),(f=(d=this.callbacks).onProcessing)==null||f.call(d,!1),{success:!1,error:p}}}async processApplePayPayment(e,n,r){var i,o,s,a,l,c,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let f=await this.createApplePayPaymentInstrument(n);return await this.processAndHandle(e,f.id,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(f){let g=f instanceof Error?f.message:String(f);return(c=(l=this.callbacks).onError)==null||c.call(l,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processGooglePayPayment(e,n,r){var i,o,s,a,l,c,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let f=await this.createGooglePayPaymentInstrument(n);return await this.processAndHandle(e,f.id,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(f){let g=f instanceof Error?f.message:String(f);return(c=(l=this.callbacks).onError)==null||c.call(l,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processPaymentWithInstrument(e,n,r){var i,o,s,a,l,c,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{return await this.processAndHandle(e,n,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(f){let g=f instanceof Error?f.message:String(f);return(c=(l=this.callbacks).onError)==null||c.call(l,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processApmPayment(e,n,r){var i,o,s,a,l,c,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{return await this.processAndHandle(e,"",void 0,{processorId:n.processorId,paymentMethod:n.paymentMethod,initiatedBy:n.initiatedBy,source:n.source,shippingRateId:r==null?void 0:r.shippingRateId})}catch(f){let g=f instanceof Error?f.message:String(f);return(c=(l=this.callbacks).onError)==null||c.call(l,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}};var Rh=Nr(Do());var Mo;(function(t){t.SCRIPT_LOAD_FAILED="SCRIPT_LOAD_FAILED",t.SESSION_SAVE_FAILED="SESSION_SAVE_FAILED",t.RESUME_FAILED="RESUME_FAILED",t.NO_API_CLIENT="NO_API_CLIENT",t.SSR_NOT_SUPPORTED="SSR_NOT_SUPPORTED"})(Mo||(Mo={}));var Bo;(function(t){t.CONTINUE_PAYMENT_FAILED="CONTINUE_PAYMENT_FAILED",t.MISSING_PAYMENT_ID="MISSING_PAYMENT_ID"})(Bo||(Bo={}));var Hl="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";var xe=null;function Ih(){if(xe)return xe;if(typeof window=="undefined")return Promise.reject(new Error("[ApplePayService] No window \u2014 not in browser"));if(window.ApplePaySession)return xe=Promise.resolve(),xe;let t=document.querySelector('script[src="'.concat(Hl,'"]'));return t?(xe=new Promise(e=>{if(window.ApplePaySession)return e();t.addEventListener("load",()=>e());let n=setInterval(()=>{window.ApplePaySession&&(clearInterval(n),e())},100);setTimeout(()=>{clearInterval(n),e()},5e3)}),xe):(xe=new Promise((e,n)=>{let r=document.createElement("script");r.src=Hl,r.crossOrigin="anonymous",r.async=!0,r.onload=()=>e(),r.onerror=()=>{xe=null,n(new Error("[ApplePayService] Failed to load Apple Pay SDK"))},document.head.appendChild(r)}),xe)}async function Ar(){try{await Ih();let t=window.ApplePaySession;return!!t&&t.canMakePayments()}catch(t){return!1}}async function _h(t,e,n){let r=await fetch("https://api.basistheory.com/apple-pay/session",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({display_name:e,domain:n})});if(!r.ok)throw new Error("[ApplePayService] Merchant validation failed: HTTP ".concat(r.status));return r.json()}async function Ah(t,e){let n=await fetch("https://api.basistheory.com/apple-pay",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({apple_payment_data:e})});if(!n.ok)throw new Error("[ApplePayService] Tokenization failed: HTTP ".concat(n.status));return(await n.json()).apple_pay}function xh(t,e){return["BIF","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"].includes(e.toUpperCase())?String(t):(t/100).toFixed(2)}function xr(t,e,n){var l,c;let r=window.ApplePaySession;if(!r){(l=n.onError)==null||l.call(n,"Apple Pay is not available on this device");return}let i=t.countryCode||"US",o=t.storeName||"Store",s=xh(e.totalAmountMinor,e.currency),a={countryCode:i,currencyCode:e.currency,supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS"],total:{label:o,amount:s,type:"final"},requiredShippingContactFields:["name","phone","email","postalAddress"],requiredBillingContactFields:["postalAddress"]};e.lineItems&&(a.lineItems=e.lineItems.map(u=>I(w({},u),{type:"final"}))),e.shippingMethods&&(a.shippingMethods=e.shippingMethods);try{let u=new r(3,a);u.onvalidatemerchant=()=>{(async()=>{var d;try{let f=await _h(t.basisTheoryApiKey,o,window.location.host);u.completeMerchantValidation(f)}catch(f){console.error("[ApplePayService] Merchant validation failed:",f),u.abort(),(d=n.onError)==null||d.call(n,"Merchant validation failed")}})()},u.onpaymentauthorized=d=>{(async()=>{var f;try{let g=await Ah(t.basisTheoryApiKey,d.payment.token);u.completePayment(r.STATUS_SUCCESS),await n.onSuccess(g,{shipping:d.payment.shippingContact,billing:d.payment.billingContact})}catch(g){console.error("[ApplePayService] Payment processing failed:",g),u.completePayment(r.STATUS_FAILURE),(f=n.onError)==null||f.call(n,"Payment failed")}})()},n.onShippingContactSelected&&(u.onshippingcontactselected=d=>{(async()=>{try{let f=await n.onShippingContactSelected(d.shippingContact);if(!f){u.abort();return}u.completeShippingContactSelection(r.STATUS_SUCCESS,f.shippingMethods||[],I(w({},f.total),{type:"final"}),f.lineItems.map(g=>I(w({},g),{type:"final"})))}catch(f){u.abort()}})()}),n.onShippingMethodSelected&&(u.onshippingmethodselected=d=>{(async()=>{try{let f=await n.onShippingMethodSelected(d.shippingMethod.identifier);if(!f){u.abort();return}u.completeShippingMethodSelection(r.STATUS_SUCCESS,I(w({},f.total),{type:"final"}),f.lineItems.map(g=>I(w({},g),{type:"final"})))}catch(f){u.abort()}})()}),u.oncancel=()=>{var d;(d=n.onCancel)==null||d.call(n)},u.onerror=d=>{var f;console.error("[ApplePayService] Session error:",d),(f=n.onError)==null||f.call(n,"Apple Pay session error")},u.begin()}catch(u){console.error("[ApplePayService] Failed to start Apple Pay session:",u),(c=n.onError)==null||c.call(n,"Failed to start Apple Pay")}}var Vl="https://pay.google.com/gp/p/js/pay.js",Oe=null;function Oh(){var e,n,r;if(Oe)return Oe;if(typeof window=="undefined")return Promise.reject(new Error("[GooglePayService] No window \u2014 not in browser"));if((r=(n=(e=window.google)==null?void 0:e.payments)==null?void 0:n.api)!=null&&r.PaymentsClient)return Oe=Promise.resolve(),Oe;let t=document.querySelector('script[src="'.concat(Vl,'"]'));return t?(Oe=new Promise(i=>{var s,a,l;if((l=(a=(s=window.google)==null?void 0:s.payments)==null?void 0:a.api)!=null&&l.PaymentsClient)return i();t.addEventListener("load",()=>i());let o=setInterval(()=>{var c,u,d;(d=(u=(c=window.google)==null?void 0:c.payments)==null?void 0:u.api)!=null&&d.PaymentsClient&&(clearInterval(o),i())},100);setTimeout(()=>{clearInterval(o),i()},5e3)}),Oe):(Oe=new Promise((i,o)=>{let s=document.createElement("script");s.src=Vl,s.async=!0,s.onload=()=>i(),s.onerror=()=>{Oe=null,o(new Error("[GooglePayService] Failed to load Google Pay SDK"))},document.head.appendChild(s)}),Oe)}var Yl={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["VISA","MASTERCARD","AMEX","DISCOVER","JCB"]}};async function Or(t=!1){var e,n,r;try{await Oh();let i=(r=(n=(e=window.google)==null?void 0:e.payments)==null?void 0:n.api)==null?void 0:r.PaymentsClient;return i?(await new i({environment:t?"TEST":"PRODUCTION"}).isReadyToPay({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[Yl]})).result===!0:!1}catch(i){return!1}}async function kh(t,e){let n;try{n=typeof e=="string"?JSON.parse(e):e}catch(o){n=e}let r=await fetch("https://api.basistheory.com/google-pay",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({google_payment_data:n})});if(!r.ok)throw new Error("[GooglePayService] Tokenization failed: HTTP ".concat(r.status));return(await r.json()).google_pay}function Nh(t,e){return["BIF","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"].includes(e.toUpperCase())?String(t):(t/100).toFixed(2)}function Wl(t){if(t)return{name:t.name,phoneNumber:t.phoneNumber,address1:t.address1,address2:t.address2,address3:t.address3,locality:t.locality,administrativeArea:t.administrativeArea,postalCode:t.postalCode,countryCode:t.countryCode,sortingCode:t.sortingCode}}function kr(t,e,n){var c,u,d,f,g;let r=(d=(u=(c=window.google)==null?void 0:c.payments)==null?void 0:u.api)==null?void 0:d.PaymentsClient;if(!r){(f=n.onError)==null||f.call(n,"Google Pay is not available on this device");return}let i=t.countryCode||"US",o=t.merchantName||"Store",s=Nh(e.totalAmountMinor,e.currency),a=new r({environment:t.sandboxed?"TEST":"PRODUCTION"}),l={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[I(w({},Yl),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"basistheory",gatewayMerchantId:t.basisTheoryTenantId}}})],merchantInfo:{merchantId:t.sandboxed?"12345678901234567890":t.merchantId,merchantName:o},transactionInfo:{totalPriceStatus:e.totalPriceStatus||"FINAL",totalPrice:s,currencyCode:e.currency,countryCode:i},emailRequired:!0,shippingAddressRequired:!0,shippingAddressParameters:{phoneNumberRequired:!0}};e.displayItems&&(l.transactionInfo.displayItems=e.displayItems);try{a.loadPaymentData(l).then(async p=>{var h,m,b;try{let P=p.paymentMethodData,S=(h=P==null?void 0:P.tokenizationData)==null?void 0:h.token;if(!S)throw new Error("No payment token received from Google Pay");let v=await kh(t.basisTheoryApiKey,S);P!=null&&P.info&&(v.details=w({auth_method:P.info.cardNetwork},v.details));let R=Wl(p.shippingAddress),_=Wl((m=P==null?void 0:P.info)==null?void 0:m.billingAddress),A=p.email;await n.onSuccess(v,{shipping:R,billing:_,email:A})}catch(P){console.error("[GooglePayService] Payment processing failed:",P),(b=n.onError)==null||b.call(n,"Payment failed")}}).catch(p=>{var h,m;p.statusCode==="CANCELED"?(h=n.onCancel)==null||h.call(n):(console.error("[GooglePayService] Google Pay error:",p),(m=n.onError)==null||m.call(n,p.statusMessage||"Google Pay failed"))})}catch(p){console.error("[GooglePayService] Failed to start Google Pay session:",p),(g=n.onError)==null||g.call(n,"Failed to start Google Pay")}}Ye();var Jl="1.0.0";function Xl(t){return typeof window=="undefined"?null:new URLSearchParams(window.location.search).get(t)}function V(t,...e){t&&console.log("[TagadaTracker]",...e)}function Zl(...t){console.warn("[TagadaTracker]",...t)}function Dh(t){if(!t.storeId||typeof t.storeId!="string")throw new Error("TagadaTracker: storeId is required and must be a non-empty string.");if(!t.accountId||typeof t.accountId!="string")throw new Error("TagadaTracker: accountId is required and must be a non-empty string.");if(!t.stepId||typeof t.stepId!="string")throw new Error("TagadaTracker: stepId is required and must be a non-empty string.");if(t.apiBaseUrl)try{new URL(t.apiBaseUrl)}catch(e){throw new Error('TagadaTracker: apiBaseUrl is not a valid URL: "'.concat(t.apiBaseUrl,'"'))}}async function Lh(t,e,n){let r;for(let i=0;i<=e;i++)try{return await t()}catch(o){if(r=o instanceof Error?o:new Error(String(o)),i<e){let s=Math.min(1e3*2**i,8e3);V(n,"Retry ".concat(i+1,"/").concat(e," in ").concat(s,"ms...")),await new Promise(a=>setTimeout(a,s))}}throw r}var Xt=class{constructor(){this.config=null;this.client=null;this.initialized=!1;this.initializing=!1;this.unsubscribe=null;this.version=Jl}async init(e){var r,i;if(this.initialized)return V(e.debug||!1,"Already initialized \u2014 returning existing session."),this.getSession();if(this.initializing)return V(e.debug||!1,"Initialization in progress \u2014 skipping duplicate call."),null;this.initializing=!0,this.config=w({debug:!1},e);let n=this.config.debug;try{Dh(this.config)}catch(o){this.initializing=!1;let s=o instanceof Error?o:new Error(String(o));if(this.config.onError)return this.config.onError(s),null;throw s}V(n,"\u{1F680} Initializing external tracker v".concat(Jl),{storeId:e.storeId,accountId:e.accountId,stepId:e.stepId,funnelId:e.funnelId});try{let o=Xl("token");o&&(re(o),V(n,"\u{1F511} Bootstrapped token from URL")),this.client=Fo({debugMode:n,features:{funnel:{skipAutoInit:!0}},rawPluginConfig:{storeId:this.config.storeId,accountId:this.config.accountId},customApiConfig:this.config.apiBaseUrl?{apiConfig:{baseUrl:this.config.apiBaseUrl.trim()}}:void 0}),await this.waitForClientReady();let s=await Lh(()=>this.initializeFunnel(),2,n);V(n,"\u2705 Session initialized:",s),this.initialized=!0;let a=this.getSession();return a&&((i=(r=this.config).onReady)==null||i.call(r,a)),a}catch(o){let s=o instanceof Error?o:new Error(String(o));if(V(n,"\u274C Initialization failed:",s),this.config.onError)return this.config.onError(s),null;throw s}finally{this.initializing=!1}}getSession(){var n,r;if(!((r=(n=this.client)==null?void 0:n.funnel)!=null&&r.state.context))return null;let e=this.client.funnel.state.context;return{sessionId:e.sessionId,customerId:e.customerId,storeId:e.storeId,funnelId:e.funnelId,currentStepId:e.currentStepId,cmsToken:this.client.state.token||void 0}}isReady(){var e,n;return this.initialized&&!!((n=(e=this.client)==null?void 0:e.funnel)!=null&&n.state.context)}async navigate(e){if(!this.isReady())throw new Error("TagadaTracker: not initialized. Call init() first.");V(this.config.debug,"\u{1F680} Navigating:",e);let n=e.autoRedirect!==!1;try{let r=await this.client.funnel.navigate({type:e.eventType,data:e.eventData||{}},{autoRedirect:!1});return r!=null&&r.url?(V(this.config.debug,"\u2705 Navigation result:",r.url),n&&typeof window!="undefined"&&(window.location.href=e.returnUrl||r.url),{url:r.url}):null}catch(r){throw V(this.config.debug,"\u274C Navigation failed:",r),r}}async trackEvent(e){if(!this.isReady()){Zl("trackEvent called before init \u2014 event dropped:",e.name);return}V(this.config.debug,"\u{1F4CA} Tracking event:",e.name,e.data);try{await this.client.funnel.navigate({type:e.name,data:e.data||{}},{autoRedirect:!1})}catch(n){V(this.config.debug,"\u26A0\uFE0F Event tracking failed (non-critical):",e.name)}}getCustomerId(){var e,n,r,i,o;return((n=(e=this.client)==null?void 0:e.state.auth.customer)==null?void 0:n.id)||((o=(i=(r=this.client)==null?void 0:r.funnel)==null?void 0:i.state.context)==null?void 0:o.customerId)||null}getFunnelSessionId(){var e,n,r;return((r=(n=(e=this.client)==null?void 0:e.funnel)==null?void 0:n.state.context)==null?void 0:r.sessionId)||null}buildUrl(e,n){let r=this.getSession();if(!r)return e;let i=new URL(e,typeof window!="undefined"?window.location.origin:void 0);return i.searchParams.set("funnelSessionId",r.sessionId),r.cmsToken&&i.searchParams.set("token",r.cmsToken),r.funnelId&&i.searchParams.set("funnelId",r.funnelId),i.searchParams.set("storeId",r.storeId),n&&Object.entries(n).forEach(([o,s])=>{i.searchParams.set(o,s)}),i.toString()}getClient(){return this.client}async reset(e){var i,o;if(!this.client||!this.config)throw new Error("TagadaTracker: not initialized. Call init() first.");V(this.config.debug,"\u{1F504} Resetting to step:",e),this.config.stepId=e;let n=await this.initializeFunnel(),r=this.getSession();return r&&((o=(i=this.config).onReady)==null||o.call(i,r)),r}destroy(){var e,n;this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null),this.client&&((n=(e=this.client).destroy)==null||n.call(e)),this.client=null,this.config=null,this.initialized=!1,this.initializing=!1,V(!1,"\u{1F5D1}\uFE0F Tracker destroyed")}async waitForClientReady(){if(this.client)return new Promise(e=>{var i;if((i=this.client)!=null&&i.state.isInitialized){e();return}let n=!1,r=setTimeout(()=>{var o;n||(n=!0,V(((o=this.config)==null?void 0:o.debug)||!1,"\u23F1\uFE0F Client ready timeout \u2014 proceeding"),e())},1e4);this.unsubscribe=this.client.subscribe(()=>{var o;!n&&((o=this.client)!=null&&o.state.isInitialized)&&(n=!0,clearTimeout(r),e())})})}async initializeFunnel(){var s,a,l;if(!((s=this.client)!=null&&s.funnel))return null;let e=(a=this.client.state.auth.customer)==null?void 0:a.id,n=(l=this.client.state.auth.session)==null?void 0:l.sessionId;!e&&!n&&Zl("No auth session available \u2014 funnel init may fail.");let r={customerId:e||"anon_placeholder",sessionId:n||"sess_placeholder"},i={id:this.config.storeId,accountId:this.config.accountId},o=this.config.stepId;return V(this.config.debug,"\u{1F50D} Initializing funnel at step:",o),this.client.funnel.initialize(r,i,this.config.funnelId||Xl("funnelId")||void 0,o)}},Uo=new Xt;typeof window!="undefined"&&(window.TagadaTracker=Uo);function Mh(){if(typeof window=="undefined"||typeof document=="undefined")return[];let t=oe();return t!=null&&t.scripts?t.scripts.filter(e=>e.enabled):[]}function Bh(t,e){let n=t.position||"body-end",r="tagada-stepconfig-script-".concat(e);if(document.getElementById(r))return;let i=t.content.trim(),o=i.match(/^<script[^>]*>([\s\S]*)<\/script>$/i);if(o&&(i=o[1].trim()),!i)return;let s="(function() {\n try {\n // Script: "+t.name+"\n"+i+'\n } catch (error) {\n console.error("[TagadaPay] StepConfig script error:", error);\n }\n})();',a=document.createElement("script");switch(a.id=r,a.setAttribute("data-tagada-stepconfig-script","true"),a.setAttribute("data-script-name",t.name),a.textContent=s,n){case"head-start":document.head.firstChild?document.head.insertBefore(a,document.head.firstChild):document.head.appendChild(a);break;case"head-end":document.head.appendChild(a);break;case"body-start":document.body.firstChild?document.body.insertBefore(a,document.body.firstChild):document.body.appendChild(a);break;case"body-end":default:document.body.appendChild(a);break}}function $o(){let t=Mh();t.length!==0&&t.forEach((e,n)=>{Bh(e,n)})}if(typeof window!="undefined"&&typeof document!="undefined"){let t=()=>{document.body?$o():document.addEventListener("DOMContentLoaded",$o,{once:!0})};"requestIdleCallback"in window?window.requestIdleCallback(t,{timeout:100}):setTimeout(t,0)}function Fo(t={}){return new Lt(t)}function Uh(){return Mt()}function Fh(){return Cs()}return Dr($h);})();
|
|
7
|
+
"use strict";var TagadaSDKBundle=(()=>{var fu=Object.create;var Ct=Object.defineProperty,hu=Object.defineProperties,yu=Object.getOwnPropertyDescriptor,Su=Object.getOwnPropertyDescriptors,bu=Object.getOwnPropertyNames,Zo=Object.getOwnPropertySymbols,Pu=Object.getPrototypeOf,Qo=Object.prototype.hasOwnProperty,wu=Object.prototype.propertyIsEnumerable;var Ye=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),vu=t=>{throw TypeError(t)};var Xo=(t,e,n)=>e in t?Ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,S=(t,e)=>{for(var n in e||(e={}))Qo.call(e,n)&&Xo(t,n,e[n]);if(Zo)for(var n of Zo(e))wu.call(e,n)&&Xo(t,n,e[n]);return t},A=(t,e)=>hu(t,Su(e));var Ie=(t,e)=>()=>(t&&(e=t(t=0)),e);var v=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Tt=(t,e)=>{for(var n in e)Ct(t,n,{get:e[n],enumerable:!0})},es=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of bu(e))!Qo.call(t,i)&&i!==n&&Ct(t,i,{get:()=>e[i],enumerable:!(r=yu(e,i))||r.enumerable});return t};var Lr=(t,e,n)=>(n=t!=null?fu(Pu(t)):{},es(e||!t||!t.__esModule?Ct(n,"default",{value:t,enumerable:!0}):n,t)),Mr=t=>es(Ct({},"__esModule",{value:!0}),t);var Fe=function(t,e){this[0]=t,this[1]=e},jr=(t,e,n)=>{var r=(s,a,c,l)=>{try{var u=n[s](a),d=(a=u.value)instanceof Fe,p=u.done;Promise.resolve(d?a[0]:a).then(g=>d?r(s==="return"?s:"next",a[1]?{done:g.done,value:g.value}:g,c,l):c({value:g,done:p})).catch(g=>r("throw",g,c,l))}catch(g){l(g)}},i=s=>o[s]=a=>new Promise((c,l)=>r(s,a,c,l)),o={};return n=n.apply(t,e),o[Ye("asyncIterator")]=()=>o,i("next"),i("throw"),i("return"),o},Je=t=>{var e=t[Ye("asyncIterator")],n=!1,r,i={};return e==null?(e=t[Ye("iterator")](),r=o=>i[o]=s=>e[o](s)):(e=e.call(t),r=o=>i[o]=s=>{if(n){if(n=!1,o==="throw")throw s;return s}return n=!0,{done:!1,value:new Fe(new Promise(a=>{var c=e[o](s);c instanceof Object||vu("Object expected"),a(c)}),1)}}),i[Ye("iterator")]=()=>i,r("next"),"throw"in e?r("throw"):i.throw=o=>{throw o},"return"in e&&r("return"),i},ts=(t,e,n)=>(e=t[Ye("asyncIterator")])?e.call(t):(t=t[Ye("iterator")](),e={},n=(r,i)=>(i=t[r])&&(e[r]=o=>new Promise((s,a,c)=>(o=i.call(t,o),c=o.done,Promise.resolve(o.value).then(l=>s({value:l,done:c}),a)))),n("next"),n("return"),e);function rs(t){var r;if(typeof document=="undefined")return null;let n="; ".concat(document.cookie).split("; ".concat(t,"="));return n.length===2&&((r=n.pop())==null?void 0:r.split(";").shift())||null}function is(t="local"){let e=ns[t];if(!e)return console.warn("Unknown environment: ".concat(t,". Falling back to local.")),{environment:"local",apiConfig:ns.local};let n=null;if(typeof window!="undefined"&&(n=new URLSearchParams(window.location.search).get("tagadaClientBaseUrl"),!n))try{n=localStorage.getItem("tgd_client_base_url")||rs("tgd_client_base_url")}catch(i){}return n?(console.log("[SDK] Using custom API base URL override: ".concat(n)),{environment:t,apiConfig:A(S({},e),{baseUrl:n})}):{environment:t,apiConfig:e}}function Et(){var i;if(console.log("[SDK] detectEnvironment() called"),typeof window=="undefined")return"local";let e=new URLSearchParams(window.location.search).get("tagadaClientEnv");if(e&&(e==="production"||e==="development"||e==="local"))return console.log("[SDK] Using explicit environment override: ".concat(e)),e;try{let o=localStorage.getItem("tgd_client_env")||rs("tgd_client_env");if(o&&(o==="production"||o==="development"||o==="local"))return console.log("[SDK] Using persisted environment override: ".concat(o)),o}catch(o){}let n=window.location.hostname,r=window.location.href;if(console.log('[SDK] detectEnvironment() - hostname: "'.concat(n,'"')),n==="localhost"||n.startsWith("127.")||n.startsWith("192.168.")||n.startsWith("10.")||n.includes(".local")||n===""||n==="0.0.0.0"||n.includes("ngrok-free.dev")||n.includes("ngrok-free.app")||n.includes("ngrok.io")||n.includes("ngrok.app")||n.includes(".loclx.io")){if(console.log("[SDK] detectEnvironment() - returning LOCAL"),typeof window!="undefined"&&((i=window==null?void 0:window.__TAGADA_ENV__)!=null&&i.TAGADA_ENVIRONMENT)){let o=window.__TAGADA_ENV__.TAGADA_ENVIRONMENT.toLowerCase();if(o==="production"||o==="development"||o==="local")return console.log("[SDK] Local override detected: ".concat(o)),o}return"local"}return n.includes("tagada.io")||n.includes("tagadapay.com")||n.includes("yourproductiondomain.com")?"production":n.includes("tagada.dev")||n.includes("tagadapay.dev")||n.includes("vercel.app")||n.includes("netlify.app")||n.includes("surge.sh")||n.includes("github.io")||n.includes("herokuapp.com")||n.includes("railway.app")||r.includes("?env=dev")||r.includes("?dev=true")||r.includes("#dev")?"development":(console.warn("[SDK] Unknown domain: ".concat(n,", defaulting to production")),"production")}function Rt(t=!1){return Et()!=="local"?!1:t&&typeof window!="undefined"?!window.location.hostname.includes(".cdn."):!0}var ns,en=Ie(()=>{"use strict";ns={production:{baseUrl:"https://api.tagada.io",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}},development:{baseUrl:"https://api.tagada.dev",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}},local:{baseUrl:"http://app.localhost:3000",endpoints:{checkout:{sessionInit:"/api/v1/checkout/session/init",sessionInitAsync:"/api/v1/checkout/session/init-async",sessionStatus:"/api/v1/checkout/session/status",asyncStatus:"/api/public/v1/checkout/async-status"},customer:{profile:"/api/v1/customer/profile",session:"/api/v1/customer/session"},store:{config:"/api/v1/store/config"}}}}});var nn,tn,Ur=Ie(()=>{"use strict";nn=(p=>(p.DIRECT_NAVIGATION="direct_navigation",p.BACK_NAVIGATION="back_navigation",p.CONTINUE_CLICKED="continue_clicked",p.BUTTON_CLICK="button_click",p.FORM_SUBMIT="form_submit",p.PAYMENT_SUCCESS="payment_success",p.PAYMENT_FAILED="payment_failed",p.OFFER_ACCEPTED="offer_accepted",p.OFFER_DECLINED="offer_declined",p.CART_UPDATED="cart_updated",p.CART_ITEM_ADDED="cart_item_added",p.CUSTOM="custom",p))(nn||{}),tn=class{constructor(e){this.apiClient=e}async initialize(e){return this.apiClient.post("/api/v1/funnel/initialize",e)}async navigate(e){return this.apiClient.post("/api/v1/funnel/navigate",e)}async updateContext(e,n){return this.apiClient.patch("/api/v1/funnel/context/".concat(e),n)}async endSession(e){return this.apiClient.delete("/api/v1/funnel/session/".concat(e))}async getSession(e,n,r){let i=new URLSearchParams;n&&i.append("currentUrl",n),r&&i.append("includeDebugData","true");let o="/api/v1/funnel/session/".concat(e).concat(i.toString()?"?".concat(i):"");return this.apiClient.get(o)}}});var Ze,Fr=Ie(()=>{"use strict";Ze=class{constructor(){this.listeners=new Set}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){this.listeners.forEach(n=>{try{n(e)}catch(r){console.error("Error in event listener:",r)}})}clear(){this.listeners.clear()}}});function ue(t){if(typeof window!="undefined")try{let n=localStorage.getItem(rn)!==t;localStorage.setItem(rn,t),n&&window.dispatchEvent(new Event("storage"))}catch(e){console.error("Failed to save token to localStorage:",e)}}function At(){if(typeof window!="undefined")try{return localStorage.getItem(rn)}catch(t){return console.error("Failed to get token from localStorage:",t),null}return null}function Xe(){if(typeof window!="undefined")try{localStorage.removeItem(rn)}catch(t){console.error("Failed to clear token from localStorage:",t)}}var rn,Qe=Ie(()=>{"use strict";rn="cms_token"});function qr(t){typeof document!="undefined"&&(document.cookie="".concat($r,"=").concat(t,"; path=/; max-age=2592000; SameSite=Lax"))}function on(){if(typeof document=="undefined")return;let t=document.cookie.split("; ").find(e=>e.startsWith("".concat($r,"=")));return t?t.split("=")[1]:void 0}function _t(){typeof document!="undefined"&&(document.cookie="".concat($r,"=; path=/; max-age=0"))}function Cu(){return!!on()}function Tu(){var t;if(typeof document!="undefined")try{let e=document.cookie.split("; ").find(r=>r.startsWith("".concat(Iu,"=")));if(!e)return;let n=JSON.parse(decodeURIComponent(e.split("=")[1]));return(t=n==null?void 0:n.metadata)==null?void 0:t.funnelVariantId}catch(e){console.warn("Failed to parse sticky session for variant ID:",e);return}}var $r,Iu,sn=Ie(()=>{"use strict";$r="tgd-funnel-session-id",Iu="tgd-session-id"});function et(t){if(typeof window=="undefined")return null;try{return localStorage.getItem(t)}catch(e){return null}}function tt(t,e){if(typeof window!="undefined")try{localStorage.setItem(t,e)}catch(n){}}function Ot(t){var r;if(typeof document=="undefined")return null;let n=document.cookie.split(";").find(i=>i.trim().startsWith("".concat(t,"=")));return n?(r=n.split("=")[1])==null?void 0:r.trim():null}function xt(t,e,n=86400){if(typeof document!="undefined"){if(t==="tgd_draft"||t==="tgd-draft"){console.warn("\u{1F6E1}\uFE0F [SDK] Blocked attempt to set ".concat(t," as cookie - this should only be in localStorage"));return}document.cookie="".concat(t,"=").concat(e,"; path=/; max-age=").concat(n)}}function ss(t){typeof document!="undefined"&&(document.cookie="".concat(t,"=; path=/; max-age=0"))}function $e(){if(typeof window=="undefined")return{};let t=new URLSearchParams(window.location.search),e,n=t.get("draft");if(n!==null)e=n==="true";else{let w=et(F.DRAFT);w!==null&&(e=w==="true")}let r,i=t.get("funnelTracking");if(i!==null)r=i!=="false";else{let w=et(F.FUNNEL_TRACKING)||Ot(F.FUNNEL_TRACKING);w!==null&&(r=w!=="false")}let o=t.get("token")||At()||null,s=t.get("funnelSessionId")||null,a=t.get("funnelId")||null,c,l=t.get("funnelEnv");l&&(l==="staging"||l==="production")&&(c=l);let u=t.get("forceReset")==="true",d,p=t.get("tagadaClientEnv");if(p&&(p==="production"||p==="development"||p==="local"))d=p;else{let w=et(F.CLIENT_ENV)||Ot(F.CLIENT_ENV);w&&(w==="production"||w==="development"||w==="local")&&(d=w)}let g,m=t.get("tagadaClientBaseUrl");if(m)g=m;else{let w=et(F.CLIENT_BASE_URL)||Ot(F.CLIENT_BASE_URL);w&&(g=w)}let h,f=t.get("currency");if(f)h=f;else{let w=et(F.CURRENCY)||Ot(F.CURRENCY);w&&(h=w)}let b,P=t.get("locale");if(P)b=P;else{let w=et(F.LOCALE)||Ot(F.LOCALE);w&&(b=w)}return{forceReset:u,token:o,funnelSessionId:s,funnelId:a,draft:e,funnelTracking:r,funnelEnv:c,tagadaClientEnv:d,tagadaClientBaseUrl:g,currency:h,locale:b}}function _e(){var e;return(e=$e().draft)!=null?e:!1}function Kr(t){if(typeof window!="undefined")if(t)tt(F.DRAFT,"true");else try{localStorage.removeItem(F.DRAFT)}catch(e){}}function as(t=!1){let e=null;typeof window!="undefined"&&(e=new URLSearchParams(window.location.search).get("token"));let n=$e(),r=n.forceReset||!1;if(!r&&!n.token)return os(),!1;t&&(console.log("[SDK] Detected params:",n),console.log("[SDK] URL token (direct read):",e?e.substring(0,20)+"...":"none")),r&&(t&&console.log("[SDK] Force reset: Clearing all stored state"),Xe(),_t(),typeof window!="undefined"&&window.localStorage&&Object.keys(localStorage).forEach(s=>{(s.startsWith("tagadapay_")||s.startsWith("tgd_"))&&(t&&console.log("[SDK] Clearing localStorage: ".concat(s)),localStorage.removeItem(s))}));let i=e||n.token;return i!=null?(t&&console.log("[SDK] Setting token from URL:",i.substring(0,20)+"..."),i===""||i==="null"?Xe():(ue(i),t&&console.log("[SDK] \u2705 Token set in localStorage immediately after clear"))):r&&(t&&console.log("[SDK] Force reset mode (no token in URL)"),Xe()),os(),n.funnelSessionId&&t&&console.log("[SDK] Using funnelSessionId from URL:",n.funnelSessionId),r}function os(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search),e=t.get("draft");e!==null&&Kr(e==="true");let n=t.get("funnelTracking");n!==null&&Eu(n!=="false");let r=t.get("tagadaClientEnv");r&&(r==="production"||r==="development"||r==="local")&&Ru(r);let i=t.get("tagadaClientBaseUrl");i&&Au(i);let o=t.get("currency");o&&(tt(F.CURRENCY,o.toUpperCase()),xt(F.CURRENCY,o.toUpperCase(),86400));let s=t.get("locale");s&&(tt(F.LOCALE,s),xt(F.LOCALE,s,86400))}function Eu(t){if(typeof window=="undefined")return;let e=t?"true":"false";tt(F.FUNNEL_TRACKING,e),xt(F.FUNNEL_TRACKING,e,86400)}function Ru(t){typeof window!="undefined"&&(tt(F.CLIENT_ENV,t),xt(F.CLIENT_ENV,t,86400))}function ls(){if(typeof window!="undefined")try{localStorage.removeItem(F.CLIENT_ENV),ss(F.CLIENT_ENV)}catch(t){}}function Au(t){typeof window!="undefined"&&(tt(F.CLIENT_BASE_URL,t),xt(F.CLIENT_BASE_URL,t,86400))}function cs(){if(typeof window!="undefined")try{localStorage.removeItem(F.CLIENT_BASE_URL),ss(F.CLIENT_BASE_URL)}catch(t){}}function us(){var e;return(e=$e().funnelTracking)!=null?e:!0}var F,kt=Ie(()=>{"use strict";Qe();sn();F={DRAFT:"tgd_draft",FUNNEL_TRACKING:"tgd_funnel_tracking",FORCE_RESET:"tgd_force_reset",CLIENT_ENV:"tgd_client_env",CLIENT_BASE_URL:"tgd_client_base_url",CURRENCY:"tgd_currency",LOCALE:"tgd_locale"}});var ds={};Tt(ds,{injectPreviewModeIndicator:()=>Ou,isIndicatorInjected:()=>ku,removePreviewModeIndicator:()=>xu});function zr(t){if(typeof window=="undefined"||typeof document=="undefined")return;let e=window.location.hostname,n=e.split("."),r=["",e,"."+e];for(let a=1;a<n.length;a++){let c=n.slice(a).join(".");r.push(c),r.push("."+c)}let i=window.location.pathname.split("/").filter(a=>a),o=["/"],s="";i.forEach(a=>{s+="/"+a,o.push(s)}),r.forEach(a=>{o.forEach(c=>{let l="".concat(t,"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=").concat(c),u=a?"; domain=".concat(a):"";document.cookie=l+u,document.cookie=l+u+"; secure",document.cookie=l+u+"; SameSite=None; secure",document.cookie=l+u+"; SameSite=Lax",document.cookie=l+u+"; SameSite=Strict"})})}function _u(){if(typeof window=="undefined"||!confirm("\u{1F6AA} Leave Preview Mode?\n\nThis will clear ALL cookies and localStorage (including Shopify session, cart, and preview settings) and reload the page.\n\nAre you sure?"))return;let e=new URL(window.location.href);["draft","funnelEnv","funnelTracking","tagadaClientEnv","tagadaClientBaseUrl","forceReset","funnelId","funnelSessionId","token"].forEach(o=>e.searchParams.delete(o)),window.history.replaceState({},"",e.href);try{let o=Object.getOwnPropertyDescriptor(Document.prototype,"cookie")||Object.getOwnPropertyDescriptor(HTMLDocument.prototype,"cookie");o&&o.set&&Object.defineProperty(document,"cookie",{configurable:!0,enumerable:!0,get:function(){return o.get?o.get.call(this):""},set:function(s){if(typeof s=="string"){let a=s.toLowerCase();if(a.includes("tgd_draft")||a.includes("tgd-draft")||a.includes("tgd.draft")||a.includes("tgddraft")){if(a.includes("max-age=0")||a.includes("expires=thu, 01 jan 1970")){o.set&&o.set.call(this,s);return}console.warn("\u{1F6E1}\uFE0F [TagadaPay] BLOCKED: tgd_draft should never be a cookie");return}}o.set&&o.set.call(this,s)}})}catch(o){console.warn("[TagadaPay] Could not install cookie blocker:",o)}if(window.localStorage)try{localStorage.removeItem("tgd_draft"),localStorage.removeItem("tgd_funnel_tracking"),localStorage.removeItem("tgd_client_env"),localStorage.removeItem("tgd_client_base_url"),localStorage.removeItem("cms_token")}catch(o){console.warn("[TagadaPay] Failed to clear some localStorage keys:",o)}Xe(),_t(),ls(),cs(),window.localStorage&&localStorage.clear(),window.sessionStorage&&sessionStorage.clear(),["tgd-funnel-session-id","tgd_draft","tgd_funnel_tracking","tgd_client_env","tgd_client_base_url","cms_token","tagadapay_session"].forEach(o=>zr(o)),["tgd-draft","tgd_draft","tgd.draft","tgddraft"].forEach(o=>zr(o)),document.cookie&&document.cookie.split(";").forEach(s=>{let a=s.split("=")[0].trim();if(!a)return;let c=window.location.hostname,l=c.split("."),u=["",c,"."+c];for(let m=1;m<l.length;m++){let h=l.slice(m).join(".");u.push(h),u.push("."+h)}let d=window.location.pathname.split("/").filter(m=>m),p=["/"],g="";d.forEach(m=>{g+="/"+m,p.push(g)}),u.forEach(m=>{p.forEach(h=>{let f="".concat(a,"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=").concat(h),b=m?"; domain=".concat(m):"";document.cookie=f+b,document.cookie=f+b+"; secure",document.cookie=f+b+"; SameSite=None; secure",document.cookie=f+b+"; SameSite=Lax",document.cookie=f+b+"; SameSite=Strict",document.cookie=f+b+"; secure; SameSite=None",document.cookie=f+b+"; secure; SameSite=Lax",document.cookie=f+b+"; secure; SameSite=Strict"})})}),setTimeout(()=>{window.localStorage&&localStorage.length>0&&localStorage.clear(),zr("tgd_draft"),typeof window.stop=="function"&&window.stop(),window.location.replace(e.href)},10)}function Ou(){if(an||typeof window=="undefined"||typeof document=="undefined")return;let t=$e(),e=_e(),n=!us(),r=!!(t.tagadaClientEnv||t.tagadaClientBaseUrl);if(!e&&!n&&!r)return;let i=document.createElement("div");i.id="tgd-preview-indicator",i.style.cssText='\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 999999;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n ';let o=document.createElement("div");o.style.cssText="\n background: ".concat(e?"#ff9500":"#007aff",";\n color: white;\n padding: 8px 12px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 6px;\n "),o.innerHTML='\n <span style="font-size: 16px;">\u{1F50D}</span>\n <span>'.concat(e?"Preview Mode":"Dev Mode","</span>\n ");let s=document.createElement("div");s.style.cssText="\n position: absolute;\n bottom: calc(100% + 8px);\n right: 0;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 12px;\n min-width: 250px;\n font-size: 12px;\n line-height: 1.5;\n display: none;\n ",s.style.paddingTop="20px";let a=document.createElement("div");a.style.cssText="\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n height: 8px;\n display: none;\n ";let c='<div style="margin-bottom: 8px; font-weight: 600; color: #1d1d1f;">Current Environment</div>';c+='<div style="display: flex; flex-direction: column; gap: 6px;">',e&&(c+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Draft Mode:</span>\n <span style="color: #ff9500; font-weight: 600;">ON</span>\n </div>\n '),n&&(c+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Tracking:</span>\n <span style="color: #ff3b30; font-weight: 600;">DISABLED</span>\n </div>\n '),t.funnelEnv&&(c+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>Funnel Env:</span>\n <span style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 11px;">\n '.concat(t.funnelEnv,"\n </span>\n </div>\n ")),t.tagadaClientEnv&&(c+='\n <div style="display: flex; justify-content: space-between; color: #86868b;">\n <span>API Env:</span>\n <span style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 11px;">\n '.concat(t.tagadaClientEnv,"\n </span>\n </div>\n ")),t.tagadaClientBaseUrl&&(c+='\n <div style="color: #86868b;">\n <div style="margin-bottom: 4px;">API URL:</div>\n <div style="color: #1d1d1f; font-weight: 600; font-family: monospace; font-size: 10px; word-break: break-all; background: #f5f5f7; padding: 4px 6px; border-radius: 4px;">\n '.concat(t.tagadaClientBaseUrl,"\n </div>\n </div>\n ")),t.funnelId&&(c+='\n <div style="color: #86868b; margin-top: 4px; padding-top: 8px; border-top: 1px solid #e5e5e5;">\n <div style="margin-bottom: 4px;">Funnel ID:</div>\n <div style="color: #1d1d1f; font-family: monospace; font-size: 10px; word-break: break-all; background: #f5f5f7; padding: 4px 6px; border-radius: 4px;">\n '.concat(t.funnelId,"\n </div>\n </div>\n ")),c+="</div>",c+='\n <div style="margin-top: 12px; padding-top: 8px; border-top: 1px solid #e5e5e5; font-size: 11px; color: #86868b; text-align: center;">\n Add <code style="background: #f5f5f7; padding: 2px 4px; border-radius: 3px;">?forceReset=true</code> to reset\n </div>\n ',c+='\n <div style="margin-top: 12px; padding-top: 8px; border-top: 1px solid #e5e5e5;">\n <button id="tgd-leave-preview" style="\n background: #ff3b30;\n color: white;\n border: none;\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: opacity 0.2s;\n width: 100%;\n ">\n \u{1F6AA} Leave Preview Mode\n </button>\n </div>\n ',s.innerHTML=c;let l=!1,u=()=>{l=!0,s.style.display="block",a.style.display="block"},d=()=>{l=!1,setTimeout(()=>{l||(s.style.display="none",a.style.display="none")},100)};o.addEventListener("mouseenter",u),o.addEventListener("mouseleave",d),a.addEventListener("mouseenter",u),a.addEventListener("mouseleave",d),s.addEventListener("mouseenter",u),s.addEventListener("mouseleave",d);let p=s.querySelector("#tgd-leave-preview");p&&(p.addEventListener("mouseenter",()=>{p.style.opacity="0.8"}),p.addEventListener("mouseleave",()=>{p.style.opacity="1"}),p.addEventListener("click",g=>{g.stopPropagation(),_u()})),i.appendChild(o),i.appendChild(a),i.appendChild(s),document.body.appendChild(i),nt=i,an=!0}function xu(){nt&&nt.parentNode&&(nt.parentNode.removeChild(nt),nt=null,an=!1)}function ku(){return an}var nt,an,ms=Ie(()=>{"use strict";kt();Qe();sn();nt=null,an=!1});var vs={};Tt(vs,{FunnelClient:()=>Dt,TrackingProvider:()=>hs,findMethod:()=>bs,getAssignedCheckoutOfferDefault:()=>Gu,getAssignedCheckoutOfferIds:()=>zu,getAssignedOrderBumpOfferIds:()=>qu,getAssignedPaymentFlowId:()=>rt,getAssignedPaymentInitiator:()=>Bt,getAssignedPixels:()=>$u,getAssignedResources:()=>ws,getAssignedScripts:()=>Fu,getAssignedStaticResources:()=>Uu,getAssignedStepConfig:()=>ee,getAssignedUpsellOfferIds:()=>Ku,getEnabledMethods:()=>ys,getExpressMethods:()=>Ss,getExpressMethodsByProcessor:()=>Nu,getLocalFunnelConfig:()=>Ps,isMethodEnabled:()=>Du,loadLocalFunnelConfig:()=>Mu});function ys(t){return t?Object.values(t).filter(e=>e.enabled):[]}function Ss(t){return ys(t).filter(e=>e.express)}function Nu(t){let e={};for(let n of Ss(t)){let r=n.processorId||n.integrationId||n.provider;e[r]||(e[r]=[]),e[r].push(n)}return e}function bs(t,e){if(t){for(let n of Object.values(t))if(n.method===e&&n.enabled)return n}}function Du(t,e){return!!bs(t,e)}function Bu(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_ID__)return window.__TGD_FUNNEL_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function ln(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_VARIANT_ID__)return window.__TGD_FUNNEL_VARIANT_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-variant-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function Nt(){if(typeof window!="undefined"){if(window.__TGD_FUNNEL_STEP_ID__)return window.__TGD_FUNNEL_STEP_ID__;if(typeof document!="undefined"){let t=document.querySelector('meta[name="x-funnel-step-id"]');return(t==null?void 0:t.getAttribute("content"))||void 0}}}function gs(t){if(!t||typeof t!="string")return;let e=t.trim();if(!e)return;let n=[()=>JSON.parse(e),()=>JSON.parse(decodeURIComponent(e)),()=>JSON.parse(decodeURIComponent(decodeURIComponent(e)))];for(let r of n)try{let i=r();if(i&&typeof i=="object")return i}catch(i){}typeof console!="undefined"&&console.warn("[SDK] Failed to parse stepConfig:",e.substring(0,100))}function Lu(){if(typeof window=="undefined")return!1;let t=window.location.hostname;return t==="localhost"||t==="127.0.0.1"||t.endsWith(".localhost")&&!t.includes(".cdn.")}async function Mu(){if(!Lu())return null;if(de!==void 0)return de;if(Gr)return await new Promise(t=>setTimeout(t,100)),de!=null?de:null;Gr=!0;try{console.log("\u{1F6E0}\uFE0F [SDK] Loading local funnel config from /config/funnel.local.json...");let t=await fetch("/config/funnel.local.json");if(!t.ok)return console.log("\u{1F6E0}\uFE0F [SDK] funnel.local.json not found (this is fine in production)"),de=null,null;let e=await t.json();return console.log("\u{1F6E0}\uFE0F [SDK] \u2705 Loaded local funnel config:",e),de=e,e}catch(t){return console.log("\u{1F6E0}\uFE0F [SDK] funnel.local.json not available:",t),de=null,null}finally{Gr=!1}}function Ps(){return de!=null?de:null}function ju(t){let e=S(S({},t.staticResources),t.resources);return{payment:t.paymentFlowId?{paymentFlowId:t.paymentFlowId}:void 0,resources:Object.keys(e).length>0?e:void 0,scripts:t.scripts,pixels:t.pixels,orderBumps:t.orderBumps,upsellOffers:t.upsellOffers,checkoutOffers:t.checkoutOffers}}function ee(){if(typeof window=="undefined")return;let t=Ps();if(t)return console.log("\u{1F6E0}\uFE0F [SDK] Using local funnel.local.json (overrides injected)"),ju(t);let e=window.__TGD_STEP_CONFIG__;if(e){let n=gs(e);if(n)return n}if(typeof document!="undefined"){let n=document.querySelector('meta[name="x-step-config"]'),r=n==null?void 0:n.getAttribute("content");if(r){let i=gs(r);if(i)return i}}}function rt(){var n,r;let t=ee(),e=(n=t==null?void 0:t.paymentSetupConfig)==null?void 0:n.card;if(e!=null&&e.paymentFlowId)return e.paymentFlowId;if((r=t==null?void 0:t.payment)!=null&&r.paymentFlowId)return t.payment.paymentFlowId;if(typeof window!="undefined"){if(window.__TGD_PAYMENT_FLOW_ID__)return window.__TGD_PAYMENT_FLOW_ID__;if(typeof document!="undefined"){let i=document.querySelector('meta[name="x-payment-flow-id"]');return(i==null?void 0:i.getAttribute("content"))||void 0}}}function Bt(){let t=ee();return t==null?void 0:t.paymentInitiator}function ws(){let t=ee(),e=t==null?void 0:t.staticResources,n=t==null?void 0:t.resources;if(!(!e&&!n))return S(S({},e),n)}function Uu(){return ws()}function Fu(t){let e=ee();if(!(e!=null&&e.scripts))return;let n=e.scripts.filter(r=>r.enabled);return t&&(n=n.filter(r=>r.position===t||!r.position&&t==="head-end")),n.length>0?n:void 0}function fs(t){let e="containerId"in t?"containerId":"pixelId",n=t[e];if(!n||!n.includes(";")&&!n.includes(","))return[t];let r=n.split(/[;,]/).map(i=>i.trim()).filter(i=>i.length>0);return r.length<=1?[t]:r.map(i=>A(S({},t),{[e]:i}))}function $u(){let t=ee(),e=t==null?void 0:t.pixels;if(!e||typeof e!="object")return;let n={};for(let[r,i]of Object.entries(e))i&&(Array.isArray(i)?n[r]=i.flatMap(o=>fs(o)):typeof i=="object"&&(n[r]=fs(i)));return Object.keys(n).length>0?n:void 0}function qu(){let t=ee();if(t!=null&&t.orderBumps&&t.orderBumps.mode==="custom")return t.orderBumps.enabledOfferIds}function Ku(){let t=ee();if(t!=null&&t.upsellOffers&&t.upsellOffers.mode==="custom")return t.upsellOffers.enabledUpsellIds}function zu(){let t=ee();if(t!=null&&t.checkoutOffers&&t.checkoutOffers.mode==="custom")return t.checkoutOffers.enabledOfferIds}function Gu(){var e;let t=ee();return(e=t==null?void 0:t.checkoutOffers)==null?void 0:e.defaultOfferId}var ps,hs,de,Gr,Dt,qe=Ie(()=>{"use strict";en();Ur();Fr();kt();sn();ps=()=>Promise.resolve().then(()=>(ms(),ds)).then(t=>t.injectPreviewModeIndicator()),hs=(o=>(o.FACEBOOK="facebook",o.TIKTOK="tiktok",o.SNAPCHAT="snapchat",o.PINTEREST="pinterest",o.GTM="gtm",o))(hs||{});Gr=!1;Dt=class{constructor(e){this.eventDispatcher=new Ze;this.isInitializing=!1;this.initializationAttempted=!1;this.config=e,this.resource=new tn(e.apiClient),this.state={context:null,isLoading:!1,isInitialized:!1,isNavigating:!1,error:null,sessionError:null}}setConfig(e){this.config=S(S({},this.config),e)}subscribe(e){return this.eventDispatcher.subscribe(e)}getState(){return this.state}getDetectedSessionId(){var r;if((r=this.state.context)!=null&&r.sessionId)return this.state.context.sessionId;if(typeof window=="undefined")return null;let n=new URLSearchParams(window.location.search).get("funnelSessionId");return n||on()||null}resetInitialization(){this.initializationAttempted=!1,this.isInitializing=!1,this.updateState({context:null,isInitialized:!1})}async autoInitialize(e,n,r){if(this.state.context)return this.state.context;if(this.isInitializing||this.initializationAttempted)return null;this.initializationAttempted=!0,this.isInitializing=!0,this.updateState({isLoading:!0,error:null});try{let i=this.getDetectedSessionId(),a=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||r,c=Bu(),l=ln(),u=Nt(),d=$e(),p=this.config.funnelId||c||a,g=this.config.stepId||u,m=typeof window!="undefined"?new URLSearchParams(window.location.search):null,h=m==null?void 0:m.get("funnelEnv");this.config.debugMode&&console.log("\u{1F680} [FunnelClient] Auto-initializing...",{existingSessionId:i,effectiveFunnelId:p,funnelVariantId:l,funnelStepId:g,draft:d.draft,funnelTracking:d.funnelTracking,funnelEnv:h,tagadaClientEnv:d.tagadaClientEnv,tagadaClientBaseUrl:d.tagadaClientBaseUrl,source:{funnelId:this.config.funnelId?"config":c?"injected":a?"url/prop":"none",stepId:this.config.stepId?"config":u?"injected":"none"}});let f=await this.resource.initialize({cmsSession:{customerId:e.customerId,sessionId:e.sessionId,storeId:n.id,accountId:n.accountId},funnelId:p,existingSessionId:i||void 0,currentUrl:typeof window!="undefined"?window.location.href:void 0,funnelVariantId:l,funnelStepId:g,draft:d.draft,funnelTracking:d.funnelTracking,funnelEnv:h||void 0,tagadaClientEnv:d.tagadaClientEnv,tagadaClientBaseUrl:d.tagadaClientBaseUrl,currency:d.currency,locale:d.locale});if(f.success&&f.context){let b=this.enrichContext(f.context);return this.handleSessionSuccess(b),ps(),b}else throw new Error(f.error||"Failed to initialize funnel session")}catch(i){let o=i instanceof Error?i:new Error(String(i));throw this.updateState({error:o,isLoading:!1}),this.config.debugMode&&console.error("\u274C [FunnelClient] Init failed:",o),o}finally{this.isInitializing=!1}}async initialize(e,n,r,i){this.updateState({isLoading:!0,error:null});try{let o=ln(),s=Nt();this.config.debugMode&&(o&&console.log("\u{1F3AF} [FunnelClient] Detected A/B test variant:",o),s&&console.log("\u{1F3AF} [FunnelClient] Detected step ID:",s));let a=await this.resource.initialize({cmsSession:{customerId:e.customerId,sessionId:e.sessionId,storeId:n.id,accountId:n.accountId},funnelId:r,entryStepId:i,currentUrl:typeof window!="undefined"?window.location.href:void 0,funnelVariantId:o,funnelStepId:s});if(a.success&&a.context){let c=this.enrichContext(a.context);return this.handleSessionSuccess(c),ps(),c}else throw new Error(a.error||"Failed to initialize")}catch(o){let s=o instanceof Error?o:new Error(String(o));throw this.updateState({error:s,isLoading:!1}),s}}async navigate(e,n){var r,i,o,s,a,c;if(n!=null&&n.waitForSession&&!((r=this.state.context)!=null&&r.sessionId)){this.config.debugMode&&console.log("\u23F3 [FunnelClient] Waiting for session before navigation...");let l=5e3,u=Date.now();for(;!((i=this.state.context)!=null&&i.sessionId)&&Date.now()-u<l;)await new Promise(d=>setTimeout(d,100));(o=this.state.context)!=null&&o.sessionId&&this.config.debugMode&&console.log("\u2705 [FunnelClient] Session ready, proceeding with navigation")}if(!((s=this.state.context)!=null&&s.sessionId))throw new Error("No active session");this.updateState({isNavigating:!0,isLoading:!0});try{let l=ln(),u=Nt(),d=typeof window!="undefined"?window.location.href:void 0;!u&&this.config.stepId&&(u=this.config.stepId,this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Using stepId from config (no injection):",u)),!l&&this.config.variantId&&(l=this.config.variantId,this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Using variantId from config (no injection):",l)),this.config.debugMode&&console.log("\u{1F50D} [FunnelClient.navigate] Sending to backend:",{sessionId:this.state.context.sessionId,currentUrl:d,funnelStepId:u||"(not found)",funnelVariantId:l||"(not found)",hasInjectedStepId:!!Nt(),hasInjectedVariantId:!!ln(),usedConfigFallback:!Nt()&&!!this.config.stepId,customerTags:(n==null?void 0:n.customerTags)||"(none)",deviceId:(n==null?void 0:n.deviceId)||"(none)"});let p=(n==null?void 0:n.fireAndForget)||!1,g=await this.resource.navigate({sessionId:this.state.context.sessionId,event:e,currentUrl:d,funnelStepId:u,funnelVariantId:l,fireAndForget:p,customerTags:n==null?void 0:n.customerTags,deviceId:n==null?void 0:n.deviceId});if(!g.success||!g.result)throw new Error(g.error||"Navigation failed");let m=g.result;if(m.queued)return this.updateState({isNavigating:!1,isLoading:!1}),m.sessionId&&m.sessionId!==((a=this.state.context)==null?void 0:a.sessionId)&&(this.config.debugMode&&console.log("\u{1F525} [FunnelClient] Session ID updated: ".concat((c=this.state.context)==null?void 0:c.sessionId," \u2192 ").concat(m.sessionId)),this.state.context&&(this.state.context.sessionId=m.sessionId)),this.config.debugMode&&console.log("\u{1F525} [FunnelClient] Navigation queued (fire-and-forget mode)"),m;let h=(n==null?void 0:n.autoRedirect)!==void 0?n.autoRedirect:this.config.autoRedirect!==!1;return this.updateState({isNavigating:!1,isLoading:!1}),h&&(m!=null&&m.url)&&typeof window!="undefined"&&(this.config.debugMode&&console.log("\u{1F680} [FunnelClient] Auto-redirecting to:",m.url,"(skipped session refresh - next page will initialize)"),window.location.replace(m.url)),m}catch(l){let u=l instanceof Error?l:new Error(String(l));throw this.updateState({error:u,isNavigating:!1,isLoading:!1}),u}}async goToStep(e,n){return this.navigate({type:"direct_navigation",data:{targetStepId:e}},n)}async refreshSession(){var e;if((e=this.state.context)!=null&&e.sessionId)try{let n=await this.resource.getSession(this.state.context.sessionId);if(n.success&&n.context){let r=this.enrichContext(n.context);return this.updateState({context:r,sessionError:null}),r}}catch(n){this.updateState({sessionError:n instanceof Error?n:new Error(String(n))})}}async updateContext(e){var n;if(!((n=this.state.context)!=null&&n.sessionId))throw new Error("No active session");this.updateState({isLoading:!0});try{let r=await this.resource.updateContext(this.state.context.sessionId,{contextUpdates:e});if(r.success)await this.refreshSession();else throw new Error(r.error||"Failed to update context")}finally{this.updateState({isLoading:!1})}}async endSession(){var e;if((e=this.state.context)!=null&&e.sessionId)try{await this.resource.endSession(this.state.context.sessionId)}finally{this.state.context=null,this.updateState({context:null,isInitialized:!1})}}updateState(e){this.state=S(S({},this.state),e),this.eventDispatcher.notify(this.state)}handleSessionSuccess(e){qr(e.sessionId),this.updateState({context:e,isLoading:!1,isInitialized:!0,error:null,sessionError:null})}enrichContext(e){var s,a;if((((s=this.config.environment)==null?void 0:s.environment)||Et())!=="local")return e;let r=((a=this.config.pluginConfig)==null?void 0:a.staticResources)||{};if(Object.keys(r).length===0)return e;let i=e.static||{};return Object.keys(r).every(c=>i[c]===r[c])&&Object.keys(i).length===Object.keys(r).length?e:A(S({},e),{static:S(S({},r),i)})}}});var Ys=v(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.PathError=ge.TokenData=void 0;ge.parse=mi;ge.compile=Cd;ge.match=Ed;ge.pathToRegexp=Hs;ge.stringify=_d;var ci="/",ui=t=>t,zs=new RegExp("^[$_\\p{ID_Start}]$","u"),di=new RegExp("^[$\\u200c\\u200d\\p{ID_Continue}]$","u"),vd={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function Id(t){return t.replace(/[{}()\[\]+?!:*\\]/g,"\\$&")}function Ce(t){return t.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}var vn=class{constructor(e,n){this.tokens=e,this.originalPath=n}};ge.TokenData=vn;var Ge=class extends TypeError{constructor(e,n){let r=e;n&&(r+=": ".concat(n)),r+="; visit https://git.new/pathToRegexpError for info",super(r),this.originalPath=n}};ge.PathError=Ge;function mi(t,e={}){let{encodePath:n=ui}=e,r=[...t],i=[],o=0,s=0;function a(){let l="";if(zs.test(r[o]))do l+=r[o++];while(di.test(r[o]));else if(r[o]==='"'){let u=o;for(;o++<r.length;){if(r[o]==='"'){o++,u=0;break}r[o]==="\\"&&o++,l+=r[o]}if(u)throw new Ge("Unterminated quote at index ".concat(u),t)}if(!l)throw new Ge("Missing parameter name at index ".concat(o),t);return l}for(;o<r.length;){let l=r[o],u=vd[l];u?i.push({type:u,index:o++,value:l}):l==="\\"?i.push({type:"escape",index:o++,value:r[o++]}):l===":"?i.push({type:"param",index:o++,value:a()}):l==="*"?i.push({type:"wildcard",index:o++,value:a()}):i.push({type:"char",index:o++,value:l})}i.push({type:"end",index:o,value:""});function c(l){let u=[];for(;;){let d=i[s++];if(d.type===l)break;if(d.type==="char"||d.type==="escape"){let p=d.value,g=i[s];for(;g.type==="char"||g.type==="escape";)p+=g.value,g=i[++s];u.push({type:"text",value:n(p)});continue}if(d.type==="param"||d.type==="wildcard"){u.push({type:d.type,name:d.value});continue}if(d.type==="{"){u.push({type:"group",tokens:c("}")});continue}throw new Ge("Unexpected ".concat(d.type," at index ").concat(d.index,", expected ").concat(l),t)}return u}return new vn(c("end"),t)}function Cd(t,e={}){let{encode:n=encodeURIComponent,delimiter:r=ci}=e,i=typeof t=="object"?t:mi(t,e),o=Gs(i.tokens,r,n);return function(a={}){let[c,...l]=o(a);if(l.length)throw new TypeError("Missing parameters: ".concat(l.join(", ")));return c}}function Gs(t,e,n){let r=t.map(i=>Td(i,e,n));return i=>{let o=[""];for(let s of r){let[a,...c]=s(i);o[0]+=a,o.push(...c)}return o}}function Td(t,e,n){if(t.type==="text")return()=>[t.value];if(t.type==="group"){let i=Gs(t.tokens,e,n);return o=>{let[s,...a]=i(o);return a.length?[""]:[s]}}let r=n||ui;return t.type==="wildcard"&&n!==!1?i=>{let o=i[t.name];if(o==null)return["",t.name];if(!Array.isArray(o)||o.length===0)throw new TypeError('Expected "'.concat(t.name,'" to be a non-empty array'));return[o.map((s,a)=>{if(typeof s!="string")throw new TypeError('Expected "'.concat(t.name,"/").concat(a,'" to be a string'));return r(s)}).join(e)]}:i=>{let o=i[t.name];if(o==null)return["",t.name];if(typeof o!="string")throw new TypeError('Expected "'.concat(t.name,'" to be a string'));return[r(o)]}}function Ed(t,e={}){let{decode:n=decodeURIComponent,delimiter:r=ci}=e,{regexp:i,keys:o}=Hs(t,e),s=o.map(a=>n===!1?ui:a.type==="param"?n:c=>c.split(r).map(n));return function(c){let l=i.exec(c);if(!l)return!1;let u=l[0],d=Object.create(null);for(let p=1;p<l.length;p++){if(l[p]===void 0)continue;let g=o[p-1],m=s[p-1];d[g.name]=m(l[p])}return{path:u,params:d}}}function Hs(t,e={}){let{delimiter:n=ci,end:r=!0,sensitive:i=!1,trailing:o=!0}=e,s=[],a=i?"":"i",c=[];for(let d of Vs(t,[])){let p=typeof d=="object"?d:mi(d,e);for(let g of wn(p.tokens,0,[]))c.push(Rd(g,n,s,p.originalPath))}let l="^(?:".concat(c.join("|"),")");return o&&(l+="(?:".concat(Ce(n),"$)?")),l+=r?"$":"(?=".concat(Ce(n),"|$)"),{regexp:new RegExp(l,a),keys:s}}function Vs(t,e){if(Array.isArray(t))for(let n of t)Vs(n,e);else e.push(t);return e}function*wn(t,e,n){if(e===t.length)return yield n;let r=t[e];if(r.type==="group")for(let i of wn(r.tokens,0,n.slice()))yield*Je(wn(t,e+1,i));else n.push(r);yield*Je(wn(t,e+1,n))}function Rd(t,e,n,r){let i="",o="",s=!0;for(let a of t){if(a.type==="text"){i+=Ce(a.value),o+=a.value,s||(s=a.value.includes(e));continue}if(a.type==="param"||a.type==="wildcard"){if(!s&&!o)throw new Ge('Missing text before "'.concat(a.name,'" ').concat(a.type),r);a.type==="param"?i+="(".concat(Ad(e,s?"":o),"+)"):i+="([\\s\\S]+)",n.push(a),o="",s=!1;continue}}return i}function Ad(t,e){return e.length<2?t.length<2?"[^".concat(Ce(t+e),"]"):"(?:(?!".concat(Ce(t),")[^").concat(Ce(e),"])"):t.length<2?"(?:(?!".concat(Ce(e),")[^").concat(Ce(t),"])"):"(?:(?!".concat(Ce(e),"|").concat(Ce(t),")[\\s\\S])")}function Ws(t){let e="",n=0;function r(i){return Od(i)&&xd(t[n])?i:JSON.stringify(i)}for(;n<t.length;){let i=t[n++];if(i.type==="text"){e+=Id(i.value);continue}if(i.type==="group"){e+="{".concat(Ws(i.tokens),"}");continue}if(i.type==="param"){e+=":".concat(r(i.name));continue}if(i.type==="wildcard"){e+="*".concat(r(i.name));continue}throw new TypeError("Unknown token type: ".concat(i.type))}return e}function _d(t){return Ws(t.tokens)}function Od(t){let[e,...n]=t;return zs.test(e)&&n.every(r=>di.test(r))}function xd(t){return t&&t.type==="text"?!di.test(t.value[0]):!0}});var Tn=v(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.WEB_ELEMENTS_VERSION=B.USER_AGENT_HEADER=B.USER_AGENT_CLIENT=B.MERGE_CONTENT_TYPE=B.DEFAULT_ELEMENTS_BASE_URL=B.DEFAULT_BASE_URL=B.DD_TOKEN=B.DD_GIT_SHA=B.CONTENT_TYPE_HEADER=B.CLIENT_USER_AGENT_HEADER=B.CLIENT_BASE_PATHS=B.CF_RAY_HEADER=B.BT_TRACE_ID_HEADER=B.BT_IDEMPOTENCY_KEY_HEADER=B.BT_EXPOSE_PROXY_RESPONSE_HEADER=B.BROWSER_LIST=B.API_KEY_HEADER=void 0;var Bd="1.7.2";B.WEB_ELEMENTS_VERSION=Bd;var Ld="BT-API-KEY";B.API_KEY_HEADER=Ld;var Md="bt-trace-id";B.BT_TRACE_ID_HEADER=Md;var jd="cf-ray";B.CF_RAY_HEADER=jd;var Ud="bt-idempotency-key";B.BT_IDEMPOTENCY_KEY_HEADER=Ud;var Fd="BT-EXPOSE-RAW-PROXY-RESPONSE";B.BT_EXPOSE_PROXY_RESPONSE_HEADER=Fd;var $d="Content-Type";B.CONTENT_TYPE_HEADER=$d;var qd="application/merge-patch+json";B.MERGE_CONTENT_TYPE=qd;var Kd="User-Agent";B.USER_AGENT_HEADER=Kd;var zd="BT-CLIENT-USER-AGENT";B.CLIENT_USER_AGENT_HEADER=zd;var Gd="BasisTheoryJS";B.USER_AGENT_CLIENT=Gd;var Hd="https://api.basistheory.com";B.DEFAULT_BASE_URL=Hd;var Vd="https://js.basistheory.com/hosted-elements";B.DEFAULT_ELEMENTS_BASE_URL=Vd;var Wd="pub5f53501515584007899577554c4aeda6";B.DD_TOKEN=Wd;var Yd="b862d8e634020f77c61023ffeee4f0e01c36e871";B.DD_GIT_SHA=Yd;var Jd={tokens:"tokens",tokenize:"tokenize",applications:"applications",applicationKeys:"applications",applicationTemplates:"application-templates",tenants:"tenants/self",logs:"logs",reactorFormulas:"reactor-formulas",reactors:"reactors",permissions:"permissions",proxies:"proxies",proxy:"proxy",sessions:"sessions",threeds:"3ds",tokenIntents:"token-intents"};B.CLIENT_BASE_PATHS=Jd;var Zd=[{browserName:"Firefox",browserUA:"Firefox"},{browserName:"SamsungBrowser",browserUA:"SamsungBrowser"},{browserName:"Opera",browserUA:"Opera"},{browserName:"Opera",browserUA:"OPR"},{browserName:"Microsoft Internet Explorer",browserUA:"Trident"},{browserName:"Microsoft Edge (Legacy)",browserUA:"Edge"},{browserName:"Microsoft Edge (Chromium)",browserUA:"Edg"},{browserName:"Google Chrome/Chromium",browserUA:"Chrome"},{browserName:"Safari",browserUA:"Safari"}];B.BROWSER_LIST=Zd});var _i=v((JS,Ua)=>{"use strict";function ha(t,e){return function(){return t.apply(e,arguments)}}var{toString:Xd}=Object.prototype,{getPrototypeOf:Ii}=Object,{iterator:kn,toStringTag:ya}=Symbol,Nn=(t=>e=>{let n=Xd.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),he=t=>(t=t.toLowerCase(),e=>Nn(e)===t),Dn=t=>e=>typeof e===t,{isArray:St}=Array,ft=Dn("undefined");function $t(t){return t!==null&&!ft(t)&&t.constructor!==null&&!ft(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Sa=he("ArrayBuffer");function Qd(t){let e;return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Sa(t.buffer),e}var em=Dn("string"),ne=Dn("function"),ba=Dn("number"),qt=t=>t!==null&&typeof t=="object",tm=t=>t===!0||t===!1,Rn=t=>{if(Nn(t)!=="object")return!1;let e=Ii(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ya in t)&&!(kn in t)},nm=t=>{if(!qt(t)||$t(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch(e){return!1}},rm=he("Date"),im=he("File"),om=he("Blob"),sm=he("FileList"),am=t=>qt(t)&&ne(t.pipe),lm=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||ne(t.append)&&((e=Nn(t))==="formdata"||e==="object"&&ne(t.toString)&&t.toString()==="[object FormData]"))},cm=he("URLSearchParams"),[um,dm,mm,pm]=["ReadableStream","Request","Response","Headers"].map(he),gm=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kt(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t=="undefined")return;let r,i;if(typeof t!="object"&&(t=[t]),St(t))for(r=0,i=t.length;r<i;r++)e.call(null,t[r],r,t);else{if($t(t))return;let o=n?Object.getOwnPropertyNames(t):Object.keys(t),s=o.length,a;for(r=0;r<s;r++)a=o[r],e.call(null,t[a],a,t)}}function Pa(t,e){if($t(t))return null;e=e.toLowerCase();let n=Object.keys(t),r=n.length,i;for(;r-- >0;)if(i=n[r],e===i.toLowerCase())return i;return null}var He=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global,wa=t=>!ft(t)&&t!==He;function yi(){let{caseless:t,skipUndefined:e}=wa(this)&&this||{},n={},r=(i,o)=>{let s=t&&Pa(n,o)||o;Rn(n[s])&&Rn(i)?n[s]=yi(n[s],i):Rn(i)?n[s]=yi({},i):St(i)?n[s]=i.slice():(!e||!ft(i))&&(n[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&Kt(arguments[i],r);return n}var fm=(t,e,n,{allOwnKeys:r}={})=>(Kt(e,(i,o)=>{n&&ne(i)?t[o]=ha(i,n):t[o]=i},{allOwnKeys:r}),t),hm=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),ym=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Sm=(t,e,n,r)=>{let i,o,s,a={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),o=i.length;o-- >0;)s=i[o],(!r||r(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=n!==!1&&Ii(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},bm=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;let r=t.indexOf(e,n);return r!==-1&&r===n},Pm=t=>{if(!t)return null;if(St(t))return t;let e=t.length;if(!ba(e))return null;let n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},wm=(t=>e=>t&&e instanceof t)(typeof Uint8Array!="undefined"&&Ii(Uint8Array)),vm=(t,e)=>{let r=(t&&t[kn]).call(t),i;for(;(i=r.next())&&!i.done;){let o=i.value;e.call(t,o[0],o[1])}},Im=(t,e)=>{let n,r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},Cm=he("HTMLFormElement"),Tm=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),ea=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Em=he("RegExp"),va=(t,e)=>{let n=Object.getOwnPropertyDescriptors(t),r={};Kt(n,(i,o)=>{let s;(s=e(i,o,t))!==!1&&(r[o]=s||i)}),Object.defineProperties(t,r)},Rm=t=>{va(t,(e,n)=>{if(ne(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;let r=t[n];if(ne(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Am=(t,e)=>{let n={},r=i=>{i.forEach(o=>{n[o]=!0})};return St(t)?r(t):r(String(t).split(e)),n},_m=()=>{},Om=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function xm(t){return!!(t&&ne(t.append)&&t[ya]==="FormData"&&t[kn])}var km=t=>{let e=new Array(10),n=(r,i)=>{if(qt(r)){if(e.indexOf(r)>=0)return;if($t(r))return r;if(!("toJSON"in r)){e[i]=r;let o=St(r)?[]:{};return Kt(r,(s,a)=>{let c=n(s,i+1);!ft(c)&&(o[a]=c)}),e[i]=void 0,o}}return r};return n(t,0)},Nm=he("AsyncFunction"),Dm=t=>t&&(qt(t)||ne(t))&&ne(t.then)&&ne(t.catch),Ia=((t,e)=>t?setImmediate:e?((n,r)=>(He.addEventListener("message",({source:i,data:o})=>{i===He&&o===n&&r.length&&r.shift()()},!1),i=>{r.push(i),He.postMessage(n,"*")}))("axios@".concat(Math.random()),[]):n=>setTimeout(n))(typeof setImmediate=="function",ne(He.postMessage)),Bm=typeof queueMicrotask!="undefined"?queueMicrotask.bind(He):typeof process!="undefined"&&process.nextTick||Ia,Lm=t=>t!=null&&ne(t[kn]),y={isArray:St,isArrayBuffer:Sa,isBuffer:$t,isFormData:lm,isArrayBufferView:Qd,isString:em,isNumber:ba,isBoolean:tm,isObject:qt,isPlainObject:Rn,isEmptyObject:nm,isReadableStream:um,isRequest:dm,isResponse:mm,isHeaders:pm,isUndefined:ft,isDate:rm,isFile:im,isBlob:om,isRegExp:Em,isFunction:ne,isStream:am,isURLSearchParams:cm,isTypedArray:wm,isFileList:sm,forEach:Kt,merge:yi,extend:fm,trim:gm,stripBOM:hm,inherits:ym,toFlatObject:Sm,kindOf:Nn,kindOfTest:he,endsWith:bm,toArray:Pm,forEachEntry:vm,matchAll:Im,isHTMLForm:Cm,hasOwnProperty:ea,hasOwnProp:ea,reduceDescriptors:va,freezeMethods:Rm,toObjectSet:Am,toCamelCase:Tm,noop:_m,toFiniteNumber:Om,findKey:Pa,global:He,isContextDefined:wa,isSpecCompliantForm:xm,toJSONObject:km,isAsyncFn:Nm,isThenable:Dm,setImmediate:Ia,asap:Bm,isIterable:Lm};function O(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}y.inherits(O,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:y.toJSONObject(this.config),code:this.code,status:this.status}}});var Ca=O.prototype,Ta={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Ta[t]={value:t}});Object.defineProperties(O,Ta);Object.defineProperty(Ca,"isAxiosError",{value:!0});O.from=(t,e,n,r,i,o)=>{let s=Object.create(Ca);y.toFlatObject(t,s,function(u){return u!==Error.prototype},l=>l!=="isAxiosError");let a=t&&t.message?t.message:"Error",c=e==null&&t?t.code:e;return O.call(s,a,c,n,r,i),t&&s.cause==null&&Object.defineProperty(s,"cause",{value:t,configurable:!0}),s.name=t&&t.name||"Error",o&&Object.assign(s,o),s};var Mm=null;function Si(t){return y.isPlainObject(t)||y.isArray(t)}function Ea(t){return y.endsWith(t,"[]")?t.slice(0,-2):t}function ta(t,e,n){return t?t.concat(e).map(function(i,o){return i=Ea(i),!n&&o?"["+i+"]":i}).join(n?".":""):e}function jm(t){return y.isArray(t)&&!t.some(Si)}var Um=y.toFlatObject(y,{},null,function(e){return/^is[A-Z]/.test(e)});function Bn(t,e,n){if(!y.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=y.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,f){return!y.isUndefined(f[h])});let r=n.metaTokens,i=n.visitor||u,o=n.dots,s=n.indexes,c=(n.Blob||typeof Blob!="undefined"&&Blob)&&y.isSpecCompliantForm(e);if(!y.isFunction(i))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(y.isDate(m))return m.toISOString();if(y.isBoolean(m))return m.toString();if(!c&&y.isBlob(m))throw new O("Blob is not supported. Use a Buffer instead.");return y.isArrayBuffer(m)||y.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,h,f){let b=m;if(m&&!f&&typeof m=="object"){if(y.endsWith(h,"{}"))h=r?h:h.slice(0,-2),m=JSON.stringify(m);else if(y.isArray(m)&&jm(m)||(y.isFileList(m)||y.endsWith(h,"[]"))&&(b=y.toArray(m)))return h=Ea(h),b.forEach(function(w,I){!(y.isUndefined(w)||w===null)&&e.append(s===!0?ta([h],I,o):s===null?h:h+"[]",l(w))}),!1}return Si(m)?!0:(e.append(ta(f,h,o),l(m)),!1)}let d=[],p=Object.assign(Um,{defaultVisitor:u,convertValue:l,isVisitable:Si});function g(m,h){if(!y.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),y.forEach(m,function(b,P){(!(y.isUndefined(b)||b===null)&&i.call(e,b,y.isString(P)?P.trim():P,h,p))===!0&&g(b,h?h.concat(P):[P])}),d.pop()}}if(!y.isObject(t))throw new TypeError("data must be an object");return g(t),e}function na(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Ci(t,e){this._pairs=[],t&&Bn(t,this,e)}var Ra=Ci.prototype;Ra.append=function(e,n){this._pairs.push([e,n])};Ra.toString=function(e){let n=e?function(r){return e.call(this,r,na)}:na;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Fm(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Aa(t,e,n){if(!e)return t;let r=n&&n.encode||Fm;y.isFunction(n)&&(n={serialize:n});let i=n&&n.serialize,o;if(i?o=i(e,n):o=y.isURLSearchParams(e)?e.toString():new Ci(e,n).toString(r),o){let s=t.indexOf("#");s!==-1&&(t=t.slice(0,s)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}var bi=class{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){y.forEach(this.handlers,function(r){r!==null&&e(r)})}},ra=bi,_a={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$m=typeof URLSearchParams!="undefined"?URLSearchParams:Ci,qm=typeof FormData!="undefined"?FormData:null,Km=typeof Blob!="undefined"?Blob:null,zm={isBrowser:!0,classes:{URLSearchParams:$m,FormData:qm,Blob:Km},protocols:["http","https","file","blob","url","data"]},Ti=typeof window!="undefined"&&typeof document!="undefined",Pi=typeof navigator=="object"&&navigator||void 0,Gm=Ti&&(!Pi||["ReactNative","NativeScript","NS"].indexOf(Pi.product)<0),Hm=typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Vm=Ti&&window.location.href||"http://localhost",Wm=Object.freeze({__proto__:null,hasBrowserEnv:Ti,hasStandardBrowserWebWorkerEnv:Hm,hasStandardBrowserEnv:Gm,navigator:Pi,origin:Vm}),W=S(S({},Wm),zm);function Ym(t,e){return Bn(t,new W.classes.URLSearchParams,S({visitor:function(n,r,i,o){return W.isNode&&y.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function Jm(t){return y.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Zm(t){let e={},n=Object.keys(t),r,i=n.length,o;for(r=0;r<i;r++)o=n[r],e[o]=t[o];return e}function Oa(t){function e(n,r,i,o){let s=n[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=n.length;return s=!s&&y.isArray(i)?i.length:s,c?(y.hasOwnProp(i,s)?i[s]=[i[s],r]:i[s]=r,!a):((!i[s]||!y.isObject(i[s]))&&(i[s]=[]),e(n,r,i[s],o)&&y.isArray(i[s])&&(i[s]=Zm(i[s])),!a)}if(y.isFormData(t)&&y.isFunction(t.entries)){let n={};return y.forEachEntry(t,(r,i)=>{e(Jm(r),i,n,0)}),n}return null}function Xm(t,e,n){if(y.isString(t))try{return(e||JSON.parse)(t),y.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}var Ei={transitional:_a,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){let r=n.getContentType()||"",i=r.indexOf("application/json")>-1,o=y.isObject(e);if(o&&y.isHTMLForm(e)&&(e=new FormData(e)),y.isFormData(e))return i?JSON.stringify(Oa(e)):e;if(y.isArrayBuffer(e)||y.isBuffer(e)||y.isStream(e)||y.isFile(e)||y.isBlob(e)||y.isReadableStream(e))return e;if(y.isArrayBufferView(e))return e.buffer;if(y.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Ym(e,this.formSerializer).toString();if((a=y.isFileList(e))||r.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Bn(a?{"files[]":e}:e,c&&new c,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),Xm(e)):e}],transformResponse:[function(e){let n=this.transitional||Ei.transitional,r=n&&n.forcedJSONParsing,i=this.responseType==="json";if(y.isResponse(e)||y.isReadableStream(e))return e;if(e&&y.isString(e)&&(r&&!this.responseType||i)){let s=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?O.from(a,O.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:W.classes.FormData,Blob:W.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};y.forEach(["delete","get","head","post","put","patch"],t=>{Ei.headers[t]={}});var Ri=Ei,Qm=y.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ep=t=>{let e={},n,r,i;return t&&t.split("\n").forEach(function(s){i=s.indexOf(":"),n=s.substring(0,i).trim().toLowerCase(),r=s.substring(i+1).trim(),!(!n||e[n]&&Qm[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},ia=Symbol("internals");function Ft(t){return t&&String(t).trim().toLowerCase()}function An(t){return t===!1||t==null?t:y.isArray(t)?t.map(An):String(t)}function tp(t){let e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}var np=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function gi(t,e,n,r,i){if(y.isFunction(r))return r.call(this,e,n);if(i&&(e=n),!!y.isString(e)){if(y.isString(r))return e.indexOf(r)!==-1;if(y.isRegExp(r))return r.test(e)}}function rp(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function ip(t,e){let n=y.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(i,o,s){return this[r].call(this,e,i,o,s)},configurable:!0})})}var ht=class{constructor(e){e&&this.set(e)}set(e,n,r){let i=this;function o(a,c,l){let u=Ft(c);if(!u)throw new Error("header name must be a non-empty string");let d=y.findKey(i,u);(!d||i[d]===void 0||l===!0||l===void 0&&i[d]!==!1)&&(i[d||c]=An(a))}let s=(a,c)=>y.forEach(a,(l,u)=>o(l,u,c));if(y.isPlainObject(e)||e instanceof this.constructor)s(e,n);else if(y.isString(e)&&(e=e.trim())&&!np(e))s(ep(e),n);else if(y.isObject(e)&&y.isIterable(e)){let a={},c,l;for(let u of e){if(!y.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(c=a[l])?y.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}s(a,n)}else e!=null&&o(n,e,r);return this}get(e,n){if(e=Ft(e),e){let r=y.findKey(this,e);if(r){let i=this[r];if(!n)return i;if(n===!0)return tp(i);if(y.isFunction(n))return n.call(this,i,r);if(y.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ft(e),e){let r=y.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||gi(this,this[r],r,n)))}return!1}delete(e,n){let r=this,i=!1;function o(s){if(s=Ft(s),s){let a=y.findKey(r,s);a&&(!n||gi(r,r[a],a,n))&&(delete r[a],i=!0)}}return y.isArray(e)?e.forEach(o):o(e),i}clear(e){let n=Object.keys(this),r=n.length,i=!1;for(;r--;){let o=n[r];(!e||gi(this,this[o],o,e,!0))&&(delete this[o],i=!0)}return i}normalize(e){let n=this,r={};return y.forEach(this,(i,o)=>{let s=y.findKey(r,o);if(s){n[s]=An(i),delete n[o];return}let a=e?rp(o):String(o).trim();a!==o&&delete n[o],n[a]=An(i),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let n=Object.create(null);return y.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=e&&y.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){let r=new this(e);return n.forEach(i=>r.set(i)),r}static accessor(e){let r=(this[ia]=this[ia]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=Ft(s);r[a]||(ip(i,s),r[a]=!0)}return y.isArray(e)?e.forEach(o):o(e),this}};ht.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);y.reduceDescriptors(ht.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});y.freezeMethods(ht);var fe=ht;function fi(t,e){let n=this||Ri,r=e||n,i=fe.from(r.headers),o=r.data;return y.forEach(t,function(a){o=a.call(n,o,i.normalize(),e?e.status:void 0)}),i.normalize(),o}function xa(t){return!!(t&&t.__CANCEL__)}function bt(t,e,n){O.call(this,t==null?"canceled":t,O.ERR_CANCELED,e,n),this.name="CanceledError"}y.inherits(bt,O,{__CANCEL__:!0});function ka(t,e,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new O("Request failed with status code "+n.status,[O.ERR_BAD_REQUEST,O.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function op(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function sp(t,e){t=t||10;let n=new Array(t),r=new Array(t),i=0,o=0,s;return e=e!==void 0?e:1e3,function(c){let l=Date.now(),u=r[o];s||(s=l),n[i]=c,r[i]=l;let d=o,p=0;for(;d!==i;)p+=n[d++],d=d%t;if(i=(i+1)%t,i===o&&(o=(o+1)%t),l-s<e)return;let g=u&&l-u;return g?Math.round(p*1e3/g):void 0}}function ap(t,e){let n=0,r=1e3/e,i,o,s=(l,u=Date.now())=>{n=u,i=null,o&&(clearTimeout(o),o=null),t(...l)};return[(...l)=>{let u=Date.now(),d=u-n;d>=r?s(l,u):(i=l,o||(o=setTimeout(()=>{o=null,s(i)},r-d)))},()=>i&&s(i)]}var xn=(t,e,n=3)=>{let r=0,i=sp(50,250);return ap(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-r,l=i(c),u=s<=a;r=s;let d={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&u?(a-s)/l:void 0,event:o,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(d)},n)},oa=(t,e)=>{let n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},sa=t=>(...e)=>y.asap(()=>t(...e)),lp=W.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,W.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(W.origin),W.navigator&&/(msie|trident)/i.test(W.navigator.userAgent)):()=>!0,cp=W.hasStandardBrowserEnv?{write(t,e,n,r,i,o,s){if(typeof document=="undefined")return;let a=["".concat(t,"=").concat(encodeURIComponent(e))];y.isNumber(n)&&a.push("expires=".concat(new Date(n).toUTCString())),y.isString(r)&&a.push("path=".concat(r)),y.isString(i)&&a.push("domain=".concat(i)),o===!0&&a.push("secure"),y.isString(s)&&a.push("SameSite=".concat(s)),document.cookie=a.join("; ")},read(t){if(typeof document=="undefined")return null;let e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function up(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function dp(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Na(t,e,n){let r=!up(e);return t&&(r||n==!1)?dp(t,e):e}var aa=t=>t instanceof fe?S({},t):t;function Ve(t,e){e=e||{};let n={};function r(l,u,d,p){return y.isPlainObject(l)&&y.isPlainObject(u)?y.merge.call({caseless:p},l,u):y.isPlainObject(u)?y.merge({},u):y.isArray(u)?u.slice():u}function i(l,u,d,p){if(y.isUndefined(u)){if(!y.isUndefined(l))return r(void 0,l,d,p)}else return r(l,u,d,p)}function o(l,u){if(!y.isUndefined(u))return r(void 0,u)}function s(l,u){if(y.isUndefined(u)){if(!y.isUndefined(l))return r(void 0,l)}else return r(void 0,u)}function a(l,u,d){if(d in e)return r(l,u);if(d in t)return r(void 0,l)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,u,d)=>i(aa(l),aa(u),d,!0)};return y.forEach(Object.keys(S(S({},t),e)),function(u){let d=c[u]||i,p=d(t[u],e[u],u);y.isUndefined(p)&&d!==a||(n[u]=p)}),n}var Da=t=>{let e=Ve({},t),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=e;if(e.headers=s=fe.from(s),e.url=Aa(Na(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),y.isFormData(n)){if(W.hasStandardBrowserEnv||W.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(y.isFunction(n.getHeaders)){let c=n.getHeaders(),l=["content-type","content-length"];Object.entries(c).forEach(([u,d])=>{l.includes(u.toLowerCase())&&s.set(u,d)})}}if(W.hasStandardBrowserEnv&&(r&&y.isFunction(r)&&(r=r(e)),r||r!==!1&&lp(e.url))){let c=i&&o&&cp.read(o);c&&s.set(i,c)}return e},mp=typeof XMLHttpRequest!="undefined",pp=mp&&function(t){return new Promise(function(n,r){let i=Da(t),o=i.data,s=fe.from(i.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:l}=i,u,d,p,g,m;function h(){g&&g(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let f=new XMLHttpRequest;f.open(i.method.toUpperCase(),i.url,!0),f.timeout=i.timeout;function b(){if(!f)return;let w=fe.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),E={data:!a||a==="text"||a==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:w,config:t,request:f};ka(function(_){n(_),h()},function(_){r(_),h()},E),f=null}"onloadend"in f?f.onloadend=b:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(b)},f.onabort=function(){f&&(r(new O("Request aborted",O.ECONNABORTED,t,f)),f=null)},f.onerror=function(I){let E=I&&I.message?I.message:"Network Error",R=new O(E,O.ERR_NETWORK,t,f);R.event=I||null,r(R),f=null},f.ontimeout=function(){let I=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",E=i.transitional||_a;i.timeoutErrorMessage&&(I=i.timeoutErrorMessage),r(new O(I,E.clarifyTimeoutError?O.ETIMEDOUT:O.ECONNABORTED,t,f)),f=null},o===void 0&&s.setContentType(null),"setRequestHeader"in f&&y.forEach(s.toJSON(),function(I,E){f.setRequestHeader(E,I)}),y.isUndefined(i.withCredentials)||(f.withCredentials=!!i.withCredentials),a&&a!=="json"&&(f.responseType=i.responseType),l&&([p,m]=xn(l,!0),f.addEventListener("progress",p)),c&&f.upload&&([d,g]=xn(c),f.upload.addEventListener("progress",d),f.upload.addEventListener("loadend",g)),(i.cancelToken||i.signal)&&(u=w=>{f&&(r(!w||w.type?new bt(null,t,f):w),f.abort(),f=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));let P=op(i.url);if(P&&W.protocols.indexOf(P)===-1){r(new O("Unsupported protocol "+P+":",O.ERR_BAD_REQUEST,t));return}f.send(o||null)})},gp=(t,e)=>{let{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,i,o=function(l){if(!i){i=!0,a();let u=l instanceof Error?l:this.reason;r.abort(u instanceof O?u:new bt(u instanceof Error?u.message:u))}},s=e&&setTimeout(()=>{s=null,o(new O("timeout ".concat(e," of ms exceeded"),O.ETIMEDOUT))},e),a=()=>{t&&(s&&clearTimeout(s),s=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),t=null)};t.forEach(l=>l.addEventListener("abort",o));let{signal:c}=r;return c.unsubscribe=()=>y.asap(a),c}},fp=gp,hp=function*(t,e){let n=t.byteLength;if(!e||n<e){yield t;return}let r=0,i;for(;r<n;)i=r+e,yield t.slice(r,i),r=i},yp=function(t,e){return jr(this,null,function*(){try{for(var n=ts(Sp(t)),r,i,o;r=!(i=yield new Fe(n.next())).done;r=!1){let s=i.value;yield*Je(hp(s,e))}}catch(i){o=[i]}finally{try{r&&(i=n.return)&&(yield new Fe(i.call(n)))}finally{if(o)throw o[0]}}})},Sp=function(t){return jr(this,null,function*(){if(t[Symbol.asyncIterator]){yield*Je(t);return}let e=t.getReader();try{for(;;){let{done:n,value:r}=yield new Fe(e.read());if(n)break;yield r}}finally{yield new Fe(e.cancel())}})},la=(t,e,n,r)=>{let i=yp(t,e),o=0,s,a=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{let{done:l,value:u}=await i.next();if(l){a(),c.close();return}let d=u.byteLength;if(n){let p=o+=d;n(p)}c.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(c){return a(c),i.return()}},{highWaterMark:2})},ca=64*1024,{isFunction:En}=y,bp=(({Request:t,Response:e})=>({Request:t,Response:e}))(y.global),{ReadableStream:ua,TextEncoder:da}=y.global,ma=(t,...e)=>{try{return!!t(...e)}catch(n){return!1}},Pp=t=>{t=y.merge.call({skipUndefined:!0},bp,t);let{fetch:e,Request:n,Response:r}=t,i=e?En(e):typeof fetch=="function",o=En(n),s=En(r);if(!i)return!1;let a=i&&En(ua),c=i&&(typeof da=="function"?(m=>h=>m.encode(h))(new da):async m=>new Uint8Array(await new n(m).arrayBuffer())),l=o&&a&&ma(()=>{let m=!1,h=new n(W.origin,{body:new ua,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!h}),u=s&&a&&ma(()=>y.isReadableStream(new r("").body)),d={stream:u&&(m=>m.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!d[m]&&(d[m]=(h,f)=>{let b=h&&h[m];if(b)return b.call(h);throw new O("Response type '".concat(m,"' is not supported"),O.ERR_NOT_SUPPORT,f)})});let p=async m=>{if(m==null)return 0;if(y.isBlob(m))return m.size;if(y.isSpecCompliantForm(m))return(await new n(W.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(y.isArrayBufferView(m)||y.isArrayBuffer(m))return m.byteLength;if(y.isURLSearchParams(m)&&(m=m+""),y.isString(m))return(await c(m)).byteLength},g=async(m,h)=>{let f=y.toFiniteNumber(m.getContentLength());return f==null?p(h):f};return async m=>{let{url:h,method:f,data:b,signal:P,cancelToken:w,timeout:I,onDownloadProgress:E,onUploadProgress:R,responseType:_,headers:C,withCredentials:M="same-origin",fetchOptions:k}=Da(m),N=e||fetch;_=_?(_+"").toLowerCase():"text";let x=fp([P,w&&w.toAbortSignal()],I),q=null,G=x&&x.unsubscribe&&(()=>{x.unsubscribe()}),V;try{if(R&&l&&f!=="get"&&f!=="head"&&(V=await g(C,b))!==0){let K=new n(h,{method:"POST",body:b,duplex:"half"}),Q;if(y.isFormData(b)&&(Q=K.headers.get("content-type"))&&C.setContentType(Q),K.body){let[ae,oe]=oa(V,xn(sa(R)));b=la(K.body,ca,ae,oe)}}y.isString(M)||(M=M?"include":"omit");let U=o&&"credentials"in n.prototype,Me=A(S({},k),{signal:x,method:f.toUpperCase(),headers:C.normalize().toJSON(),body:b,duplex:"half",credentials:U?M:void 0});q=o&&new n(h,Me);let D=await(o?N(q,k):N(h,Me)),ve=u&&(_==="stream"||_==="response");if(u&&(E||ve&&G)){let K={};["status","statusText","headers"].forEach(ce=>{K[ce]=D[ce]});let Q=y.toFiniteNumber(D.headers.get("content-length")),[ae,oe]=E&&oa(Q,xn(sa(E),!0))||[];D=new r(la(D.body,ca,ae,()=>{oe&&oe(),G&&G()}),K)}_=_||"text";let j=await d[y.findKey(d,_)||"text"](D,m);return!ve&&G&&G(),await new Promise((K,Q)=>{ka(K,Q,{data:j,headers:fe.from(D.headers),status:D.status,statusText:D.statusText,config:m,request:q})})}catch(U){throw G&&G(),U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message)?Object.assign(new O("Network Error",O.ERR_NETWORK,m,q),{cause:U.cause||U}):O.from(U,U&&U.code,m,q)}}},wp=new Map,Ba=t=>{let e=t&&t.env||{},{fetch:n,Request:r,Response:i}=e,o=[r,i,n],s=o.length,a=s,c,l,u=wp;for(;a--;)c=o[a],l=u.get(c),l===void 0&&u.set(c,l=a?new Map:Pp(e)),u=l;return l};Ba();var Ai={http:Mm,xhr:pp,fetch:{get:Ba}};y.forEach(Ai,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}});var pa=t=>"- ".concat(t),vp=t=>y.isFunction(t)||t===null||t===!1;function Ip(t,e){t=y.isArray(t)?t:[t];let{length:n}=t,r,i,o={};for(let s=0;s<n;s++){r=t[s];let a;if(i=r,!vp(r)&&(i=Ai[(a=String(r)).toLowerCase()],i===void 0))throw new O("Unknown adapter '".concat(a,"'"));if(i&&(y.isFunction(i)||(i=i.get(e))))break;o[a||"#"+s]=i}if(!i){let s=Object.entries(o).map(([c,l])=>"adapter ".concat(c," ")+(l===!1?"is not supported by the environment":"is not available in the build")),a=n?s.length>1?"since :\n"+s.map(pa).join("\n"):" "+pa(s[0]):"as no adapter specified";throw new O("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return i}var La={getAdapter:Ip,adapters:Ai};function hi(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new bt(null,t)}function ga(t){return hi(t),t.headers=fe.from(t.headers),t.data=fi.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),La.getAdapter(t.adapter||Ri.adapter,t)(t).then(function(r){return hi(t),r.data=fi.call(t,t.transformResponse,r),r.headers=fe.from(r.headers),r},function(r){return xa(r)||(hi(t),r&&r.response&&(r.response.data=fi.call(t,t.transformResponse,r.response),r.response.headers=fe.from(r.response.headers))),Promise.reject(r)})}var Ma="1.13.2",Ln={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ln[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});var fa={};Ln.transitional=function(e,n,r){function i(o,s){return"[Axios v"+Ma+"] Transitional option '"+o+"'"+s+(r?". "+r:"")}return(o,s,a)=>{if(e===!1)throw new O(i(s," has been removed"+(n?" in "+n:"")),O.ERR_DEPRECATED);return n&&!fa[s]&&(fa[s]=!0,console.warn(i(s," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,s,a):!0}};Ln.spelling=function(e){return(n,r)=>(console.warn("".concat(r," is likely a misspelling of ").concat(e)),!0)};function Cp(t,e,n){if(typeof t!="object")throw new O("options must be an object",O.ERR_BAD_OPTION_VALUE);let r=Object.keys(t),i=r.length;for(;i-- >0;){let o=r[i],s=e[o];if(s){let a=t[o],c=a===void 0||s(a,o,t);if(c!==!0)throw new O("option "+o+" must be "+c,O.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new O("Unknown option "+o,O.ERR_BAD_OPTION)}}var _n={assertOptions:Cp,validators:Ln},Te=_n.validators,yt=class{constructor(e){this.defaults=e||{},this.interceptors={request:new ra,response:new ra}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;let o=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+="\n"+o):r.stack=o}catch(s){}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Ve(this.defaults,n);let{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&_n.assertOptions(r,{silentJSONParsing:Te.transitional(Te.boolean),forcedJSONParsing:Te.transitional(Te.boolean),clarifyTimeoutError:Te.transitional(Te.boolean)},!1),i!=null&&(y.isFunction(i)?n.paramsSerializer={serialize:i}:_n.assertOptions(i,{encode:Te.function,serialize:Te.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),_n.assertOptions(n,{baseUrl:Te.spelling("baseURL"),withXsrfToken:Te.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&y.merge(o.common,o[n.method]);o&&y.forEach(["delete","get","head","post","put","patch","common"],m=>{delete o[m]}),n.headers=fe.concat(s,o);let a=[],c=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(c=c&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});let l=[];this.interceptors.response.forEach(function(h){l.push(h.fulfilled,h.rejected)});let u,d=0,p;if(!c){let m=[ga.bind(this),void 0];for(m.unshift(...a),m.push(...l),p=m.length,u=Promise.resolve(n);d<p;)u=u.then(m[d++],m[d++]);return u}p=a.length;let g=n;for(;d<p;){let m=a[d++],h=a[d++];try{g=m(g)}catch(f){h.call(this,f);break}}try{u=ga.call(this,g)}catch(m){return Promise.reject(m)}for(d=0,p=l.length;d<p;)u=u.then(l[d++],l[d++]);return u}getUri(e){e=Ve(this.defaults,e);let n=Na(e.baseURL,e.url,e.allowAbsoluteUrls);return Aa(n,e.params,e.paramsSerializer)}};y.forEach(["delete","get","head","options"],function(e){yt.prototype[e]=function(n,r){return this.request(Ve(r||{},{method:e,url:n,data:(r||{}).data}))}});y.forEach(["post","put","patch"],function(e){function n(r){return function(o,s,a){return this.request(Ve(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}yt.prototype[e]=n(),yt.prototype[e+"Form"]=n(!0)});var On=yt,wi=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});let r=this;this.promise.then(i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o,s=new Promise(a=>{r.subscribe(a),o=a}).then(i);return s.cancel=function(){r.unsubscribe(o)},s},e(function(o,s,a){r.reason||(r.reason=new bt(o,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){let e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new t(function(i){e=i}),cancel:e}}},Tp=wi;function Ep(t){return function(n){return t.apply(null,n)}}function Rp(t){return y.isObject(t)&&t.isAxiosError===!0}var vi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(vi).forEach(([t,e])=>{vi[e]=t});var Ap=vi;function ja(t){let e=new On(t),n=ha(On.prototype.request,e);return y.extend(n,On.prototype,e,{allOwnKeys:!0}),y.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return ja(Ve(t,i))},n}var z=ja(Ri);z.Axios=On;z.CanceledError=bt;z.CancelToken=Tp;z.isCancel=xa;z.VERSION=Ma;z.toFormData=Bn;z.AxiosError=O;z.Cancel=z.CanceledError;z.all=function(e){return Promise.all(e)};z.spread=Ep;z.isAxiosError=Rp;z.mergeConfig=Ve;z.AxiosHeaders=fe;z.formToJSON=t=>Oa(y.isHTMLForm(t)?new FormData(t):t);z.getAdapter=La.getAdapter;z.HttpStatusCode=Ap;z.default=z;Ua.exports=z});var ki=v((XS,xi)=>{"use strict";var $a=t=>typeof t=="object"&&t!==null,qa=Symbol("skip"),Fa=t=>$a(t)&&!(t instanceof RegExp)&&!(t instanceof Error)&&!(t instanceof Date),Oi=(t,e,n,r=new WeakMap)=>{if(n=S({deep:!1,target:{}},n),r.has(t))return r.get(t);r.set(t,n.target);let{target:i}=n;delete n.target;let o=s=>s.map(a=>Fa(a)?Oi(a,e,n,r):a);if(Array.isArray(t))return o(t);for(let[s,a]of Object.entries(t)){let c=e(s,a,t);if(c===qa)continue;let[l,u,{shouldRecurse:d=!0}={}]=c;l!=="__proto__"&&(n.deep&&d&&Fa(u)&&(u=Array.isArray(u)?o(u):Oi(u,e,n,r)),i[l]=u)}return i};xi.exports=(t,e,n)=>{if(!$a(t))throw new TypeError("Expected an object, got `".concat(t,"` (").concat(typeof t,")"));return Oi(t,e,n)};xi.exports.mapObjectSkip=qa});var za=v((eb,Ni)=>{"use strict";var _p=t=>{let e=!1,n=!1,r=!1;for(let i=0;i<t.length;i++){let o=t[i];e&&/[a-zA-Z]/.test(o)&&o.toUpperCase()===o?(t=t.slice(0,i)+"-"+t.slice(i),e=!1,r=n,n=!0,i++):n&&r&&/[a-zA-Z]/.test(o)&&o.toLowerCase()===o?(t=t.slice(0,i-1)+"-"+t.slice(i-1),r=n,n=!1,e=!0):(e=o.toLowerCase()===o&&o.toUpperCase()!==o,r=n,n=o.toUpperCase()===o&&o.toLowerCase()!==o)}return t},Ka=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let n=i=>e.pascalCase?i.charAt(0).toUpperCase()+i.slice(1):i;return Array.isArray(t)?t=t.map(i=>i.trim()).filter(i=>i.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=_p(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(i,o)=>o.toUpperCase()).replace(/\d+(\w|$)/g,i=>i.toUpperCase()),n(t))};Ni.exports=Ka;Ni.exports.default=Ka});var Ha=v((tb,Ga)=>{"use strict";var Di=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,n){this.cache.set(e,n),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let n=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,n),n}}set(e,n){return this.cache.has(e)?this.cache.set(e,n):this._set(e,n),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let n=this.cache.delete(e);return n&&this._size--,this.oldCache.delete(e)||n}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[n]=e;this.cache.has(n)||(yield e)}}get size(){let e=0;for(let n of this.oldCache.keys())this.cache.has(n)||e++;return this._size+e}};Ga.exports=Di});var Za=v((nb,Ja)=>{"use strict";var Va=ki(),Op=za(),xp=Ha(),kp=(t,e)=>t.some(n=>typeof n=="string"?n===e:(n.lastIndex=0,n.test(e))),Bi=new xp({maxSize:1e5}),Wa=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp)&&!(t instanceof Error)&&!(t instanceof Date),Ya=(t,e)=>{if(!Wa(t))return t;e=S({deep:!1,pascalCase:!1},e);let{exclude:n,pascalCase:r,stopPaths:i,deep:o}=e,s=new Set(i),a=c=>(l,u)=>{if(o&&Wa(u)){let d=c===void 0?l:"".concat(c,".").concat(l);s.has(d)||(u=Va(u,a(d)))}if(!(n&&kp(n,l))){let d=r?"".concat(l,"_"):l;if(Bi.has(d))l=Bi.get(d);else{let p=Op(l,{pascalCase:r});l.length<100&&Bi.set(d,p),l=p}}return[l,u]};return Va(t,a(void 0))};Ja.exports=(t,e)=>Array.isArray(t)?Object.keys(t).map(n=>Ya(t[n],e)):Ya(t,e)});var Li=v((ib,Xa)=>{Xa.exports=Li()});var Fi={};Tt(Fi,{__addDisposableResource:()=>Il,__assign:()=>Mn,__asyncDelegator:()=>fl,__asyncGenerator:()=>gl,__asyncValues:()=>hl,__await:()=>Pt,__awaiter:()=>ll,__classPrivateFieldGet:()=>Pl,__classPrivateFieldIn:()=>vl,__classPrivateFieldSet:()=>wl,__createBinding:()=>Un,__decorate:()=>tl,__disposeResources:()=>Cl,__esDecorate:()=>rl,__exportStar:()=>ul,__extends:()=>Qa,__generator:()=>cl,__importDefault:()=>bl,__importStar:()=>Sl,__makeTemplateObject:()=>yl,__metadata:()=>al,__param:()=>nl,__propKey:()=>ol,__read:()=>Ui,__rest:()=>el,__rewriteRelativeImportExtension:()=>Tl,__runInitializers:()=>il,__setFunctionName:()=>sl,__spread:()=>dl,__spreadArray:()=>pl,__spreadArrays:()=>ml,__values:()=>jn,default:()=>Bp});function Qa(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Mi(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function el(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function tl(t,e,n,r){var i=arguments.length,o=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(i<3?s(o):i>3?s(e,n,o):s(e,n))||o);return i>3&&o&&Object.defineProperty(e,n,o),o}function nl(t,e){return function(n,r){e(n,r,t)}}function rl(t,e,n,r,i,o){function s(b){if(b!==void 0&&typeof b!="function")throw new TypeError("Function expected");return b}for(var a=r.kind,c=a==="getter"?"get":a==="setter"?"set":"value",l=!e&&t?r.static?t:t.prototype:null,u=e||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,p=!1,g=n.length-1;g>=0;g--){var m={};for(var h in r)m[h]=h==="access"?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(b){if(p)throw new TypeError("Cannot add initializers after decoration has completed");o.push(s(b||null))};var f=(0,n[g])(a==="accessor"?{get:u.get,set:u.set}:u[c],m);if(a==="accessor"){if(f===void 0)continue;if(f===null||typeof f!="object")throw new TypeError("Object expected");(d=s(f.get))&&(u.get=d),(d=s(f.set))&&(u.set=d),(d=s(f.init))&&i.unshift(d)}else(d=s(f))&&(a==="field"?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),p=!0}function il(t,e,n){for(var r=arguments.length>2,i=0;i<e.length;i++)n=r?e[i].call(t,n):e[i].call(t);return r?n:void 0}function ol(t){return typeof t=="symbol"?t:"".concat(t)}function sl(t,e,n){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(t,"name",{configurable:!0,value:n?"".concat(n," ",e):e})}function al(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ll(t,e,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function a(u){try{l(r.next(u))}catch(d){s(d)}}function c(u){try{l(r.throw(u))}catch(d){s(d)}}function l(u){u.done?o(u.value):i(u.value).then(a,c)}l((r=r.apply(t,e||[])).next())})}function cl(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(l){return function(u){return c([l,u])}}function c(l){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,l[0]&&(n=0)),n;)try{if(r=1,i&&(o=l[0]&2?i.return:l[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,l[1])).done)return o;switch(i=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return n.label++,{value:l[1],done:!1};case 5:n.label++,i=l[1],l=[0];continue;case 7:l=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){n.label=l[1];break}if(l[0]===6&&n.label<o[1]){n.label=o[1],o=l;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(l);break}o[2]&&n.ops.pop(),n.trys.pop();continue}l=e.call(t,n)}catch(u){l=[6,u],i=0}finally{r=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function ul(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Un(e,t,n)}function jn(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ui(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(a){s={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return o}function dl(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Ui(arguments[e]));return t}function ml(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var r=Array(t),i=0,e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r}function pl(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function Pt(t){return this instanceof Pt?(this.v=t,this):new Pt(t)}function gl(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),i[Symbol.asyncIterator]=function(){return this},i;function s(g){return function(m){return Promise.resolve(m).then(g,d)}}function a(g,m){r[g]&&(i[g]=function(h){return new Promise(function(f,b){o.push([g,h,f,b])>1||c(g,h)})},m&&(i[g]=m(i[g])))}function c(g,m){try{l(r[g](m))}catch(h){p(o[0][3],h)}}function l(g){g.value instanceof Pt?Promise.resolve(g.value.v).then(u,d):p(o[0][2],g)}function u(g){c("next",g)}function d(g){c("throw",g)}function p(g,m){g(m),o.shift(),o.length&&c(o[0][0],o[0][1])}}function fl(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,o){e[i]=t[i]?function(s){return(n=!n)?{value:Pt(t[i](s)),done:!1}:o?o(s):s}:o}}function hl(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof jn=="function"?jn(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(s){return new Promise(function(a,c){s=t[o](s),i(a,c,s.done,s.value)})}}function i(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}}function yl(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function Sl(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n=ji(t),r=0;r<n.length;r++)n[r]!=="default"&&Un(e,t,n[r]);return Np(e,t),e}function bl(t){return t&&t.__esModule?t:{default:t}}function Pl(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}function wl(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}function vl(t,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof t=="function"?e===t:t.has(e)}function Il(t,e,n){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var r,i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=e[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=e[Symbol.dispose],n&&(i=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");i&&(r=function(){try{i.call(this)}catch(o){return Promise.reject(o)}}),t.stack.push({value:e,dispose:r,async:n})}else n&&t.stack.push({async:!0});return e}function Cl(t){function e(o){t.error=t.hasError?new Dp(o,t.error,"An error was suppressed during disposal."):o,t.hasError=!0}var n,r=0;function i(){for(;n=t.stack.pop();)try{if(!n.async&&r===1)return r=0,t.stack.push(n),Promise.resolve().then(i);if(n.dispose){var o=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(o).then(i,function(s){return e(s),i()})}else r|=1}catch(s){e(s)}if(r===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return i()}function Tl(t,e){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,r,i,o,s){return r?e?".jsx":".js":i&&(!o||!s)?n:i+o+"."+s.toLowerCase()+"js"}):t}var Mi,Mn,Un,Np,ji,Dp,Bp,$i=Ie(()=>{Mi=function(t,e){return Mi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Mi(t,e)};Mn=function(){return Mn=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Mn.apply(this,arguments)};Un=Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]};Np=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},ji=function(t){return ji=Object.getOwnPropertyNames||function(e){var n=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[n.length]=r);return n},ji(t)};Dp=typeof SuppressedError=="function"?SuppressedError:function(t,e,n){var r=new Error(n);return r.name="SuppressedError",r.error=t,r.suppressed=e,r};Bp={__extends:Qa,__assign:Mn,__rest:el,__decorate:tl,__param:nl,__esDecorate:rl,__runInitializers:il,__propKey:ol,__setFunctionName:sl,__metadata:al,__awaiter:ll,__generator:cl,__createBinding:Un,__exportStar:ul,__values:jn,__read:Ui,__spread:dl,__spreadArrays:ml,__spreadArray:pl,__await:Pt,__asyncGenerator:gl,__asyncDelegator:fl,__asyncValues:hl,__makeTemplateObject:yl,__importStar:Sl,__importDefault:bl,__classPrivateFieldGet:Pl,__classPrivateFieldSet:wl,__classPrivateFieldIn:vl,__addDisposableResource:Il,__disposeResources:Cl,__rewriteRelativeImportExtension:Tl}});var El=v(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.lowerCase=wt.localeLowerCase=void 0;var Lp={tr:{regexp:/\u0130|\u0049|\u0049\u0307/g,map:{\u0130:"i",I:"\u0131",I\u0307:"i"}},az:{regexp:/\u0130/g,map:{\u0130:"i",I:"\u0131",I\u0307:"i"}},lt:{regexp:/\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,map:{I:"i\u0307",J:"j\u0307",\u012E:"\u012F\u0307",\u00CC:"i\u0307\u0300",\u00CD:"i\u0307\u0301",\u0128:"i\u0307\u0303"}}};function Mp(t,e){var n=Lp[e.toLowerCase()];return qi(n?t.replace(n.regexp,function(r){return n.map[r]}):t)}wt.localeLowerCase=Mp;function qi(t){return t.toLowerCase()}wt.lowerCase=qi});var Al=v(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.noCase=void 0;var jp=El(),Up=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],Fp=/[^A-Z0-9]+/gi;function $p(t,e){e===void 0&&(e={});for(var n=e.splitRegexp,r=n===void 0?Up:n,i=e.stripRegexp,o=i===void 0?Fp:i,s=e.transform,a=s===void 0?jp.lowerCase:s,c=e.delimiter,l=c===void 0?" ":c,u=Rl(Rl(t,r,"$1\0$2"),o,"\0"),d=0,p=u.length;u.charAt(d)==="\0";)d++;for(;u.charAt(p-1)==="\0";)p--;return u.slice(d,p).split("\0").map(a).join(l)}Fn.noCase=$p;function Rl(t,e,n){return e instanceof RegExp?t.replace(e,n):e.reduce(function(r,i){return r.replace(i,n)},t)}});var _l=v($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.dotCase=void 0;var qp=($i(),Mr(Fi)),Kp=Al();function zp(t,e){return e===void 0&&(e={}),Kp.noCase(t,qp.__assign({delimiter:"."},e))}$n.dotCase=zp});var Ol=v(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.snakeCase=void 0;var Gp=($i(),Mr(Fi)),Hp=_l();function Vp(t,e){return e===void 0&&(e={}),Hp.dotCase(t,Gp.__assign({delimiter:"_"},e))}qn.snakeCase=Vp});var kl=v((cb,xl)=>{xl.exports=Zp;var Wp=/\s/,Yp=/(_|-|\.|:)/,Jp=/([a-z][A-Z]|[A-Z][a-z])/;function Zp(t){return Wp.test(t)?t.toLowerCase():Yp.test(t)?(Qp(t)||t).toLowerCase():Jp.test(t)?tg(t).toLowerCase():t.toLowerCase()}var Xp=/[\W_]+(.|$)/g;function Qp(t){return t.replace(Xp,function(e,n){return n?" "+n:""})}var eg=/(.)([A-Z]+)/g;function tg(t){return t.replace(eg,function(e,n,r){return n+" "+r.toLowerCase().split("").join(" ")})}});var Dl=v((ub,Nl)=>{var ng=kl();Nl.exports=rg;function rg(t){return ng(t).replace(/[\W_]+(.|$)/g,function(e,n){return n?" "+n:""}).trim()}});var Ll=v((db,Bl)=>{var ig=Dl();Bl.exports=og;function og(t){return ig(t).replace(/\s/g,"_")}});var jl=v((mb,Ml)=>{"use strict";var sg=ki(),ag=Ll();Ml.exports=function(t,e){return e=Object.assign({deep:!0,exclude:[]},e),sg(t,function(n,r){return[lg(e.exclude,n)?n:ag(n),r]},e)};function lg(t,e){return t.some(function(n){return typeof n=="string"?n===e:n.test(e)})}});var zi=v(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.BasisTheoryApiError=void 0;function cg(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Ki=class t extends cg(Error){constructor(e,n,r,i){super(e),this.status=n,this.data=r,this._debug=i,this.name="BasisTheoryApiError",Object.setPrototypeOf(this,t.prototype)}};Kn.BasisTheoryApiError=Ki});var Gn=v(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.logger=void 0;var Ul=Tn(),ug=(()=>{let t="pubb96b84a13912504f4354f2d794ea4fab",e=!0,n=async(i,o,s={})=>{if(e)try{var a,c,l,u,d,p;let g;Ul.DEFAULT_BASE_URL.includes("localhost")?g="local":Ul.DEFAULT_BASE_URL.includes("dev")?g="dev":g="prod";let m=S({level:o,message:i,service:"js-sdk",env:g,referrer:(a=document)===null||a===void 0?void 0:a.referrer,origin:(c=window)===null||c===void 0||(l=c.location)===null||l===void 0?void 0:l.origin,url:(u=window)===null||u===void 0||(d=u.location)===null||d===void 0?void 0:d.href,userAgent:(p=navigator)===null||p===void 0?void 0:p.userAgent},s);await fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat(t),{method:"POST",body:JSON.stringify(m),headers:{"Content-Type":"application/json"}})}catch(g){console.warn("There was an error sending telemetry.")}};return{setTelemetryEnabled:i=>{e=i},log:{error:(i,o={})=>n(i,"error",o),info:(i,o={})=>n(i,"info",o),warn:(i,o={})=>n(i,"warn",o)}}})();zn.logger=ug});var vt=v(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.transformTokenResponseCamelCase=T.transformTokenRequestSnakeCase=T.transformResponseCamelCase=T.transformRequestSnakeCase=T.transformReactorResponseCamelCase=T.transformReactorRequestSnakeCase=T.transformProxyResponseCamelCase=T.transformProxyRequestSnakeCase=T.proxyRaw=T.getRuntime=T.getQueryParams=T.getOSVersion=T.getBrowser=T.errorInterceptorDebug=T.errorInterceptor=T.debugTransform=T.dataExtractor=T.dataAndHeadersExtractor=T.createRequestConfig=T.concatResponseTransformerWithDefault=T.concatRequestTransformerWithDefault=T.buildUserAgentString=T.buildClientUserAgentString=T.assertInit=void 0;var $l=Hn(_i()),Ee=Hn(Za()),Fl=Hn(Li()),dg=Ol(),zt=Hn(jl()),mg=zi(),ye=Tn(),pg=Gn();function Hn(t){return t&&t.__esModule?t:{default:t}}var gg=t=>{if(t==null)throw new Error("BasisTheory has not yet been properly initialized.");return t};T.assertInit=gg;var fg=t=>{if(typeof t!="undefined")return(0,zt.default)(t,{deep:!0})};T.transformRequestSnakeCase=fg;var hg=t=>t;T.proxyRaw=hg;var yg=t=>{if(typeof t!="undefined")return S(S({},(0,zt.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};T.transformReactorRequestSnakeCase=yg;var Sg=t=>{if(typeof t!="undefined")return S(S({},(0,zt.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};T.transformProxyRequestSnakeCase=Sg;var bg=t=>{if(typeof t!="undefined")return S(S(S({},(0,zt.default)(t,{deep:!0})),t.data!==void 0?{data:t.data}:{}),t.metadata!==void 0?{metadata:t.metadata}:{})};T.transformTokenRequestSnakeCase=bg;var Vi=t=>t&&(t==null?void 0:t.pagination)!==void 0&&(t==null?void 0:t.data)!==void 0,Pg=t=>{if(typeof t!="undefined")return Vi(t)?{data:t.data.map(r=>S(S(S({},(0,Ee.default)(r,{deep:!0})),r.data!==void 0?{data:r.data}:{}),r.metadata!==void 0?{metadata:r.metadata}:{})),pagination:(0,Ee.default)(t.pagination,{deep:!0})}:S(S(S({},(0,Ee.default)(t,{deep:!0})),t.data!==void 0?{data:t.data}:{}),t.metadata!==void 0?{metadata:t.metadata}:{})};T.transformTokenResponseCamelCase=Pg;var wg=t=>{if(typeof t!="undefined")return Vi(t)?{data:t.data.map(r=>S(S({},(0,Ee.default)(r,{deep:!0})),r.configuration!==void 0?{configuration:r.configuration}:{})),pagination:(0,Ee.default)(t.pagination,{deep:!0})}:S(S({},(0,Ee.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};T.transformReactorResponseCamelCase=wg;var vg=t=>{if(typeof t!="undefined")return Vi(t)?{data:t.data.map(r=>S(S({},(0,Ee.default)(r,{deep:!0})),r.configuration!==void 0?{configuration:r.configuration}:{})),pagination:(0,Ee.default)(t.pagination,{deep:!0})}:S(S({},(0,Ee.default)(t,{deep:!0})),t.configuration!==void 0?{configuration:t.configuration}:{})};T.transformProxyResponseCamelCase=vg;var Ig=t=>{if(typeof t!="undefined")return(0,Ee.default)(t,{deep:!0})};T.transformResponseCamelCase=Ig;var Cg=t=>t==null?void 0:t.data;T.dataExtractor=Cg;var Tg=t=>({data:t==null?void 0:t.data,headers:t==null?void 0:t.headers});T.dataAndHeadersExtractor=Tg;var Gi=t=>[t,...$l.default.defaults.transformRequest];T.concatRequestTransformerWithDefault=Gi;var Hi=t=>[...$l.default.defaults.transformResponse,t];T.concatResponseTransformerWithDefault=Hi;var Eg=(t,e)=>{if(!t)return e?S(S({},e.transformRequest!==void 0?{transformRequest:Gi(e.transformRequest)}:{}),e.transformResponse!==void 0?{transformResponse:Hi(e.transformResponse)}:{}):void 0;let{apiKey:n,correlationId:r,idempotencyKey:i,query:o,headers:s}=t,a=n?{[ye.API_KEY_HEADER]:n}:{},c=r?{[ye.BT_TRACE_ID_HEADER]:r}:{},l=i?{[ye.BT_IDEMPOTENCY_KEY_HEADER]:i}:{};return S(S(S({headers:S(S(S(S({},a),c),l),typeof s!="undefined"&&S({},s))},typeof o!="undefined"&&{params:o}),(e==null?void 0:e.transformRequest)!==void 0?{transformRequest:Gi(e.transformRequest)}:{}),(e==null?void 0:e.transformResponse)!==void 0?{transformResponse:Hi(e.transformResponse)}:{})};T.createRequestConfig=Eg;var ql=(t,e)=>{var n,r,i,o,s,a,c,l,u,d,p,g,m,h,f;let b=(n=t==null||(r=t.response)===null||r===void 0?void 0:r.status)!==null&&n!==void 0?n:-1,P=t==null||(i=t.response)===null||i===void 0?void 0:i.data,w;if(e){var I,E,R,_;w={cfRay:t==null||(I=t.response)===null||I===void 0||(E=I.headers)===null||E===void 0?void 0:E[ye.CF_RAY_HEADER],btTraceId:t==null||(R=t.response)===null||R===void 0||(_=R.headers)===null||_===void 0?void 0:_[ye.BT_TRACE_ID_HEADER]}}let C=b>-1&&b<499?"warn":"error";throw pg.logger.log[C]("Error when making ".concat(t==null||(o=t.config)===null||o===void 0||(s=o.method)===null||s===void 0?void 0:s.toUpperCase()," request to ").concat(t==null||(a=t.config)===null||a===void 0?void 0:a.baseURL," from the JS SDK"),{apiStatus:b,logType:"axiosError",logOrigin:"axiosErrorInterceptor",requestDetails:{url:t==null||(c=t.config)===null||c===void 0?void 0:c.baseURL,method:t==null||(l=t.config)===null||l===void 0||(u=l.method)===null||u===void 0?void 0:u.toUpperCase(),btUserAgent:t==null||(d=t.config)===null||d===void 0||(p=d.headers)===null||p===void 0?void 0:p[ye.CLIENT_USER_AGENT_HEADER]},errorDetails:{code:t==null?void 0:t.code,name:t==null?void 0:t.name,stack:t==null?void 0:t.stack,headers:t==null||(g=t.response)===null||g===void 0?void 0:g.headers,message:t==null?void 0:t.message,status:t==null||(m=t.response)===null||m===void 0?void 0:m.status,statusText:t==null||(h=t.response)===null||h===void 0?void 0:h.statusText,data:t==null||(f=t.response)===null||f===void 0?void 0:f.data}}),new mg.BasisTheoryApiError(t.message,b,P,w)},Rg=t=>ql(t,!1);T.errorInterceptor=Rg;var Ag=t=>ql(t,!0);T.errorInterceptorDebug=Ag;var _g=(t={})=>{let e=Object.keys(t);if(e.length){let n=new URLSearchParams,r=(i,o,s=!1)=>{let a=typeof o,c=s?i:(0,dg.snakeCase)(i);(o===null||["boolean","number","string"].includes(a))&&n.append(c,o)};return e.forEach(i=>{let o=t[i];Array.isArray(o)?o.forEach(s=>{r(String(i),s)}):o&&typeof o=="object"?Object.keys(o).forEach(a=>{r("".concat(String(i),".").concat(a),o[a],!0)}):r(String(i),o)}),"?".concat(n.toString())}return""};T.getQueryParams=_g;var Og=t=>"(".concat(t.name||"","; ").concat(t.version||"","; ").concat(t.url||"",")"),xg=t=>{let e="".concat(ye.USER_AGENT_CLIENT,"/unknown");return t&&Object.keys(t||{}).length&&(e+=" ".concat(Og(t))),e};T.buildUserAgentString=xg;var Kl=()=>{let{userAgent:t}=window.navigator,e="unknown",n=ye.BROWSER_LIST.find(r=>t.includes(r.browserUA));if(n)try{e=t.split("".concat(n.browserUA,"/"))[1]}catch(r){e="unknown"}return"".concat((n==null?void 0:n.browserName)||"unknown","/").concat(e)};T.getBrowser=Kl;var zl=()=>typeof window=="object"&&window.navigator.product==="ReactNative",Gl=()=>{if(zl())return"ReactNative";if(typeof window=="undefined")try{return"".concat(Fl.default.type(),"/").concat(Fl.default.version())}catch(t){return"unknown"}try{let e=window.navigator.appVersion.match(new RegExp("\\(([^)]+)\\)","u"));return e&&e.length>1?e[1]:"unknown"}catch(t){return"unknown"}};T.getOSVersion=Gl;var Hl=()=>zl()?"ReactNative":typeof window=="undefined"?"NodeJS/".concat(process.version):Kl();T.getRuntime=Hl;var kg=t=>{let e={client:ye.USER_AGENT_CLIENT,clientVersion:"unknown",osVersion:Gl(),runtimeVersion:Hl(),application:{}};return t&&(e.application=t),JSON.stringify((0,zt.default)(e))};T.buildClientUserAgentString=kg;var Ng=(t,e)=>(e&&typeof t=="object"&&t!==void 0&&(t._debug=A(S({},t._debug),{cfRay:e[ye.CF_RAY_HEADER],btTraceId:e[ye.BT_TRACE_ID_HEADER]})),t);T.debugTransform=Ng});var Vl=v(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.BasisTheoryValidationError=void 0;function Dg(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Wi=class t extends Dg(Error){constructor(e,n,r){super(e),this.details=n,this.validation=r,this.name="BasisTheoryValidationError",Object.setPrototypeOf(this,t.prototype)}};Vn.BasisTheoryValidationError=Wi});var Wl=v(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.HttpClientError=void 0;function Bg(t){function e(){var n=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Yi=class t extends Bg(Error){constructor(e,n,r,i){super(e),this.name="HttpClientError",this.status=n,this.data=r,this.headers=i,Object.setPrototypeOf(this,t.prototype)}};Wn.HttpClientError=Yi});var Y=v(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var Yl={BasisTheoryApiError:!0,BasisTheoryValidationError:!0,HttpClientError:!0};Object.defineProperty(Se,"BasisTheoryApiError",{enumerable:!0,get:function(){return Lg.BasisTheoryApiError}});Object.defineProperty(Se,"BasisTheoryValidationError",{enumerable:!0,get:function(){return Mg.BasisTheoryValidationError}});Object.defineProperty(Se,"HttpClientError",{enumerable:!0,get:function(){return jg.HttpClientError}});var Ji=Tn();Object.keys(Ji).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Yl,t)||t in Se&&Se[t]===Ji[t]||Object.defineProperty(Se,t,{enumerable:!0,get:function(){return Ji[t]}})});var Zi=vt();Object.keys(Zi).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Yl,t)||t in Se&&Se[t]===Zi[t]||Object.defineProperty(Se,t,{enumerable:!0,get:function(){return Zi[t]}})});var Lg=zi(),Mg=Vl(),jg=Wl()});var Jl=v(()=>{"use strict"});var Zl=v(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.BasisTheoryService=void 0;var Yn=Ug(_i()),Re=Y();function Ug(t){return t&&t.__esModule?t:{default:t}}var Xi=class{constructor(e){let{apiKey:n,baseURL:r,transformRequest:i,transformResponse:o,appInfo:s,debug:a}=e;if(typeof Yn.default=="string")throw new Error("basis-theory-js@1.77.0+ and basis-theory-react@1.12.1+ are not supported with CRA 5, go to https://github.com/Basis-Theory/basis-theory-js/issues/365#issuecomment-1662883062 for workarounds.");this.client=Yn.default.create({baseURL:r,headers:S({[Re.API_KEY_HEADER]:n,[Re.CLIENT_USER_AGENT_HEADER]:(0,Re.buildClientUserAgentString)(s)},typeof window=="undefined"&&{[Re.USER_AGENT_HEADER]:(0,Re.buildUserAgentString)(s)}),transformRequest:[].concat(i||Re.transformRequestSnakeCase,Yn.default.defaults.transformRequest),transformResponse:Yn.default.defaults.transformResponse.concat(o||Re.transformResponseCamelCase,a?Re.debugTransform:[])}),this.client.interceptors.response.use(void 0,a?Re.errorInterceptorDebug:Re.errorInterceptor)}};Jn.BasisTheoryService=Xi});var J=v(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});var Qi=Jl();Object.keys(Qi).forEach(function(t){t==="default"||t==="__esModule"||t in je&&je[t]===Qi[t]||Object.defineProperty(je,t,{enumerable:!0,get:function(){return Qi[t]}})});var eo=Zl();Object.keys(eo).forEach(function(t){t==="default"||t==="__esModule"||t in je&&je[t]===eo[t]||Object.defineProperty(je,t,{enumerable:!0,get:function(){return eo[t]}})})});var be=v(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.CrudBuilder=void 0;var re=Y(),Fg=t=>class extends t{create(n,r){return this.client.post("/",n,(0,re.createRequestConfig)(r)).then(re.dataExtractor)}},$g=t=>class extends t{retrieve(n,r){return this.client.get(n,(0,re.createRequestConfig)(r)).then(re.dataExtractor)}},qg=t=>class extends t{update(n,r,i){return this.client.put(n,r,(0,re.createRequestConfig)(i)).then(re.dataExtractor)}},Kg=t=>class extends t{patch(n,r,i){let o=(0,re.createRequestConfig)(i);return this.client.patch(n,r,A(S({},o),{headers:A(S({},(o==null?void 0:o.headers)||{}),{[re.CONTENT_TYPE_HEADER]:re.MERGE_CONTENT_TYPE})})).then(re.dataExtractor)}},zg=t=>class extends t{async delete(n,r){await this.client.delete(n,(0,re.createRequestConfig)(r))}},Gg=t=>class extends t{list(n={},r={}){let i="/".concat((0,re.getQueryParams)(n));return this.client.get(i,(0,re.createRequestConfig)(r)).then(re.dataExtractor)}},to=class{constructor(e){this.BaseService=e}create(){return this.BaseService=Fg(this.BaseService),this}retrieve(){return this.BaseService=$g(this.BaseService),this}update(){return this.BaseService=qg(this.BaseService),this}patch(){return this.BaseService=Kg(this.BaseService),this}delete(){return this.BaseService=zg(this.BaseService),this}list(){return this.BaseService=Gg(this.BaseService),this}build(){return this.BaseService}};Zn.CrudBuilder=to});var Ql=v(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.BasisTheoryApplicationTemplates=void 0;var Xl=Y(),Hg=J(),Vg=be(),Wg=new Vg.CrudBuilder(class extends Hg.BasisTheoryService{list(e){return this.client.get("/",(0,Xl.createRequestConfig)(e)).then(Xl.dataExtractor)}}).retrieve().build();Xn.BasisTheoryApplicationTemplates=Wg});var ec=v(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});Object.defineProperty(no,"BasisTheoryApplicationTemplates",{enumerable:!0,get:function(){return Yg.BasisTheoryApplicationTemplates}});var Yg=Ql()});var tc=v(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.BasisTheoryApplicationKeys=void 0;var Qn=Y(),Jg=J(),Zg=be(),Xg=new Zg.CrudBuilder(class extends Jg.BasisTheoryService{create(e){return this.client.post("".concat(e,"/keys")).then(Qn.dataExtractor)}get(e){return this.client.get("".concat(e,"/keys")).then(Qn.dataExtractor)}getById(e,n){return this.client.get("".concat(e,"/keys/").concat(n)).then(Qn.dataExtractor)}delete(e,n){return this.client.delete("".concat(e,"/keys/").concat(n)).then(Qn.dataExtractor)}}).build();er.BasisTheoryApplicationKeys=Xg});var nc=v(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});Object.defineProperty(ro,"BasisTheoryApplicationKeys",{enumerable:!0,get:function(){return Qg.BasisTheoryApplicationKeys}});var Qg=tc()});var rc=v(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.BasisTheoryApplications=void 0;var tr=Y(),ef=J(),tf=be(),nf=new tf.CrudBuilder(class extends ef.BasisTheoryService{getApplicationByKey(){return this.retrieveByKey()}retrieveByKey(e){return this.client.get("/key",(0,tr.createRequestConfig)(e)).then(tr.dataExtractor)}regenerateKey(e,n){return this.client.post("".concat(e,"/regenerate"),void 0,(0,tr.createRequestConfig)(n)).then(tr.dataExtractor)}}).create().retrieve().update().delete().list().build();nr.BasisTheoryApplications=nf});var oo=v(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});Object.defineProperty(io,"BasisTheoryApplications",{enumerable:!0,get:function(){return rf.BasisTheoryApplications}});var rf=rc()});var ic=v(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.BasisTheoryTokenize=void 0;var rr=Y(),of=J(),so=class extends of.BasisTheoryService{tokenize(e,n={}){return this.client.post("/",e,(0,rr.createRequestConfig)(n,{transformRequest:rr.proxyRaw,transformResponse:rr.proxyRaw})).then(rr.dataExtractor)}};ir.BasisTheoryTokenize=so});var oc=v(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});Object.defineProperty(ao,"BasisTheoryTokenize",{enumerable:!0,get:function(){return sf.BasisTheoryTokenize}});var sf=ic()});var sc=v(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.delegateTokenize=void 0;var af=oc(),lf=t=>class extends af.BasisTheoryTokenize{tokenize(n,r){return t!=null&&t.hasElement(n)?t.tokenize(n,r):super.tokenize(n,r)}};or.delegateTokenize=lf});var ac=v(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.BasisTheoryTokens=void 0;var Gt=Y(),Ht=vt(),cf=J(),uf=be(),df=new uf.CrudBuilder(class extends cf.BasisTheoryService{constructor(e){let n=e;n.transformRequest=[].concat(Ht.transformTokenRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(Ht.transformTokenResponseCamelCase,e.transformResponse||[]),super(n)}retrieve(e,n={}){let r="/".concat(e);return this.client.get(r,(0,Gt.createRequestConfig)(n)).then(Ht.dataExtractor)}update(e,n,r={}){let i="/".concat(e),o=(0,Gt.createRequestConfig)(r);return this.client.patch(i,n,A(S({},o),{headers:A(S({},(o==null?void 0:o.headers)||{}),{[Gt.CONTENT_TYPE_HEADER]:Gt.MERGE_CONTENT_TYPE})})).then(Ht.dataExtractor)}search(e,n){return this.client.post("/search",e,(0,Gt.createRequestConfig)(n)).then(Ht.dataExtractor)}}).create().delete().list().build();sr.BasisTheoryTokens=df});var co=v(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});Object.defineProperty(lo,"BasisTheoryTokens",{enumerable:!0,get:function(){return mf.BasisTheoryTokens}});var mf=ac()});var lc=v(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.delegateTokens=void 0;var pf=co(),gf=t=>class extends pf.BasisTheoryTokens{create(n,r){return t!=null&&t.hasElement(n)?t.tokens.create(n,r):super.create(n,r)}update(n,r,i){return t!=null&&t.hasElement(r)?t.tokens.update(n,r,i):super.update(n,r,i)}retrieve(n,r){return t!==void 0?t.tokens.retrieve(n,r):super.retrieve(n,r)}};ar.delegateTokens=gf});var cc=v(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.BasisTheoryProxy=void 0;var ke=Y(),ff=J(),uo=class extends ff.BasisTheoryService{get(e){return this.proxyRequest("get",e)}post(e){return this.proxyRequest("post",e)}put(e){return this.proxyRequest("put",e)}patch(e){return this.proxyRequest("patch",e)}delete(e){return this.proxyRequest("delete",e)}proxyRequest(e,n){var r;if(e==="post"||e==="put"||e==="patch"){var i,o;let s=n!=null&&n.includeResponseHeaders&&e==="post"?ke.dataAndHeadersExtractor:ke.dataExtractor;return this.client[e]((i=n==null?void 0:n.path)!==null&&i!==void 0?i:"",(o=n==null?void 0:n.body)!==null&&o!==void 0?o:void 0,(0,ke.createRequestConfig)(n,{transformRequest:ke.proxyRaw,transformResponse:ke.proxyRaw})).then(s)}return this.client[e]((r=n==null?void 0:n.path)!==null&&r!==void 0?r:"/",(0,ke.createRequestConfig)(n,{transformRequest:ke.proxyRaw,transformResponse:ke.proxyRaw})).then(ke.dataExtractor)}};lr.BasisTheoryProxy=uo});var uc=v(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});var mo=cc();Object.keys(mo).forEach(function(t){t==="default"||t==="__esModule"||t in Vt&&Vt[t]===mo[t]||Object.defineProperty(Vt,t,{enumerable:!0,get:function(){return mo[t]}})})});var dc=v(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.delegateProxy=void 0;var hf=uc(),yf=t=>class extends hf.BasisTheoryProxy{get(n){return t!==void 0?t.proxy.get(n):super.get(n)}post(n){return t!==void 0?t.proxy.post(n):super.post(n)}put(n){return t!==void 0?t.proxy.put(n):super.put(n)}patch(n){return t!==void 0?t.proxy.patch(n):super.patch(n)}delete(n){return t!==void 0?t.proxy.delete(n):super.delete(n)}};cr.delegateProxy=yf});var pc=v(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.BasisTheoryTokenIntents=void 0;var mc=Y(),Sf=J(),bf=be(),Pf=new bf.CrudBuilder(class extends Sf.BasisTheoryService{constructor(e){let n=e;n.transformRequest=[].concat(mc.transformTokenRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(mc.transformTokenResponseCamelCase,e.transformResponse||[]),super(n)}}).create().delete().build();ur.BasisTheoryTokenIntents=Pf});var gc=v(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});Object.defineProperty(po,"BasisTheoryTokenIntents",{enumerable:!0,get:function(){return wf.BasisTheoryTokenIntents}});var wf=pc()});var fc=v(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.delegateTokenIntents=void 0;var vf=gc(),If=t=>class extends vf.BasisTheoryTokenIntents{create(n,r){return t!=null&&t.hasElement(n)?t.tokenIntents.create(n,r):super.create(n,r)}};dr.delegateTokenIntents=If});var hc=v(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});var go=sc();Object.keys(go).forEach(function(t){t==="default"||t==="__esModule"||t in ie&&ie[t]===go[t]||Object.defineProperty(ie,t,{enumerable:!0,get:function(){return go[t]}})});var fo=lc();Object.keys(fo).forEach(function(t){t==="default"||t==="__esModule"||t in ie&&ie[t]===fo[t]||Object.defineProperty(ie,t,{enumerable:!0,get:function(){return fo[t]}})});var ho=dc();Object.keys(ho).forEach(function(t){t==="default"||t==="__esModule"||t in ie&&ie[t]===ho[t]||Object.defineProperty(ie,t,{enumerable:!0,get:function(){return ho[t]}})});var yo=fc();Object.keys(yo).forEach(function(t){t==="default"||t==="__esModule"||t in ie&&ie[t]===yo[t]||Object.defineProperty(ie,t,{enumerable:!0,get:function(){return yo[t]}})})});var So=v(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.injectScript=It.findScript=void 0;var Cf=t=>document.querySelector('script[src^="'.concat(t,'"]'));It.findScript=Cf;var Tf=t=>{let e=document.createElement("script");e.src=t;let n=document.head||document.body;if(!n)throw new Error("No <head> or <body> elements found in document.");return n.append(e),e};It.injectScript=Tf});var bo=v(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE=H.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE=H.ELEMENTS_SCRIPT_FAILED_TO_DELIVER=H.ELEMENTS_NOM_DOM_ERROR_MESSAGE=H.ELEMENTS_INIT_ERROR_MESSAGE=H.CARD_ICON_POSITIONS=H.CARD_BRANDS=H.AUTOCOMPLETE_VALUES=void 0;var Ef="BasisTheory Elements was not properly initialized.";H.ELEMENTS_INIT_ERROR_MESSAGE=Ef;var Rf="Tried to load BasisTheoryElements in a non-DOM environment.";H.ELEMENTS_NOM_DOM_ERROR_MESSAGE=Rf;var Af="Basis Theory Elements did not load properly. Check network tab for more details.";H.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE=Af;var _f="Unable to load the Elements script. This may be due to network restrictions or browser extensions like ad blockers interfering with script loading. Check browser settings or network connection and try again.";H.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE=_f;var Of="Failed to deliver Elements script from Basis Theory. Check your network connection and try again or contact support@basistheory.com";H.ELEMENTS_SCRIPT_FAILED_TO_DELIVER=Of;var xf=["visa","mastercard","american-express","discover","diners-club","jcb","unionpay","maestro","elo","hiper","hipercard","mir","unknown"];H.CARD_BRANDS=xf;var kf=["left","right","none"];H.CARD_ICON_POSITIONS=kf;var Nf=["additional-name","address-level1","address-level2","address-level3","address-level4","address-line1","address-line2","address-line3","bday-day","bday-month","bday-year","bday","billing","cc-additional-name","cc-csc","cc-exp-month","cc-exp-year","cc-exp","cc-family-name","cc-given-name","cc-name","cc-number","cc-type","country-name","country","current-password","email","family-name","fax","given-name","home","honorific-prefix","honorific-suffix","language","mobile","name","new-password","nickname","off","on","one-time-code","organization-title","organization","page","postal-code","sex","shipping","street-address","tel-area-code","tel-country-code","tel-extension","tel-local-prefix","tel-local-suffix","tel-local","tel-national","tel","transaction-amount","transaction-currency","url","username","work"];H.AUTOCOMPLETE_VALUES=Nf});var Sc=v(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.loadElements=void 0;var Ue=Gn(),We=bo(),Po=So(),wo,yc=(t,e)=>new Promise((n,r)=>{let i=(0,Po.findScript)(t);if(!i)i=(0,Po.injectScript)(t);else{if(window.BasisTheoryElements){n(window.BasisTheoryElements);return}if(e>0){try{var o;(o=i)===null||o===void 0||o.remove()}catch(s){(async()=>await Ue.logger.log.error("Error removing script from DOM on retry attempt ".concat(e),{logType:"scriptRemovalError",logOrigin:"loadScript",retryCount:e,removalError:s}))(),r(new Error(We.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}i=(0,Po.injectScript)(t)}}i.addEventListener("load",()=>{if(window.BasisTheoryElements){n(window.BasisTheoryElements);return}(async()=>await Ue.logger.log.error("Elements not found on window on load",{logType:"elementsNotFoundOnWindow",logOrigin:"loadScript",retryCount:e}))(),r(new Error(We.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE))}),i.addEventListener("error",async s=>{if(await Ue.logger.log.error("Elements script onError event",{logType:"elementsScriptOnError",logOrigin:"loadScript",retryCount:e,event:{message:s==null?void 0:s.message,source:s==null?void 0:s.filename,lineno:s==null?void 0:s.lineno,colno:s==null?void 0:s.colno,error:s==null?void 0:s.error,target:s==null?void 0:s.target}}),e===0){yc(t,e+1).then(n).catch(r);return}try{let c=await fetch(t),l,u;try{u=await c.text(),l=JSON.parse(u)}catch(d){var a;l=(a=u)!==null&&a!==void 0?a:""}if(!c.ok){await Ue.logger.log.error("Second attempt to load elements script failed, fetch failed with status: ".concat(c.status,"."),{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:e,fetchResult:"error",fetchResponse:l,fetchHeaders:c.headers,fetchStatusText:c.statusText}),r(new Error(We.ELEMENTS_SCRIPT_FAILED_TO_DELIVER));return}await Ue.logger.log.error("Second attempt to load elements script failed, fetch success",{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:e,fetchResult:"success",fetchResponse:l,fetchHeaders:c.headers,fetchStatusText:c.statusText}),r(new Error(We.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}catch(c){await Ue.logger.log.error("Second attempt failed to load elements script failed, fetch network error.",{logType:"elementsScriptFetchError",logOrigin:"loadScript",retryCount:e,fetchResult:"error",fetchError:JSON.stringify(c!=null?c:"Unknown Error")}),r(new Error(We.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));return}})}),Df=t=>(wo||(wo=new Promise((e,n)=>{if(typeof window!="object"){(async()=>(await Ue.logger.log.warn(We.ELEMENTS_NOM_DOM_ERROR_MESSAGE,{logType:"elementsNonDomError",logOrigin:"loadElements"}),n(new Error(We.ELEMENTS_NOM_DOM_ERROR_MESSAGE))))();return}if(window.BasisTheoryElements){e(window.BasisTheoryElements);return}let r="https://js.basistheory.com/web-elements/1.5.0/client/index.js";if(typeof t!="undefined")try{r=new URL(t).toString().replace(new RegExp("\\/$","u"),"")}catch(i){throw(async()=>await Ue.logger.log.warn("Invalid format for the given Elements client url.",{logType:"invalidClientUrlError",logOrigin:"loadElements"}))(),new Error("Invalid format for the given Elements client url.")}yc(r,0).then(e).catch(i=>{n(i)})})),wo);mr.loadElements=Df});var bc=v(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});var vo=hc();Object.keys(vo).forEach(function(t){t==="default"||t==="__esModule"||t in Pe&&Pe[t]===vo[t]||Object.defineProperty(Pe,t,{enumerable:!0,get:function(){return vo[t]}})});var Io=So();Object.keys(Io).forEach(function(t){t==="default"||t==="__esModule"||t in Pe&&Pe[t]===Io[t]||Object.defineProperty(Pe,t,{enumerable:!0,get:function(){return Io[t]}})});var Co=Sc();Object.keys(Co).forEach(function(t){t==="default"||t==="__esModule"||t in Pe&&Pe[t]===Co[t]||Object.defineProperty(Pe,t,{enumerable:!0,get:function(){return Co[t]}})})});var Pc=v(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.BasisTheoryLogs=void 0;var Bf=J(),Lf=be(),Mf=new Lf.CrudBuilder(class extends Bf.BasisTheoryService{}).list().build();pr.BasisTheoryLogs=Mf});var wc=v(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});Object.defineProperty(To,"BasisTheoryLogs",{enumerable:!0,get:function(){return jf.BasisTheoryLogs}});var jf=Pc()});var vc=v(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.BasisTheoryPermissions=void 0;var Eo=Y(),Uf=J(),Ro=class extends Uf.BasisTheoryService{list(e,n){let r="/".concat((0,Eo.getQueryParams)(e));return this.client.get(r,(0,Eo.createRequestConfig)(n)).then(Eo.dataExtractor)}};gr.BasisTheoryPermissions=Ro});var Ic=v(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Object.defineProperty(Ao,"BasisTheoryPermissions",{enumerable:!0,get:function(){return Ff.BasisTheoryPermissions}});var Ff=vc()});var Tc=v(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.BasisTheoryProxies=void 0;var Cc=vt(),$f=J(),qf=be(),Kf=new qf.CrudBuilder(class extends $f.BasisTheoryService{constructor(e){let n=S({},e);n.transformRequest=[].concat(Cc.transformProxyRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(Cc.transformProxyResponseCamelCase,e.transformResponse||[]),super(n)}}).create().retrieve().update().patch().delete().list().build();fr.BasisTheoryProxies=Kf});var Ec=v(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});var _o=Tc();Object.keys(_o).forEach(function(t){t==="default"||t==="__esModule"||t in Wt&&Wt[t]===_o[t]||Object.defineProperty(Wt,t,{enumerable:!0,get:function(){return _o[t]}})})});var Rc=v(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.BasisTheoryReactorFormulas=void 0;var zf=J(),Gf=be(),Hf=new Gf.CrudBuilder(class extends zf.BasisTheoryService{}).create().retrieve().update().delete().list().build();hr.BasisTheoryReactorFormulas=Hf});var Ac=v(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Object.defineProperty(Oo,"BasisTheoryReactorFormulas",{enumerable:!0,get:function(){return Vf.BasisTheoryReactorFormulas}});var Vf=Rc()});var Oc=v(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.BasisTheoryReactors=void 0;var yr=Y(),_c=vt(),Wf=J(),Yf=be(),Jf=new Yf.CrudBuilder(class extends Wf.BasisTheoryService{constructor(e){let n=S({},e);n.transformRequest=[].concat(_c.transformReactorRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(_c.transformReactorResponseCamelCase,e.transformResponse||[]),super(n)}react(e,n,r){return this.client.post("/".concat(e,"/react"),n,(0,yr.createRequestConfig)(r,{transformRequest:yr.proxyRaw,transformResponse:yr.proxyRaw})).then(yr.dataExtractor)}}).create().retrieve().update().patch().delete().list().build();Sr.BasisTheoryReactors=Jf});var xc=v(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});Object.defineProperty(xo,"BasisTheoryReactors",{enumerable:!0,get:function(){return Zf.BasisTheoryReactors}});var Zf=Oc()});var Nc=v(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.BasisTheorySessions=void 0;var kc=Y(),br=vt(),Xf=J(),ko=class extends Xf.BasisTheoryService{constructor(e){let n=S({},e);n.transformRequest=[].concat(br.transformProxyRequestSnakeCase,e.transformRequest||[]),n.transformResponse=[].concat(br.transformProxyResponseCamelCase,e.transformResponse||[]),super(n)}create(e={}){return this.client.post("/",void 0,(0,kc.createRequestConfig)(e)).then(br.dataExtractor)}authorize(e,n={}){return this.client.post("/authorize",e,(0,kc.createRequestConfig)(n)).then(br.dataExtractor)}};Pr.BasisTheorySessions=ko});var Dc=v(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});Object.defineProperty(No,"BasisTheorySessions",{enumerable:!0,get:function(){return Qf.BasisTheorySessions}});var Qf=Nc()});var Bc=v(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.BasisTheoryTenants=void 0;var $=Y(),eh=J(),th=be(),nh=new th.CrudBuilder(class extends eh.BasisTheoryService{retrieve(e){return this.client.get("/",(0,$.createRequestConfig)(e)).then($.dataExtractor)}update(e,n){return this.client.put("/",e,(0,$.createRequestConfig)(n)).then($.dataExtractor)}async delete(e){await this.client.delete("/",(0,$.createRequestConfig)(e))}retrieveUsageReport(e){return this.client.get("/reports/usage",(0,$.createRequestConfig)(e)).then($.dataExtractor)}createInvitation(e,n){return this.client.post("/invitations",e,(0,$.createRequestConfig)(n)).then($.dataExtractor)}resendInvitation(e,n){return this.client.post("/invitations/".concat(e,"/resend"),{},(0,$.createRequestConfig)(n)).then($.dataExtractor)}listInvitations(e,n){let r="/invitations".concat((0,$.getQueryParams)(e));return this.client.get(r,(0,$.createRequestConfig)(n)).then($.dataExtractor)}retrieveInvitation(e,n){return this.client.get("/invitations/".concat(e),(0,$.createRequestConfig)(n)).then($.dataExtractor)}async deleteInvitation(e,n){await this.client.delete("/invitations/".concat(e),(0,$.createRequestConfig)(n))}listMembers(e,n){let r="/members".concat((0,$.getQueryParams)(e));return this.client.get(r,(0,$.createRequestConfig)(n)).then($.dataExtractor)}async deleteMember(e,n){await this.client.delete("/members/".concat(e),(0,$.createRequestConfig)(n))}}).build();wr.BasisTheoryTenants=nh});var Lc=v(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Object.defineProperty(Do,"BasisTheoryTenants",{enumerable:!0,get:function(){return rh.BasisTheoryTenants}});var rh=Bc()});var Mc=v(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.BasisTheoryThreeDS=void 0;var vr=Y(),ih=J(),Bo=class extends ih.BasisTheoryService{createSession(e){return this.client.post("/sessions",e).then(vr.dataExtractor)}getSessionById(e){return this.client.get("/sessions/".concat(e)).then(vr.dataExtractor)}authenticateSession(e,n){return this.client.post("/sessions/".concat(e,"/authenticate"),n).then(vr.dataExtractor)}getChallengeResult(e){return this.client.get("/sessions/".concat(e,"/challenge-result")).then(vr.dataExtractor)}};Ir.BasisTheoryThreeDS=Bo});var jc=v(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});var Lo=Mc();Object.keys(Lo).forEach(function(t){t==="default"||t==="__esModule"||t in Yt&&Yt[t]===Lo[t]||Object.defineProperty(Yt,t,{enumerable:!0,get:function(){return Lo[t]}})})});var Uc=v(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.BasisTheory=void 0;var oh=ec(),sh=nc(),ah=oo(),L=Y(),lh=Gn(),Jt=bc(),ch=bo(),uh=wc(),dh=Ic(),mh=Ec(),ph=Ac(),gh=xc(),fh=Dc(),hh=Lc(),yh=jc();function Sh(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var bh={apiBaseUrl:L.DEFAULT_BASE_URL,elements:!1,disableTelemetry:!1,debug:!1,appInfo:{}},Mo=class{constructor(){Sh(this,"_initStatus","not-started")}async init(e,n={}){if(this._initStatus!=="not-started"&&this._initStatus!=="error")throw new Error("This BasisTheory instance has been already initialized.");this._initStatus="in-progress";try{this._initOptions=Object.freeze(S(S({},bh),n));let r=this._initOptions.apiBaseUrl;try{let o=new URL(this.initOptions.apiBaseUrl);o.hostname==="localhost"?o.protocol="http":o.protocol="https",r="".concat(o.toString().replace(new RegExp("\\/$","u"),""),"/")}catch(o){throw new Error("Invalid format for the given API base url.")}let i=this._initOptions.appInfo;this._initOptions.elements&&await this.loadElements(e),this._tokens=new((0,Jt.delegateTokens)(this._elements))({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.tokens,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._tokenize=new((0,Jt.delegateTokenize)(this._elements))({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.tokenize,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._applications=new ah.BasisTheoryApplications({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.applications,r).toString(),appInfo:i}),this._applicationKeys=new sh.BasisTheoryApplicationKeys({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.applicationKeys,r).toString(),appInfo:i}),this._applicationTemplates=new oh.BasisTheoryApplicationTemplates({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.applicationTemplates,r).toString(),appInfo:i}),this._tenants=new hh.BasisTheoryTenants({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.tenants,r).toString(),appInfo:i}),this._logs=new uh.BasisTheoryLogs({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.logs,r).toString(),appInfo:i}),this._reactorFormulas=new ph.BasisTheoryReactorFormulas({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.reactorFormulas,r).toString(),appInfo:i}),this._reactors=new gh.BasisTheoryReactors({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.reactors,r).toString(),appInfo:i}),this._permissions=new dh.BasisTheoryPermissions({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.permissions,r).toString(),appInfo:i}),this._proxies=new mh.BasisTheoryProxies({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.proxies,r).toString(),appInfo:i}),this._proxy=new((0,Jt.delegateProxy)(this._elements))({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.proxy,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._sessions=new fh.BasisTheorySessions({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.sessions,r).toString(),appInfo:i,debug:this._initOptions.debug}),this._threeds=new yh.BasisTheoryThreeDS({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.threeds,r).toString(),appInfo:i}),this._tokenIntents=new((0,Jt.delegateTokenIntents)(this._elements))({apiKey:e,baseURL:new URL(L.CLIENT_BASE_PATHS.tokenIntents,r).toString(),appInfo:i,debug:this._initOptions.debug}),n.disableTelemetry&&lh.logger.setTelemetryEnabled(!1),this._initStatus="done"}catch(r){throw this._initStatus="error",r}return this}createElement(e,n){if(!this._elements)throw new Error(ch.ELEMENTS_INIT_ERROR_MESSAGE);return this._elements.createElement(e,n)}tokenize(e,n){return(0,L.assertInit)(this._tokenize).tokenize(e,n)}async loadElements(e){let n;try{n=new URL(this.initOptions.elementsBaseUrl||L.DEFAULT_ELEMENTS_BASE_URL)}catch(c){throw new Error("Invalid format for the given Elements base url.")}let r=await(0,Jt.loadElements)(this.initOptions.elementsClientUrl),i=this.initOptions.elementsUseNgApi||!1,o=this.initOptions.elementsUseSameOriginApi||!1,s=this.initOptions.disableTelemetry||!1,a=this.initOptions.debug||!1;await r.init(e,n.toString().replace(new RegExp("\\/$","u"),""),i,o,s,a),this.elements=r}get initOptions(){return(0,L.assertInit)(this._initOptions)}get tokens(){return(0,L.assertInit)(this._tokens)}get applications(){return(0,L.assertInit)(this._applications)}get applicationKeys(){return(0,L.assertInit)(this._applicationKeys)}get applicationTemplates(){return(0,L.assertInit)(this._applicationTemplates)}get client(){if(this._elements){var e;return(e=this._elements)===null||e===void 0?void 0:e.client}console.error("Elements are not initialized. Either initialize elements or use a regular HTTP client if no elements are needed.")}get tenants(){return(0,L.assertInit)(this._tenants)}get logs(){return(0,L.assertInit)(this._logs)}get reactorFormulas(){return(0,L.assertInit)(this._reactorFormulas)}get reactors(){return(0,L.assertInit)(this._reactors)}get permissions(){return(0,L.assertInit)(this._permissions)}get proxies(){return(0,L.assertInit)(this._proxies)}get proxy(){return(0,L.assertInit)(this._proxy)}get sessions(){return(0,L.assertInit)(this._sessions)}get threeds(){return(0,L.assertInit)(this._threeds)}get tokenIntents(){return(0,L.assertInit)(this._tokenIntents)}get elements(){return(0,L.assertInit)(this._elements)}set elements(e){this._elements=e}};Cr.BasisTheory=Mo});var $o=v(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});var Fo={_instance:!0};se._instance=void 0;var Tr=Uc();Object.keys(Tr).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Fo,t)||t in se&&se[t]===Tr[t]||Object.defineProperty(se,t,{enumerable:!0,get:function(){return Tr[t]}})});var jo=oo();Object.keys(jo).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Fo,t)||t in se&&se[t]===jo[t]||Object.defineProperty(se,t,{enumerable:!0,get:function(){return jo[t]}})});var Uo=co();Object.keys(Uo).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Fo,t)||t in se&&se[t]===Uo[t]||Object.defineProperty(se,t,{enumerable:!0,get:function(){return Uo[t]}})});var Ph=new Tr.BasisTheory;se._instance=Ph});var nu={};Tt(nu,{BasisTheory3ds:()=>tu,sdkBaseUrl:()=>Or});function Fh(t){let{messageType:e,messageVersion:n,threeDSServerTransID:r,acsTransID:i,challengeWindowSize:o}=t;return typeof t=="object"&&t!==null&&typeof e=="string"&&typeof n=="string"&&typeof r=="string"&&typeof i=="string"&&Object.values(Ar).includes(o)}var Ne,De,Rr,wh,zc,vh,Gc,Ih,Ch,Hc,Th,we,Ar,Er,Eh,Rh,Ah,Vc,_h,Wc,Yc,Jc,Fc,Zt,Zc,Oh,Xc,_r,Qc,Z,qo,eu,$c,xh,qc,Kc,kh,Nh,Dh,Bh,Lh,Mh,jh,Uh,$h,qh,Kh,zh,Or,tu,ru=Ie(()=>{Ne={FRAME_CONTAINER_ID:"methodFrameContainer",IFRAME_NAME:"methodIframe",FORM_NAME:"threeDSMethodForm",INPUT_NAME:"threeDSMethodData"},De={FRAME_CONTAINER_ID:"challengeFrameContainer",IFRAME_NAME:"challengeIframe",FORM_NAME:"threeDSCReqForm"},Rr={IFRAME:"iframe",REDIRECT:"redirect"},wh="BT-API-KEY",zc="BT-TRACE-ID",vh="https://api.basistheory.com",Gc="https://3ds.basistheory.com",Ih="pages/method.html",Ch="pages/challenge.html",Hc=!1,Th=({disableTelemetry:t})=>{Hc=t},we=(()=>{let t="pubb96b84a13912504f4354f2d794ea4fab",e=async(n,r,i,o={})=>{if(Hc)return;let s=A(S({application:"3ds-web",ddsource:"3ds-web",service:"3ds-web"},o),{level:r,message:r==="error"&&i?"".concat(n,": ").concat(i.message):n});try{if(!(await fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat(t),{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).ok)throw new Error("Network response was not ok")}catch(a){}};return{log:{error:(n,r,i)=>e(n,"error",r,i),info:(n,r)=>e(n,"info",void 0,r),warn:(n,r)=>e(n,"warn",void 0,r)}}})();(function(t){t.ONE="01",t.TWO="02",t.THREE="03",t.FOUR="04",t.FIVE="05"})(Ar||(Ar={}));Er=t=>t==null?"":JSON.stringify(t),Eh=()=>{let t=[1,4,8,15,16,24,32,48],e=window.screen.colorDepth,n=t.filter(r=>r<=e);return n.length===0?t[0]:Math.max(...n)},Rh=t=>t==null?void 0:t.split("-").slice(0,2).join("-"),Ah=()=>({browserColorDepth:Er(Eh()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:Rh(window.navigator.language),browserScreenHeight:Er(window.screen.height),browserScreenWidth:Er(window.screen.width),browserTZ:Er(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent}),Vc=(t="05")=>{let n={"01":["250px","400px"],"02":["390px","400px"],"03":["500px","600px"],"04":["600px","400px"],"05":["100%","100%"]}[t];if(n)return n;{let r=new Error("Window size ".concat(t," is not supported"));throw we.log.error("Unsupported window size",r),r}},_h=t=>!t||t instanceof HTMLElement,Wc=(t,e,n,r="0",i="0",o)=>{if(!_h(t)||!e||!n){let a="Unable to create iframe. Container must be a HTML element ".concat(JSON.stringify(t)," ").concat(e," ").concat(n);throw we.log.error("Unable to create iframe",new Error),Error(a)}let s=document.createElement("iframe");return s.name=e,s.width=r,s.height=i,s.setAttribute("id",n),s.setAttribute("frameborder","0"),s.setAttribute("border","0"),o&&typeof o=="function"&&s.addEventListener("onload",o),t.appendChild(s),s},Yc=(t,e,n)=>{let r=document.createElement("form");return r.name=t,r.action=e,r.method="POST",r.target=n,r},Jc=(t,e)=>{let n=document.createElement("input");return n.name=t,n.value=e,n},Fc=(t,e=!1)=>{let n;if(n=document.getElementById(t),n){n.innerHTML="",e&&n.setAttribute("style","display:none;");return}n=document.createElement("div"),n.id=t,e&&n.setAttribute("style","display:none;"),document.body.appendChild(n)},Zt=t=>t==null?void 0:t.map(e=>{var n;return(n=document.getElementById(e))==null?void 0:n.remove()}),Zc=(t,e)=>{let n=r=>typeof r=="string"?e(r):typeof r!="object"||r===null?r:Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([i,o])=>[e(i),typeof o=="object"||Array.isArray(o)?n(o):o]));return n(t)},Oh=t=>Zc(t,e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()),Xc=t=>Zc(t,e=>e.replace(/_./g,n=>n[1].toUpperCase())),_r=t=>btoa(JSON.stringify(t)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),Qc=(()=>{let t,e;return{client:async(i,o,s,a)=>{if(!t)throw Error("Missing api key");e&&we.log.info("Using custom api base url in 3DS SDK ".concat(e));let c={};return a&&(c[zc]=a),await fetch("".concat(e!=null?e:vh,"/3ds").concat(o),{method:i,body:JSON.stringify(s),headers:S({[wh]:t,"Content-Type":"application/json"},c)})},init:(i,o)=>{t=i,e=o}}})();(function(t){t.METHOD="method",t.CHALLENGE="challenge",t.METHOD_TIME_OUT="methodTimeout",t.START_METHOD_TIME_OUT="startMethodTimeout",t.ERROR="error"})(Z||(Z={}));qo=t=>window.postMessage(t,"*"),eu=t=>typeof t=="object"&&t!==null&&"isCompleted"in t&&typeof t.isCompleted=="boolean"&&"id"in t&&typeof t.id=="string"&&"type"in t&&Object.values(Z).includes(t.type),$c=t=>{var e;return(e={[Z.CHALLENGE]:De.IFRAME_NAME,[Z.METHOD]:Ne.IFRAME_NAME,[Z.METHOD_TIME_OUT]:Ne.IFRAME_NAME,[Z.ERROR]:"".concat(Ne.IFRAME_NAME,",").concat(De.IFRAME_NAME),[Z.START_METHOD_TIME_OUT]:""}[t])==null?void 0:e.split(",")},xh=t=>{let e;return new Promise((n,r)=>{let i=o=>{var s,a,c,l;if(eu(o.data)){if(o.data.type===Z.ERROR)we.log.error("Error occurred during session creation: ".concat((s=o==null?void 0:o.data)==null?void 0:s.details)),r(new Error("An error occurred during session creation: ".concat((a=o==null?void 0:o.data)==null?void 0:a.details))),Zt($c((c=o.data)==null?void 0:c.type)),clearTimeout(e);else if(o.data.type===Z.START_METHOD_TIME_OUT)e=setTimeout(()=>{qo({id:o.data.id,type:Z.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(o.data.type!==Z.CHALLENGE){if(o.isTrusted){window.removeEventListener("message",i);let d=(p=>{let g=Xc(t),m={id:p.data.id,cardBrand:g.cardBrand,correlationId:g.correlationId};return g.additionalCardBrands&&(m.additionalCardBrands=g.additionalCardBrands),m})(o);n(d),Zt($c((l=o.data)==null?void 0:l.type)),clearTimeout(e)}}}};window.addEventListener("message",i)})},qc={},Kc={"The card was not supported by any card schemes":"3DS is not supported for the provided card"},kh=t=>"errors"in t&&t.errors!==void 0&&typeof t.errors=="object"&&t.errors!==null,Nh=t=>typeof t=="object"&&t!==null&&("title"in t||"status"in t||"detail"in t),Dh=t=>{if(kh(t)){for(let e of Object.keys(t.errors))if(Kc[e])throw new Error(Kc[e])}else if(t.status===424&&t.error){let e=[];t.error.message&&e.push(t.error.message),t.error.details&&e.push("details: "+t.error.details);let n=e.length>0?e.join(" - "):t.title||"An unknown 3DS service error occurred";throw new Error(n)}else if(t.title&&qc[t.title])throw new Error(qc[t.title]);throw new Error(t.title||"An unknown error occurred")},Bh=(t,e,n)=>{let r=_r({threeDSServerTransID:e,threeDSMethodNotificationURL:"".concat(n,"?mode=redirect")}),i=window.open("","threeDSMethodForm");if(!i){console.error("Popup blocked or unable to open the window.");return}let o=Yc(Ne.FORM_NAME,t,"threeDSMethodForm");o.appendChild(Jc(Ne.INPUT_NAME,r)),document.body.appendChild(o),o.submit();let s=window.setInterval(()=>{i.closed&&(clearInterval(s),qo({isCompleted:!0,id:e,type:Z.METHOD}))},500)},Lh=(t,e,n)=>{let r=_r({threeDSServerTransID:e,threeDSMethodNotificationURL:n}),i=document.getElementById(Ne.FRAME_CONTAINER_ID),o=Wc(i,Ne.IFRAME_NAME,Ne.IFRAME_NAME,"0","0");o.src="".concat(Or,"/").concat(Ih),o.onload=()=>{var s;(s=o.contentWindow)==null||s.postMessage({type:"startMethod",threeDSMethodURL:t,threeDSMethodData:r},"*")}},Mh=async({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r=!1,methodRequestMode:i,challengeMode:o,correlationId:s})=>{var g;let a=[n,t,e].filter(m=>m!==void 0);if(a.length===0)throw new Error("One of pan, tokenId, or tokenIntentId is required.");if(a.length>1)throw new Error("Only one of pan, tokenId, or tokenIntentId should be provided.");let c=n?"pan":t?"tokenId":"tokenIntentId",l=n||t||e,u=Ah(),d=await Qc.client("POST","/sessions",Oh({[c]:l,device:"browser",deviceInfo:u,webChallengeMode:o}),s);if(!d.ok){let m;try{m=await d.json()}catch(h){let f="Failed to parse error response. HTTP Status: ".concat(d.status);throw we.log.error(f),new Error(f)}if(Nh(m))Dh(m);else{let h="An unknown error occurred while creating session. Status: ".concat(d.status,".");throw we.log.error("".concat(h," Response: ").concat(JSON.stringify(m,null,2))),new Error(h)}}let p=Xc(await d.json());return p.correlationId=((g=d.headers)==null?void 0:g.get(zc))||"",we.log.info("3DS session response received with ID ".concat(p.id)),p.methodUrl&&!r&&(qo({isCompleted:!1,id:p.id,type:Z.START_METHOD_TIME_OUT}),i===Rr.REDIRECT?Bh(p.methodUrl,p.id,p.methodNotificationUrl):Lh(p.methodUrl,p.id,p.methodNotificationUrl)),p},jh=async({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r=!1,methodRequestMode:i=Rr.IFRAME,challengeMode:o=Rr.IFRAME,correlationId:s=""})=>{let a=await Mh({tokenId:t,tokenIntentId:e,pan:n,skipMethodRequest:r,methodRequestMode:i,challengeMode:o,correlationId:s}).catch(c=>Promise.reject(c.message));if(!a.methodUrl||r){let c={id:a.id,cardBrand:a.cardBrand};return a.additionalCardBrands&&(c.additionalCardBrands=a.additionalCardBrands),c}return await xh(a)},Uh=(t=6e4)=>{let e;return new Promise((n,r)=>{let i=o=>{var s,a;if(eu(o.data))if(o.data.type===Z.ERROR)we.log.error("Error occurred during challenge: ".concat((s=o==null?void 0:o.data)==null?void 0:s.details)),r(new Error("An error occurred during challenge: ".concat((a=o==null?void 0:o.data)==null?void 0:a.details))),Zt([De.IFRAME_NAME]),clearTimeout(t);else if(o.data.type===Z.CHALLENGE){clearTimeout(e),window.removeEventListener("message",i);let l=(u=>({id:u.data.id,isCompleted:u.data.isCompleted,authenticationStatus:u.data.authenticationStatus}))(o);we.log.info("".concat(o.data.type," notification received for session: ").concat(l.id)),n(l),Zt([De.IFRAME_NAME])}else o.isTrusted};window.addEventListener("message",i),e=setTimeout(()=>{window.removeEventListener("message",i),r(new Error("Timed out waiting for a challenge response. Please try again.")),Zt([De.IFRAME_NAME])},t)})};$h=(t,e,n)=>{let r=document.getElementById(n!=null?n:De.FRAME_CONTAINER_ID),i=Vc(e.challengeWindowSize),o=_r(e),s=De.IFRAME_NAME,a=Wc(r,s,s,i[0],i[1]);a.src="".concat(Or,"/").concat(Ch),a.onload=()=>{var c;(c=a.contentWindow)==null||c.postMessage({type:"startChallenge",acsURL:t,creq:o},"*")}},qh=(t,e)=>{let n=Vc(e.challengeWindowSize);if(!window.open("","threeDSChallenge","width=".concat(n[0],",height=").concat(n[1])))throw new Error("Popup blocked or unable to open the window.");let i=_r(e),o=Yc(De.FORM_NAME,t,"threeDSChallenge"),s=Jc("creq",i);o.appendChild(s),document.body.appendChild(o),o.submit()},Kh=({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o,containerId:s})=>{if(!t)throw new Error("Session ID is required");let a={messageType:"CReq",messageVersion:r,threeDSServerTransID:t,acsTransID:e,challengeWindowSize:i!=null?i:Ar.THREE};if(Fh(a))o===Rr.REDIRECT?qh(n,a):$h(n,a,s);else{let c="Invalid challenge request payload for session: ".concat(t);return we.log.error(c),Promise.reject(new Error(c))}return Promise.resolve({id:t})},zh=async({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o="iframe",timeout:s=6e4,containerId:a})=>(await Kh({sessionId:t,acsTransactionId:e,acsChallengeUrl:n,threeDSVersion:r,windowSize:i,mode:o,containerId:a}).catch(c=>Promise.reject(c.message)),Uh(s)),Or=Gc,tu=(t,e)=>{var n,r;try{Th({disableTelemetry:(n=e==null?void 0:e.disableTelemetry)!=null?n:!1}),Fc(Ne.FRAME_CONTAINER_ID,!0),Fc(De.FRAME_CONTAINER_ID)}catch(i){we.log.error("Unable to create iframe container",i)}return Or=(r=e==null?void 0:e.sdkBaseUrl)!=null?r:Gc,Qc.init(t,e==null?void 0:e.apiBaseUrl),{createSession:jh,startChallenge:zh}};window.BasisTheory3ds=tu});var ly={};Tt(ly,{ApiClient:()=>at,CLICK_ID_COOKIES:()=>Xr,CLICK_ID_URL_PARAMS:()=>Zr,CheckoutResource:()=>dn,CheckoutUtils:()=>oi,CurrencyUtils:()=>ii,ExpressPaymentMethodsResource:()=>hn,FunnelActionType:()=>nn,GeoResource:()=>yn,GoogleAutocompleteCore:()=>pt,ISODataCore:()=>Pn,OffersResource:()=>fn,OrderBumpUtils:()=>li,OrderUtils:()=>ri,OrdersResource:()=>gn,PaymentService:()=>xr,PaymentsResource:()=>ct,PluginConfigUtils:()=>Hr,PostPurchasesUtils:()=>ai,ProductsUtils:()=>ni,PromotionsUtils:()=>si,ShippingRatesResource:()=>pn,StoreConfigResource:()=>ut,TagadaApiError:()=>Oe,TagadaAuthError:()=>ot,TagadaCircuitBreakerError:()=>st,TagadaClient:()=>Mt,TagadaError:()=>me,TagadaErrorCode:()=>le,TagadaExternalTracker:()=>Qt,TagadaNetworkError:()=>it,TagadaTracker:()=>Go,TagadaValidationError:()=>cn,ThreedsResource:()=>dt,broadcastConfigUpdate:()=>Sd,clearFunnelSessionCookie:()=>_t,createRawPluginConfig:()=>_s,createTagadaClient:()=>Ho,debounceConfigUpdate:()=>Pd,formatMoney:()=>lu,funnelQueryKeys:()=>yd,getAssignedPaymentFlowId:()=>rt,getAssignedStepConfig:()=>ee,getBasisTheoryApiKey:()=>sy,getBasisTheoryTenantId:()=>ay,getCurrencyInfo:()=>cu,getFunnelSessionCookie:()=>on,getFunnelVariantId:()=>Tu,getInternalPath:()=>Ut,getPathInfo:()=>Xs,getPluginConfig:()=>ad,hasFunnelSessionCookie:()=>Cu,injectStepConfigScripts:()=>Vo,isApplePayAvailable:()=>kr,isGooglePayAvailable:()=>Dr,isPathRemapped:()=>Zs,loadLocalConfig:()=>As,loadPluginConfig:()=>Vr,makeMetaEventId:()=>wd,matchRoute:()=>Qs,minorUnitsToMajorUnits:()=>du,moneyStringOrNumberToMinorUnits:()=>uu,onConfigUpdate:()=>bd,publishTrackingGlobal:()=>mn,resolveClickId:()=>Qr,sendConfigUpdate:()=>Ks,setFunnelSessionCookie:()=>qr,startApplePaySession:()=>Nr,startGooglePaySession:()=>Br});en();qe();var le={NETWORK_ERROR:"network_error",API_ERROR:"api_error",AUTH_REQUIRED:"auth_required",TOKEN_EXPIRED:"token_expired",NOT_FOUND:"not_found",VALIDATION_ERROR:"validation_error",CIRCUIT_BREAKER:"circuit_breaker",PAYMENT_FAILED:"payment_failed",CARD_DECLINED:"card_declined",SESSION_EXPIRED:"session_expired",RATE_LIMITED:"rate_limited",TIMEOUT:"timeout",UNKNOWN:"unknown"},me=class extends Error{constructor(e,n){var r;super(e),this.name="TagadaError",this.code=n.code,this.statusCode=n.statusCode,this.retryable=(r=n.retryable)!=null?r:!1,this.details=n.details,Object.setPrototypeOf(this,new.target.prototype)}},Oe=class extends me{constructor(e,n,r){var i,o;super(e,{code:(i=r==null?void 0:r.code)!=null?i:le.API_ERROR,statusCode:n,retryable:(o=r==null?void 0:r.retryable)!=null?o:n>=500,details:r==null?void 0:r.details}),this.name="TagadaApiError"}},it=class extends me{constructor(e="Network request failed"){super(e,{code:le.NETWORK_ERROR,retryable:!0}),this.name="TagadaNetworkError"}},ot=class extends me{constructor(e="Authentication required",n=401){super(e,{code:le.AUTH_REQUIRED,statusCode:n,retryable:!1}),this.name="TagadaAuthError"}},cn=class extends me{constructor(e,n){super(e,{code:le.VALIDATION_ERROR,statusCode:400,retryable:!1,details:n}),this.name="TagadaValidationError"}},st=class extends me{constructor(e){super(e,{code:le.CIRCUIT_BREAKER,retryable:!1}),this.name="TagadaCircuitBreakerError"}};var at=class{constructor(e){this.currentToken=null;this.tokenProvider=null;this.requestHistory=new Map;this.WINDOW_MS=5e3;this.MAX_REQUESTS=30;this.baseURL=e.baseURL,this.timeout=e.timeout||6e4,this.defaultHeaders=S({"Content-Type":"application/json"},e.headers),typeof setInterval!="undefined"&&setInterval(()=>this.cleanupHistory(),1e4)}setTokenProvider(e){this.tokenProvider=e}async get(e,n){return this.request("GET",e,void 0,n)}async post(e,n,r){return this.request("POST",e,n,r)}async put(e,n,r){return this.request("PUT",e,n,r)}async patch(e,n,r){return this.request("PATCH",e,n,r)}async delete(e,n){return this.request("DELETE",e,void 0,n)}setHeader(e,n){this.defaultHeaders[e]=n}removeHeader(e){delete this.defaultHeaders[e]}updateToken(e){this.currentToken=e,e?this.setHeader("x-cms-token",e):(this.removeHeader("x-cms-token"),console.log("[SDK] Token removed from ApiClient"))}getCurrentToken(){return this.currentToken}updateConfig(e){e.baseURL&&(this.baseURL=e.baseURL),e.timeout&&(this.timeout=e.timeout),e.headers&&Object.assign(this.defaultHeaders,e.headers),console.log("[SDK] ApiClient configuration updated")}async request(e,n,r,i){let o="".concat(e,":").concat(n);try{this.checkRequestLimit(o)}catch(d){throw console.error("[SDK] \u{1F6D1} Request blocked by Circuit Breaker:",d),d}if(!(i!=null&&i.skipAuth)&&!this.currentToken&&this.tokenProvider)try{console.log("[SDK] Waiting for token...");let d=await this.tokenProvider();d&&this.updateToken(d)}catch(d){console.error("[SDK] Failed to get token from provider:",d)}let s=S({},this.defaultHeaders);i!=null&&i.headers&&Object.assign(s,i.headers),!(i!=null&&i.skipAuth)&&this.currentToken&&(s["x-cms-token"]=this.currentToken);let a="".concat(this.baseURL).concat(n);if(i!=null&&i.params){let d=new URLSearchParams(i.params);a+="?".concat(d.toString())}console.log("[SDK] Making ".concat(e," request to: ").concat(a));let c=new AbortController,l=setTimeout(()=>c.abort(),this.timeout),u=i!=null&&i.signal?Hu([i.signal,c.signal]):c.signal;try{let d={method:e,headers:s,signal:u};r!==void 0&&(d.body=JSON.stringify(r));let p=await fetch(a,d);if(!p.ok){let m=await this.safeParseJson(p);throw this.toTagadaError(p.status,m,p.statusText)}return await p.json()}catch(d){throw d instanceof me?d:d instanceof DOMException&&d.name==="AbortError"?new Oe("Request timed out",0,{code:le.TIMEOUT,retryable:!0}):d instanceof TypeError?new it(d.message):d instanceof Error?d:new Error(String(d))}finally{clearTimeout(l)}}toTagadaError(e,n,r){var o,s,a;let i=(s=(o=n==null?void 0:n.message)!=null?o:n==null?void 0:n.error)!=null?s:r;return e===401||e===403?new ot(i,e):e===429?new Oe(i,429,{code:le.RATE_LIMITED,retryable:!0}):e===404?new Oe(i,404,{code:le.NOT_FOUND,retryable:!1}):new Oe(i,e,{code:(a=n==null?void 0:n.code)!=null?a:le.API_ERROR,details:n,retryable:e>=500})}async safeParseJson(e){try{return await e.json()}catch(n){return}}checkRequestLimit(e){let n=Date.now(),r=this.requestHistory.get(e);if(!r){this.requestHistory.set(e,{count:1,firstRequestTime:n});return}if(n-r.firstRequestTime>this.WINDOW_MS){this.requestHistory.set(e,{count:1,firstRequestTime:n});return}if(r.count++,r.count>this.MAX_REQUESTS)throw new st("Circuit Breaker: Too many requests to ".concat(e," (").concat(r.count," in ").concat(this.WINDOW_MS,"ms)"))}cleanupHistory(){let e=Date.now();for(let[n,r]of this.requestHistory.entries())e-r.firstRequestTime>this.WINDOW_MS&&this.requestHistory.delete(n)}};function Hu(t){let e=new AbortController;for(let n of t){if(n.aborted)return e.abort(n.reason),e.signal;n.addEventListener("abort",()=>e.abort(n.reason),{once:!0,signal:e.signal})}return e.signal}function Vu(){return{width:window.screen.width,height:window.screen.height}}function Wu(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(t){return"UTC"}}function Is(){try{return navigator.language||"en-US"}catch(t){return"en-US"}}var Ke=typeof navigator!="undefined"?navigator.userAgent:"";function pe(t,...e){for(let n of e){let r=t.match(n);if(r)return r}return null}function Yu(t){let e=[[/EdgA?\/([\d.]+)/i,"Edge"],[/OPR\/([\d.]+)/i,"Opera"],[/Brave\/([\d.]+)/i,"Brave"],[/Vivaldi\/([\d.]+)/i,"Vivaldi"],[/SamsungBrowser\/([\d.]+)/i,"Samsung Internet"],[/UCBrowser\/([\d.]+)/i,"UC Browser"],[/Firefox\/([\d.]+)/i,"Firefox"],[/CriOS\/([\d.]+)/i,"Chrome"],[/FxiOS\/([\d.]+)/i,"Firefox"],[/Chrome\/([\d.]+)/i,"Chrome"],[/Version\/([\d.]+).*Safari/i,"Safari"],[/Safari\/([\d.]+)/i,"Safari"]];for(let[n,r]of e){let i=t.match(n);if(i){let o=i[1]||"";return{name:r,version:o,major:o.split(".")[0]||""}}}return{name:"",version:"",major:""}}function Ju(t){let e=pe(t,/Windows NT ([\d.]+)/i)||pe(t,/Mac OS X ([\d_.]+)/i)||pe(t,/Android ([\d.]+)/i)||pe(t,/iPhone OS ([\d_]+)/i)||pe(t,/iPad.*OS ([\d_]+)/i)||pe(t,/CrOS[\w ]*\/([\d.]+)/i)||pe(t,/Linux/i);if(!e)return{name:"",version:""};let n=e[0],r=(e[1]||"").replace(/_/g,".");return/Windows/i.test(n)?{name:"Windows",version:{"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7","6.0":"Vista","5.1":"XP"}[r]||r}:/Mac OS X/i.test(n)?{name:"macOS",version:r}:/Android/i.test(n)?{name:"Android",version:r}:/iPhone|iPad/i.test(n)?{name:"iOS",version:r}:/CrOS/i.test(n)?{name:"Chrome OS",version:r}:/Linux/i.test(n)?{name:"Linux",version:""}:{name:"",version:""}}function Zu(t){var e;if(/iPad/i.test(t))return{type:"tablet",vendor:"Apple",model:"iPad"};if(/iPhone/i.test(t))return{type:"mobile",vendor:"Apple",model:"iPhone"};if(/iPod/i.test(t))return{type:"mobile",vendor:"Apple",model:"iPod"};if(/Android/i.test(t)){let n=t.match(/Android[\s\d.]+;\s*([^)]+?)(?:\s+Build)/i);return{type:/Mobile/i.test(t)?"mobile":"tablet",model:(e=n==null?void 0:n[1])==null?void 0:e.trim()}}}function Xu(t){let e=pe(t,/AppleWebKit\/([\d.]+)/i)||pe(t,/Gecko\/([\d.]+)/i)||pe(t,/Trident\/([\d.]+)/i)||pe(t,/Presto\/([\d.]+)/i);if(!e)return{name:"",version:""};let n=e[0],r=e[1]||"";return/AppleWebKit/i.test(n)?{name:"WebKit",version:r}:/Gecko/i.test(n)?{name:"Gecko",version:r}:/Trident/i.test(n)?{name:"Trident",version:r}:/Presto/i.test(n)?{name:"Presto",version:r}:{name:"",version:""}}function Qu(t){return/x86_64|x64|amd64|Win64/i.test(t)?{architecture:"amd64"}:/ia32|x86/i.test(t)?{architecture:"ia32"}:/aarch64|arm64/i.test(t)?{architecture:"arm64"}:/arm/i.test(t)?{architecture:"arm"}:{architecture:""}}function ed(){return navigator.webdriver?!0:/bot|crawl|spider|slurp|Googlebot|bingbot|yandex|baidu|duckduck|facebookexternalhit|Twitterbot|linkedinbot|embedly|quora|pinterest|redditbot|Slackbot|Discordbot|WhatsApp|TelegramBot|Applebot/i.test(Ke)}function td(t){return/Chrome|Chromium|Edge|Brave|Opera|Vivaldi|Arc/i.test(t)}function nd(){return window.matchMedia("(display-mode: standalone)").matches||navigator.standalone===!0}function rd(t){return/mac/i.test(t)?navigator.maxTouchPoints>0:!1}function Cs(){if(typeof window=="undefined")return{userAgent:{name:"",browser:{major:"",name:"",version:""},os:{name:"",version:""},device:void 0,engine:{name:"",version:""},cpu:{architecture:""}},screenResolution:{width:0,height:0},timeZone:"UTC",flags:{isBot:!1,isChromeFamily:!1,isStandalonePWA:!1,isAppleSilicon:!1}};let t=Yu(Ke),e=Ju(Ke),n=Zu(Ke),r=Xu(Ke),i=Qu(Ke),o;try{o={isBot:ed(),isChromeFamily:td(t.name),isStandalonePWA:nd(),isAppleSilicon:rd(e.name)}}catch(s){o={isBot:!1,isChromeFamily:!1,isStandalonePWA:!1,isAppleSilicon:!1}}return{userAgent:{name:Ke,browser:t,os:e,device:n,engine:r,cpu:i},screenResolution:Vu(),timeZone:Wu(),flags:o}}function Ts(){if(typeof window=="undefined")return{};let t=new URLSearchParams(window.location.search);return{locale:t.get("locale")||void 0,currency:t.get("currency")||void 0,utmSource:t.get("utm_source")||void 0,utmMedium:t.get("utm_medium")||void 0,utmCampaign:t.get("utm_campaign")||void 0,gclid:t.get("gclid")||void 0}}var un=class{constructor(){this.listeners=new Map}on(e,n){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(n),()=>this.off(e,n)}off(e,n){this.listeners.has(e)&&this.listeners.get(e).delete(n)}async emit(e,n){if(this.listeners.has(e)){let r=Array.from(this.listeners.get(e));await Promise.all(r.map(i=>{try{return Promise.resolve(i(n))}catch(o){return console.error('[EventBus] Error in listener for event "'.concat(e,'":'),o),Promise.resolve()}}))}}clear(){this.listeners.clear()}};Fr();function Lt(t){try{let e=t.split(".");if(e.length!==3)return console.error("Invalid JWT token format"),null;let n=e[1],r=n+"=".repeat((4-n.length%4)%4),i=atob(r),o=JSON.parse(i);return o.exp&&Date.now()>=o.exp*1e3?(console.warn("JWT token is expired"),null):{sessionId:o.sessionId,storeId:o.storeId,accountId:o.accountId,customerId:o.customerId,role:o.role,isValid:!0,isLoading:!1}}catch(e){return console.error("Failed to decode JWT token:",e),null}}function Es(t){try{let e=t.split(".");if(e.length!==3)return!0;let n=e[1],r=n+"=".repeat((4-n.length%4)%4),i=atob(r),o=JSON.parse(i);return o.exp?Date.now()>=o.exp*1e3:!1}catch(e){return console.error("Failed to check token expiration:",e),!0}}en();var lt={},id=["","VITE_","REACT_APP_","NEXT_PUBLIC_"];function xe(t,e=id){var n,r,i;for(let o of e){let s=o?"".concat(o).concat(t):t;if(typeof process!="undefined"&&((n=process==null?void 0:process.env)!=null&&n[s]))return console.log("process.env[".concat(s,"]"),process.env[s]),process.env[s];if(typeof lt!="undefined"&&((r=lt==null?void 0:lt.env)!=null&&r[s]))return console.log("import.meta.env[".concat(s,"]"),lt.env[s]),lt.env[s];if(typeof window!="undefined"&&((i=window==null?void 0:window.__TAGADA_ENV__)!=null&&i[s]))return console.log("window.__TAGADA_ENV__[".concat(s,"]"),window.__TAGADA_ENV__[s]),window.__TAGADA_ENV__[s]}}var od=async(t="default")=>{try{if((xe("TAGADA_ENV")||xe("TAGADA_ENVIRONMENT"))==="production"||!Rt(!0))return null;let n=await fetch("/.local.json");if(!n.ok)return null;let r=await n.json(),i={},o=!1;try{let a=await fetch("/config/".concat(t,".tgd.json"));a.ok||(a=await fetch("/config/".concat(t,".json"))),a.ok&&(i=await a.json(),o=!0)}catch(a){}if(!o&&t!=="default"){console.warn("\u26A0\uFE0F Config variant '".concat(t,"' not found, falling back to 'default'"));try{let a=await fetch("/config/default.tgd.json");a.ok||(a=await fetch("/config/default.json")),a.ok&&(i=await a.json(),o=!0,console.log("\u2705 Fallback to 'default' config successful"))}catch(a){}}o||console.warn(t==="default"?"\u26A0\uFE0F No 'default' config found. Create /config/default.tgd.json":"\u26A0\uFE0F Neither '".concat(t,"' nor 'default' config found. Create /config/default.tgd.json"));let s={storeId:r.storeId,accountId:r.accountId,basePath:r.basePath,config:i};return console.log("\u{1F6E0}\uFE0F Using local development plugin config:",s),s}catch(e){return null}},sd=async()=>{try{if((xe("TAGADA_ENV")||xe("TAGADA_ENVIRONMENT"))==="production"||!Rt(!0))return null;try{console.log("\u{1F6E0}\uFE0F [V2] Attempting to load /config/funnel.local.json...");let r=await fetch("/config/funnel.local.json");if(r.ok){let i=await r.json();console.log("\u{1F6E0}\uFE0F [V2] \u2705 Loaded local funnel config (NEW format):",i);let{loadLocalFunnelConfig:o}=await Promise.resolve().then(()=>(qe(),vs));if(await o(),i.staticResources){let s={};for(let[a,c]of Object.entries(i.staticResources))s[a]={id:c};return s}return null}}catch(r){console.log("\u{1F6E0}\uFE0F [V2] funnel.local.json not found, trying legacy format...")}console.log("\u{1F6E0}\uFE0F [V2] Attempting to load /config/resources.static.json (legacy)...");let e=await fetch("/config/resources.static.json");if(!e.ok)return console.log("\u{1F6E0}\uFE0F [V2] No local static resources found"),null;let n=await e.json();return console.log("\u{1F6E0}\uFE0F [V2] \u2705 Loaded legacy static resources:",n),n}catch(t){return console.error("\u{1F6E0}\uFE0F [V2] \u274C Error loading static resources:",t),null}},ze=t=>{if(typeof document=="undefined")return;let e=document.querySelector('meta[name="'.concat(t,'"]'));return(e==null?void 0:e.getAttribute("content"))||void 0},Rs=()=>{if(typeof window!="undefined"&&window.__TAGADA_PLUGIN_CONFIG__)return window.__TAGADA_PLUGIN_CONFIG__;try{let t=ze("x-plugin-config");if(t)return JSON.parse(decodeURIComponent(t))}catch(t){}return{}};function ad(){if(typeof document=="undefined")return{basePath:"/",config:{}};let t=ze("x-plugin-store-id"),e=ze("x-plugin-account-id"),n=ze("x-plugin-base-path")||"/",r=Rs();return{storeId:t,accountId:e,basePath:n,config:r}}var ld=async()=>{try{if(typeof document=="undefined")return null;let t=ze("x-plugin-store-id"),e=ze("x-plugin-account-id");if(!t)return null;let n=ze("x-plugin-base-path")||"/",r=Rs();e||console.warn("\u26A0\uFE0F Plugin config: Account ID not found in meta tags");let i={storeId:t,accountId:e,basePath:n,config:r};return console.log("\u{1F680} [HIGHEST PRIORITY] Plugin config loaded from meta tags (runtime injected config):",{storeId:t,accountId:e,basePath:n,configKeys:Object.keys(r),configSize:JSON.stringify(r).length}),i}catch(t){return console.warn("\u26A0\uFE0F Error loading production config from meta tags:",t),null}},Vr=async(t="default",e)=>{var s,a;console.log("\u{1F527} [V2] loadPluginConfig called with variant:",t);let n=await sd(),r=await ld();if(r){let c=A(S({},r),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using INJECTED config from meta tags (HIGHEST PRIORITY)"),c}if(e){let c={storeId:e.storeId,accountId:e.accountId,basePath:(s=e.basePath)!=null?s:"/",config:(a=e.config)!=null?a:{},staticResources:n!=null?n:void 0};return console.log("\u2705 [V2] Using raw config parameter (PRIORITY 2)"),c}let i=await _s();if(i){let c=A(S({},i),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using environment variables config (PRIORITY 3 - build time)"),c}let o=await od(t);if(o){let c=A(S({},o),{staticResources:n!=null?n:void 0});return console.log("\u2705 [V2] Using local dev config files (PRIORITY 4)"),c}return console.warn("\u26A0\uFE0F [V2] No plugin config found - using defaults"),{basePath:"/",config:{},staticResources:n!=null?n:void 0}};async function As(t="default",e){try{if(!Rt())return null;if(e)return e;let n=["/config/".concat(t,".config.json"),"/config/".concat(t,".tgd.json"),"/config/".concat(t,".json")];for(let r of n)try{let i=await fetch(r);if(i.ok)return await i.json()}catch(i){continue}return console.warn("\u26A0\uFE0F [loadLocalConfig] No config found for '".concat(t,"'")),null}catch(n){return console.error("[loadLocalConfig] Error loading config:",n),null}}async function _s(){try{if(!Rt())return;let t=xe("TAGADA_STORE_ID"),e=xe("TAGADA_ACCOUNT_ID"),n=xe("TAGADA_BASE_PATH"),r=xe("TAGADA_CONFIG_NAME");if(!t||!e)return;let i=await As(r);if(!i)return;let o={storeId:t,accountId:e,basePath:n||"/",config:i};return console.log("\u{1F6E0}\uFE0F [createRawPluginConfig] Using environment variables (build-time config):",{hasStoreId:!!o.storeId,hasAccountId:!!o.accountId,basePath:o.basePath,hasConfig:!!o.config}),o}catch(t){console.error("[createRawPluginConfig] Error creating config:",t);return}}var Hr=class{static getPluginConfig(e,n){return{storeId:(e==null?void 0:e.storeId)||(n==null?void 0:n.storeId),accountId:(e==null?void 0:e.accountId)||(n==null?void 0:n.accountId),basePath:(e==null?void 0:e.basePath)||(n==null?void 0:n.basePath)||"/",config:(e==null?void 0:e.config)||{}}}static validateConfig(e){return!!(e.storeId&&e.accountId)}};kt();Qe();Qe();var Wr=new Map,Yr=new Set;function cd(){return typeof window=="undefined"?null:new URLSearchParams(window.location.search).get("authCode")}async function Os(t,e,n,r=!1){if(Yr.has(t))throw r&&console.log("[AuthHandoff] Code already resolved, skipping duplicate request"),new Error("Auth code already resolved");let i=Wr.get(t);if(i)return r&&console.log("[AuthHandoff] Resolution already in progress, waiting for existing request"),i;r&&console.log("[AuthHandoff] Resolving authCode:",t.substring(0,15)+"...");let o=(async()=>{try{let s=await fetch("".concat(n,"/api/v1/cms/auth/resolve-handoff"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:t,storeId:e})});if(!s.ok){let c=await s.json().catch(()=>({message:"Unknown error"}));throw new Error(c.message||"Failed to resolve auth handoff: ".concat(s.status))}let a=await s.json();return r&&console.log("[AuthHandoff] \u2705 Resolved successfully:",{customerId:a.customer.id,role:a.customer.role,hasContext:Object.keys(a.context).length>0}),r&&console.log("[AuthHandoff] Storing new token (overriding existing)"),ue(a.token),ud(r),Yr.add(t),a}catch(s){throw console.error("[AuthHandoff] \u274C Failed to resolve:",s),s}finally{Wr.delete(t)}})();return Wr.set(t,o),o}function ud(t=!1){if(typeof window=="undefined")return;let e=new URL(window.location.href);e.searchParams.has("authCode")&&(e.searchParams.delete("authCode"),window.history.replaceState({},"",e.pathname+e.search+e.hash),t&&console.log("[AuthHandoff] Cleaned authCode from URL"))}function xs(){let t=cd();return!(!t||!t.startsWith("ah_")||Yr.has(t))}var Mt=class{constructor(e={}){this.bus=new un;this.eventDispatcher=new Ze;this.tokenPromise=null;this.tokenResolver=null;this.isInitializingSession=!1;this.lastSessionInitError=null;this.sessionInitRetryCount=0;this.MAX_SESSION_INIT_RETRIES=3;var a,c,l,u;this.config=e,this.instanceId=Math.random().toString(36).substr(2,9),this.boundHandleStorageChange=this.handleStorageChange.bind(this),this.boundHandlePageshow=d=>{if(d.persisted)if(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Page restored from BFcache (back button), re-initializing funnel...")),this.funnel&&this.state.session&&this.state.store){this.funnel.resetInitialization();let p=this.getAccountId(),m=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||void 0;this.funnel.autoInitialize({customerId:this.state.session.customerId,sessionId:this.state.session.sessionId},{id:this.state.store.id,accountId:p},m).catch(h=>{console.error("[TagadaClient] Funnel re-initialization failed:",h)})}else this.sessionInitRetryCount=0,this.initialize()},console.log("[TagadaClient ".concat(this.instanceId,"] Initializing...")),console.log("[TagadaClient ".concat(this.instanceId,"] Config:"),{debugMode:e.debugMode,hasRawPluginConfig:!!e.rawPluginConfig,rawPluginConfig:e.rawPluginConfig,features:e.features}),as(this.config.debugMode)&&this.config.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Preview mode active - state cleared"));let r=this.resolveEnvironment(),i=is(r);e.customApiConfig&&(i=A(S(S({},i),e.customApiConfig),{apiConfig:S(S({},i.apiConfig),e.customApiConfig.apiConfig)}),this.config.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Applied custom API config:"),i.apiConfig.baseUrl)),this.state={auth:{isAuthenticated:!1,isLoading:!1,customer:null,session:null},session:null,customer:null,locale:{locale:"en-US",language:"en",region:"US",messages:{}},currency:{code:"USD",symbol:"$",name:"US Dollar"},store:null,environment:i,isLoading:!0,isInitialized:!1,isSessionInitialized:!1,pluginConfig:{basePath:"/",config:{}},pluginConfigLoading:!0,debugMode:(a=e.debugMode)!=null?a:r!=="production",token:null},console.log("[TagadaClient ".concat(this.instanceId,"] Initial state:"),{pluginConfigLoading:this.state.pluginConfigLoading,hasRawPluginConfig:!!e.rawPluginConfig}),this.apiClient=new at({baseURL:i.apiConfig.baseUrl});let o=(c=e.features)==null?void 0:c.funnel;if(o!==!1){let d=typeof o=="object"?o:{};this.funnel=new Dt({apiClient:this.apiClient,debugMode:this.state.debugMode,pluginConfig:this.state.pluginConfig,environment:this.state.environment,autoRedirect:d.autoRedirect,funnelId:(l=e.rawPluginConfig)==null?void 0:l.funnelId,stepId:(u=e.rawPluginConfig)==null?void 0:u.stepId})}this.apiClient.setTokenProvider(this.waitForToken.bind(this)),typeof window!="undefined"&&(window.addEventListener("storage",this.boundHandleStorageChange),window.addEventListener("pageshow",this.boundHandlePageshow)),this.setupConfigHotReload(),this.initialize()}destroy(){typeof window!="undefined"&&(window.removeEventListener("storage",this.boundHandleStorageChange),window.removeEventListener("pageshow",this.boundHandlePageshow)),this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Destroyed")),this.eventDispatcher.clear(),this.bus.clear()}handleStorageChange(){if(At()===this.state.token){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Token unchanged (ignoring event)"));return}if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization in progress, skipping storage change"));return}if(this.sessionInitRetryCount>=this.MAX_SESSION_INIT_RETRIES&&this.lastSessionInitError){this.state.debugMode&&console.error("[TagadaClient ".concat(this.instanceId,"] Max session init retries reached, giving up"),this.lastSessionInitError);return}this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Storage changed, re-initializing token...")),this.initializeToken()}subscribe(e){return this.eventDispatcher.subscribe(e)}getState(){return this.state}updateState(e){this.state=S(S({},this.state),e),this.eventDispatcher.notify(this.state)}resolveEnvironment(){return this.config.environment?this.config.environment:Et()}async initialize(){try{await this.initializePluginConfig(),this.state.pluginConfig.storeId?await this.initializeToken():(console.warn("[TagadaClient] No store ID found in plugin config. Skipping token initialization."),this.updateState({isLoading:!1,isInitialized:!0}))}catch(e){console.error("[TagadaClient] Initialization failed:",e),this.updateState({isLoading:!1,isInitialized:!0})}}async initializePluginConfig(){if(console.log("[TagadaClient ".concat(this.instanceId,"] initializePluginConfig called"),{pluginConfigLoading:this.state.pluginConfigLoading,hasRawPluginConfig:!!this.config.rawPluginConfig}),!this.state.pluginConfigLoading){console.log("[TagadaClient ".concat(this.instanceId,"] Plugin config already loading or loaded, skipping..."));return}try{let e=this.config.localConfig||"default";console.log("[TagadaClient ".concat(this.instanceId,"] Loading plugin config with variant: ").concat(e));let n=await Vr(e,this.config.rawPluginConfig);console.log("[TagadaClient ".concat(this.instanceId,"] Plugin config loaded:"),n),this.updateState({pluginConfig:n,pluginConfigLoading:!1}),this.funnel&&this.funnel.setConfig({pluginConfig:n,environment:this.state.environment})}catch(e){console.error("[TagadaClient] Failed to load plugin config:",e),this.updateState({pluginConfig:{basePath:"/",config:{}},pluginConfigLoading:!1})}}async initializeToken(){var e;if(xs()){let n=this.state.pluginConfig.storeId;if(!n)return console.error("[TagadaClient] Cannot resolve authCode: storeId not found in config"),this.fallbackToNormalFlow();console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F510} Cross-domain auth detected, resolving..."));try{let r=new URLSearchParams(window.location.search).get("authCode");if(!r)return this.fallbackToNormalFlow();let i=await Os(r,n,this.state.environment.apiConfig.baseUrl,this.state.debugMode);console.log("[TagadaClient ".concat(this.instanceId,"] \u2705 Auth handoff resolved:"),{customerId:i.customer.id,role:i.customer.role,hasContext:Object.keys(i.context).length>0}),this.setToken(i.token);let o=Lt(i.token);o?(this.updateState({session:o}),await this.initializeSession(o),(e=i.context)!=null&&e.funnelSessionId&&this.funnel&&this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Restoring funnel session from handoff context:"),i.context.funnelSessionId)):(console.error("[TagadaClient] Failed to decode token from handoff"),this.updateState({isInitialized:!0,isLoading:!1}));return}catch(r){console.error("[TagadaClient ".concat(this.instanceId,"] \u274C Auth handoff failed, falling back to normal flow:"),r)}}await this.fallbackToNormalFlow()}async fallbackToNormalFlow(){let n=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("token");n&&(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F512} URL token detected, setting immediately to prevent race condition")),this.apiClient.updateToken(n),ue(n));let r=At();console.log("[TagadaClient ".concat(this.instanceId,"] Initializing token (normal flow)..."),{hasExistingToken:!!r,hasQueryToken:!!n,storeId:this.state.pluginConfig.storeId});let i=null,o=!1;if(n?(i=n,o=!0):r&&!Es(r)&&(i=r),i){this.setToken(i),o&&(this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Persisting query token to storage...")),ue(i));let s=Lt(i);s?(this.updateState({session:s}),await this.initializeSession(s)):(console.error("[TagadaClient] Failed to decode token"),this.updateState({isInitialized:!0,isLoading:!1}))}else{let s=this.state.pluginConfig.storeId;console.log("[TagadaClient ".concat(this.instanceId,"] No existing token, creating anonymous token..."),{hasStoreId:!!s,storeId:s}),s?await this.createAnonymousToken(s):(console.warn("[TagadaClient ".concat(this.instanceId,"] No storeId in plugin config, skipping anonymous token creation")),this.updateState({isInitialized:!0,isLoading:!1}))}}setToken(e){this.apiClient.updateToken(e),this.updateState({token:e}),this.tokenResolver&&(this.tokenResolver(e),this.tokenPromise=null,this.tokenResolver=null)}waitForToken(){return this.apiClient.getCurrentToken()?Promise.resolve(this.apiClient.getCurrentToken()):(this.tokenPromise||(this.tokenPromise=new Promise(e=>{this.tokenResolver=e})),this.tokenPromise)}async createAnonymousToken(e){if(typeof window!="undefined"){let r=new URLSearchParams(window.location.search).get("token");if(r){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] \u{1F512} URL has token, skipping anonymous token creation")),this.setToken(r),ue(r);let i=Lt(r);i&&(this.updateState({session:i}),await this.initializeSession(i));return}}if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization in progress, skipping anonymous token creation"));return}try{let n=_e();this.state.debugMode&&console.log("[TagadaClient] Creating anonymous token for store:",e,{draft:n});let r=await this.apiClient.post("/api/v1/cms/session/anonymous",{storeId:e,role:"anonymous",draft:n},{skipAuth:!0});this.setToken(r.token),ue(r.token);let i=Lt(r.token);i&&(this.updateState({session:i}),await this.initializeSession(i)),this.updateState({isSessionInitialized:!0})}catch(n){console.error("[TagadaClient] Failed to create anonymous token:",n),this.updateState({isInitialized:!0,isLoading:!1})}}async initializeSession(e){var n,r,i,o,s,a,c,l,u,d,p;if(this.isInitializingSession){this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Session initialization already in progress, skipping"));return}this.isInitializingSession=!0;try{this.state.debugMode&&console.log("[TagadaClient ".concat(this.instanceId,"] Initializing session..."),{sessionId:e.sessionId});let g=await Cs(),m=Ts(),h=Is(),f=_e(),b=new URLSearchParams(window.location.search).get("draft");b!==null&&Kr(b==="true");let P={storeId:e.storeId,accountId:e.accountId,customerId:e.customerId,role:e.role,browserLocale:h,queryLocale:m.locale,queryCurrency:m.currency,utmSource:m.utmSource,utmMedium:m.utmMedium,utmCampaign:m.utmCampaign,gclid:m.gclid,browser:g.userAgent.browser.name,browserVersion:g.userAgent.browser.version,os:g.userAgent.os.name,osVersion:g.userAgent.os.version,deviceType:(n=g.userAgent.device)==null?void 0:n.type,deviceModel:(r=g.userAgent.device)==null?void 0:r.model,deviceVendor:(i=g.userAgent.device)==null?void 0:i.vendor,userAgent:g.userAgent.name,engineName:g.userAgent.engine.name,engineVersion:g.userAgent.engine.version,cpuArchitecture:g.userAgent.cpu.architecture,isBot:(s=(o=g.flags)==null?void 0:o.isBot)!=null?s:!1,isChromeFamily:(c=(a=g.flags)==null?void 0:a.isChromeFamily)!=null?c:!1,isStandalonePWA:(u=(l=g.flags)==null?void 0:l.isStandalonePWA)!=null?u:!1,isAppleSilicon:(p=(d=g.flags)==null?void 0:d.isAppleSilicon)!=null?p:!1,screenWidth:g.screenResolution.width,screenHeight:g.screenResolution.height,timeZone:g.timeZone,draft:f,fetchMessages:!1},w=await this.apiClient.post("/api/v1/cms/session/v2/init",P);this.lastSessionInitError=null,this.sessionInitRetryCount=0,this.updateSessionState(w,e),this.updateState({isInitialized:!0,isSessionInitialized:!0,isLoading:!1}),this.state.debugMode&&console.log("[TagadaClient] Session initialized successfully")}catch(g){this.lastSessionInitError=g,this.sessionInitRetryCount++,console.error("[TagadaClient] Error initializing session (attempt ".concat(this.sessionInitRetryCount,"/").concat(this.MAX_SESSION_INIT_RETRIES,"):"),g),this.updateState({isInitialized:!0,isLoading:!1})}finally{this.isInitializingSession=!1}}updateSessionState(e,n){var s,a,c,l,u,d,p,g,m,h;if(e.store){let f=e.store,b=A(S({},e.store),{accountId:f.accountId||((s=this.state.pluginConfig)==null?void 0:s.accountId)||n.accountId||"",presentmentCurrencies:f.presentmentCurrencies||[e.store.currency||"USD"],chargeCurrencies:f.chargeCurrencies||[e.store.currency||"USD"]});this.updateState({store:b})}if(e.locale){let f={locale:e.locale,language:e.locale.split("-")[0],region:(a=e.locale.split("-")[1])!=null?a:"US",messages:(c=e.messages)!=null?c:{}};this.updateState({locale:f})}if(e.store){let f={code:e.store.currency,symbol:this.getCurrencySymbol(e.store.currency),name:this.getCurrencyName(e.store.currency)};this.updateState({currency:f})}let r={isAuthenticated:(u=(l=e.customer)==null?void 0:l.isAuthenticated)!=null?u:!1,isLoading:!1,customer:(d=e.customer)!=null?d:null,session:n};this.updateState({customer:(p=e.customer)!=null?p:null,auth:r});let i=(g=this.config.features)==null?void 0:g.funnel,o=typeof i=="object"&&i.skipAutoInit;if(this.funnel&&!o&&n.customerId&&((m=e.store)!=null&&m.id)){let f=e.store.accountId||((h=this.state.pluginConfig)==null?void 0:h.accountId)||n.accountId||"";if(f){let P=new URLSearchParams(typeof window!="undefined"?window.location.search:"").get("funnelId")||void 0;this.state.debugMode&&console.log("[TagadaClient] Auto-initializing funnel...",{customerId:n.customerId,storeId:e.store.id,accountId:f,funnelId:P||"auto-detect"}),this.funnel.autoInitialize({customerId:n.customerId,sessionId:n.sessionId},{id:e.store.id,accountId:f},P).catch(w=>{console.error("[TagadaClient] Funnel auto-initialization failed:",w)})}else console.warn("[TagadaClient] Cannot auto-initialize funnel: accountId is missing")}}getCurrencySymbol(e){return{USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$"}[e]||e}getCurrencyName(e){return{USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar"}[e]||e}getAccountId(){var e,n,r;return((e=this.state.store)==null?void 0:e.accountId)||((n=this.state.pluginConfig)==null?void 0:n.accountId)||((r=this.state.session)==null?void 0:r.accountId)||""}updatePluginConfig(e){this.state.debugMode&&console.log("[TagadaClient] Hot-reloading config:",e);let n=S(S({},this.state.pluginConfig.config),e);this.updateState({pluginConfig:A(S({},this.state.pluginConfig),{config:n})}),this.bus.emit("CONFIG_UPDATED",n),this.state.debugMode&&console.log("[TagadaClient] Config updated successfully")}setupConfigHotReload(){if(typeof window=="undefined")return;let e=n=>{var r,i;if(((r=n.data)==null?void 0:r.type)==="TAGADAPAY_CONFIG_UPDATE"){let{config:o}=n.data;this.state.debugMode&&console.log("[TagadaClient] Received config update from parent:",o),this.updatePluginConfig(o)}else if(((i=n.data)==null?void 0:i.type)==="APPLY_STYLES_TO_ELEMENT"){let{elementId:o,styles:s}=n.data;this.state.debugMode&&console.log("[TagadaClient] Received style application request:",{elementId:o,styles:s}),this.applyStylesToElement(o,s)}};window.addEventListener("message",e),this.state.debugMode&&console.log("[TagadaClient] Config hot-reload and style manipulation listeners enabled")}applyStylesToElement(e,n){if(typeof document=="undefined")return;let r="tagada-editor-highlight",i=document.getElementById(r);i&&i.remove();let o=d=>{var w;let g=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]).has(d.tagName.toLowerCase()),m=d;if(g){let I=d.parentElement;if((I==null?void 0:I.getAttribute("data-tagada-highlight-wrapper"))==="true"&&I instanceof HTMLElement)m=I;else{let R=document.createElement("div");R.setAttribute("data-tagada-highlight-wrapper","true");let _=window.getComputedStyle(d),C=_.display;if(C==="inline"?R.style.display="inline-block":R.style.display=C,R.style.position="relative",C==="inline"||C.includes("inline")){let k=_.verticalAlign;k&&k!=="baseline"&&(R.style.verticalAlign=k)}["width","height","minWidth","minHeight","maxWidth","maxHeight","flex","flexGrow","flexShrink","flexBasis","gridColumn","gridRow","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","alignSelf","justifySelf","boxSizing","gap","rowGap","columnGap","order","aspectRatio"].forEach(k=>{let N=k.replace(/([A-Z])/g,"-$1").toLowerCase(),x=_.getPropertyValue(N);x&&x.trim()!==""&&(k==="flex"&&x!=="none"&&x!=="0 1 auto"?R.style.flex=x:k==="boxSizing"?R.style.boxSizing=x:R.style.setProperty(N,x))}),d.style&&["width","height","min-width","min-height","max-width","max-height","flex","flex-grow","flex-shrink","flex-basis","grid-column","grid-row","grid-column-start","grid-column-end","grid-row-start","grid-row-end","grid-area","align-self","justify-self","box-sizing","gap","row-gap","column-gap","order","aspect-ratio"].forEach(N=>{let x=d.style.getPropertyValue(N);x&&R.style.setProperty(N,x)}),(w=d.parentNode)==null||w.insertBefore(R,d),R.appendChild(d),m=R}}let h=getComputedStyle(g?d:m);(m.style.position==="static"||!m.style.position)&&(m.style.position="relative");let f=document.createElement("div");f.id=r,f.style.position="absolute",f.style.inset="0",f.style.pointerEvents="none",f.style.zIndex="9999",f.style.boxSizing="border-box",f.style.background="none",f.style.border="none",f.style.outline="none",f.style.margin="0",f.style.padding="0";let b=h.borderRadius;b&&(f.style.borderRadius=b),m.appendChild(f);let P=n||{boxShadow:"0 0 0 2px rgb(239 68 68)"};if(Object.entries(P).forEach(([I,E])=>{let R=I.includes("-")?I.replace(/-([a-z])/g,(_,C)=>C.toUpperCase()):I;I.includes("-")?f.style.setProperty(I,E):f.style[R]=E}),d.scrollIntoView({behavior:"smooth",block:"center"}),this.state.debugMode){let I=Object.entries(P).map(([E,R])=>"".concat(E,": ").concat(R)).join("; ");console.log("[TagadaClient] Applied styles to highlight div of element #".concat(e,":"),I)}},s=5,a=1e3,c=0,l=d=>{let p=window.getComputedStyle(d);return p.display==="none"||p.visibility==="hidden"||p.opacity==="0"||d.hidden||d.offsetWidth===0||d.offsetHeight===0},u=()=>{let d=document.querySelectorAll('[editor-id~="'.concat(e,'"]'));if(d.length===0){if(c+=1,c>=s){this.state.debugMode&&console.warn('[TagadaClient] Element with editor-id containing "'.concat(e,'" not found after ').concat(s," attempts"));return}this.state.debugMode&&console.warn('[TagadaClient] Element with editor-id containing "'.concat(e,'" not found (attempt ').concat(c,"/").concat(s,"), retrying in ").concat(a/1e3,"s")),setTimeout(u,a);return}let p=null;if(d.length===1)p=d[0];else{for(let g=0;g<d.length;g++)if(!l(d[g])){p=d[g];break}p||(p=d[0])}p&&o(p)};u()}};var ks="PROMOTION_APPLIED",Ns="PROMOTION_REMOVED";var dn=class{constructor(e,n){this.apiClient=e;this.bus=n}async initCheckout(e){return this.apiClient.post("/api/v1/checkout/session/init",e)}async initCheckoutAsync(e){return this.apiClient.post("/api/v1/checkout/session/init-async",e)}async preloadCheckout(e,n){let r=e.funnelSessionId;!r&&n&&(r=n()||void 0);let i=typeof e.navigationEvent=="string"?{type:e.navigationEvent}:e.navigationEvent,o=A(S(S(S({},e),r&&{funnelSessionId:r}),i&&{navigationEvent:i}),{currentUrl:e.currentUrl||(typeof window!="undefined"?window.location.href:void 0)});return this.apiClient.post("/api/v1/checkout/session/preload",o)}async checkAsyncStatus(e){return this.apiClient.get("/api/public/v1/checkout/async-status/".concat(e))}async getCheckout(e,n){let r=new URLSearchParams;n&&r.set("currency",n),r.set("skipAsyncWait","false");let i="/api/v1/checkout-sessions/".concat(e,"/v2").concat(r.toString()?"?".concat(r.toString()):"");return this.apiClient.get(i)}async getCheckoutRaw(e,n){let r=new URLSearchParams;n&&r.set("currency",n),r.set("skipAsyncWait","true");let i="/api/v1/checkout-sessions/".concat(e,"/v2").concat(r.toString()?"?".concat(r.toString()):"");return this.apiClient.get(i)}async updateAddress(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/address"),{data:n})}async setCheckoutInfo(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/checkout-info"),{shippingAddress:n.shippingAddress,billingAddress:n.differentBillingAddress?n.billingAddress:n.shippingAddress,differentBillingAddress:n.differentBillingAddress||!1})}async applyPromotionCode(e,n){var i;let r=await this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/promotions/apply"),{code:n});return r.success&&((i=this.bus)==null||i.emit(ks,{checkoutSessionId:e})),r}async removePromotion(e,n){var i;let r=await this.apiClient.delete("/api/v1/checkout-sessions/".concat(e,"/promotions/").concat(n));return r.success&&((i=this.bus)==null||i.emit(Ns,{checkoutSessionId:e})),r}async getAppliedPromotions(e){return this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/promotions"))}async replaceSessionLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}async updateLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}async addLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/add"),{lineItems:n})}async removeLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/remove"),{lineItems:n})}async setItemQuantity(e,n,r,i){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items/set-quantity"),{variantId:n,quantity:r,priceId:i})}async toggleOrderBump(e,n,r){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/toggle-order-bump"),{orderBumpOfferId:n,selected:r})}async updateCustomer(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/customer"),n)}async updateCustomerAndSessionInfo(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/customer-and-session-info"),n)}async previewCheckoutSession(e){return this.apiClient.post("/api/v1/checkout-sessions/preview",e)}async setPaymentMethod(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/payment-method"),{paymentMethodName:n})}};qe();var Ds={production:{tenantId:"b1636929-db11-4b01-b2c2-6a97b3444061",publicKey:"key_prod_us_pub_PNMB2AiaECJ463K6QAPNU6"},test:{tenantId:"99821999-faf5-4427-a92c-9267cb930540",publicKey:"key_test_us_pub_VExdfbFQARn821iqP8zNaq"}};function Jr(t){let e=t?Ds.production:Ds.test;return{tenantId:e.tenantId,apiKey:e.publicKey}}function Bs(){if(typeof window=="undefined")return!1;let t=window.location.hostname;return t.includes("app-dev.tagadapay.com")||t.includes("cdn-dev.tagadapay.com")?!1:t.includes("tagada.io")||t.includes("tagadapay.com")?!0:!(t.includes("tagada.dev")||t.includes("tagadapay.dev")||t==="localhost"||t.startsWith("127.")||t.startsWith("192.168.")||t.startsWith("10.")||t.includes(".local")||t===""||t==="0.0.0.0"||t.includes("ngrok")||t.includes(".loclx.io")||t.includes("vercel.app")||t.includes("netlify.app"))}function jt(){return Jr(Bs()).apiKey}function Ls(){return Jr(Bs()).tenantId}var Zr=Object.freeze(["cf_click_id","cid","rtkclickid","cmc_tid","cmc_id","cmcid","clickid","click_id","gclid","gbraid","wbraid","fbclid","msclkid","ttclid","twclid","li_fat_id","epik","dclid","yclid","irclickid"]),Xr=Object.freeze(["cf_click_id","cfclid","rtkclickid-store","_rtkclickid","rtkclickid","_voluum","_voluumclickid","_binom","_binomclickid","_mck","cmcid","skro-click-id","click_id"]);function dd(t){if(typeof document=="undefined"||!document.cookie)return null;let e=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));if(!n)return null;try{return decodeURIComponent(n[1])}catch(r){return n[1]}}function md(t,e){if(!t)return null;try{return new URLSearchParams(t).get(e)}catch(n){return null}}function Qr(){var o,s;let t={},e=null,n=null,r=null,i=typeof window!="undefined"&&(s=(o=window.location)==null?void 0:o.search)!=null?s:"";for(let a of Zr){let c=md(i,a);c&&(t["url:".concat(a)]=c,e===null&&(e=c,n="url",r=a))}for(let a of Xr){let c=dd(a);c&&(t["cookie:".concat(a)]=c,e===null&&(e=c,n="cookie",r=a))}return{clickId:e,source:n,key:r,all:t}}function mn(){var n;if(typeof window=="undefined")return null;let t=Qr(),e=A(S({},t),{resolvedAt:Date.now()});return window.TagadaPay=A(S({},(n=window.TagadaPay)!=null?n:{}),{tracking:e}),e}var pn=class{constructor(e){this.apiClient=e}async getShippingRates(e){return this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/shipping-rates"))}async setShippingRate(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/shipping-rate"),{shippingRateId:n})}async previewShippingRates(e,n){let r=new URLSearchParams({countryCode:n.countryCode});return n.stateCode&&r.set("stateCode",n.stateCode),this.apiClient.get("/api/v1/checkout-sessions/".concat(e,"/shipping-rates/preview?").concat(r.toString()))}async selectPreviewShippingRate(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/shipping-rates/select-preview"),S({countryCode:n.countryCode},n.stateCode?{stateCode:n.stateCode}:{}))}};var ct=class{constructor(e){this.apiClient=e}async createPaymentInstrument(e){return this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:e})}async createCardPaymentInstrument(e,n){var c,l;if(!e)throw new Error("Payment processor not initialized");console.log("Creating card payment instrument");let r=await e.tokens.create({type:"card",data:S({cvc:n.cvc,number:Number(n.cardNumber.replace(/\s+/g,""))},this.getCardMonthAndYear(n.expiryDate)),metadata:{nonSensitiveField:"nonSensitiveValue"}}),{expiration_month:i,expiration_year:o}=this.getCardMonthAndYear(n.expiryDate),s={type:r.type,card:{maskedCardNumber:(l=(c=r.enrichments)==null?void 0:c.cardDetails)!=null&&l.bin?"".concat(r.enrichments.cardDetails.bin,"****").concat(r.enrichments.cardDetails.last4):n.cardNumber.replace(/\d(?=\d{4})/g,"*"),expirationMonth:i,expirationYear:o},token:r.id},a=await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:s});return console.log("Payment instrument created:",a),a}async createApplePayPaymentInstrument(e,n){if(!e)throw new Error("Payment processor not initialized");if(!n.id)throw new Error("Apple Pay token is missing");let r={type:"apple_pay",token:n.id,dpanType:n.type,card:{bin:n.card.bin,last4:n.card.last4,expirationMonth:n.card.expiration_month,expirationYear:n.card.expiration_year,brand:n.card.brand}};return await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:r})}async createGooglePayPaymentInstrument(e,n){var o;if(!e)throw new Error("Payment processor not initialized");if(!n.id)throw new Error("Google Pay token is missing");let r={type:"google_pay",token:n.id,dpanType:n.type,card:{bin:n.card.bin,last4:n.card.last4,expirationMonth:n.card.expiration_month,expirationYear:n.card.expiration_year,brand:n.card.brand},authMethod:(o=n==null?void 0:n.details)==null?void 0:o.auth_method};return await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:r})}async createApmPaymentInstrument(e){console.log("Creating APM payment instrument:",e);let n={type:"apm",provider:e.provider,paymentMethod:e.paymentMethod,processorId:e.processorId},r=await this.apiClient.post("/api/v1/payment/create-payment-instrument",{paymentInstrumentData:n});return console.log("APM payment instrument created:",r),r}getCardMonthAndYear(e){let[n,r]=e.split("/"),i=new Date().getFullYear(),o=Math.floor(i/100)*100,s=Number(r)+o;return{expiration_month:Number(n),expiration_year:s}}async processPaymentDirect(e,n,r,i={}){console.log("[PaymentsResource] processPaymentDirect START",i.paymentFlowId?"(flow: ".concat(i.paymentFlowId,")"):""),console.log("[PaymentsResource] Full options object:",JSON.stringify(i,null,2)),console.log("[PaymentsResource] processorId:",i.processorId,"paymentMethod:",i.paymentMethod);try{let o=S(S(S(S(S(S(S(S({checkoutSessionId:e,paymentInstrumentId:n},r&&{threedsSessionId:r}),i.initiatedBy&&{initiatedBy:i.initiatedBy}),i.source&&{source:i.source}),i.paymentFlowId&&{paymentFlowId:i.paymentFlowId}),i.processorId&&{processorId:i.processorId}),i.paymentMethod&&{paymentMethod:i.paymentMethod}),i.isExpress&&{isExpress:i.isExpress}),i.shippingRateId&&{shippingRateId:i.shippingRateId});console.log("[PaymentsResource] Request body being sent:",JSON.stringify(o,null,2));let s=await this.apiClient.post("/api/public/v1/checkout/pay-v2",o);return console.log("[PaymentsResource] processPaymentDirect SUCCESS:",s),s}catch(o){throw console.error("[PaymentsResource] processPaymentDirect ERROR:",o),o}}async getCardPaymentInstruments(){return this.apiClient.get("/api/v1/payment-instruments/customer")}async markPaymentActionProcessed(e){return this.apiClient.post("/api/v1/payments/require-action/processed",{paymentId:e})}async getPaymentStatus(e){return this.apiClient.get("/api/v1/payments/".concat(e))}async retrievePayment(e){return this.apiClient.post("/api/v1/payments/retrieve",{paymentId:e})}async saveRadarSession(e){return this.apiClient.post("/api/v1/radar-sessions",e)}async completePaymentAfterAction(e){return this.apiClient.post("/api/v1/payments/complete-after-3ds",{paymentId:e})}async updateThreedsStatus(e){return this.apiClient.post("/api/v1/threeds/status",e)}async ngeniusThreedsComplete(e){return this.apiClient.post("/api/v1/payments/ngenius/threeds-complete",e)}};var gn=class{constructor(e){this.apiClient=e}async getOrder(e){let n=await this.apiClient.get("/api/v1/orders/".concat(e));if(typeof n=="object"&&n!==null&&"success"in n&&n.success===!1)throw new Error(n.error||"Failed to fetch order");let r=typeof n=="object"&&n!==null&&"order"in n?n.order:n;if(!r)throw new Error("Order not found");return r}async createOrder(e){return this.apiClient.post("/api/v1/orders",{checkoutSessionId:e})}async updateOrderStatus(e,n){return this.apiClient.patch("/api/v1/orders/".concat(e,"/status"),{status:n})}async addOrderItems(e,n){return this.apiClient.post("/api/v1/orders/".concat(e,"/items"),{items:n})}async getOrderLineItems(e){return(await this.getOrder(e)).items||[]}};kt();qe();var fn=class{constructor(e){this.apiClient=e}async getOfferById(e){return await this.apiClient.get("/api/v1/offers/".concat(e))}async getOffers(e,n){let r="/api/v1/stores/".concat(e,"/offers");if(n&&n.length>0){let o=n.map(s=>"ids=".concat(encodeURIComponent(s))).join("&");r+="?".concat(o)}return(await this.apiClient.get(r)).offers||[]}async getOffersByIds(e,n){return await this.getOffers(e,n)}async previewOffer(e,n="",r){console.log("\u{1F4E1} [OffersResource] Calling preview API:",{offerId:e,currency:n,lineItems:r,endpoint:"/api/v1/offers/".concat(e,"/preview")});let i=await this.apiClient.post("/api/v1/offers/".concat(e,"/preview"),{offerId:e,currency:n,lineItems:r});return console.log("\u{1F4E5} [OffersResource] Preview API response:",i),i}async payPreviewedOffer(e,n="",r,i,o,s){let a=s!=null?s:Bt();console.log("\u{1F4B3} [OffersResource] Calling pay-preview API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,initiatedBy:a,endpoint:"/api/v1/offers/".concat(e,"/pay-preview")});let c=await this.apiClient.post("/api/v1/offers/".concat(e,"/pay-preview"),S({offerId:e,currency:n,lineItems:r,returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o},a?{initiatedBy:a}:{}));return console.log("\u{1F4E5} [OffersResource] Pay-preview API response:",c),c}async toCheckout(e,n="",r,i,o){console.log("\u{1F6D2} [OffersResource] Calling to-checkout API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,endpoint:"/api/v1/offers/".concat(e,"/to-checkout")});let s=await this.apiClient.post("/api/v1/offers/".concat(e,"/to-checkout"),{offerId:e,currency:n,lineItems:r,returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o});return console.log("\u{1F4E5} [OffersResource] To-checkout API response:",s),s}async initCheckoutSession(e,n,r){let i=_e(),o={offerId:e,returnUrl:typeof window!="undefined"?window.location.href:"",customerId:r||"",draft:i};return n&&(o.orderId=n),{checkoutSessionId:(await this.apiClient.post("/api/v1/checkout/offer/init",o)).checkoutSessionId}}async createCheckoutSession(e,n){return{checkoutUrl:(await this.apiClient.post("/api/v1/offers/".concat(e,"/checkout"),{returnUrl:n||(typeof window!="undefined"?window.location.origin:"")})).checkoutUrl}}async payWithCheckoutSession(e,n,r){let i=_e(),o=r!=null?r:Bt();await this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/pay"),A(S({checkoutSessionId:e,draft:i,returnUrl:typeof window!="undefined"?window.location.href:""},o?{initiatedBy:o}:{}),{metadata:{comingFromPostPurchase:!0,postOrder:n,upsell:!0,source:"offer"}}))}async payOffer(e,n,r){let i=_e(),o=r!=null?r:Bt();return this.apiClient.post("/api/v1/offers/".concat(e,"/pay"),A(S({offerId:e,draft:i,returnUrl:typeof window!="undefined"?window.location.href:""},o?{initiatedBy:o}:{}),{metadata:n?{comingFromPostPurchase:!0,postOrder:n,upsell:!0,source:"offer"}:{upsell:!0,source:"offer"}}))}async transformToCheckoutSession(e,n,r,i){let o=await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{offerId:e,lineItems:n,mainOrderId:r,returnUrl:i||(typeof window!="undefined"?window.location.origin:"")});return{checkoutUrl:o.checkoutUrl,checkoutSessionId:o.checkoutSessionId,customerId:o.customerId}}async toCheckoutAsync(e,n="",r,i,o){console.log("\u{1F6D2} [OffersResource] Calling to-checkout-async API:",{offerId:e,currency:n,lineItems:r,returnUrl:i,mainOrderId:o,endpoint:"/api/v1/offers/".concat(e,"/to-checkout-async")});let s=await this.apiClient.post("/api/v1/offers/".concat(e,"/to-checkout-async"),{offerId:e,lineItems:(r==null?void 0:r.map(a=>({variantId:a.variantId,quantity:a.quantity})))||[],returnUrl:i||(typeof window!="undefined"?window.location.href:""),mainOrderId:o||""});return console.log("\u{1F4E5} [OffersResource] To-checkout-async API response:",s),s}async transformToCheckout(e,n){return{checkoutUrl:(await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{returnUrl:n||(typeof window!="undefined"?window.location.origin:"")})).checkoutUrl}}async initCheckoutSessionWithVariants(e,n,r){return{checkoutSessionId:(await this.apiClient.post("/api/v1/offers/".concat(e,"/transform-to-checkout"),{offerId:e,lineItems:n,returnUrl:r||(typeof window!="undefined"?window.location.href:"")})).checkoutSessionId}}async getOrderSummary(e,n=!1){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/order-summary"),{includeVariantOptions:n})}async updateLineItems(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/line-items"),{lineItems:n})}};var hn=class{constructor(e){this.apiClient=e}async getPaymentMethods(e){return this.apiClient.get("/api/v1/payment-methods?checkoutSessionId=".concat(encodeURIComponent(e)))}async updateCheckoutSessionAddress(e,n){return this.apiClient.post("/api/v1/checkout-sessions/".concat(e,"/address"),n)}async updateCustomerEmail(e,n){return this.apiClient.post("/api/v1/customers/".concat(e),n)}};var ut=class{constructor(e){this.apiClient=e}async getStoreConfig(e){return await this.apiClient.get("/api/v1/checkout/config?storeId=".concat(e))}};var yn=class{constructor(e){this.apiClient=e}async getGeoLocation(){return this.apiClient.get("/api/v1/geo")}async getGeoLocationByIp(e){return this.apiClient.get("/api/v1/geo?ip=".concat(encodeURIComponent(e)))}async detectCountry(){try{let e=await this.getGeoLocation(),n=e==null?void 0:e.country_code;return n&&typeof n=="string"&&n.length===2?n:null}catch(e){return null}}};var dt=class{constructor(e){this.apiClient=e}async createSession(e){return this.apiClient.post("/api/v1/threeds/create-session",e)}};var Ms="https://cvwnizdbugpz6jwk.public.blob.vercel-storage.com/geodata/v1";var mt=new Map,Sn=new Map,ei=new Map,ti=new Map;async function pd(t){let e=mt.get(t);if(e)return e;let n=ei.get(t);return n||(n=(async()=>{let r="".concat(Ms,"/").concat(t,"/countries.json"),i=await fetch(r);if(!i.ok)throw new Error("Geodata fetch failed: ".concat(r," (").concat(i.status,")"));let o=await i.json();return mt.set(t,o),ei.delete(t),o})(),ei.set(t,n),n)}async function gd(t){let e=Sn.get(t);if(e)return e;let n=ti.get(t);return n||(n=(async()=>{let r="".concat(Ms,"/").concat(t,"/regions.json"),i=await fetch(r);if(!i.ok)throw new Error("Geodata fetch failed: ".concat(r," (").concat(i.status,")"));let o=await i.json();return Sn.set(t,o),ti.delete(t),o})(),ti.set(t,n),n)}function fd(t){return mt.get(t)||mt.get("en")||{}}function hd(t){return Sn.get(t)||Sn.get("en")||{}}async function bn(t="en"){await Promise.all([pd(t),gd(t)])}var js=(t="en")=>{let e=fd(t);return Object.entries(e).map(([n,r])=>({code:n,name:r.n,iso3:r.i3,numeric:r.nu,uniqueKey:"country-".concat(n)})).sort((n,r)=>n.name.localeCompare(r.name))},Us=(t,e="en")=>{let r=hd(e)[t];return r?r.map(([i,o],s)=>({code:i,name:o,countryCode:t,uniqueKey:"state-".concat(t,"-").concat(i,"-").concat(s)})).sort((i,o)=>i.name.localeCompare(o.name)):[]};function Fs(t){return mt.has(t)}function $s(){return[...mt.keys()]}async function qs(t){await bn(t)}typeof globalThis!="undefined"&&typeof fetch!="undefined"&&bn("en").catch(()=>{});var Pn=class{static getCountriesData(e="en"){try{let n=js(e),r={};return n.forEach(i=>{r[i.code]={iso:i.code,iso3:i.iso3||"",numeric:i.numeric||0,name:i.name}}),r}catch(n){return console.error("Failed to load ISO data for language: ".concat(e),n),{}}}static getRegions(e,n="en"){try{return Us(e,n).map(i=>({iso:i.code,name:i.name}))}catch(r){return[]}}static findRegion(e,n,r="en"){var o;return(o=this.getRegions(e,r).find(s=>s.iso===n))!=null?o:null}static mapGoogleToISO(e,n,r,i="en"){let o=this.getRegions(r,i);if(o.length===0)return null;let s=o.find(a=>a.iso===e);return s||(s=o.find(a=>a.name.toLowerCase()===e.toLowerCase()),s)||(s=o.find(a=>a.name.toLowerCase()===n.toLowerCase()),s)?s:(s=o.find(a=>a.name.toLowerCase().includes(n.toLowerCase())||n.toLowerCase().includes(a.name.toLowerCase())),s!=null?s:null)}static isLanguageRegistered(e){return Fs(e)}static getRegisteredLanguages(){return $s()}static async importLanguage(e){return qs(e)}static async ensureLoaded(e="en"){return bn(e)}static getAvailableLanguages(){return["en","ru","de","fr","es","zh","hi","pt","ja","ar","it","he"]}};var pt=class{static initialize(e){var n,r;this.apiKey=e,typeof window!="undefined"&&((r=(n=window.google)==null?void 0:n.maps)!=null&&r.places)&&(this.service=new window.google.maps.places.AutocompleteService)}static async searchPlaces(e,n={}){return!this.service||!e.trim()?[]:new Promise((r,i)=>{this.service.getPlacePredictions({input:e,types:n.types||["address"],componentRestrictions:n.componentRestrictions},(o,s)=>{var a,c,l;s===((l=(c=(a=window.google)==null?void 0:a.maps)==null?void 0:c.places)==null?void 0:l.PlacesServiceStatus.OK)&&o?r(o):r([])})})}static async getPlaceDetails(e){var n,r;return typeof window=="undefined"||!((r=(n=window.google)==null?void 0:n.maps)!=null&&r.places)?null:new Promise((i,o)=>{new window.google.maps.places.PlacesService(document.createElement("div")).getDetails({placeId:e,fields:["place_id","formatted_address","address_components","geometry"]},(a,c)=>{var l,u,d;c===((d=(u=(l=window.google)==null?void 0:l.maps)==null?void 0:u.places)==null?void 0:d.PlacesServiceStatus.OK)&&a?i(a):i(null)})})}static extractAddressComponents(e){let n={};for(let r of e.address_components){let i=r.types;i.includes("street_number")?n.streetNumber=r.long_name:i.includes("route")?n.route=r.long_name:i.includes("locality")?(n.city=r.long_name,n.locality=r.long_name):i.includes("administrative_area_level_2")?(n.administrativeAreaLevel2=r.short_name,n.administrativeAreaLevel2Long=r.long_name,n.city||(n.city=r.long_name,n.locality=r.long_name)):i.includes("administrative_area_level_1")?(n.state=r.long_name,n.administrativeAreaLevel1=r.short_name,n.administrativeAreaLevel1Long=r.long_name):i.includes("postal_code")?n.postalCode=r.long_name:i.includes("country")&&(n.country=r.long_name,n.countryCode=r.short_name,n.iso=r.short_name)}return!n.administrativeAreaLevel1&&n.administrativeAreaLevel2&&(n.state=n.administrativeAreaLevel2Long||n.administrativeAreaLevel2,n.administrativeAreaLevel1=n.administrativeAreaLevel2,n.administrativeAreaLevel1Long=n.administrativeAreaLevel2Long),n}};pt.apiKey=null,pt.service=null;Ur();var ni=class{static findVariant(e,n){for(let r of e){let i=r.variants.find(o=>o.id===n);if(i)return i}return null}static getVariantPrice(e,n="USD"){let r=e.prices.find(o=>o.currency===n);if(r)return r;let i=e.prices.find(o=>o.default);return i||e.prices[0]||null}static getAllVariants(e){let n=[];for(let r of e)if(r.variants)for(let i of r.variants)n.push({product:r,variant:i});return n}static filterVariants(e,n){let r=[];for(let i of e)if(i.variants)for(let o of i.variants)n(o,i)&&r.push({product:i,variant:o});return r}};var ri=class{static getOrderLineItems(e){return e.items||[]}static getOrderTotal(e){return e.paidAmount||0}static getOrderStatus(e){return e.status||"unknown"}static isOrderCompleted(e){return e.status==="completed"||e.status==="fulfilled"}static isOrderPending(e){return e.status==="pending"||e.status==="processing"}static isOrderCancelled(e){return e.status==="cancelled"||e.status==="refunded"}};var ii=class t{static getCurrency(e,n="USD"){var c,l,u,d;let r,i=!1,o=typeof window!="undefined"?new URLSearchParams(window.location.search).get("currency"):null,s=typeof window!="undefined"?localStorage.getItem("tgd_currency")||t.getCookieValue("tgd_currency"):null;o?(r=o.toUpperCase(),i=!0):s?(r=s.toUpperCase(),i=!0):typeof(e==null?void 0:e.currency)=="string"?r=e.currency:(c=e==null?void 0:e.currency)!=null&&c.code?r=e.currency.code:(u=(l=e==null?void 0:e.store)==null?void 0:l.presentmentCurrencies)!=null&&u[0]?r=e.store.presentmentCurrencies[0]:r=n;let a=(d=e==null?void 0:e.store)==null?void 0:d.presentmentCurrencies;if(a!=null&&a.length&&!a.includes(r)&&(console.warn('[CurrencyUtils] Currency "'.concat(r,'" is not in store presentmentCurrencies [').concat(a.join(", "),"]. Falling back to ").concat(a[0],".")),r=a[0],i&&typeof window!="undefined"))try{localStorage.setItem("tgd_currency",r)}catch(p){}return{code:r,symbol:this.getCurrencySymbol(r),name:this.getCurrencyName(r),decimalPlaces:this.getDecimalPlaces(r),isExplicit:i}}static getCookieValue(e){if(typeof document=="undefined")return null;let n=document.cookie.match(new RegExp("(?:^|; )".concat(e,"=([^;]*)")));return n?decodeURIComponent(n[1]):null}static getCurrencySymbol(e){return{USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$",CHF:"CHF",CNY:"\xA5",SEK:"kr",NOK:"kr",DKK:"kr",PLN:"z\u0142",CZK:"K\u010D",HUF:"Ft",RON:"lei",BGN:"\u043B\u0432",HRK:"kn",RUB:"\u20BD",UAH:"\u20B4",TRY:"\u20BA",BRL:"R$",ARS:"$",CLP:"$",COP:"$",MXN:"$",PEN:"S/",UYU:"$U",VEF:"Bs",ZAR:"R",EGP:"\xA3",MAD:"\u062F.\u0645.",TND:"\u062F.\u062A",DZD:"\u062F.\u062C",LYD:"\u0644.\u062F",NGN:"\u20A6",GHS:"\u20B5",KES:"KSh",UGX:"USh",TZS:"TSh",ETB:"Br",ZMW:"ZK",BWP:"P",SZL:"L",LSL:"L",NAD:"N$",MUR:"\u20A8",SCR:"\u20A8",KWD:"\u062F.\u0643",BHD:"\u062F.\u0628",QAR:"\u0631.\u0642",AED:"\u062F.\u0625",OMR:"\u0631.\u0639.",YER:"\uFDFC",SAR:"\u0631.\u0633",JOD:"\u062F.\u0627",LBP:"\u0644.\u0644",ILS:"\u20AA",INR:"\u20B9",PKR:"\u20A8",BDT:"\u09F3",LKR:"\u20A8",NPR:"\u20A8",AFN:"\u060B",KZT:"\u20B8",UZS:"\u043B\u0432",KGS:"\u043B\u0432",TJS:"SM",TMT:"T",AZN:"\u20BC",GEL:"\u20BE",AMD:"\u058F",KRW:"\u20A9",THB:"\u0E3F",VND:"\u20AB",IDR:"Rp",MYR:"RM",SGD:"S$",PHP:"\u20B1",TWD:"NT$",HKD:"HK$",MOP:"MOP$",BND:"B$",LAK:"\u20AD",KHR:"\u17DB",MMK:"K",BOB:"Bs",PYG:"\u20B2",GTQ:"Q",HNL:"L",NIO:"C$",CRC:"\u20A1",PAB:"B/.",DOP:"RD$",JMD:"J$",TTD:"TT$",BBD:"Bds$",XCD:"EC$",AWG:"\u0192",ANG:"\u0192",SRD:"$",GYD:"G$",VES:"Bs.S",VED:"Bs.D"}[e]||e}static getCurrencyName(e){return{USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar",CHF:"Swiss Franc",CNY:"Chinese Yuan",SEK:"Swedish Krona",NOK:"Norwegian Krone",DKK:"Danish Krone",PLN:"Polish Zloty",CZK:"Czech Koruna",HUF:"Hungarian Forint",RON:"Romanian Leu",BGN:"Bulgarian Lev",HRK:"Croatian Kuna",RUB:"Russian Ruble",UAH:"Ukrainian Hryvnia",TRY:"Turkish Lira",BRL:"Brazilian Real",ARS:"Argentine Peso",CLP:"Chilean Peso",COP:"Colombian Peso",MXN:"Mexican Peso",PEN:"Peruvian Sol",UYU:"Uruguayan Peso",VEF:"Venezuelan Bolivar",ZAR:"South African Rand",EGP:"Egyptian Pound",MAD:"Moroccan Dirham",TND:"Tunisian Dinar",DZD:"Algerian Dinar",LYD:"Libyan Dinar",NGN:"Nigerian Naira",GHS:"Ghanaian Cedi",KES:"Kenyan Shilling",UGX:"Ugandan Shilling",TZS:"Tanzanian Shilling",ETB:"Ethiopian Birr",ZMW:"Zambian Kwacha",BWP:"Botswana Pula",SZL:"Swazi Lilangeni",LSL:"Lesotho Loti",NAD:"Namibian Dollar",MUR:"Mauritian Rupee",SCR:"Seychellois Rupee",KWD:"Kuwaiti Dinar",BHD:"Bahraini Dinar",QAR:"Qatari Riyal",AED:"UAE Dirham",OMR:"Omani Rial",YER:"Yemeni Rial",SAR:"Saudi Riyal",JOD:"Jordanian Dinar",LBP:"Lebanese Pound",ILS:"Israeli Shekel",INR:"Indian Rupee",PKR:"Pakistani Rupee",BDT:"Bangladeshi Taka",LKR:"Sri Lankan Rupee",NPR:"Nepalese Rupee",AFN:"Afghan Afghani",KZT:"Kazakhstani Tenge",UZS:"Uzbekistani Som",KGS:"Kyrgyzstani Som",TJS:"Tajikistani Somoni",TMT:"Turkmenistani Manat",AZN:"Azerbaijani Manat",GEL:"Georgian Lari",AMD:"Armenian Dram",KRW:"South Korean Won",THB:"Thai Baht",VND:"Vietnamese Dong",IDR:"Indonesian Rupiah",MYR:"Malaysian Ringgit",SGD:"Singapore Dollar",PHP:"Philippine Peso",TWD:"Taiwan Dollar",HKD:"Hong Kong Dollar",MOP:"Macanese Pataca",BND:"Brunei Dollar",LAK:"Lao Kip",KHR:"Cambodian Riel",MMK:"Myanmar Kyat",BOB:"Bolivian Boliviano",PYG:"Paraguayan Guarani",GTQ:"Guatemalan Quetzal",HNL:"Honduran Lempira",NIO:"Nicaraguan Cordoba",CRC:"Costa Rican Colon",PAB:"Panamanian Balboa",DOP:"Dominican Peso",JMD:"Jamaican Dollar",TTD:"Trinidad and Tobago Dollar",BBD:"Barbadian Dollar",XCD:"East Caribbean Dollar",AWG:"Aruban Florin",ANG:"Netherlands Antillean Guilder",SRD:"Surinamese Dollar",GYD:"Guyanese Dollar",VES:"Venezuelan Bolivar Soberano",VED:"Venezuelan Bolivar Digital"}[e]||e}static getDecimalPlaces(e){var r;return(r={JPY:0,KRW:0,VND:0,IDR:0,LAK:0,KHR:0,MMK:0,PYG:0,VEF:0,VES:0,VED:0}[e])!=null?r:2}};var oi=class{static getCheckoutSessionId(e){var n;return((n=e.checkoutSession)==null?void 0:n.id)||""}static getLineItems(e){var r;let n=(r=e.checkoutSession)==null?void 0:r.lineItems;return Array.isArray(n)?n:[]}static getTotal(e){var r;let n=(r=e.checkoutSession)==null?void 0:r.totalPrice;return typeof n=="number"?n:0}static isClubMember(e){return e.customerIsClubMember||!1}};var si=class{static isValidPromotion(e){return!!(e.id&&e.name)}static getPromotionType(e){return e.type||"unknown"}static hasRules(e){return!!(e.rules&&e.rules.length>0)}static hasActions(e){return!!(e.actions&&e.actions.length>0)}};var ai=class{static isValidOffer(e){return!!(e.id&&e.summaries&&e.summaries.length>0)}static getOfferTotal(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.totalAmount)||0}static getOfferAdjustedTotal(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.totalAdjustedAmount)||0}static hasItems(e){return!!(e.offerLineItems&&e.offerLineItems.length>0)}static getOfferCurrency(e){var n,r;return((r=(n=e.summaries)==null?void 0:n[0])==null?void 0:r.currency)||"USD"}static getOfferTitle(e,n="en"){var r,i;return((r=e.titleTrans)==null?void 0:r[n])||((i=e.titleTrans)==null?void 0:i.en)||"Offer ".concat(e.id)}};var li=class{static isValidOffer(e){return!!(e.id&&e.name&&e.price>0)}static toggleSelection(e){return A(S({},e),{isSelected:!e.isSelected})}static calculatePreview(e,n=0){let r=n+e.price,i=e.isSelected?r:n;return{offer:e,totalAmount:r,adjustedAmount:i}}static getSelectedOffers(e){return e.filter(n=>n.isSelected)}static getSelectedTotal(e){return e.filter(n=>n.isSelected).reduce((n,r)=>n+r.price,0)}};var yd={session:t=>["funnel","session",t],allSessions:()=>["funnel","sessions"],funnelMeta:t=>["funnel","meta",t]};function Ks(t,e,n="*"){let r={type:"TAGADAPAY_CONFIG_UPDATE",config:e,timestamp:Date.now()};t.postMessage(r,n)}function Sd(t,e="iframe"){if(typeof document=="undefined")return;let n=document.querySelectorAll(e);n.forEach(r=>{r.contentWindow&&Ks(r.contentWindow,t)}),console.log("[ConfigHotReload] Broadcasted config update to ".concat(n.length," iframe(s)"))}function bd(t){if(typeof window=="undefined")return()=>{};let e=n=>{var r;((r=n.data)==null?void 0:r.type)==="TAGADAPAY_CONFIG_UPDATE"&&t(n.data.config)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}}function Pd(t,e=150){let n=null;return r=>{n&&clearTimeout(n),n=setTimeout(()=>{t(r),n=null},e)}}function wd(t,e){return"".concat(t,"_").concat(e)}var pi=Lr(Ys()),te,gt=typeof window!="undefined"&&typeof document!="undefined",kd=gt?history.pushState.bind(history):null,Nd=gt?history.replaceState.bind(history):null;function In(){te=void 0}gt&&(window.addEventListener("popstate",In),window.addEventListener("hashchange",In),history.pushState=function(...t){return In(),kd.apply(this,t)},history.replaceState=function(...t){return In(),Nd.apply(this,t)});function Ut(){if(!gt)return null;if(te!==void 0)return console.log("[TagadaPay SDK] \u{1F4E6} Returning cached internal path:",te),te;console.log("[TagadaPay SDK] \u{1F50D} getInternalPath() called for:",window.location.pathname);try{let t=window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"||window.location.hostname.endsWith(".localhost");if(console.log("[TagadaPay SDK] \u{1F3E0} isLocalhost:",t),t){let s=new URLSearchParams(window.location.search).get("__remap");if(console.log("[TagadaPay SDK] \u{1F50D} Query parameter __remap:",s),s)return te=s,s;try{let a=localStorage.getItem("tagadapay-remap");if(console.log("[TagadaPay SDK] \u{1F50D} localStorage tagadapay-remap:",a),a)try{let c=JSON.parse(a);if(console.log("[TagadaPay SDK] \u{1F4DD} Parsed remap config:",c),c.externalPath&&c.internalPath){let l=window.location.pathname;console.log("[TagadaPay SDK] \u{1F50D} Checking if",l,"matches pattern",c.externalPath);let d=(0,pi.match)(c.externalPath,{decode:decodeURIComponent,end:!0})(l);return console.log("[TagadaPay SDK] \u{1F3AF} Match result:",d),d!==!1?(te=c.internalPath,console.log("[TagadaPay SDK] \u2705 Path remap: ".concat(c.externalPath," \u2192 ").concat(c.internalPath)),console.log("[TagadaPay SDK] \u2705 Current URL ".concat(l," matches external pattern")),console.log("[TagadaPay SDK] \u{1F4E6} Caching and returning:",c.internalPath),c.internalPath):(console.log("[TagadaPay SDK] \u274C Current URL ".concat(l," does NOT match external pattern ").concat(c.externalPath)),te=null,null)}else console.log("[TagadaPay SDK] \u26A0\uFE0F Parsed config missing externalPath or internalPath")}catch(c){return console.log("[TagadaPay SDK] \u26A0\uFE0F Failed to parse as JSON, using legacy format:",c),te=a,a}else console.log("[TagadaPay SDK] \u{1F4ED} No localStorage tagadapay-remap found")}catch(a){console.log("[TagadaPay SDK] \u274C localStorage error:",a)}}let e=document.querySelector('meta[name="tagadapay-path-remap"]');if(e)try{let o=e.getAttribute("content");if(o){let s=decodeURIComponent(o),a=JSON.parse(s);if(a.internal)return console.log("[TagadaPay SDK] \u2705 Got internal path from full remap config:",a.internal),te=a.internal,a.internal}}catch(o){console.error("[TagadaPay SDK] Error parsing full remap config:",o)}let n=document.querySelector('meta[name="x-plugin-internal-path"]');if(!n)return console.log("[TagadaPay SDK] \u2139\uFE0F No path remap meta tags found"),te=null,null;let r=n.getAttribute("content");if(!r||r.trim()==="")return te=null,null;let i=r.trim();return i.startsWith("/")?(console.log("[TagadaPay SDK] \u2705 Got internal path from legacy meta tag:",i),te=i,i):(te=null,null)}catch(t){return te=null,null}}function Zs(){return Ut()!==null}function Xs(){if(!gt)throw new Error("[TagadaPay SDK] getPathInfo() cannot be called in SSR context");try{let t=window.location.pathname,e=Ut(),n=new URLSearchParams(window.location.search),r=window.location.hash.replace(/^#/,"");return{externalPath:t,internalPath:e,isRemapped:e!==null,fullUrl:window.location.href,query:n,hash:r}}catch(t){return{externalPath:"/",internalPath:null,isRemapped:!1,fullUrl:"",query:new URLSearchParams,hash:""}}}function Cn(t,e){try{if(t===e)return{matched:!0,params:{}};if(!(e.includes(":")||e.includes("*")||e.includes("{")))return{matched:t===e,params:{}};let i=(0,pi.match)(e,{decode:decodeURIComponent,end:!0})(t);if(i===!1)return{matched:!1,params:{}};let o={};return typeof i=="object"&&i.params&&Object.keys(i.params).forEach(s=>{let a=i.params[s];o[s]=Array.isArray(a)?a.join("/"):String(a)}),{matched:!0,params:o}}catch(n){return{matched:t===e,params:{}}}}function Dd(t,e,n){let r=Js(e),i=Js(n);if(r.length===0||r.length!==i.length)return t;let o={};return r.forEach((s,a)=>{let c=i[a],l=t[s];l!==void 0&&(o[c]=l)}),o}function Js(t){let e=t.match(/:([a-zA-Z0-9_]+)/g);return e?e.map(n=>n.substring(1)):[]}function Qs(t){if(typeof t!="string")throw new Error("[TagadaPay SDK] internalPath must be a string, got ".concat(typeof t));if(t.trim()==="")throw new Error("[TagadaPay SDK] internalPath cannot be empty");if(!t.startsWith("/"))throw new Error('[TagadaPay SDK] internalPath must start with /, got "'.concat(t,'"'));if(!gt)return{matched:!1,params:{}};try{let e=window.location.pathname,n=Ut();if(n){if(!Cn(n,t).matched)return{matched:!1,params:{}};let i=null;if(typeof localStorage!="undefined")try{let s=localStorage.getItem("tagadapay-remap");if(s){let a=JSON.parse(s);a.externalPath&&a.internalPath===n&&(i=a.externalPath)}}catch(s){}if(!i&&typeof document!="undefined"){console.log("[TagadaPay SDK] \u{1F50D} Checking for production path remap meta tag...");let s=document.querySelector('meta[name="tagadapay-path-remap"]');if(s)try{let a=s.getAttribute("content");if(console.log("[TagadaPay SDK] \u{1F4C4} Found meta tag content (encoded):",(a==null?void 0:a.substring(0,100))+"..."),a){let c=decodeURIComponent(a);console.log("[TagadaPay SDK] \u{1F4C4} Decoded content:",c);let l=JSON.parse(c);console.log("[TagadaPay SDK] \u{1F4E6} Parsed remap config:",l),console.log("[TagadaPay SDK] \u{1F50D} Checking if internal path matches:",{parsedInternal:l.internal,remappedInternalPath:n}),l.external&&l.internal===n?(i=l.external,console.log("[TagadaPay SDK] \u2705 Using external pattern from meta tag:",i)):console.log("[TagadaPay SDK] \u26A0\uFE0F Internal path mismatch - not using meta tag config")}}catch(a){console.error("[TagadaPay SDK] \u274C Error parsing path remap meta tag:",a)}else console.log("[TagadaPay SDK] \u274C No tagadapay-path-remap meta tag found")}if(i){let s=Cn(e,i);if(s.matched){console.log("[TagadaPay SDK] \u{1F504} Mapping params from external to internal pattern"),console.log("[TagadaPay SDK] External params:",s.params),console.log("[TagadaPay SDK] External pattern:",i),console.log("[TagadaPay SDK] Internal pattern:",t);let a=Dd(s.params,i,t);return console.log("[TagadaPay SDK] Mapped params:",a),{matched:!0,params:a}}}return{matched:!0,params:Cn(e,t).params}}return Cn(e,t)}catch(e){return{matched:!1,params:{}}}}qe();qe();var xr=class{constructor(e){this.callbacks={};this.basisTheory=null;this.btInitPromise=null;this.bt3dsClass=null;this.bt3dsInitPromise=null;this.storeConfig=null;this.storeConfigPromise=null;this.pollTimer=null;this.pollAttempts=0;this.isPollingActive=!1;this.redirectReturnProcessed=!1;this.paymentsResource=new ct(e.apiClient),this.threedsResource=new dt(e.apiClient),this.storeConfigResource=new ut(e.apiClient),this.storeId=e.storeId}get payments(){return this.paymentsResource}setCallbacks(e){this.callbacks=e}warmup(){this.initBasisTheory(),this.initBt3ds(),this.storeId&&this.fetchStoreConfig()}destroy(){this.stopPolling(),this.basisTheory=null,this.btInitPromise=null,this.bt3dsClass=null,this.bt3dsInitPromise=null,this.storeConfig=null,this.storeConfigPromise=null}initBasisTheory(){return this.basisTheory?Promise.resolve(this.basisTheory):this.btInitPromise?this.btInitPromise:(this.btInitPromise=(async()=>{try{let e=jt(),{BasisTheory:n}=await Promise.resolve().then(()=>Lr($o())),r=await new n().init(e,{elements:!1});return this.basisTheory=r,console.log("[PaymentService] BasisTheory initialized"),this.basisTheory}catch(e){return console.error("[PaymentService] BasisTheory init failed:",e),null}})(),this.btInitPromise)}getBtApiKey(){return jt()}initBt3ds(){return this.bt3dsClass?Promise.resolve(this.bt3dsClass):this.bt3dsInitPromise?this.bt3dsInitPromise:(this.bt3dsInitPromise=(async()=>{try{let{BasisTheory3ds:e}=await Promise.resolve().then(()=>(ru(),nu));return this.bt3dsClass=e,console.log("[PaymentService] BasisTheory 3DS loaded"),this.bt3dsClass}catch(e){return console.error("[PaymentService] BasisTheory 3DS load failed:",e),null}})(),this.bt3dsInitPromise)}fetchStoreConfig(){return this.storeConfig?Promise.resolve(this.storeConfig):this.storeConfigPromise?this.storeConfigPromise:this.storeId?(this.storeConfigPromise=(async()=>{try{return this.storeConfig=await this.storeConfigResource.getStoreConfig(this.storeId),this.storeConfig}catch(e){return null}})(),this.storeConfigPromise):Promise.resolve(null)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null),this.isPollingActive=!1,this.pollAttempts=0}startPolling(e,n,r=20,i=1500){this.stopPolling(),this.isPollingActive=!0,this.pollAttempts=0,console.log("[PaymentService] Starting payment polling:",e);let o=async()=>{var s;if(this.isPollingActive){this.pollAttempts++;try{let a=await this.paymentsResource.getPaymentStatus(e);if(console.log("[PaymentService] Poll #".concat(this.pollAttempts,": ").concat(a.status," / ").concat(a.subStatus)),!this.isPollingActive)return;if(a.status==="succeeded"||a.status==="pending"&&a.subStatus==="authorized"){this.stopPolling(),n.onSuccess(a);return}if(a.requireAction!=="none"&&a.requireActionData&&!a.requireActionData.processed){this.stopPolling(),(s=n.onRequireAction)==null||s.call(n,a);return}if(a.status!=="succeeded"&&a.status!=="pending"){this.stopPolling(),n.onFailure(a.status||"Payment failed");return}this.pollAttempts>=r&&(this.stopPolling(),n.onFailure("Payment verification timeout"))}catch(a){this.pollAttempts>=3&&(this.stopPolling(),n.onFailure("Payment verification failed due to network errors"))}}};o(),this.pollTimer=setInterval(()=>void o(),i)}async processAndHandle(e,n,r,i){var a,c,l,u,d,p,g,m,h,f,b,P,w,I,E,R,_,C,M;let o=rt(),s=await this.paymentsResource.processPaymentDirect(e,n,r,{initiatedBy:(i==null?void 0:i.initiatedBy)||"customer",source:(i==null?void 0:i.source)||"checkout",paymentFlowId:o,processorId:i==null?void 0:i.processorId,paymentMethod:i==null?void 0:i.paymentMethod,shippingRateId:i==null?void 0:i.shippingRateId});if(console.log("[PaymentService] Payment response:",{paymentId:(a=s.payment)==null?void 0:a.id,status:(c=s.payment)==null?void 0:c.status,requireAction:(l=s.payment)==null?void 0:l.requireAction}),(p=(d=this.callbacks).onCurrentPaymentId)==null||p.call(d,((u=s.payment)==null?void 0:u.id)||null),s.payment.requireAction!=="none"){if(s.payment.requireAction==="error"||s.payment.status==="declined"||s.payment.status==="failed"){let x=((g=s.payment.requireActionData)==null?void 0:g.message)||((m=s.payment.error)==null?void 0:m.message)||"Payment declined";return(f=(h=this.callbacks).onError)==null||f.call(h,x),(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1),{success:!1,error:x,payment:s.payment,order:s.order}}let k=await this.handlePaymentAction(s.payment),N=this.settleActionOutcome(k,s.payment,s.order);if(N)return N}if(s.payment.status==="succeeded")return(I=(w=this.callbacks).onProcessing)==null||I.call(w,!1),{success:!0,payment:s.payment,order:s.order};if(s.payment.status==="declined"||s.payment.status==="failed"){let k=((E=s.payment.error)==null?void 0:E.message)||"Payment declined";return(_=(R=this.callbacks).onError)==null||_.call(R,k),(M=(C=this.callbacks).onProcessing)==null||M.call(C,!1),{success:!1,error:k,payment:s.payment,order:s.order}}return new Promise(k=>{this.startPolling(s.payment.id,{onSuccess:N=>{var x,q;(q=(x=this.callbacks).onProcessing)==null||q.call(x,!1),k({success:!0,payment:N,order:s.order})},onFailure:N=>{var x,q,G,V;(q=(x=this.callbacks).onError)==null||q.call(x,N),(V=(G=this.callbacks).onProcessing)==null||V.call(G,!1),k({success:!1,error:N})},onRequireAction:async N=>{var G,V;let x=await this.handlePaymentAction(N),q=this.settleActionOutcome(x,N,s.order);q&&((V=(G=this.callbacks).onProcessing)==null||V.call(G,!1),k(q))}})})}settleActionOutcome(e,n,r){var i;switch(e.kind){case"redirected":return{success:!0,payment:n,order:r,redirecting:!0};case"completed":return{success:!0,payment:e.payment,order:r};case"failed":return{success:!1,error:e.error,payment:(i=e.payment)!=null?i:n,order:r};case"pending":return null}}async handleResumedPayment(e){var n,r,i,o,s,a,c,l,u,d,p,g;if(e.status==="declined"||e.status==="failed"){let m=((n=e.error)==null?void 0:n.message)||((r=e.error)==null?void 0:r.processorMessage)||"Payment declined";return(o=(i=this.callbacks).onError)==null||o.call(i,m),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),(l=(c=this.callbacks).onFailure)==null||l.call(c,m),{kind:"failed",error:m,payment:e}}return e.status==="succeeded"?((d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),(g=(p=this.callbacks).onSuccess)==null||g.call(p,e),{kind:"completed",payment:e}):e.requireAction!=="none"&&e.requireActionData?this.handlePaymentAction(e):(this.startPolling(e.id,{onSuccess:m=>{var h,f,b,P;(f=(h=this.callbacks).onProcessing)==null||f.call(h,!1),(P=(b=this.callbacks).onSuccess)==null||P.call(b,m)},onFailure:m=>{var h,f,b,P;(f=(h=this.callbacks).onError)==null||f.call(h,m),(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1)},onRequireAction:m=>{this.handlePaymentAction(m)}}),{kind:"pending"})}async handlePaymentAction(e){var r,i,o,s,a,c,l,u,d,p,g,m,h,f,b,P,w,I,E,R,_;if(e.requireAction==="none")return{kind:"pending"};if((r=e.requireActionData)!=null&&r.processed)return{kind:"pending"};let n=e.requireActionData;if(!n)return{kind:"pending"};try{await this.paymentsResource.markPaymentActionProcessed(e.id)}catch(C){}switch(n.type){case"redirect":case"redirect_to_payment":case"processor_auth":{let C=((o=(i=n.metadata)==null?void 0:i.redirect)==null?void 0:o.redirectUrl)||n.redirectUrl||n.url;if(C)return console.log("[PaymentService] Redirecting:",C),this.callbacks.onBeforeRedirect&&await this.callbacks.onBeforeRedirect(e,C),window.location.href=C,{kind:"redirected"};if(e.status==="succeeded")return(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),(l=(c=this.callbacks).onSuccess)==null||l.call(c,e),{kind:"completed",payment:e};let M="Payment redirect URL missing";return(d=(u=this.callbacks).onError)==null||d.call(u,M),(g=(p=this.callbacks).onProcessing)==null||g.call(p,!1),{kind:"failed",error:M,payment:e}}case"threeds_auth":{let C=(m=n.metadata)==null?void 0:m.threedsSession;if(C!=null&&C.acsChallengeUrl)return console.log("[PaymentService] 3DS challenge redirect:",C.acsChallengeUrl),window.location.href=C.acsChallengeUrl,{kind:"redirected"};let M="3DS challenge URL missing";return(f=(h=this.callbacks).onError)==null||f.call(h,M),(P=(b=this.callbacks).onProcessing)==null||P.call(b,!1),{kind:"failed",error:M,payment:e}}case"error":{let C=n.message||"Payment action failed";return(I=(w=this.callbacks).onError)==null||I.call(w,C),(R=(E=this.callbacks).onProcessing)==null||R.call(E,!1),{kind:"failed",error:C,payment:e}}case"kesspay_auth":return this.handleKessPayAuth(n);case"trustflow_auth":return this.handleTrustFlowAuth(n);case"finix_radar":return this.handleFinixRadar(e,n);case"stripe_radar":return this.handleStripeRadar(e,n);case"radar":return((_=n.metadata)==null?void 0:_.provider)==="airwallex"?this.handleAirwallexRadar(e,n):{kind:"pending"};case"mastercard_auth":return this.handleMasterCardAuth(e,n);case"ngenius_3ds":return this.handleNgeniusThreeds(e,n);default:return console.log("[PaymentService] Unhandled action, starting polling:",n.type),this.startPolling(e.id,{onSuccess:C=>{var M,k,N,x;(k=(M=this.callbacks).onProcessing)==null||k.call(M,!1),(x=(N=this.callbacks).onSuccess)==null||x.call(N,C)},onFailure:C=>{var M,k,N,x;(k=(M=this.callbacks).onError)==null||k.call(M,C),(x=(N=this.callbacks).onProcessing)==null||x.call(N,!1)},onRequireAction:C=>{this.handlePaymentAction(C)}}),{kind:"pending"}}}handleKessPayAuth(e){var r,i,o,s,a,c,l,u,d,p,g;let n=(r=e==null?void 0:e.metadata)==null?void 0:r.threeds;if(!(n!=null&&n.challengeHtml)){let m="Missing KessPay 3DS challenge HTML";return(o=(i=this.callbacks).onError)==null||o.call(i,m),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),{kind:"failed",error:m}}try{(l=(c=this.callbacks).onProcessing)==null||l.call(c,!1);let m=document.implementation.createHTMLDocument("KessPay 3DS");m.body.innerHTML=n.challengeHtml;let h=m.querySelector("form");if(h){let f=document.createElement("form");f.method=h.method||"POST",f.action=h.action||"",f.style.display="none",h.querySelectorAll("input").forEach(b=>{let P=document.createElement("input");P.type=b.type,P.name=b.name,P.value=b.value,f.appendChild(P)}),document.body.appendChild(f),f.submit()}else document.open(),document.write(n.challengeHtml),document.close();return{kind:"redirected"}}catch(m){let h=m instanceof Error?m.message:"KessPay 3DS failed";return(d=(u=this.callbacks).onError)==null||d.call(u,h),(g=(p=this.callbacks).onProcessing)==null||g.call(p,!1),{kind:"failed",error:h}}}handleTrustFlowAuth(e){var r,i,o,s,a,c,l,u,d,p,g;let n=(r=e==null?void 0:e.metadata)==null?void 0:r.trustflow;if(!(n!=null&&n.appId)||!(n!=null&&n.txnId)||!(n!=null&&n.hash)){let m="Missing Trust Flow 3DS data";return(o=(i=this.callbacks).onError)==null||o.call(i,m),(a=(s=this.callbacks).onProcessing)==null||a.call(s,!1),{kind:"failed",error:m}}try{(l=(c=this.callbacks).onProcessing)==null||l.call(c,!1);let m=document.createElement("form");m.method="POST",m.action=n.captureUrl,m.style.display="none";for(let[h,f]of[["APP_ID",n.appId],["TXN_ID",n.txnId],["HASH",n.hash]]){let b=document.createElement("input");b.type="hidden",b.name=h,b.value=f,m.appendChild(b)}return document.body.appendChild(m),m.submit(),{kind:"redirected"}}catch(m){let h=m instanceof Error?m.message:"Trust Flow 3DS failed";return(d=(u=this.callbacks).onError)==null||d.call(u,h),(g=(p=this.callbacks).onProcessing)==null||g.call(p,!1),{kind:"failed",error:h}}}async handleFinixRadar(e,n){var i,o,s,a,c,l,u,d,p;let r=(i=n.metadata)==null?void 0:i.radar;if(!r){let g="Finix radar config missing";return(s=(o=this.callbacks).onError)==null||s.call(o,g),(c=(a=this.callbacks).onProcessing)==null||c.call(a,!1),{kind:"failed",error:g,payment:e}}try{await this.loadScript("https://js.finix.com/v/1/finix.js",()=>{var h;return typeof((h=window.Finix)==null?void 0:h.Auth)=="function"});let g=await new Promise((h,f)=>{let b=setTimeout(()=>f(new Error("Timeout waiting for Finix Auth")),1e4),P=window.Finix.Auth(r.environment,r.merchantId,()=>{clearTimeout(b);let I=P.getSessionKey();I?h(I):f(new Error("No Finix session key"))}),w=P.getSessionKey();w&&(clearTimeout(b),h(w))});await this.paymentsResource.saveRadarSession({orderId:r.orderId,finixRadarSessionId:g,finixRadarSessionData:{sessionKey:g,merchantId:r.merchantId,environment:r.environment,createdAt:new Date().toISOString()}});let m=await this.paymentsResource.completePaymentAfterAction(e.id);return await this.handleResumedPayment(m)}catch(g){let m=g instanceof Error?g.message:"Finix radar failed";return(u=(l=this.callbacks).onError)==null||u.call(l,m),(p=(d=this.callbacks).onProcessing)==null||p.call(d,!1),{kind:"failed",error:m,payment:e}}}async handleStripeRadar(e,n){var i,o,s,a,c,l,u,d,p;let r=(i=n.metadata)==null?void 0:i.radar;if(!(r!=null&&r.publishableKey)){let g="Stripe radar config missing";return(s=(o=this.callbacks).onError)==null||s.call(o,g),(c=(a=this.callbacks).onProcessing)==null||c.call(a,!1),{kind:"failed",error:g,payment:e}}try{await this.loadScript("https://js.stripe.com/v3/",()=>typeof window.Stripe=="function");let m=await window.Stripe(r.publishableKey).createRadarSession();if(m.error)throw new Error(m.error.message||"Failed to create Radar session");if(!m.radarSession)throw new Error("No radar session returned from Stripe");await this.paymentsResource.saveRadarSession({orderId:r.orderId,stripeRadarSessionId:m.radarSession.id,stripeRadarSessionData:m.radarSession});let h=await this.paymentsResource.completePaymentAfterAction(e.id);return await this.handleResumedPayment(h)}catch(g){let m=g instanceof Error?g.message:"Stripe radar failed";return(u=(l=this.callbacks).onError)==null||u.call(l,m),(p=(d=this.callbacks).onProcessing)==null||p.call(d,!1),{kind:"failed",error:m,payment:e}}}async handleNgeniusThreeds(e,n){var i,o,s,a,c,l,u,d,p;let r=(i=n.metadata)==null?void 0:i.sdk;if(!(r!=null&&r.paymentResponse)||!r.orderReference||!r.paymentReference){let g="N-Genius 3DS: missing SDK metadata";return(s=(o=this.callbacks).onError)==null||s.call(o,g),(c=(a=this.callbacks).onProcessing)==null||c.call(a,!1),{kind:"failed",error:g,payment:e}}try{let g=r.isSandboxed?"https://paypage.sandbox.ngenius-payments.com/hosted-sessions/sdk.js":"https://paypage.ngenius-payments.com/hosted-sessions/sdk.js";document.getElementById("ngenius-websdk")||await new Promise((b,P)=>{let w=document.createElement("script");w.id="ngenius-websdk",w.src=g,w.onload=()=>b(),w.onerror=()=>P(new Error("Failed to load N-Genius WebSDK")),document.head.appendChild(w)});let m=window.NI;if(!(m!=null&&m.handlePaymentResponse))throw new Error("N-Genius WebSDK did not expose window.NI.handlePaymentResponse");console.log("[N-Genius 3DS] Starting WebSDK challenge");let h=await m.handlePaymentResponse(r.paymentResponse,{mountId:"ngenius-3ds-container",style:{width:"100%",height:500}});console.log("[N-Genius 3DS] WebSDK outcome:",h.status);let f=await this.paymentsResource.ngeniusThreedsComplete({paymentId:e.id,orderReference:r.orderReference,paymentReference:r.paymentReference});return await this.handleResumedPayment(f)}catch(g){let m=g instanceof Error?g.message:"N-Genius 3DS failed";return console.error("[N-Genius 3DS] Error:",g),(u=(l=this.callbacks).onError)==null||u.call(l,m),(p=(d=this.callbacks).onProcessing)==null||p.call(d,!1),{kind:"failed",error:m,payment:e}}}async handleAirwallexRadar(e,n){var s,a,c,l,u,d,p,g,m,h,f;let r=((s=n.metadata)==null?void 0:s.isTest)||!1,i=(a=e.order)==null?void 0:a.id,o=(c=e.order)==null?void 0:c.checkoutSessionId;if(!i||!o){let b="Missing order info for Airwallex radar";return(u=(l=this.callbacks).onError)==null||u.call(l,b),(p=(d=this.callbacks).onProcessing)==null||p.call(d,!1),{kind:"failed",error:b,payment:e}}try{let b=crypto.randomUUID(),P=document.getElementById("airwallex-fraud-api");if(P)P.setAttribute("data-order-session-id",b);else{let I=r?"https://static-demo.airwallex.com":"https://static.airwallex.com",E=document.createElement("script");E.type="text/javascript",E.async=!0,E.id="airwallex-fraud-api",E.setAttribute("data-order-session-id",b),E.src="".concat(I,"/webapp/fraud/device-fingerprint/index.js"),await new Promise((R,_)=>{E.onload=()=>R(),E.onerror=()=>_(new Error("Failed to load Airwallex fraud script")),document.body.appendChild(E)})}await this.paymentsResource.saveRadarSession({paymentId:e.id,checkoutSessionId:o,orderId:i,airwallexRadarSessionId:b});let w=await this.paymentsResource.completePaymentAfterAction(e.id);return await this.handleResumedPayment(w)}catch(b){let P=b instanceof Error?b.message:"Airwallex radar failed";return(m=(g=this.callbacks).onError)==null||m.call(g,P),(f=(h=this.callbacks).onProcessing)==null||f.call(h,!1),{kind:"failed",error:P,payment:e}}}async handleMasterCardAuth(e,n){var i,o,s,a,c,l,u,d,p,g,m,h,f,b;let r=(i=n==null?void 0:n.metadata)==null?void 0:i.threeds;if(!(r!=null&&r.sessionId)||!(r!=null&&r.merchantId)){let P="Missing MasterCard 3DS data";return(s=(o=this.callbacks).onError)==null||s.call(o,P),(c=(a=this.callbacks).onProcessing)==null||c.call(a,!1),{kind:"failed",error:P,payment:e}}try{(u=(l=this.callbacks).onProcessing)==null||u.call(l,!1),await this.loadScript(r.scriptUrl,()=>!!window.ThreeDS);let P="mastercard-3ds-container",w=document.getElementById(P);w||(w=document.createElement("div"),w.id=P,w.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;overflow:hidden",document.body.appendChild(w)),await new Promise((_,C)=>{window.ThreeDS.configure({merchantId:r.merchantId,sessionId:r.sessionId,containerId:P,callback:()=>{window.ThreeDS.isConfigured()?_():C(new Error("ThreeDS configuration failed"))},configuration:{userLanguage:"en-US",wsVersion:r.version?parseInt(r.version,10):72}})});let I=await new Promise(_=>{window.ThreeDS.authenticatePayer(r.orderId,r.transactionId,_)}),E=(I==null?void 0:I.htmlRedirectCode)||((g=(p=(d=I==null?void 0:I.restApiResponse)==null?void 0:d.authentication)==null?void 0:p.redirect)==null?void 0:g.html);if(E){let _=document.implementation.createHTMLDocument("MasterCard 3DS");_.body.innerHTML=E;let C=_.querySelector("form");if(C){let M=document.createElement("form");M.method=C.method||"POST",M.action=C.action||"",M.style.display="none",C.querySelectorAll("input").forEach(k=>{let N=document.createElement("input");N.type=k.type,N.name=k.name,N.value=k.value,M.appendChild(N)}),document.body.appendChild(M),M.submit()}else document.open(),document.write(E),document.close();return{kind:"redirected"}}if(r.paymentId){let _=await this.paymentsResource.completePaymentAfterAction(r.paymentId),C=document.getElementById(P);return C&&C.remove(),await this.handleResumedPayment(_)}let R=document.getElementById(P);return R&&R.remove(),{kind:"pending"}}catch(P){let w=P instanceof Error?P.message:"MasterCard 3DS failed";return(h=(m=this.callbacks).onError)==null||h.call(m,w),(b=(f=this.callbacks).onProcessing)==null||b.call(f,!1),{kind:"failed",error:w,payment:e}}}async loadScript(e,n){if(typeof window=="undefined"||n())return;if(document.querySelector('script[src="'.concat(e,'"]'))){await this.waitFor(n,1e4);return}let i=document.createElement("script");i.src=e,i.async=!0,await new Promise((o,s)=>{i.onload=()=>o(),i.onerror=()=>s(new Error("Failed to load script: ".concat(e))),document.head.appendChild(i)})}waitFor(e,n){return new Promise((r,i)=>{if(e()){r();return}let o=setTimeout(()=>i(new Error("Timeout")),n),s=()=>{e()?(clearTimeout(o),r()):setTimeout(s,100)};s()})}detectRedirectReturn(){return typeof window=="undefined"||this.redirectReturnProcessed?!1:this.detectAirwallex3dsReturn()?!0:this.detectGenericRedirectReturn()}detectGenericRedirectReturn(){var s,a,c,l,u,d;let e=new URLSearchParams(window.location.search),n=e.get("paymentAction"),r=e.get("paymentActionStatus"),i=e.get("paymentId");return e.get("mode")==="retrieve"||n!=="requireAction"||r!=="completed"||!i?!1:(console.log("[PaymentService] Generic redirect return detected:",i),this.redirectReturnProcessed=!0,(a=(s=this.callbacks).onProcessing)==null||a.call(s,!0),(l=(c=this.callbacks).onCurrentPaymentId)==null||l.call(c,i),(d=(u=this.callbacks).onRedirectReturn)==null||d.call(u,i),this.startPolling(i,{onSuccess:p=>{var g,m,h,f;(m=(g=this.callbacks).onProcessing)==null||m.call(g,!1),this.cleanPaymentUrlParams(),(f=(h=this.callbacks).onSuccess)==null||f.call(h,p)},onFailure:p=>{var g,m,h,f;(m=(g=this.callbacks).onError)==null||m.call(g,p),(f=(h=this.callbacks).onProcessing)==null||f.call(h,!1),this.cleanPaymentUrlParams()},onRequireAction:p=>{this.handlePaymentAction(p)}}),!0)}detectAirwallex3dsReturn(){var a,c,l,u;let e=new URLSearchParams(window.location.search),n=e.get("paymentId"),r=e.get("payment_intent_id"),i=e.get("succeeded"),o=e.get("processorType");return!(r||i!==null)||o!=="airwallex"||!n?!1:(console.log("[PaymentService] Airwallex 3DS return detected:",n),this.redirectReturnProcessed=!0,(c=(a=this.callbacks).onProcessing)==null||c.call(a,!0),(u=(l=this.callbacks).onCurrentPaymentId)==null||u.call(l,n),this.handleAirwallex3dsRedirectReturn(n,r,i),!0)}async handleAirwallex3dsRedirectReturn(e,n,r){var o,s,a,c,l,u,d,p,g,m,h,f,b,P,w,I,E,R,_,C,M,k,N,x,q,G,V,U,Me;let i=()=>{let D=new URLSearchParams(window.location.search);["payment_intent_id","succeeded","processorType","paymentId","paymentAction","paymentActionStatus","error_code","error_message","mode"].forEach(j=>D.delete(j));let ve=D.toString()?"".concat(window.location.pathname,"?").concat(D.toString()):window.location.pathname;window.history.replaceState({},document.title,ve)};if(r==="true")try{await this.paymentsResource.updateThreedsStatus({paymentId:e,status:"succeeded",paymentIntentId:n||""}),i();let D=await this.paymentsResource.retrievePayment(e),ve=((o=D==null?void 0:D.retrieveResult)==null?void 0:o.status)||(D==null?void 0:D.status);if((s=D==null?void 0:D.retrieveResult)!=null&&s.success&&ve==="succeeded"){let j=await this.paymentsResource.getPaymentStatus(e);(c=(a=this.callbacks).onProcessing)==null||c.call(a,!1),(u=(l=this.callbacks).onSuccess)==null||u.call(l,j)}else if(ve==="declined"||ve==="error"){let j=((d=D==null?void 0:D.retrieveResult)==null?void 0:d.message)||(D==null?void 0:D.message)||"Payment failed";(g=(p=this.callbacks).onError)==null||g.call(p,j),(h=(m=this.callbacks).onProcessing)==null||h.call(m,!1)}else{let j=await this.paymentsResource.getPaymentStatus(e);if(j.status==="declined"||j.status==="failed"){let K=((f=j.error)==null?void 0:f.message)||((b=j.error)==null?void 0:b.processorMessage)||"Payment declined";(w=(P=this.callbacks).onError)==null||w.call(P,K),(E=(I=this.callbacks).onProcessing)==null||E.call(I,!1)}else j.status==="succeeded"||j.status==="pending"&&j.subStatus==="authorized"?((_=(R=this.callbacks).onProcessing)==null||_.call(R,!1),(M=(C=this.callbacks).onSuccess)==null||M.call(C,j)):j.requireAction!=="none"&&j.requireActionData&&!j.requireActionData.processed?this.handlePaymentAction(j):this.startPolling(e,{onSuccess:K=>{var Q,ae,oe,ce;(ae=(Q=this.callbacks).onProcessing)==null||ae.call(Q,!1),(ce=(oe=this.callbacks).onSuccess)==null||ce.call(oe,K)},onFailure:K=>{var Q,ae,oe,ce;(ae=(Q=this.callbacks).onError)==null||ae.call(Q,K),(ce=(oe=this.callbacks).onProcessing)==null||ce.call(oe,!1)},onRequireAction:K=>{this.handlePaymentAction(K)}})}}catch(D){(N=(k=this.callbacks).onError)==null||N.call(k,D instanceof Error?D.message:"Failed to process Airwallex 3DS"),(q=(x=this.callbacks).onProcessing)==null||q.call(x,!1)}else{let D=new URLSearchParams(window.location.search).get("error_message")||"Authentication failed";(V=(G=this.callbacks).onError)==null||V.call(G,D),(Me=(U=this.callbacks).onProcessing)==null||Me.call(U,!1),i()}}cleanPaymentUrlParams(){if(typeof window=="undefined")return;let e=new URLSearchParams(window.location.search);["paymentAction","paymentActionStatus","paymentId","payment_intent","payment_intent_client_secret","source_type","redirect_status"].forEach(r=>e.delete(r));let n=e.toString()?"".concat(window.location.pathname,"?").concat(e.toString()):window.location.pathname;window.history.replaceState({},document.title,n)}async createCardPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createCardPaymentInstrument(n!=null?n:void 0,e)}async createApplePayPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createApplePayPaymentInstrument(n!=null?n:void 0,e)}async createGooglePayPaymentInstrument(e){let n=await this.initBasisTheory();return this.paymentsResource.createGooglePayPaymentInstrument(n!=null?n:void 0,e)}async getCardPaymentInstruments(){return this.paymentsResource.getCardPaymentInstruments()}async createThreedsSession(e){let n=await this.initBt3ds();if(!n)throw new Error("BasisTheory 3DS not loaded");let i=await n(this.getBtApiKey()).createSession({tokenId:e.token});return this.threedsResource.createSession({provider:"basis_theory",sessionData:i,paymentInstrumentId:e.id})}async processCardPayment(e,n,r){var i,o,s,a,c,l,u,d,p;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let g=await this.createCardPaymentInstrument({cardNumber:n.cardNumber,expiryDate:n.expiryDate,cvc:n.cvc});if(!(g!=null&&g.id))throw new Error("Failed to create payment instrument");let m,h=await this.fetchStoreConfig();if((c=h==null?void 0:h.computed)!=null&&c.threedsEnabled)try{m=(await this.createThreedsSession(g)).id}catch(f){}return await this.processAndHandle(e,g.id,m,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(g){let m=g instanceof Error?g.message:String(g);return(u=(l=this.callbacks).onError)==null||u.call(l,m),(p=(d=this.callbacks).onProcessing)==null||p.call(d,!1),{success:!1,error:m}}}async processApplePayPayment(e,n,r){var i,o,s,a,c,l,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let p=await this.createApplePayPaymentInstrument(n);return await this.processAndHandle(e,p.id,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(p){let g=p instanceof Error?p.message:String(p);return(l=(c=this.callbacks).onError)==null||l.call(c,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processGooglePayPayment(e,n,r){var i,o,s,a,c,l,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{let p=await this.createGooglePayPaymentInstrument(n);return await this.processAndHandle(e,p.id,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(p){let g=p instanceof Error?p.message:String(p);return(l=(c=this.callbacks).onError)==null||l.call(c,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processPaymentWithInstrument(e,n,r){var i,o,s,a,c,l,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{return await this.processAndHandle(e,n,void 0,{shippingRateId:r==null?void 0:r.shippingRateId})}catch(p){let g=p instanceof Error?p.message:String(p);return(l=(c=this.callbacks).onError)==null||l.call(c,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processApmPayment(e,n,r){var i,o,s,a,c,l,u,d;(o=(i=this.callbacks).onProcessing)==null||o.call(i,!0),(a=(s=this.callbacks).onError)==null||a.call(s,null);try{return await this.processAndHandle(e,"",void 0,{processorId:n.processorId,paymentMethod:n.paymentMethod,initiatedBy:n.initiatedBy,source:n.source,shippingRateId:r==null?void 0:r.shippingRateId})}catch(p){let g=p instanceof Error?p.message:String(p);return(l=(c=this.callbacks).onError)==null||l.call(c,g),(d=(u=this.callbacks).onProcessing)==null||d.call(u,!1),{success:!1,error:g}}}async processStripeExpressPayment(e,n,r,i,o,s){var a,c,l,u,d,p,g,m,h,f,b,P,w,I,E,R,_,C,M,k,N,x,q,G;(c=(a=this.callbacks).onProcessing)==null||c.call(a,!0),(u=(l=this.callbacks).onError)==null||u.call(l,null);try{let V=rt(),U=await this.paymentsResource.processPaymentDirect(e,"",void 0,{processorId:r,paymentMethod:n,isExpress:!0,paymentFlowId:V,shippingRateId:s==null?void 0:s.shippingRateId});(g=(p=this.callbacks).onCurrentPaymentId)==null||g.call(p,((d=U.payment)==null?void 0:d.id)||null);let Me=(b=(f=(h=(m=U==null?void 0:U.payment)==null?void 0:m.requireActionData)==null?void 0:h.metadata)==null?void 0:f.stripeExpressCheckout)==null?void 0:b.clientSecret;if(!Me){let j="Express checkout configuration missing \u2014 no client secret returned";return(w=(P=this.callbacks).onError)==null||w.call(P,j),(E=(I=this.callbacks).onProcessing)==null||E.call(I,!1),{success:!1,error:j,payment:U.payment,order:U.order}}let{error:D}=await i.confirmPayment({elements:o,clientSecret:Me,confirmParams:{return_url:window.location.href},redirect:"if_required"});if(D){let j=(R=D.message)!=null?R:"Payment confirmation failed";return(C=(_=this.callbacks).onError)==null||C.call(_,j),(k=(M=this.callbacks).onProcessing)==null||k.call(M,!1),{success:!1,error:j,payment:U.payment,order:U.order}}let ve=U.payment.id;return await new Promise(j=>{let K=async()=>{var Q,ae,oe,ce,Wo,Yo;try{let Ae=await this.paymentsResource.getPaymentStatus(ve);if(Ae.status==="succeeded"||Ae.status==="pending"&&Ae.subStatus==="authorized"){(ae=(Q=this.callbacks).onProcessing)==null||ae.call(Q,!1),j({success:!0,payment:Ae,order:U.order});return}if(Ae.status!=="succeeded"&&Ae.status!=="pending"){let Jo=Ae.status||"Payment failed";(ce=(oe=this.callbacks).onError)==null||ce.call(oe,Jo),(Yo=(Wo=this.callbacks).onProcessing)==null||Yo.call(Wo,!1),j({success:!1,error:Jo,payment:Ae,order:U.order});return}setTimeout(K,1500)}catch(Ae){setTimeout(K,1500)}};K()})}catch(V){let U=V instanceof Error?V.message:String(V);return(x=(N=this.callbacks).onError)==null||x.call(N,U),(G=(q=this.callbacks).onProcessing)==null||G.call(q,!1),{success:!1,error:U}}}};var Hh=Lr($o());var Ko;(function(t){t.SCRIPT_LOAD_FAILED="SCRIPT_LOAD_FAILED",t.SESSION_SAVE_FAILED="SESSION_SAVE_FAILED",t.RESUME_FAILED="RESUME_FAILED",t.NO_API_CLIENT="NO_API_CLIENT",t.SSR_NOT_SUPPORTED="SSR_NOT_SUPPORTED"})(Ko||(Ko={}));var zo;(function(t){t.CONTINUE_PAYMENT_FAILED="CONTINUE_PAYMENT_FAILED",t.MISSING_PAYMENT_ID="MISSING_PAYMENT_ID"})(zo||(zo={}));var iu="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";var Be=null;function Vh(){if(Be)return Be;if(typeof window=="undefined")return Promise.reject(new Error("[ApplePayService] No window \u2014 not in browser"));if(window.ApplePaySession)return Be=Promise.resolve(),Be;let t=document.querySelector('script[src="'.concat(iu,'"]'));return t?(Be=new Promise(e=>{if(window.ApplePaySession)return e();t.addEventListener("load",()=>e());let n=setInterval(()=>{window.ApplePaySession&&(clearInterval(n),e())},100);setTimeout(()=>{clearInterval(n),e()},5e3)}),Be):(Be=new Promise((e,n)=>{let r=document.createElement("script");r.src=iu,r.crossOrigin="anonymous",r.async=!0,r.onload=()=>e(),r.onerror=()=>{Be=null,n(new Error("[ApplePayService] Failed to load Apple Pay SDK"))},document.head.appendChild(r)}),Be)}async function kr(){try{await Vh();let t=window.ApplePaySession;return!!t&&t.canMakePayments()}catch(t){return!1}}async function Wh(t,e,n){let r=await fetch("https://api.basistheory.com/apple-pay/session",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({display_name:e,domain:n})});if(!r.ok)throw new Error("[ApplePayService] Merchant validation failed: HTTP ".concat(r.status));return r.json()}async function Yh(t,e){let n=await fetch("https://api.basistheory.com/apple-pay",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({apple_payment_data:e})});if(!n.ok)throw new Error("[ApplePayService] Tokenization failed: HTTP ".concat(n.status));return(await n.json()).apple_pay}function Jh(t,e){return["BIF","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"].includes(e.toUpperCase())?String(t):(t/100).toFixed(2)}function Nr(t,e,n){var c,l;let r=window.ApplePaySession;if(!r){(c=n.onError)==null||c.call(n,"Apple Pay is not available on this device");return}let i=t.countryCode||"US",o=t.storeName||"Store",s=Jh(e.totalAmountMinor,e.currency),a={countryCode:i,currencyCode:e.currency,supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS"],total:{label:o,amount:s,type:"final"},requiredShippingContactFields:["name","phone","email","postalAddress"],requiredBillingContactFields:["postalAddress"]};e.lineItems&&(a.lineItems=e.lineItems.map(u=>A(S({},u),{type:"final"}))),e.shippingMethods&&(a.shippingMethods=e.shippingMethods),e.supportedCountries&&e.supportedCountries.length>0&&(a.supportedCountries=e.supportedCountries.map(u=>u.toUpperCase()));try{let u=new r(3,a);u.onvalidatemerchant=()=>{(async()=>{var d;try{let p=await Wh(t.basisTheoryApiKey,o,window.location.host);u.completeMerchantValidation(p)}catch(p){console.error("[ApplePayService] Merchant validation failed:",p),u.abort(),(d=n.onError)==null||d.call(n,"Merchant validation failed")}})()},u.onpaymentauthorized=d=>{(async()=>{var p;try{let g=await Yh(t.basisTheoryApiKey,d.payment.token);u.completePayment(r.STATUS_SUCCESS),await n.onSuccess(g,{shipping:d.payment.shippingContact,billing:d.payment.billingContact})}catch(g){console.error("[ApplePayService] Payment processing failed:",g),u.completePayment(r.STATUS_FAILURE),(p=n.onError)==null||p.call(n,"Payment failed")}})()},n.onShippingContactSelected&&(u.onshippingcontactselected=d=>{(async()=>{try{let p=await n.onShippingContactSelected(d.shippingContact);if(!p){u.abort();return}if(p.errors&&p.errors.length>0){let g=window.ApplePayError,m=p.errors.map(h=>g?new g(h.code,h.contactField,h.message):{code:h.code,contactField:h.contactField,message:h.message});u.completeShippingContactSelection({newTotal:A(S({},p.total),{type:"final"}),newLineItems:p.lineItems.map(h=>A(S({},h),{type:"final"})),newShippingMethods:p.shippingMethods||[],errors:m});return}u.completeShippingContactSelection(r.STATUS_SUCCESS,p.shippingMethods||[],A(S({},p.total),{type:"final"}),p.lineItems.map(g=>A(S({},g),{type:"final"})))}catch(p){u.abort()}})()}),n.onShippingMethodSelected&&(u.onshippingmethodselected=d=>{(async()=>{try{let p=await n.onShippingMethodSelected(d.shippingMethod.identifier);if(!p){u.abort();return}u.completeShippingMethodSelection(r.STATUS_SUCCESS,A(S({},p.total),{type:"final"}),p.lineItems.map(g=>A(S({},g),{type:"final"})))}catch(p){u.abort()}})()}),u.oncancel=()=>{var d;(d=n.onCancel)==null||d.call(n)},u.onerror=d=>{var p;console.error("[ApplePayService] Session error:",d),(p=n.onError)==null||p.call(n,"Apple Pay session error")},u.begin()}catch(u){console.error("[ApplePayService] Failed to start Apple Pay session:",u),(l=n.onError)==null||l.call(n,"Failed to start Apple Pay")}}var ou="https://pay.google.com/gp/p/js/pay.js",Le=null;function Zh(){var e,n,r;if(Le)return Le;if(typeof window=="undefined")return Promise.reject(new Error("[GooglePayService] No window \u2014 not in browser"));if((r=(n=(e=window.google)==null?void 0:e.payments)==null?void 0:n.api)!=null&&r.PaymentsClient)return Le=Promise.resolve(),Le;let t=document.querySelector('script[src="'.concat(ou,'"]'));return t?(Le=new Promise(i=>{var s,a,c;if((c=(a=(s=window.google)==null?void 0:s.payments)==null?void 0:a.api)!=null&&c.PaymentsClient)return i();t.addEventListener("load",()=>i());let o=setInterval(()=>{var l,u,d;(d=(u=(l=window.google)==null?void 0:l.payments)==null?void 0:u.api)!=null&&d.PaymentsClient&&(clearInterval(o),i())},100);setTimeout(()=>{clearInterval(o),i()},5e3)}),Le):(Le=new Promise((i,o)=>{let s=document.createElement("script");s.src=ou,s.async=!0,s.onload=()=>i(),s.onerror=()=>{Le=null,o(new Error("[GooglePayService] Failed to load Google Pay SDK"))},document.head.appendChild(s)}),Le)}var au={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["VISA","MASTERCARD","AMEX","DISCOVER","JCB"]}};async function Dr(t=!1){var e,n,r;try{await Zh();let i=(r=(n=(e=window.google)==null?void 0:e.payments)==null?void 0:n.api)==null?void 0:r.PaymentsClient;return i?(await new i({environment:t?"TEST":"PRODUCTION"}).isReadyToPay({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[au]})).result===!0:!1}catch(i){return!1}}async function Xh(t,e){let n;try{n=typeof e=="string"?JSON.parse(e):e}catch(o){n=e}let r=await fetch("https://api.basistheory.com/google-pay",{method:"POST",headers:{"Content-Type":"application/json","BT-API-KEY":t},body:JSON.stringify({google_payment_data:n})});if(!r.ok)throw new Error("[GooglePayService] Tokenization failed: HTTP ".concat(r.status));return(await r.json()).google_pay}function Qh(t,e){return["BIF","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"].includes(e.toUpperCase())?String(t):(t/100).toFixed(2)}function su(t){if(t)return{name:t.name,phoneNumber:t.phoneNumber,address1:t.address1,address2:t.address2,address3:t.address3,locality:t.locality,administrativeArea:t.administrativeArea,postalCode:t.postalCode,countryCode:t.countryCode,sortingCode:t.sortingCode}}function Br(t,e,n){var l,u,d,p,g;let r=(d=(u=(l=window.google)==null?void 0:l.payments)==null?void 0:u.api)==null?void 0:d.PaymentsClient;if(!r){(p=n.onError)==null||p.call(n,"Google Pay is not available on this device");return}let i=t.countryCode||"US",o=t.merchantName||"Store",s=Qh(e.totalAmountMinor,e.currency),a=new r({environment:t.sandboxed?"TEST":"PRODUCTION"}),c={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[A(S({},au),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"basistheory",gatewayMerchantId:t.basisTheoryTenantId}}})],merchantInfo:{merchantId:t.sandboxed?"12345678901234567890":t.merchantId,merchantName:o},transactionInfo:{totalPriceStatus:e.totalPriceStatus||"FINAL",totalPrice:s,currencyCode:e.currency,countryCode:i},emailRequired:!0,shippingAddressRequired:!0,shippingAddressParameters:{phoneNumberRequired:!0}};e.displayItems&&(c.transactionInfo.displayItems=e.displayItems);try{a.loadPaymentData(c).then(async m=>{var h,f,b;try{let P=m.paymentMethodData,w=(h=P==null?void 0:P.tokenizationData)==null?void 0:h.token;if(!w)throw new Error("No payment token received from Google Pay");let I=await Xh(t.basisTheoryApiKey,w);P!=null&&P.info&&(I.details=S({auth_method:P.info.cardNetwork},I.details));let E=su(m.shippingAddress),R=su((f=P==null?void 0:P.info)==null?void 0:f.billingAddress),_=m.email;await n.onSuccess(I,{shipping:E,billing:R,email:_})}catch(P){console.error("[GooglePayService] Payment processing failed:",P),(b=n.onError)==null||b.call(n,"Payment failed")}}).catch(m=>{var h,f;m.statusCode==="CANCELED"?(h=n.onCancel)==null||h.call(n):(console.error("[GooglePayService] Google Pay error:",m),(f=n.onError)==null||f.call(n,m.statusMessage||"Google Pay failed"))})}catch(m){console.error("[GooglePayService] Failed to start Google Pay session:",m),(g=n.onError)==null||g.call(n,"Failed to start Google Pay")}}var Xt={AED:{name:"United Arab Emirates Dirham",demonym:"UAE",majorSingle:"Dirham",majorPlural:"Dirhams",ISOnum:784,symbol:"\u062F.\u0625.",symbolNative:"\u062F.\u0625.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:2,decimals:2,numToBasic:100},AFN:{name:"Afghan Afghani",demonym:"Afghan",majorSingle:"Afghani",majorPlural:"Afghani",ISOnum:971,symbol:"Af",symbolNative:"\u060B",minorSingle:"Pul",minorPlural:"Pul",ISOdigits:2,decimals:2,numToBasic:100},ALL:{name:"Albanian Lek",demonym:"Albanian",majorSingle:"Lek",majorPlural:"Lek\xEB",ISOnum:8,symbol:"L",symbolNative:"L",minorSingle:"Qindarka",minorPlural:"Qindarka",ISOdigits:2,decimals:2,numToBasic:100},AMD:{name:"Armenian Dram",demonym:"Armenian",majorSingle:"Dram",majorPlural:"Dram",ISOnum:51,symbol:"\u058F",symbolNative:"\u0564\u0580",minorSingle:"Luma",minorPlural:"Luma",ISOdigits:2,decimals:2,numToBasic:100},ANG:{name:"Netherlands Antillean Guilder",demonym:"Netherlands Antillean",majorSingle:"Guilder",majorPlural:"Guilders",ISOnum:532,symbol:"\u0192",symbolNative:"\u0192",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},AOA:{name:"Angolan Kwanza",demonym:"Angolan",majorSingle:"Kwanza",majorPlural:"Kwanza",ISOnum:973,symbol:"Kz",symbolNative:"Kz",minorSingle:"Centimo",minorPlural:"Centimos",ISOdigits:2,decimals:2,numToBasic:100},ARS:{name:"Argentine Peso",demonym:"Argentine",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:32,symbol:"AR$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},AUD:{name:"Australian Dollar",demonym:"Australian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:36,symbol:"AU$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},AWG:{name:"Aruban Florin",demonym:"Aruban",majorSingle:"Florin",majorPlural:"Florin",ISOnum:533,symbol:"\u0192",symbolNative:"\u0192",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},AZN:{name:"Azerbaijani Manat",demonym:"Azerbaijani",majorSingle:"Manat",majorPlural:"Manat",ISOnum:944,symbol:"\u043C\u0430\u043D",symbolNative:"\u20BC",minorSingle:"Qapik",minorPlural:"Qapik",ISOdigits:2,decimals:2,numToBasic:100},BAM:{name:"Bosnia and Herzegovina Convertible Mark",demonym:"Bosnia-Herzegovina",majorSingle:"Convertible Mark",majorPlural:"Marks",ISOnum:977,symbol:"KM",symbolNative:"\u041A\u041C",minorSingle:"Fening",minorPlural:"Fening",ISOdigits:2,decimals:2,numToBasic:100},BBD:{name:"Barbadian Dollar",demonym:"Barbadian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:52,symbol:"BBD$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},BDT:{name:"Bangladeshi Taka",demonym:"Bangladeshi",majorSingle:"Taka",majorPlural:"Taka",ISOnum:50,symbol:"\u09F3",symbolNative:"\u09F3",minorSingle:"Poisha",minorPlural:"Poisha",ISOdigits:2,decimals:2,numToBasic:100},BGN:{name:"Bulgarian Lev",demonym:"Bulgarian",majorSingle:"Lev",majorPlural:"Leva",ISOnum:975,symbol:"\u043B\u0432.",symbolNative:"\u043B\u0432.",minorSingle:"Stotinka",minorPlural:"Stotinki",ISOdigits:2,decimals:2,numToBasic:100},BHD:{name:"Bahraini Dinar",demonym:"Bahraini",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:48,symbol:"BD",symbolNative:"\u062F.\u0628.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:3,decimals:3,numToBasic:1e3},BIF:{name:"Burundian Franc",demonym:"Burundian",majorSingle:"Franc",majorPlural:"Francs",ISOnum:108,symbol:"FBu",symbolNative:"FBu",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},BMD:{name:"Bermudian Dollar",demonym:"Bermudian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:60,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},BND:{name:"Brunei Dollar",demonym:"Brunei",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:96,symbol:"B$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},BOB:{name:"Bolivian Boliviano",demonym:"Bolivian",majorSingle:"Boliviano",majorPlural:"Bolivianos",ISOnum:68,symbol:"Bs.",symbolNative:"Bs.",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},BRL:{name:"Brazilian Real",demonym:"Brazilian",majorSingle:"Real",majorPlural:"Reais",ISOnum:986,symbol:"R$",symbolNative:"R$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},BSD:{name:"Bahamian Dollar",demonym:"Bahamian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:44,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},BTN:{name:"Bhutanese Ngultrum",demonym:"Bhutanese",majorSingle:"Ngultrum",majorPlural:"Ngultrums",ISOnum:64,symbol:"Nu.",symbolNative:"Nu.",minorSingle:"Chetrum",minorPlural:"Chetrums",ISOdigits:2,decimals:2,numToBasic:100},BWP:{name:"Botswana Pula",demonym:"Botswana",majorSingle:"Pula",majorPlural:"Pula",ISOnum:72,symbol:"P",symbolNative:"P",minorSingle:"Thebe",minorPlural:"Thebe",ISOdigits:2,decimals:2,numToBasic:100},BYN:{name:"Belarusian Ruble",demonym:"Belarusian",majorSingle:"Ruble",majorPlural:"Rubles",ISOnum:933,symbol:"Br",symbolNative:"\u0440\u0443\u0431.",minorSingle:"Kapiejka",minorPlural:"Kapiejka",ISOdigits:2,decimals:2,numToBasic:100},BZD:{name:"Belize Dollar",demonym:"Belize",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:84,symbol:"BZ$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},CAD:{name:"Canadian Dollar",demonym:"Canadian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:124,symbol:"CA$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},CDF:{name:"Congolese Franc",demonym:"Congolese",majorSingle:"Franc",majorPlural:"Francs",ISOnum:976,symbol:"FC",symbolNative:"\u20A3",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:2,decimals:2,numToBasic:100},CHF:{name:"Swiss Franc",demonym:"Swiss",majorSingle:"Franc",majorPlural:"Francs",ISOnum:756,symbol:"Fr.",symbolNative:"\u20A3",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:2,decimals:2,numToBasic:100},CKD:{name:"Cook Islands Dollar",demonym:"Cook Islands",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:null,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},CLP:{name:"Chilean Peso",demonym:"Chilean",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:152,symbol:"CL$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:0,decimals:0,numToBasic:100},CNY:{name:"Chinese Yuan",demonym:"Chinese",majorSingle:"Yuan",majorPlural:"Yuan",ISOnum:156,symbol:"CN\xA5",symbolNative:"\xA5\u5143",minorSingle:"Fen",minorPlural:"Fen",ISOdigits:2,decimals:2,numToBasic:100},COP:{name:"Colombian Peso",demonym:"Colombian",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:170,symbol:"CO$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},CRC:{name:"Costa Rican Colon",demonym:"Costa Rican",majorSingle:"Col\xF3n",majorPlural:"Colones",ISOnum:188,symbol:"\u20A1",symbolNative:"\u20A1",minorSingle:"Centimo",minorPlural:"Centimos",ISOdigits:2,decimals:2,numToBasic:100},CUC:{name:"Cuban convertible Peso",demonym:"Cuban Convertible",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:931,symbol:"CUC$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},CUP:{name:"Cuban Peso",demonym:"Cuban",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:192,symbol:"$MN",symbolNative:"\u20B1",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},CVE:{name:"Cabo Verdean Escudo",demonym:"Cabo Verdean",majorSingle:"Escudo",majorPlural:"Escudo",ISOnum:132,symbol:"CV$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},CZK:{name:"Czech Koruna",demonym:"Czech",majorSingle:"Koruna",majorPlural:"Koruny",ISOnum:203,symbol:"K\u010D",symbolNative:"K\u010D",minorSingle:"Hal\xE9\u0159",minorPlural:"Hal\xE9\u0159",ISOdigits:2,decimals:2,numToBasic:100},DJF:{name:"Djiboutian Franc",demonym:"Djiboutian",majorSingle:"Franc",majorPlural:"Francs",ISOnum:262,symbol:"Fdj",symbolNative:"\u0641.\u062C.",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},DKK:{name:"Danish Krone",demonym:"Danish",majorSingle:"Krone",majorPlural:"Kroner",ISOnum:208,symbol:"kr.",symbolNative:"kr.",minorSingle:"\xD8re",minorPlural:"\xD8re",ISOdigits:2,decimals:2,numToBasic:100},DOP:{name:"Dominican Peso",demonym:"Dominican",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:214,symbol:"RD$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},DZD:{name:"Algerian Dinar",demonym:"Algerian",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:12,symbol:"DA",symbolNative:"\u062F.\u062C.",minorSingle:"Santeem",minorPlural:"Santeems",ISOdigits:2,decimals:2,numToBasic:100},EGP:{name:"Egyptian Pound",demonym:"Egyptian",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:818,symbol:"E\xA3",symbolNative:"\u062C.\u0645.",minorSingle:"Qirsh",minorPlural:"Qirsh",ISOdigits:2,decimals:2,numToBasic:100},EHP:{name:"Sahrawi Peseta",demonym:"Sahrawi",majorSingle:"Peseta",majorPlural:"Pesetas",ISOnum:null,symbol:"Ptas.",symbolNative:"Ptas.",minorSingle:"C\xE9ntimo",minorPlural:"C\xE9ntimos",ISOdigits:2,decimals:2,numToBasic:100},ERN:{name:"Eritrean Nakfa",demonym:"Eritrean",majorSingle:"Nakfa",majorPlural:"Nakfa",ISOnum:232,symbol:"Nkf",symbolNative:"\u0646\u0627\u0643\u0641\u0627",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},ETB:{name:"Ethiopian Birr",demonym:"Ethiopian",majorSingle:"Birr",majorPlural:"Birr",ISOnum:230,symbol:"Br",symbolNative:"\u1265\u122D",minorSingle:"Santim",minorPlural:"Santim",ISOdigits:2,decimals:2,numToBasic:100},EUR:{name:"Euro",demonym:"",majorSingle:"Euro",majorPlural:"Euros",ISOnum:978,symbol:"\u20AC",symbolNative:"\u20AC",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},FJD:{name:"Fijian Dollar",demonym:"Fijian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:242,symbol:"FJ$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},FKP:{name:"Falkland Islands Pound",demonym:"Falkland Islands",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:238,symbol:"FK\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},FOK:{name:"Faroese Kr\xF3na",demonym:"Faroese",majorSingle:"Kr\xF3na",majorPlural:"Kr\xF3nas",ISOnum:null,symbol:"kr",symbolNative:"kr",minorSingle:"Oyra",minorPlural:"Oyra",ISOdigits:2,decimals:2,numToBasic:100},GBP:{name:"Pound Sterling",demonym:"Pound Sterling",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:826,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},GEL:{name:"Georgian Lari",demonym:"Georgian",majorSingle:"Lari",majorPlural:"Lari",ISOnum:981,symbol:"\u20BE",symbolNative:"\u20BE",minorSingle:"Tetri",minorPlural:"Tetri",ISOdigits:2,decimals:2,numToBasic:100},GGP:{name:"Guernsey Pound",demonym:"Guernsey",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:null,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},GHS:{name:"Ghanaian Cedi",demonym:"Ghanaian",majorSingle:"Cedi",majorPlural:"Cedis",ISOnum:936,symbol:"GH\u20B5",symbolNative:"\u20B5",minorSingle:"Pesewa",minorPlural:"Pesewas",ISOdigits:2,decimals:2,numToBasic:100},GIP:{name:"Gibraltar Pound",demonym:"Gibraltar",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:292,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},GMD:{name:"Gambian Dalasi",demonym:"Gambian",majorSingle:"Dalasi",majorPlural:"Dalasis",ISOnum:270,symbol:"D",symbolNative:"D",minorSingle:"Butut",minorPlural:"Bututs",ISOdigits:2,decimals:2,numToBasic:100},GNF:{name:"Guinean Franc",demonym:"Guinean",majorSingle:"Franc",majorPlural:"Francs",ISOnum:324,symbol:"FG",symbolNative:"FG",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},GTQ:{name:"Guatemalan Quetzal",demonym:"Guatemalan",majorSingle:"Quetzal",majorPlural:"Quetzales",ISOnum:320,symbol:"Q",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},GYD:{name:"Guyanese Dollar",demonym:"Guyanese",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:328,symbol:"G$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},HKD:{name:"Hong Kong Dollar",demonym:"Hong Kong",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:344,symbol:"HK$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},HNL:{name:"Honduran Lempira",demonym:"Honduran",majorSingle:"Lempira",majorPlural:"Lempiras",ISOnum:340,symbol:"L",symbolNative:"L",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},HRK:{name:"Croatian Kuna",demonym:"Croatian",majorSingle:"Kuna",majorPlural:"Kuna",ISOnum:191,symbol:"kn",symbolNative:"kn",minorSingle:"Lipa",minorPlural:"Lipa",ISOdigits:2,decimals:2,numToBasic:100},HTG:{name:"Haitian Gourde",demonym:"Haitian",majorSingle:"Gourde",majorPlural:"Gourdes",ISOnum:332,symbol:"G",symbolNative:"G",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:2,decimals:2,numToBasic:100},HUF:{name:"Hungarian Forint",demonym:"Hungarian",majorSingle:"Forint",majorPlural:"Forint",ISOnum:348,symbol:"Ft",symbolNative:"Ft",minorSingle:"fill\xE9r",minorPlural:"fill\xE9r",ISOdigits:2,decimals:2,numToBasic:100},IDR:{name:"Indonesian Rupiah",demonym:"Indonesian",majorSingle:"Rupiah",majorPlural:"Rupiah",ISOnum:360,symbol:"Rp",symbolNative:"Rp",minorSingle:"Sen",minorPlural:"Sen",ISOdigits:2,decimals:2,numToBasic:100},ILS:{name:"Israeli new Shekel",demonym:"Israeli",majorSingle:"Shekel",majorPlural:"Shekels",ISOnum:376,symbol:"\u20AA",symbolNative:"\u20AA",minorSingle:"Agora",minorPlural:"Agoras",ISOdigits:2,decimals:2,numToBasic:100},IMP:{name:"Manx Pound",demonym:"Manx",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:null,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},INR:{name:"Indian Rupee",demonym:"Indian",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:356,symbol:"Rs.",symbolNative:"\u20B9",minorSingle:"Paisa",minorPlural:"Paise",ISOdigits:2,decimals:2,numToBasic:100},IQD:{name:"Iraqi Dinar",demonym:"Iraqi",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:368,symbol:"\u062F.\u0639.",symbolNative:"\u062F.\u0639.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:3,decimals:3,numToBasic:1e3},IRR:{name:"Iranian Rial",demonym:"Iranian",majorSingle:"Rial",majorPlural:"Rials",ISOnum:364,symbol:"\uFDFC",symbolNative:"\uFDFC",minorSingle:"Dinar",minorPlural:"Dinars",ISOdigits:2,decimals:2,numToBasic:100},ISK:{name:"Icelandic Krona",demonym:"Icelandic",majorSingle:"Krona",majorPlural:"Kr\xF3nur",ISOnum:352,symbol:"kr",symbolNative:"kr",minorSingle:"Aurar",minorPlural:"Aurar",ISOdigits:0,decimals:2,numToBasic:100},JEP:{name:"Jersey Pound",demonym:"Jersey",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:null,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},JMD:{name:"Jamaican Dollar",demonym:"Jamaican",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:388,symbol:"J$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},JOD:{name:"Jordanian Dinar",demonym:"Jordanian",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:400,symbol:"JD",symbolNative:"\u062F.\u0623.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:3,decimals:3,numToBasic:1e3},JPY:{name:"Japanese Yen",demonym:"Japanese",majorSingle:"Yen",majorPlural:"Yen",ISOnum:392,symbol:"\xA5",symbolNative:"\xA5",minorSingle:"Sen",minorPlural:"Sen",ISOdigits:0,decimals:2,numToBasic:100},KES:{name:"Kenyan Shilling",demonym:"Kenyan",majorSingle:"Shilling",majorPlural:"Shillings",ISOnum:404,symbol:"KSh",symbolNative:"KSh",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},KGS:{name:"Kyrgyzstani Som",demonym:"Kyrgyzstani",majorSingle:"Som",majorPlural:"Som",ISOnum:417,symbol:"\u0441",symbolNative:"\u0441",minorSingle:"Tyiyn",minorPlural:"Tyiyn",ISOdigits:2,decimals:2,numToBasic:100},KHR:{name:"Cambodian Riel",demonym:"Cambodian",majorSingle:"Riel",majorPlural:"Riels",ISOnum:116,symbol:"\u17DB",symbolNative:"\u17DB",minorSingle:"Sen",minorPlural:"Sen",ISOdigits:2,decimals:2,numToBasic:100},KID:{name:"Kiribati Dollar",demonym:"Kiribati",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:null,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},KMF:{name:"Comorian Franc",demonym:"Comorian",majorSingle:"Franc",majorPlural:"Francs",ISOnum:174,symbol:"CF",symbolNative:"CF",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},KPW:{name:"North Korean Won",demonym:"North Korean",majorSingle:"Won",majorPlural:"Won",ISOnum:408,symbol:"\u20A9",symbolNative:"\u20A9",minorSingle:"Chon",minorPlural:"Chon",ISOdigits:2,decimals:2,numToBasic:100},KRW:{name:"South Korean Won",demonym:"South Korean",majorSingle:"Won",majorPlural:"Won",ISOnum:410,symbol:"\u20A9",symbolNative:"\u20A9",minorSingle:"Jeon",minorPlural:"Jeon",ISOdigits:0,decimals:2,numToBasic:100},KWD:{name:"Kuwaiti Dinar",demonym:"Kuwaiti",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:414,symbol:"KD",symbolNative:"\u062F.\u0643.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:3,decimals:3,numToBasic:1e3},KYD:{name:"Cayman Islands Dollar",demonym:"Cayman Islands",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:136,symbol:"CI$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},KZT:{name:"Kazakhstani Tenge",demonym:"Kazakhstani",majorSingle:"Tenge",majorPlural:"Tenge",ISOnum:398,symbol:"\u20B8",symbolNative:"\u20B8",minorSingle:"T\u0131yn",minorPlural:"T\u0131yn",ISOdigits:2,decimals:2,numToBasic:100},LAK:{name:"Lao Kip",demonym:"Lao",majorSingle:"Kip",majorPlural:"Kip",ISOnum:418,symbol:"\u20ADN",symbolNative:"\u20AD",minorSingle:"Att",minorPlural:"Att",ISOdigits:2,decimals:2,numToBasic:100},LBP:{name:"Lebanese Pound",demonym:"Lebanese",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:422,symbol:"LL.",symbolNative:"\u0644.\u0644.",minorSingle:"Qirsh",minorPlural:"Qirsh",ISOdigits:2,decimals:2,numToBasic:100},LKR:{name:"Sri Lankan Rupee",demonym:"Sri Lankan",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:144,symbol:"Rs.",symbolNative:"\u0DBB\u0DD4 or \u0BB0\u0BC2",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},LRD:{name:"Liberian Dollar",demonym:"Liberian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:430,symbol:"L$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},LSL:{name:"Lesotho Loti",demonym:"Lesotho",majorSingle:"Loti",majorPlural:"maLoti",ISOnum:426,symbol:"L",symbolNative:"L",minorSingle:"Sente",minorPlural:"Lisente",ISOdigits:2,decimals:2,numToBasic:100},LYD:{name:"Libyan Dinar",demonym:"Libyan",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:434,symbol:"LD",symbolNative:"\u0644.\u062F.",minorSingle:"Dirham",minorPlural:"Dirhams",ISOdigits:3,decimals:3,numToBasic:1e3},MAD:{name:"Moroccan Dirham",demonym:"Moroccan",majorSingle:"Dirham",majorPlural:"Dirhams",ISOnum:504,symbol:"DH",symbolNative:"\u062F.\u0645.",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:2,decimals:2,numToBasic:100},MDL:{name:"Moldovan Leu",demonym:"Moldovan",majorSingle:"Leu",majorPlural:"Lei",ISOnum:498,symbol:"L",symbolNative:"L",minorSingle:"Ban",minorPlural:"Bani",ISOdigits:2,decimals:2,numToBasic:100},MGA:{name:"Malagasy Ariary",demonym:"Malagasy",majorSingle:"Ariary",majorPlural:"Ariary",ISOnum:969,symbol:"Ar",symbolNative:"Ar",minorSingle:"Iraimbilanja",minorPlural:"Iraimbilanja",ISOdigits:2,decimals:0,numToBasic:5},MKD:{name:"Macedonian Denar",demonym:"Macedonian",majorSingle:"Denar",majorPlural:"Denars",ISOnum:807,symbol:"den",symbolNative:"\u0434\u0435\u043D",minorSingle:"Deni",minorPlural:"Deni",ISOdigits:2,decimals:2,numToBasic:100},MMK:{name:"Myanmar Kyat",demonym:"Myanmar",majorSingle:"Kyat",majorPlural:"Kyat",ISOnum:104,symbol:"Ks",symbolNative:"Ks",minorSingle:"Pya",minorPlural:"Pya",ISOdigits:2,decimals:2,numToBasic:100},MNT:{name:"Mongolian T\xF6gr\xF6g",demonym:"Mongolian",majorSingle:"T\xF6gr\xF6g",majorPlural:"T\xF6gr\xF6g",ISOnum:496,symbol:"\u20AE",symbolNative:"\u20AE",minorSingle:"m\xF6ng\xF6",minorPlural:"m\xF6ng\xF6",ISOdigits:2,decimals:2,numToBasic:100},MOP:{name:"Macanese Pataca",demonym:"Macanese",majorSingle:"Pataca",majorPlural:"Patacas",ISOnum:446,symbol:"MOP$",symbolNative:"MOP$",minorSingle:"Avo",minorPlural:"Avos",ISOdigits:2,decimals:2,numToBasic:100},MRU:{name:"Mauritanian Ouguiya",demonym:"Mauritanian",majorSingle:"Ouguiya",majorPlural:"Ouguiya",ISOnum:929,symbol:"UM",symbolNative:"\u0623.\u0645.",minorSingle:"Khoums",minorPlural:"Khoums",ISOdigits:2,decimals:0,numToBasic:5},MUR:{name:"Mauritian Rupee",demonym:"Mauritian",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:480,symbol:"Rs.",symbolNative:"\u0930\u0941 ",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},MVR:{name:"Maldivian Rufiyaa",demonym:"Maldivian",majorSingle:"Rufiyaa",majorPlural:"Rufiyaa",ISOnum:462,symbol:"MRf",symbolNative:".\u0783",minorSingle:"laari",minorPlural:"laari",ISOdigits:2,decimals:2,numToBasic:100},MWK:{name:"Malawian Kwacha",demonym:"Malawian",majorSingle:"Kwacha",majorPlural:"Kwacha",ISOnum:454,symbol:"MK",symbolNative:"MK",minorSingle:"Tambala",minorPlural:"Tambala",ISOdigits:2,decimals:2,numToBasic:100},MXN:{name:"Mexican Peso",demonym:"Mexican",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:484,symbol:"MX$",symbolNative:"$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},MYR:{name:"Malaysian Ringgit",demonym:"Malaysian",majorSingle:"Ringgit",majorPlural:"Ringgit",ISOnum:458,symbol:"RM",symbolNative:"RM",minorSingle:"Sen",minorPlural:"Sen",ISOdigits:2,decimals:2,numToBasic:100},MZN:{name:"Mozambican Metical",demonym:"Mozambican",majorSingle:"Metical",majorPlural:"Meticais",ISOnum:943,symbol:"MTn",symbolNative:"MT",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},NAD:{name:"Namibian Dollar",demonym:"Namibian",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:516,symbol:"N$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},NGN:{name:"Nigerian Naira",demonym:"Nigerian",majorSingle:"Naira",majorPlural:"Naira",ISOnum:566,symbol:"\u20A6",symbolNative:"\u20A6",minorSingle:"Kobo",minorPlural:"Kobo",ISOdigits:2,decimals:2,numToBasic:100},NIO:{name:"Nicaraguan C\xF3rdoba",demonym:"Nicaraguan",majorSingle:"C\xF3rdoba Oro",majorPlural:"C\xF3rdoba Oro",ISOnum:558,symbol:"C$",symbolNative:"C$",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},NOK:{name:"Norwegian Krone",demonym:"Norwegian",majorSingle:"Krone",majorPlural:"Kroner",ISOnum:578,symbol:"kr",symbolNative:"kr",minorSingle:"\xF8re",minorPlural:"\xF8re",ISOdigits:2,decimals:2,numToBasic:100},NPR:{name:"Nepalese Rupee",demonym:"Nepalese",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:524,symbol:"Rs.",symbolNative:"\u0930\u0942",minorSingle:"Paisa",minorPlural:"Paise",ISOdigits:2,decimals:2,numToBasic:100},NZD:{name:"New Zealand Dollar",demonym:"New Zealand",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:554,symbol:"NZ$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},OMR:{name:"Omani Rial",demonym:"Omani",majorSingle:"Rial",majorPlural:"Rials",ISOnum:512,symbol:"OR",symbolNative:"\u0631.\u0639.",minorSingle:"Baisa",minorPlural:"Baisa",ISOdigits:3,decimals:3,numToBasic:1e3},PAB:{name:"Panamanian Balboa",demonym:"Panamanian",majorSingle:"Balboa",majorPlural:"Balboa",ISOnum:590,symbol:"B/.",symbolNative:"B/.",minorSingle:"Cent\xE9simo",minorPlural:"Cent\xE9simos",ISOdigits:2,decimals:2,numToBasic:100},PEN:{name:"Peruvian Sol",demonym:"Peruvian",majorSingle:"Sol",majorPlural:"Soles",ISOnum:604,symbol:"S/.",symbolNative:"S/.",minorSingle:"C\xE9ntimo",minorPlural:"C\xE9ntimos",ISOdigits:2,decimals:2,numToBasic:100},PGK:{name:"Papua New Guinean Kina",demonym:"Papua New Guinean",majorSingle:"Kina",majorPlural:"Kina",ISOnum:598,symbol:"K",symbolNative:"K",minorSingle:"Toea",minorPlural:"Toea",ISOdigits:2,decimals:2,numToBasic:100},PHP:{name:"Philippine Peso",demonym:"Philippine",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:608,symbol:"\u20B1",symbolNative:"\u20B1",minorSingle:"Sentimo",minorPlural:"Sentimo",ISOdigits:2,decimals:2,numToBasic:100},PKR:{name:"Pakistani Rupee",demonym:"Pakistani",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:586,symbol:"Rs.",symbolNative:"Rs",minorSingle:"Paisa",minorPlural:"Paise",ISOdigits:2,decimals:2,numToBasic:100},PLN:{name:"Polish Zloty",demonym:"Polish",majorSingle:"Zloty",majorPlural:"Zlotys",ISOnum:985,symbol:"z\u0142",symbolNative:"z\u0142",minorSingle:"Grosz",minorPlural:"Groszy",ISOdigits:2,decimals:2,numToBasic:100},PND:{name:"Pitcairn Islands Dollar",demonym:"Pitcairn Islands",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:null,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},PRB:{name:"Transnistrian Ruble",demonym:"Transnistrian",majorSingle:"Ruble",majorPlural:"Rubles",ISOnum:null,symbol:"\u0440.",symbolNative:"\u0440.",minorSingle:"Kopek",minorPlural:"Kopeks",ISOdigits:2,decimals:2,numToBasic:100},PYG:{name:"Paraguayan Guaran\xED",demonym:"Paraguayan",majorSingle:"Guaran\xED",majorPlural:"Guaran\xEDes",ISOnum:600,symbol:"\u20B2",symbolNative:"\u20B2",minorSingle:"Centimo",minorPlural:"Centimos",ISOdigits:0,decimals:2,numToBasic:100},QAR:{name:"Qatari Riyal",demonym:"Qatari",majorSingle:"Riyal",majorPlural:"Riyals",ISOnum:634,symbol:"QR",symbolNative:"\u0631.\u0642.",minorSingle:"Dirham",minorPlural:"Dirhams",ISOdigits:2,decimals:2,numToBasic:100},RON:{name:"Romanian Leu",demonym:"Romanian",majorSingle:"Leu",majorPlural:"Lei",ISOnum:946,symbol:"L",symbolNative:"L",minorSingle:"Ban",minorPlural:"Bani",ISOdigits:2,decimals:2,numToBasic:100},RSD:{name:"Serbian Dinar",demonym:"Serbian",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:941,symbol:"din",symbolNative:"\u0434\u0438\u043D",minorSingle:"Para",minorPlural:"Para",ISOdigits:2,decimals:2,numToBasic:100},RUB:{name:"Russian Ruble",demonym:"Russian",majorSingle:"Ruble",majorPlural:"Rubles",ISOnum:643,symbol:"\u20BD",symbolNative:"\u20BD",minorSingle:"Kopek",minorPlural:"Kopeks",ISOdigits:2,decimals:2,numToBasic:100},RWF:{name:"Rwandan Franc",demonym:"Rwandan",majorSingle:"Franc",majorPlural:"Francs",ISOnum:646,symbol:"FRw",symbolNative:"R\u20A3",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},SAR:{name:"Saudi Riyal",demonym:"Saudi",majorSingle:"Riyal",majorPlural:"Riyals",ISOnum:682,symbol:"SR",symbolNative:"\u0631.\u0633.",minorSingle:"Halalah",minorPlural:"Halalahs",ISOdigits:2,decimals:2,numToBasic:100},SBD:{name:"Solomon Islands Dollar",demonym:"Solomon Islands",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:90,symbol:"SI$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SCR:{name:"Seychellois Rupee",demonym:"Seychellois",majorSingle:"Rupee",majorPlural:"Rupees",ISOnum:690,symbol:"Rs.",symbolNative:"Rs",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SDG:{name:"Sudanese Pound",demonym:"Sudanese",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:938,symbol:"\xA3SD",symbolNative:"\u062C.\u0633.",minorSingle:"Qirsh",minorPlural:"Qirsh",ISOdigits:2,decimals:2,numToBasic:100},SEK:{name:"Swedish Krona",demonym:"Swedish",majorSingle:"Krona",majorPlural:"Kronor",ISOnum:752,symbol:"kr",symbolNative:"kr",minorSingle:"\xD6re",minorPlural:"\xD6re",ISOdigits:2,decimals:2,numToBasic:100},SGD:{name:"Singapore Dollar",demonym:"Singapore",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:702,symbol:"S$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SHP:{name:"Saint Helena Pound",demonym:"Saint Helena",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:654,symbol:"\xA3",symbolNative:"\xA3",minorSingle:"Penny",minorPlural:"Pence",ISOdigits:2,decimals:2,numToBasic:100},SLL:{name:"Sierra Leonean Leone",demonym:"Sierra Leonean",majorSingle:"Leone",majorPlural:"Leones",ISOnum:694,symbol:"Le",symbolNative:"Le",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SLS:{name:"Somaliland Shilling",demonym:"Somaliland",majorSingle:"Shilling",majorPlural:"Shillings",ISOnum:null,symbol:"Sl",symbolNative:"Sl",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SOS:{name:"Somali Shilling",demonym:"Somali",majorSingle:"Shilling",majorPlural:"Shillings",ISOnum:706,symbol:"Sh.So.",symbolNative:"Ssh",minorSingle:"Senti",minorPlural:"Senti",ISOdigits:2,decimals:2,numToBasic:100},SRD:{name:"Surinamese Dollar",demonym:"Surinamese",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:968,symbol:"Sr$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},SSP:{name:"South Sudanese Pound",demonym:"South Sudanese",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:728,symbol:"SS\xA3",symbolNative:"SS\xA3",minorSingle:"Qirsh",minorPlural:"Qirsh",ISOdigits:2,decimals:2,numToBasic:100},STN:{name:"Sao Tome and Pr\xEDncipe Dobra",demonym:"Sao Tome",majorSingle:"Dobra",majorPlural:"Dobras",ISOnum:930,symbol:"Db",symbolNative:"Db",minorSingle:"Centimo",minorPlural:"Centimos",ISOdigits:2,decimals:2,numToBasic:100},SVC:{name:"Salvadoran Col\xF3n",demonym:"Salvadoran",majorSingle:"Col\xF3n",majorPlural:"Colones",ISOnum:222,symbol:"\u20A1",symbolNative:"\u20A1",minorSingle:"Centavo",minorPlural:"Centavos",ISOdigits:2,decimals:2,numToBasic:100},SYP:{name:"Syrian Pound",demonym:"Syrian",majorSingle:"Pound",majorPlural:"Pounds",ISOnum:760,symbol:"LS",symbolNative:"\u0644.\u0633.",minorSingle:"Qirsh",minorPlural:"Qirsh",ISOdigits:2,decimals:2,numToBasic:100},SZL:{name:"Swazi Lilangeni",demonym:"Swazi",majorSingle:"Lilangeni",majorPlural:"Emalangeni",ISOnum:748,symbol:"L",symbolNative:"L",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},THB:{name:"Thai Baht",demonym:"Thai",majorSingle:"Baht",majorPlural:"Baht",ISOnum:764,symbol:"\u0E3F",symbolNative:"\u0E3F",minorSingle:"Satang",minorPlural:"Satang",ISOdigits:2,decimals:2,numToBasic:100},TJS:{name:"Tajikistani Somoni",demonym:"Tajikistani",majorSingle:"Somoni",majorPlural:"Somoni",ISOnum:972,symbol:"SM",symbolNative:"SM",minorSingle:"Diram",minorPlural:"Diram",ISOdigits:2,decimals:2,numToBasic:100},TMT:{name:"Turkmenistan Manat",demonym:"Turkmenistan",majorSingle:"Manat",majorPlural:"Manat",ISOnum:934,symbol:"m.",symbolNative:"T",minorSingle:"Tenge",minorPlural:"Tenge",ISOdigits:2,decimals:2,numToBasic:100},TND:{name:"Tunisian Dinar",demonym:"Tunisian",majorSingle:"Dinar",majorPlural:"Dinars",ISOnum:788,symbol:"DT",symbolNative:"\u062F.\u062A.",minorSingle:"Millime",minorPlural:"Millime",ISOdigits:3,decimals:3,numToBasic:1e3},TOP:{name:"Tongan Pa\u02BBanga",demonym:"Tongan",majorSingle:"Pa'anga",majorPlural:"Pa'anga",ISOnum:776,symbol:"T$",symbolNative:"PT",minorSingle:"Seniti",minorPlural:"Seniti",ISOdigits:2,decimals:2,numToBasic:100},TRY:{name:"Turkish Lira",demonym:"Turkish",majorSingle:"Lira",majorPlural:"Lira",ISOnum:949,symbol:"TL",symbolNative:"\u20BA",minorSingle:"Kuru\u015F",minorPlural:"Kuru\u015F",ISOdigits:2,decimals:2,numToBasic:100},TTD:{name:"Trinidad and Tobago Dollar",demonym:"Trinidad and Tobago",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:780,symbol:"TT$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},TVD:{name:"Tuvaluan Dollar",demonym:"Tuvaluan",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:null,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},TWD:{name:"New Taiwan Dollar",demonym:"New Taiwan",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:901,symbol:"NT$",symbolNative:"\u5713",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},TZS:{name:"Tanzanian Shilling",demonym:"Tanzanian",majorSingle:"Shilling",majorPlural:"Shillings",ISOnum:834,symbol:"TSh",symbolNative:"TSh",minorSingle:"Senti",minorPlural:"Senti",ISOdigits:2,decimals:2,numToBasic:100},UAH:{name:"Ukrainian Hryvnia",demonym:"Ukrainian",majorSingle:"Hryvnia",majorPlural:"Hryvnias",ISOnum:980,symbol:"\u20B4",symbolNative:"\u0433\u0440\u043D",minorSingle:"Kopiyka",minorPlural:"kopiyky",ISOdigits:2,decimals:2,numToBasic:100},UGX:{name:"Ugandan Shilling",demonym:"Ugandan",majorSingle:"Shilling",majorPlural:"Shillings",ISOnum:800,symbol:"USh",symbolNative:"Sh",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:0,decimals:2,numToBasic:100},USD:{name:"United States Dollar",demonym:"US",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:840,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},UYU:{name:"Uruguayan Peso",demonym:"Uruguayan",majorSingle:"Peso",majorPlural:"Pesos",ISOnum:858,symbol:"$U",symbolNative:"$",minorSingle:"Cent\xE9simo",minorPlural:"Cent\xE9simos",ISOdigits:2,decimals:2,numToBasic:100},UZS:{name:"Uzbekistani Som",demonym:"Uzbekistani",majorSingle:"Som",majorPlural:"Som",ISOnum:860,symbol:"\u0441\u0443\u043C",symbolNative:"\u0441\u0443\u043C",minorSingle:"Tiyin",minorPlural:"Tiyin",ISOdigits:2,decimals:2,numToBasic:100},VED:{name:"Venezuelan bol\xEDvar digital",demonym:"Venezuelan",majorSingle:"Bol\xEDvar Digital",majorPlural:"Bol\xEDvars Digital",ISOnum:null,symbol:"Bs.",symbolNative:"Bs.",minorSingle:"C\xE9ntimo",minorPlural:"C\xE9ntimos",ISOdigits:2,decimals:2,numToBasic:100},VES:{name:"Venezuelan Bol\xEDvar Soberano",demonym:"Venezuelan",majorSingle:"Bol\xEDvar",majorPlural:"Bol\xEDvares",ISOnum:928,symbol:"Bs.F",symbolNative:"Bs.F",minorSingle:"Centimo",minorPlural:"Centimos",ISOdigits:2,decimals:2,numToBasic:100},VND:{name:"Vietnamese Dong",demonym:"Vietnamese",majorSingle:"Dong",majorPlural:"Dong",ISOnum:704,symbol:"\u20AB",symbolNative:"\u20AB",minorSingle:"H\xE0o",minorPlural:"H\xE0o",ISOdigits:0,decimals:2,numToBasic:10},VUV:{name:"Vanuatu Vatu",demonym:"Vanuatu",majorSingle:"Vatu",majorPlural:"Vatu",ISOnum:548,symbol:"VT",symbolNative:"VT",minorSingle:"",minorPlural:"",ISOdigits:0,decimals:0,numToBasic:null},WST:{name:"Samoan Tala",demonym:"Samoan",majorSingle:"Tala",majorPlural:"Tala",ISOnum:882,symbol:"T",symbolNative:"ST",minorSingle:"Sene",minorPlural:"Sene",ISOdigits:2,decimals:2,numToBasic:100},XAF:{name:"Central African CFA Franc BEAC",demonym:"Central African CFA",majorSingle:"Franc",majorPlural:"Francs",ISOnum:950,symbol:"Fr",symbolNative:"Fr.",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},XCD:{name:"East Caribbean Dollar",demonym:"East Caribbean",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:951,symbol:"$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},XOF:{name:"West African CFA Franc BCEAO",demonym:"West African CFA",majorSingle:"Franc",majorPlural:"Francs",ISOnum:952,symbol:"\u20A3",symbolNative:"\u20A3",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:2,numToBasic:100},XPF:{name:"CFP Franc (Franc Pacifique)",demonym:"CFP",majorSingle:"Franc",majorPlural:"Francs",ISOnum:953,symbol:"\u20A3",symbolNative:"\u20A3",minorSingle:"Centime",minorPlural:"Centimes",ISOdigits:0,decimals:0,numToBasic:100},YER:{name:"Yemeni Rial",demonym:"Yemeni",majorSingle:"Rial",majorPlural:"Rials",ISOnum:886,symbol:"YR",symbolNative:"\u0631.\u064A.",minorSingle:"Fils",minorPlural:"Fils",ISOdigits:2,decimals:2,numToBasic:100},ZAR:{name:"South African Rand",demonym:"South African",majorSingle:"Rand",majorPlural:"Rand",ISOnum:710,symbol:"R",symbolNative:"R",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},ZMW:{name:"Zambian Kwacha",demonym:"Zambian",majorSingle:"Kwacha",majorPlural:"Kwacha",ISOnum:967,symbol:"ZK",symbolNative:"ZK",minorSingle:"Ngwee",minorPlural:"Ngwee",ISOdigits:2,decimals:2,numToBasic:100},ZWB:{name:"RTGS Dollar",demonym:"RTGS",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:null,symbol:"",symbolNative:"",minorSingle:"",minorPlural:"",ISOdigits:0,decimals:0,numToBasic:null},ZWL:{name:"Zimbabwean Dollar",demonym:"Zimbabwean",majorSingle:"Dollar",majorPlural:"Dollars",ISOnum:932,symbol:"Z$",symbolNative:"$",minorSingle:"Cent",minorPlural:"Cents",ISOdigits:2,decimals:2,numToBasic:100},Abkhazia:{name:"Abkhazian Apsar",demonym:"Abkhazian",majorSingle:"Apsar",majorPlural:"Apsark",ISOnum:null,symbol:"",symbolNative:"",minorSingle:"",minorPlural:"",ISOdigits:0,decimals:0,numToBasic:null},Artsakh:{name:"Artsakh Dram",demonym:"Artsakh",majorSingle:"Dram",majorPlural:"Dram",ISOnum:null,symbol:"\u0564\u0580.",symbolNative:"\u0564\u0580.",minorSingle:"Luma",minorPlural:"Luma",ISOdigits:2,decimals:2,numToBasic:100}};function ty(t,e,n){let r={AUD:"A$",CAD:"CA$",USD:"$"};try{let o=new Intl.NumberFormat(e,{style:"currency",currency:n}).format(t);if(n in r){let s=r[n];o=o.replace(/^[^\d\s.,]+/,s)}return o}catch(i){return console.error("Intl.NumberFormat Error:",i),"".concat(n in r?r[n]:"").concat(t.toFixed(2))}}function lu(t,e="USD",n){let r=n||"en-US",i=Xt[e];if(!i)throw new Error("Currency ".concat(e," not found in currency data."));let o;return i.ISOdigits===0||i.ISOdigits===3?o=t/100:o=t/Math.pow(10,i.ISOdigits),ty(o,r,e)}function cu(t){return Xt[t]||null}function uu(t,e){let n=Xt[e];if(!n)throw new Error("Currency ".concat(e," not found in currency data."));let r=typeof t=="string"?parseFloat(t):t;return Math.round(r*Math.pow(10,n.ISOdigits))}function du(t,e){let n=Xt[e];if(!n)throw new Error("Currency ".concat(e," not found in currency data."));return n.ISOdigits===0||n.ISOdigits===3?t/100:t/Math.pow(10,n.ISOdigits)}Qe();var mu="1.0.0";function pu(t){return typeof window=="undefined"?null:new URLSearchParams(window.location.search).get(t)}function X(t,...e){t&&console.log("[TagadaTracker]",...e)}function gu(...t){console.warn("[TagadaTracker]",...t)}function ny(t){if(!t.storeId||typeof t.storeId!="string")throw new Error("TagadaTracker: storeId is required and must be a non-empty string.");if(!t.accountId||typeof t.accountId!="string")throw new Error("TagadaTracker: accountId is required and must be a non-empty string.");if(!t.stepId||typeof t.stepId!="string")throw new Error("TagadaTracker: stepId is required and must be a non-empty string.");if(t.apiBaseUrl)try{new URL(t.apiBaseUrl)}catch(e){throw new Error('TagadaTracker: apiBaseUrl is not a valid URL: "'.concat(t.apiBaseUrl,'"'))}}async function ry(t,e,n){let r;for(let i=0;i<=e;i++)try{return await t()}catch(o){if(r=o instanceof Error?o:new Error(String(o)),i<e){let s=Math.min(1e3*2**i,8e3);X(n,"Retry ".concat(i+1,"/").concat(e," in ").concat(s,"ms...")),await new Promise(a=>setTimeout(a,s))}}throw r}var Qt=class{constructor(){this.config=null;this.client=null;this.initialized=!1;this.initializing=!1;this.unsubscribe=null;this.version=mu}async init(e){var r,i;if(this.initialized)return X(e.debug||!1,"Already initialized \u2014 returning existing session."),this.getSession();if(this.initializing)return X(e.debug||!1,"Initialization in progress \u2014 skipping duplicate call."),null;this.initializing=!0,this.config=S({debug:!1},e);let n=this.config.debug;try{ny(this.config)}catch(o){this.initializing=!1;let s=o instanceof Error?o:new Error(String(o));if(this.config.onError)return this.config.onError(s),null;throw s}X(n,"\u{1F680} Initializing external tracker v".concat(mu),{storeId:e.storeId,accountId:e.accountId,stepId:e.stepId,funnelId:e.funnelId});try{let o=pu("token");o&&(ue(o),X(n,"\u{1F511} Bootstrapped token from URL")),this.client=Ho({debugMode:n,features:{funnel:{skipAutoInit:!0}},rawPluginConfig:{storeId:this.config.storeId,accountId:this.config.accountId},customApiConfig:this.config.apiBaseUrl?{apiConfig:{baseUrl:this.config.apiBaseUrl.trim()}}:void 0}),await this.waitForClientReady();let s=await ry(()=>this.initializeFunnel(),2,n);X(n,"\u2705 Session initialized:",s),this.initialized=!0;let a=this.getSession();return a&&((i=(r=this.config).onReady)==null||i.call(r,a)),a}catch(o){let s=o instanceof Error?o:new Error(String(o));if(X(n,"\u274C Initialization failed:",s),this.config.onError)return this.config.onError(s),null;throw s}finally{this.initializing=!1}}getSession(){var n,r;if(!((r=(n=this.client)==null?void 0:n.funnel)!=null&&r.state.context))return null;let e=this.client.funnel.state.context;return{sessionId:e.sessionId,customerId:e.customerId,storeId:e.storeId,funnelId:e.funnelId,currentStepId:e.currentStepId,cmsToken:this.client.state.token||void 0}}isReady(){var e,n;return this.initialized&&!!((n=(e=this.client)==null?void 0:e.funnel)!=null&&n.state.context)}async navigate(e){if(!this.isReady())throw new Error("TagadaTracker: not initialized. Call init() first.");X(this.config.debug,"\u{1F680} Navigating:",e);let n=e.autoRedirect!==!1;try{let r=await this.client.funnel.navigate({type:e.eventType,data:e.eventData||{}},{autoRedirect:!1});return r!=null&&r.url?(X(this.config.debug,"\u2705 Navigation result:",r.url),n&&typeof window!="undefined"&&(window.location.href=e.returnUrl||r.url),{url:r.url}):null}catch(r){throw X(this.config.debug,"\u274C Navigation failed:",r),r}}async trackEvent(e){if(!this.isReady()){gu("trackEvent called before init \u2014 event dropped:",e.name);return}X(this.config.debug,"\u{1F4CA} Tracking event:",e.name,e.data);try{await this.client.funnel.navigate({type:e.name,data:e.data||{}},{autoRedirect:!1})}catch(n){X(this.config.debug,"\u26A0\uFE0F Event tracking failed (non-critical):",e.name)}}getCustomerId(){var e,n,r,i,o;return((n=(e=this.client)==null?void 0:e.state.auth.customer)==null?void 0:n.id)||((o=(i=(r=this.client)==null?void 0:r.funnel)==null?void 0:i.state.context)==null?void 0:o.customerId)||null}getFunnelSessionId(){var e,n,r;return((r=(n=(e=this.client)==null?void 0:e.funnel)==null?void 0:n.state.context)==null?void 0:r.sessionId)||null}buildUrl(e,n){let r=this.getSession();if(!r)return e;let i=new URL(e,typeof window!="undefined"?window.location.origin:void 0);return i.searchParams.set("funnelSessionId",r.sessionId),r.cmsToken&&i.searchParams.set("token",r.cmsToken),r.funnelId&&i.searchParams.set("funnelId",r.funnelId),i.searchParams.set("storeId",r.storeId),n&&Object.entries(n).forEach(([o,s])=>{i.searchParams.set(o,s)}),i.toString()}getClient(){return this.client}async reset(e){var i,o;if(!this.client||!this.config)throw new Error("TagadaTracker: not initialized. Call init() first.");X(this.config.debug,"\u{1F504} Resetting to step:",e),this.config.stepId=e;let n=await this.initializeFunnel(),r=this.getSession();return r&&((o=(i=this.config).onReady)==null||o.call(i,r)),r}destroy(){var e,n;this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null),this.client&&((n=(e=this.client).destroy)==null||n.call(e)),this.client=null,this.config=null,this.initialized=!1,this.initializing=!1,X(!1,"\u{1F5D1}\uFE0F Tracker destroyed")}async waitForClientReady(){if(this.client)return new Promise(e=>{var i;if((i=this.client)!=null&&i.state.isInitialized){e();return}let n=!1,r=setTimeout(()=>{var o;n||(n=!0,X(((o=this.config)==null?void 0:o.debug)||!1,"\u23F1\uFE0F Client ready timeout \u2014 proceeding"),e())},1e4);this.unsubscribe=this.client.subscribe(()=>{var o;!n&&((o=this.client)!=null&&o.state.isInitialized)&&(n=!0,clearTimeout(r),e())})})}async initializeFunnel(){var s,a,c;if(!((s=this.client)!=null&&s.funnel))return null;let e=(a=this.client.state.auth.customer)==null?void 0:a.id,n=(c=this.client.state.auth.session)==null?void 0:c.sessionId;!e&&!n&&gu("No auth session available \u2014 funnel init may fail.");let r={customerId:e||"anon_placeholder",sessionId:n||"sess_placeholder"},i={id:this.config.storeId,accountId:this.config.accountId},o=this.config.stepId;return X(this.config.debug,"\u{1F50D} Initializing funnel at step:",o),this.client.funnel.initialize(r,i,this.config.funnelId||pu("funnelId")||void 0,o)}},Go=new Qt;typeof window!="undefined"&&(window.TagadaTracker=Go);function iy(){if(typeof window=="undefined"||typeof document=="undefined")return[];let t=ee();return t!=null&&t.scripts?t.scripts.filter(e=>e.enabled):[]}function oy(t,e){let n=t.position||"body-end",r="tagada-stepconfig-script-".concat(e);if(document.getElementById(r))return;let i=t.content.trim(),o=i.match(/^<script[^>]*>([\s\S]*)<\/script>$/i);if(o&&(i=o[1].trim()),!i)return;let s="(function() {\n try {\n // Script: "+t.name+"\n"+i+'\n } catch (error) {\n console.error("[TagadaPay] StepConfig script error:", error);\n }\n})();',a=document.createElement("script");switch(a.id=r,a.setAttribute("data-tagada-stepconfig-script","true"),a.setAttribute("data-script-name",t.name),a.textContent=s,n){case"head-start":document.head.firstChild?document.head.insertBefore(a,document.head.firstChild):document.head.appendChild(a);break;case"head-end":document.head.appendChild(a);break;case"body-start":document.body.firstChild?document.body.insertBefore(a,document.body.firstChild):document.body.appendChild(a);break;case"body-end":default:document.body.appendChild(a);break}}function Vo(){let t=iy();t.length!==0&&t.forEach((e,n)=>{oy(e,n)})}if(typeof window!="undefined"&&typeof document!="undefined"){try{mn()}catch(e){console.error("[TagadaPay] Failed to publish tracking global:",e)}let t=()=>{document.body?Vo():document.addEventListener("DOMContentLoaded",Vo,{once:!0})};"requestIdleCallback"in window?window.requestIdleCallback(t,{timeout:100}):setTimeout(t,0)}function Ho(t={}){return new Mt(t)}function sy(){return jt()}function ay(){return Ls()}return Mr(ly);})();
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
axios/dist/browser/axios.cjs:
|