@encorekit/web-sdk 2.3.0 → 2.4.0
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 +66 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/preview.cjs +2 -0
- package/dist/cjs/preview.cjs.map +1 -0
- package/dist/cjs/react.cjs +1 -1
- package/dist/cjs/react.cjs.map +1 -1
- package/dist/esm/chunks/ClaimReminder-DFyrm5bJ.js +2 -0
- package/dist/esm/chunks/ClaimReminder-DFyrm5bJ.js.map +1 -0
- package/dist/esm/chunks/GiftsButton-B0lVB463.js +2 -0
- package/dist/esm/chunks/GiftsButton-B0lVB463.js.map +1 -0
- package/dist/esm/chunks/TriggerHost-CNTiNrTH.js +2 -0
- package/dist/esm/chunks/TriggerHost-CNTiNrTH.js.map +1 -0
- package/dist/esm/chunks/autoPops-CngtK_R0.js +2 -0
- package/dist/esm/chunks/autoPops-CngtK_R0.js.map +1 -0
- package/dist/esm/chunks/customClaim-B4uj-aOc.js +2 -0
- package/dist/esm/chunks/customClaim-B4uj-aOc.js.map +1 -0
- package/dist/esm/chunks/eligibility-BY7fL8Ve.js +2 -0
- package/dist/esm/chunks/eligibility-BY7fL8Ve.js.map +1 -0
- package/dist/esm/chunks/index-CaBSqauy.js +2 -0
- package/dist/esm/chunks/index-CaBSqauy.js.map +1 -0
- package/dist/esm/chunks/lookValues-B9z2VWpH.js +2 -0
- package/dist/esm/chunks/lookValues-B9z2VWpH.js.map +1 -0
- package/dist/esm/chunks/sduiView-Ds7QtFId.js +2 -0
- package/dist/esm/chunks/sduiView-Ds7QtFId.js.map +1 -0
- package/dist/esm/chunks/spot-DkKMLpB-.js +2 -0
- package/dist/esm/chunks/spot-DkKMLpB-.js.map +1 -0
- package/dist/esm/chunks/template-B9p4CbPD.js +2 -0
- package/dist/esm/chunks/template-B9p4CbPD.js.map +1 -0
- package/dist/esm/chunks/textSlots-BnwxUg9V.js +2 -0
- package/dist/esm/chunks/textSlots-BnwxUg9V.js.map +1 -0
- package/dist/esm/chunks/timers-Bva4yoGM.js +2 -0
- package/dist/esm/chunks/timers-Bva4yoGM.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/preview.js +2 -0
- package/dist/esm/preview.js.map +1 -0
- package/dist/esm/react.js +1 -1
- package/dist/esm/react.js.map +1 -1
- package/dist/umd/encore.min.js +1 -1
- package/dist/umd/encore.min.js.map +1 -1
- package/package.json +9 -1
- package/types/analytics/DiagnosticsOutbox.d.ts +1 -0
- package/types/analytics/DiagnosticsOutbox.d.ts.map +1 -1
- package/types/analytics/events.d.ts +105 -5
- package/types/analytics/events.d.ts.map +1 -1
- package/types/analytics/models.d.ts +2 -0
- package/types/analytics/models.d.ts.map +1 -1
- package/types/analytics/transport.d.ts +6 -0
- package/types/analytics/transport.d.ts.map +1 -1
- package/types/api/APIClient.d.ts +58 -3
- package/types/api/APIClient.d.ts.map +1 -1
- package/types/api/contract.d.ts +4 -1
- package/types/api/contract.d.ts.map +1 -1
- package/types/api/generated/types.d.ts +420 -39
- package/types/api/generated/types.d.ts.map +1 -1
- package/types/api/models.d.ts +18 -2
- package/types/api/models.d.ts.map +1 -1
- package/types/api/offerBuilder.d.ts +10 -4
- package/types/api/offerBuilder.d.ts.map +1 -1
- package/types/core/Encore.d.ts +145 -3
- package/types/core/Encore.d.ts.map +1 -1
- package/types/core/OfferManager.d.ts +25 -3
- package/types/core/OfferManager.d.ts.map +1 -1
- package/types/core/PlacementBuilder.d.ts +6 -1
- package/types/core/PlacementBuilder.d.ts.map +1 -1
- package/types/core/SignalManager.d.ts.map +1 -1
- package/types/core/StorageManager.d.ts +3 -2
- package/types/core/StorageManager.d.ts.map +1 -1
- package/types/core/StrictUnlockReconciler.d.ts +1 -1
- package/types/core/StrictUnlockReconciler.d.ts.map +1 -1
- package/types/core/claimHandle.d.ts +44 -0
- package/types/core/claimHandle.d.ts.map +1 -0
- package/types/core/claimLog.d.ts +102 -0
- package/types/core/claimLog.d.ts.map +1 -0
- package/types/core/claimRefusal.d.ts +3 -0
- package/types/core/claimRefusal.d.ts.map +1 -0
- package/types/core/claimStatusCheck.d.ts +62 -0
- package/types/core/claimStatusCheck.d.ts.map +1 -0
- package/types/core/giftVariant.d.ts +5 -0
- package/types/core/giftVariant.d.ts.map +1 -1
- package/types/core/hostDisplay.d.ts +9 -2
- package/types/core/hostDisplay.d.ts.map +1 -1
- package/types/core/sduiVariables.d.ts +20 -0
- package/types/core/sduiVariables.d.ts.map +1 -0
- package/types/core/strings.d.ts +114 -0
- package/types/core/strings.d.ts.map +1 -0
- package/types/core/unlockCode.d.ts +8 -1
- package/types/core/unlockCode.d.ts.map +1 -1
- package/types/core/userKeys.d.ts +7 -0
- package/types/core/userKeys.d.ts.map +1 -0
- package/types/core/version.d.ts +1 -1
- package/types/experiments/ExposureOutbox.d.ts +1 -0
- package/types/experiments/ExposureOutbox.d.ts.map +1 -1
- package/types/preview.d.ts +51 -0
- package/types/preview.d.ts.map +1 -0
- package/types/react.d.ts +53 -1
- package/types/react.d.ts.map +1 -1
- package/types/sdui/actions.d.ts +93 -0
- package/types/sdui/actions.d.ts.map +1 -0
- package/types/sdui/bindings.d.ts +63 -0
- package/types/sdui/bindings.d.ts.map +1 -0
- package/types/sdui/compile.d.ts +88 -0
- package/types/sdui/compile.d.ts.map +1 -0
- package/types/sdui/conditions.d.ts +22 -0
- package/types/sdui/conditions.d.ts.map +1 -0
- package/types/sdui/context.d.ts +132 -0
- package/types/sdui/context.d.ts.map +1 -0
- package/types/sdui/countdown.d.ts +31 -0
- package/types/sdui/countdown.d.ts.map +1 -0
- package/types/sdui/decode.d.ts +35 -0
- package/types/sdui/decode.d.ts.map +1 -0
- package/types/sdui/deps.d.ts +43 -0
- package/types/sdui/deps.d.ts.map +1 -0
- package/types/sdui/dominantColor.d.ts +24 -0
- package/types/sdui/dominantColor.d.ts.map +1 -0
- package/types/sdui/elements/confetti.d.ts +38 -0
- package/types/sdui/elements/confetti.d.ts.map +1 -0
- package/types/sdui/elements/content.d.ts +27 -0
- package/types/sdui/elements/content.d.ts.map +1 -0
- package/types/sdui/elements/interactive.d.ts +48 -0
- package/types/sdui/elements/interactive.d.ts.map +1 -0
- package/types/sdui/elements/layout.d.ts +41 -0
- package/types/sdui/elements/layout.d.ts.map +1 -0
- package/types/sdui/elements/marquee.d.ts +17 -0
- package/types/sdui/elements/marquee.d.ts.map +1 -0
- package/types/sdui/elements/progress.d.ts +10 -0
- package/types/sdui/elements/progress.d.ts.map +1 -0
- package/types/sdui/elements/shared.d.ts +138 -0
- package/types/sdui/elements/shared.d.ts.map +1 -0
- package/types/sdui/elements/symbols.d.ts +22 -0
- package/types/sdui/elements/symbols.d.ts.map +1 -0
- package/types/sdui/elements/triggerText.d.ts +55 -0
- package/types/sdui/elements/triggerText.d.ts.map +1 -0
- package/types/sdui/host.d.ts +274 -0
- package/types/sdui/host.d.ts.map +1 -0
- package/types/sdui/inlineMarkup.d.ts +22 -0
- package/types/sdui/inlineMarkup.d.ts.map +1 -0
- package/types/sdui/lookValues.d.ts +50 -0
- package/types/sdui/lookValues.d.ts.map +1 -0
- package/types/sdui/model.d.ts +130 -0
- package/types/sdui/model.d.ts.map +1 -0
- package/types/sdui/motion.d.ts +37 -0
- package/types/sdui/motion.d.ts.map +1 -0
- package/types/sdui/precheck.d.ts +94 -0
- package/types/sdui/precheck.d.ts.map +1 -0
- package/types/sdui/scrollMath.d.ts +32 -0
- package/types/sdui/scrollMath.d.ts.map +1 -0
- package/types/sdui/style.d.ts +99 -0
- package/types/sdui/style.d.ts.map +1 -0
- package/types/sdui/triggerKit.d.ts +24 -0
- package/types/sdui/triggerKit.d.ts.map +1 -0
- package/types/sdui/unrunnable.d.ts +11 -0
- package/types/sdui/unrunnable.d.ts.map +1 -0
- package/types/sdui/vocabulary.d.ts +119 -0
- package/types/sdui/vocabulary.d.ts.map +1 -0
- package/types/triggers/claimReminder/ClaimReminder.d.ts +65 -0
- package/types/triggers/claimReminder/ClaimReminder.d.ts.map +1 -0
- package/types/triggers/claimReminder/bindings.d.ts +40 -0
- package/types/triggers/claimReminder/bindings.d.ts.map +1 -0
- package/types/triggers/claimReminder/config.d.ts +56 -0
- package/types/triggers/claimReminder/config.d.ts.map +1 -0
- package/types/triggers/claimReminder/eligibility.d.ts +37 -0
- package/types/triggers/claimReminder/eligibility.d.ts.map +1 -0
- package/types/triggers/claimReminder/servedWindow.d.ts +15 -0
- package/types/triggers/claimReminder/servedWindow.d.ts.map +1 -0
- package/types/triggers/claimReminder/source.d.ts +29 -0
- package/types/triggers/claimReminder/source.d.ts.map +1 -0
- package/types/triggers/giftsButton/GiftsButton.d.ts +60 -0
- package/types/triggers/giftsButton/GiftsButton.d.ts.map +1 -0
- package/types/triggers/giftsButton/config.d.ts +53 -0
- package/types/triggers/giftsButton/config.d.ts.map +1 -0
- package/types/triggers/giftsButton/spot.d.ts +54 -0
- package/types/triggers/giftsButton/spot.d.ts.map +1 -0
- package/types/triggers/host/TriggerHost.d.ts +127 -0
- package/types/triggers/host/TriggerHost.d.ts.map +1 -0
- package/types/triggers/host/autoPops.d.ts +16 -0
- package/types/triggers/host/autoPops.d.ts.map +1 -0
- package/types/triggers/host/configCache.d.ts +29 -0
- package/types/triggers/host/configCache.d.ts.map +1 -0
- package/types/triggers/host/customClaim.d.ts +85 -0
- package/types/triggers/host/customClaim.d.ts.map +1 -0
- package/types/triggers/host/dismissStore.d.ts +37 -0
- package/types/triggers/host/dismissStore.d.ts.map +1 -0
- package/types/triggers/host/readThrottle.d.ts +15 -0
- package/types/triggers/host/readThrottle.d.ts.map +1 -0
- package/types/triggers/host/registry.d.ts +17 -0
- package/types/triggers/host/registry.d.ts.map +1 -0
- package/types/triggers/host/sduiView.d.ts +31 -0
- package/types/triggers/host/sduiView.d.ts.map +1 -0
- package/types/triggers/host/template.d.ts +28 -0
- package/types/triggers/host/template.d.ts.map +1 -0
- package/types/triggers/host/textSlots.d.ts +35 -0
- package/types/triggers/host/textSlots.d.ts.map +1 -0
- package/types/triggers/host/theme.d.ts +87 -0
- package/types/triggers/host/theme.d.ts.map +1 -0
- package/types/triggers/host/timers.d.ts +11 -0
- package/types/triggers/host/timers.d.ts.map +1 -0
- package/types/triggers/host/types.d.ts +278 -0
- package/types/triggers/host/types.d.ts.map +1 -0
- package/types/triggers/host/wire.d.ts +55 -0
- package/types/triggers/host/wire.d.ts.map +1 -0
- package/types/triggers/preview.d.ts +78 -0
- package/types/triggers/preview.d.ts.map +1 -0
- package/types/triggers/request.d.ts +53 -0
- package/types/triggers/request.d.ts.map +1 -0
- package/types/types.d.ts +329 -1
- package/types/types.d.ts.map +1 -1
- package/types/ui/ClaimScreen.d.ts +1 -1
- package/types/ui/ClaimScreen.d.ts.map +1 -1
- package/types/ui/CodeUnlock.d.ts +12 -2
- package/types/ui/CodeUnlock.d.ts.map +1 -1
- package/types/ui/GiftHero.d.ts.map +1 -1
- package/types/ui/GiftList.d.ts.map +1 -1
- package/types/ui/GiftPicker.d.ts.map +1 -1
- package/types/ui/GiftPickerHero.d.ts.map +1 -1
- package/types/ui/GiftReveal.d.ts.map +1 -1
- package/types/ui/GiftSheet.d.ts +5 -5
- package/types/ui/GiftSheet.d.ts.map +1 -1
- package/types/ui/GiftUnwrap.d.ts.map +1 -1
- package/types/ui/OfferCard.d.ts.map +1 -1
- package/types/ui/OfferCarousel.d.ts.map +1 -1
- package/types/ui/OfferModal.d.ts +31 -0
- package/types/ui/OfferModal.d.ts.map +1 -1
- package/types/ui/PrimerScreen.d.ts +2 -0
- package/types/ui/PrimerScreen.d.ts.map +1 -1
- package/types/ui/RedemptionScreen.d.ts +5 -0
- package/types/ui/RedemptionScreen.d.ts.map +1 -1
- package/types/ui/RewardActions.d.ts.map +1 -1
- package/types/ui/RewardCard.d.ts.map +1 -1
- package/types/ui/SduiRewardSurface.d.ts +145 -0
- package/types/ui/SduiRewardSurface.d.ts.map +1 -0
- package/types/ui/Tooltip.d.ts.map +1 -1
- package/types/ui/brandComponents.d.ts.map +1 -1
- package/types/ui/brandTint.d.ts.map +1 -1
- package/types/ui/colorScheme.d.ts +15 -0
- package/types/ui/colorScheme.d.ts.map +1 -0
- package/types/ui/covered.d.ts +12 -0
- package/types/ui/covered.d.ts.map +1 -0
- package/types/ui/giftCategoryGroups.d.ts +13 -0
- package/types/ui/giftCategoryGroups.d.ts.map +1 -1
- package/types/ui/giftCopy.d.ts +14 -9
- package/types/ui/giftCopy.d.ts.map +1 -1
- package/types/ui/giftUnwrapCopy.d.ts.map +1 -1
- package/types/ui/imageURL.d.ts +44 -0
- package/types/ui/imageURL.d.ts.map +1 -0
- package/types/ui/impressionGate.d.ts +9 -0
- package/types/ui/impressionGate.d.ts.map +1 -1
- package/types/ui/offerBadge.d.ts.map +1 -1
- package/types/ui/rewardSurface.d.ts +11 -1
- package/types/ui/rewardSurface.d.ts.map +1 -1
- package/types/ui/sduiTheme.d.ts +48 -0
- package/types/ui/sduiTheme.d.ts.map +1 -0
- package/types/ui/sheetDetents.d.ts +28 -0
- package/types/ui/sheetDetents.d.ts.map +1 -0
- package/types/ui/styles.d.ts +11 -8
- package/types/ui/styles.d.ts.map +1 -1
- package/types/ui/termsLine.d.ts +3 -3
- package/types/ui/termsLine.d.ts.map +1 -1
- package/types/ui/toast.d.ts +11 -0
- package/types/ui/toast.d.ts.map +1 -0
- package/types/utils/logger.d.ts +10 -0
- package/types/utils/logger.d.ts.map +1 -1
- package/types/utils/text.d.ts +17 -0
- package/types/utils/text.d.ts.map +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e;!function(e){e.NETWORK_ERROR="NETWORK_ERROR",e.API_ERROR="API_ERROR",e.CONFIGURATION_ERROR="CONFIGURATION_ERROR",e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.STORAGE_ERROR="STORAGE_ERROR",e.INVALID_REQUEST="INVALID_REQUEST",e.UNAUTHORIZED="UNAUTHORIZED",e.NOT_FOUND="NOT_FOUND",e.TIMEOUT="TIMEOUT",e.UNKNOWN_ERROR="UNKNOWN_ERROR"}(e||(e={}));const t={reduceChurn:"churn-intervention",rewardUsers:"post-action-reward"},n=Object.fromEntries(Object.entries(t).map(([e,t])=>[t,e])),i=Object.keys(t);function r(e){return t[e]}function o(e){if(e)return n[e]}function s(e){return"string"==typeof e?`'${e.slice(0,64)}'`:typeof e}function a(e){return i.includes(e)}const l=["none","error","warn","info","debug"],c="[Encore SDK]",d=e=>l.indexOf(e),u=new class{#e="none";setLogLevel(e){this.#e=e}getLogLevel(){return this.#e}#t(e){return d(this.#e)>=d(e)}debug(...e){this.#t("debug")&&console.debug(c,...e)}info(...e){this.#t("info")&&console.info(c,...e)}warn(...e){this.#t("warn")&&console.warn(c,...e)}error(...e){this.#t("error")&&console.error(c,...e)}deprecated(...e){console.warn(c,"[DEPRECATED]",...e)}ignored(...e){console.warn(c,...e)}critical(...e){console.error(c,"[CRITICAL]",...e)}};class h{#n=null;#i=!1;configure(e){if(this.#i)return u.warn("SDK already configured. Ignoring subsequent configure() call."),!1;const t=this.#r(e);if(t)return u.error("Invalid configuration:",t),!1;const n=e.logLevel??"none",i=e.environment??"production";return this.#n={apiKey:e.apiKey,environment:i,baseURL:this.#o(i),analyticsBaseURL:this.#s(i),logLevel:n,unlockMode:e.unlockMode??"optimistic",resolveVariantsByPlacement:!0===e.resolveVariantsByPlacement,filterOffersByVariant:!0===e.filterOffersByVariant},u.setLogLevel(n),this.#i=!0,u.debug("SDK configured successfully",this.#n),!0}#r(e){return e.apiKey&&"string"==typeof e.apiKey&&""!==e.apiKey.trim()?e.environment&&!["production","development","staging","localhost"].includes(e.environment)?"environment must be 'production', 'development', 'staging', or 'localhost'":e.logLevel&&!l.includes(e.logLevel)?`logLevel must be one of: ${l.join(", ")}`:e.unlockMode&&!["strict","optimistic"].includes(e.unlockMode)?"unlockMode must be 'strict' or 'optimistic'":null:"apiKey is required and must be a non-empty string"}#o(e){switch(e){case"localhost":return"http://localhost:4000/publisher/sdk/v1";case"development":return"https://api.dev.encorekit.com/encore/publisher/sdk/v1";case"staging":return"https://api.staging.encorekit.com/encore/publisher/sdk/v1";default:return"https://api.encorekit.com/encore/publisher/sdk/v1"}}#s(e){switch(e){case"localhost":return"http://localhost:8081/v1";case"development":return"https://api.dev.encorekit.com/analytics/v1";case"staging":return"https://api.staging.encorekit.com/analytics/v1";default:return"https://api.encorekit.com/analytics/v1"}}getConfig(){return this.#n}isConfigured(){return this.#i}getApiKey(){return this.#n?.apiKey??null}getBaseURL(){return this.#n?.baseURL??null}getAnalyticsBaseURL(){return this.#n?.analyticsBaseURL??null}getEnvironment(){return this.#n?.environment??null}getUnlockMode(){return this.#n?.unlockMode??"optimistic"}getResolveVariantsByPlacement(){return this.#n?.resolveVariantsByPlacement??!1}getFilterOffersByVariant(){return this.#n?.filterOffersByVariant??!1}reset(){this.#n=null,this.#i=!1,u.debug("Configuration reset")}}const p="encore_";class f{#a;#l;constructor(){this.#l=new Map}get#c(){return void 0===this.#a&&(this.#a=this.#d(),u.debug(`StorageManager initialized with ${this.#a}`)),this.#a}#d(){return this.#u("localStorage")?"localStorage":this.#u("sessionStorage")?"sessionStorage":(u.warn("Neither localStorage nor sessionStorage available, using in-memory storage"),"memory")}#u(e){try{const t="localStorage"===e?localStorage:sessionStorage,n="__encore_test__";return t.setItem(n,"test"),t.removeItem(n),!0}catch{return!1}}#h(){return"localStorage"===this.#c?localStorage:"sessionStorage"===this.#c?sessionStorage:this.#l}#p(e){return`${p}${e}`}set(e,t){if(void 0===t)return void u.warn(`Attempted to store undefined value for key: ${e}`);const n=this.#p(e),i=JSON.stringify(t);try{const t=this.#h();t instanceof Map?t.set(n,i):t.setItem(n,i),u.debug(`Stored ${e} in ${this.#c}`)}catch(e){e instanceof Error&&"QuotaExceededError"===e.name?u.error("Storage quota exceeded:",e):u.error("Failed to store item:",e),"memory"!==this.#c&&(u.warn("Falling back to memory storage for this item"),this.#l.set(n,i))}}get(e){const t=this.#p(e);try{const n=this.#h();let i=null;return i=n instanceof Map?n.get(t)??null:n.getItem(t),null===i||"undefined"===i?("undefined"===i&&(u.warn(`Found corrupted value "undefined" for key: ${e}, cleaning up`),this.remove(e)),null):JSON.parse(i)}catch(t){return u.error(`Failed to retrieve ${e}:`,t),this.remove(e),null}}remove(e){const t=this.#p(e);try{const n=this.#h();n instanceof Map?n.delete(t):n.removeItem(t),u.debug(`Removed ${e} from ${this.#c}`)}catch(t){u.error(`Failed to remove ${e}:`,t)}}clear(e){const t=t=>t.startsWith(p)&&!e?.(t.slice(7));try{const e=this.#h();if(e instanceof Map)for(const n of e.keys())t(n)&&e.delete(n);else{const n=[];for(let i=0;i<e.length;i++){const r=e.key(i);r&&t(r)&&n.push(r)}n.forEach(t=>e.removeItem(t))}u.debug(`Cleared all Encore data from ${this.#c}`)}catch(e){u.error("Failed to clear storage:",e)}}getStorageType(){return this.#c}}const m="_signal_queue",g="_strict_pending";function b(e){return`${e}${m}`}function y(e){return"object"==typeof e&&null!==e&&"string"==typeof e.transactionId&&("provisional"===e.grantType||"final"===e.grantType)}function v(e,t){return e.transactionId===t.transactionId&&e.grantType===t.grantType}class w{#f;#m;#g;#b=[];#y=!1;#v=!1;#w;constructor(e,t,n){this.#f=e,this.#m=t,this.#g=n,this.#x(),this.#k(),this.processQueue()}setUserId(e){this.#g!==e&&(u.debug("SignalManager: User ID changed, clearing queue"),this.#g=e,this.#b=[],this.#x())}#x(){try{const e=b(this.#g),t=this.#f.get(e);t&&Array.isArray(t)&&(this.#b=t,u.debug("Loaded grant signal queue from storage",{count:t.length}))}catch(e){u.error("Failed to load grant signal queue from storage:",e)}}#$(e){const t=b(this.#g),n=this.#f.get(t);this.#f.set(t,e(Array.isArray(n)?n.filter(y):[]))}#C(){try{const e=b(this.#g);this.#f.set(e,this.#b),u.debug("Saved grant signal queue to storage",{count:this.#b.length})}catch(e){u.error("Failed to save grant signal queue to storage:",e)}}enqueue(e,t){if(this.#v){const n={transactionId:e,grantType:t,timestamp:(new Date).toISOString(),attempts:0};return void this.#$(e=>e.some(e=>v(e,n))?e:[...e,n])}const n=this.#b.some(n=>n.transactionId===e&&n.grantType===t);if(n)return void u.debug("Grant signal already in queue, skipping",{transactionId:e,grantType:t});const i={transactionId:e,grantType:t,timestamp:(new Date).toISOString(),attempts:0};this.#b.push(i),this.#C(),u.info("Grant signal added to queue",{transactionId:e,grantType:t})}dequeue(e){if(this.#v)return void this.#$(t=>t.filter(t=>!v(t,e)));const t=this.#b.findIndex(t=>t.transactionId===e.transactionId&&t.grantType===e.grantType);-1!==t&&(this.#b.splice(t,1),this.#C(),u.debug("Grant signal removed from queue",{transactionId:e.transactionId,grantType:e.grantType}))}getQueue(){return[...this.#b]}clearQueue(){this.#b=[],this.#C(),u.debug("Grant signal queue cleared")}async sendGrantSignal(e,t){try{if(u.debug("Sending grant signal",{transactionId:e,grantType:t}),!await this.#m.sendGrantSignal(e,t))throw new Error("Grant signal failed (returned false)");u.info("Grant signal sent successfully",{transactionId:e,grantType:t})}catch{u.warn("Failed to send grant signal, adding to queue",{transactionId:e,grantType:t}),this.enqueue(e,t)}}async processQueue(){if(this.#y)u.debug("Queue processing already in progress, skipping");else if(0!==this.#b.length){this.#y=!0,u.info("Processing grant signal queue",{count:this.#b.length});try{for(const e of[...this.#b]){if(this.#v)return;await this.#I(e),this.#b.length>1&&await this.#E(100)}}finally{this.#y=!1}}}async#I(e){if(e.attempts>=3)return u.error("Grant signal max attempts reached, removing from queue",{transactionId:e.transactionId,grantType:e.grantType,attempts:e.attempts}),void this.dequeue(e);if(e.lastAttemptAt){const t=new Date(e.lastAttemptAt).getTime(),n=Date.now(),i=1e3*Math.pow(2,e.attempts-1),r=n-t;if(r<i)return void u.debug("Skipping signal, waiting for backoff period",{transactionId:e.transactionId,remainingWait:i-r})}e.attempts++,e.lastAttemptAt=(new Date).toISOString(),this.#C();try{u.debug("Attempting to send queued grant signal",{transactionId:e.transactionId,grantType:e.grantType,attempt:e.attempts}),await this.#m.sendGrantSignal(e.transactionId,e.grantType)?(u.info("Queued grant signal sent successfully",{transactionId:e.transactionId,grantType:e.grantType}),this.dequeue(e)):u.warn("Grant signal failed, will retry",{transactionId:e.transactionId,attempt:e.attempts})}catch(t){u.warn("Failed to send queued grant signal, will retry",{transactionId:e.transactionId,attempt:e.attempts,error:t})}}#k(){this.#w=function(e){const t=()=>{u.debug("Network status: online"),e()};return window.addEventListener("online",t),()=>{window.removeEventListener("online",t)}}(()=>{u.debug("Network came online, processing grant signal queue"),this.processQueue()})}destroy(){this.#v=!0,this.#w&&(this.#w(),this.#w=void 0)}#E(e){return new Promise(t=>setTimeout(t,e))}}const x=Object.freeze({impression:"sdk_trigger_impression",clicked:"sdk_trigger_clicked",autoOpened:"sdk_trigger_auto_opened",dismissed:"sdk_trigger_dismissed",eligibleNotShown:"sdk_trigger_eligible_not_shown"}),k=Object.freeze({holdout:"holdout",sheetUnavailable:"sheet_unavailable",autoHeld:"auto_held",unrenderable:"unrenderable",afterCompleteHide:"after_complete_hide",unknownStep:"unknown_step"});function $(e){return`encore.trigger.${e}.notShown`}const C="customClaim",I=Object.freeze({claimReminder:"claimReminder",giftsButton:"giftsButton"});function E(...e){for(const t of e){const e=t?.trim();if(e)return e}}function S(e){const t=E(e);return t?.slice(0,64)}const T=/^[a-z]{2,3}(-[a-z]{4})?(-([a-z]{2}|[0-9]{3}))?(-([a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(-[0-9a-wyz](-[a-z0-9]{2,8})+)*(-x(-[a-z0-9]{1,8})+)?$/i,A={iw:"he",in:"id",ji:"yi",jw:"jv"};function L(e){if("string"!=typeof e||!T.test(e))return null;let t=!1;return e.split("-").map((e,n)=>{if(1===e.length&&(t=!0),0===n){const t=e.toLowerCase();return A[t]??t}return t?e.toLowerCase():4===e.length&&/^[a-z]+$/i.test(e)?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():2===e.length?e.toUpperCase():e.toLowerCase()}).join("-")}function N(e){if("string"!=typeof e)return null;const[t=""]=e.trim().split("@",1);return L(t.replace(/_/g,"-"))}const O="transaction_start_failed",M="share_unavailable",U="clipboard",R={userClosedModal:"close_button",userClickedOutside:"dismissed",userDeclinedLastOffer:"last_offer_declined",error:"interrupted",appBackgrounded:"app_backgrounded",appTerminated:"app_terminated"};function P(e){if(null!=e)return R[e]??e}function F(e){return e?{use_case:r(e)}:{}}function z(e){const t=S(e);return t?{placement_id:t}:{}}function B(e){if(e.length<=64)return e;try{const t=Intl.Segmenter;if("function"==typeof t){let n="",i=0;for(const{segment:r}of new t(void 0,{granularity:"grapheme"}).segment(e)){if(64===i)break;n+=r,i+=1}return n}}catch{}return Array.from(e).slice(0,64).join("")}function D(e){return{trigger:e.trigger,...z(e.placementId),...e.variantId&&{variantId:e.variantId},experimentId:e.experimentId,use_case:r(e.useCase),...e.transactionId&&{transactionId:e.transactionId},...e.campaignId&&{campaignId:e.campaignId},...e.layout&&{layout:B(e.layout)},...e.presentationId&&{presentationId:e.presentationId},...e.hostTrigger&&{hostTrigger:e.hostTrigger},...e.step&&{step:e.step,stepExperimentId:e.stepExperimentId??null},...e.textSlots&&e.textSlots.length>0&&{textSlots:[...e.textSlots]}}}function j(e,t,n,i={}){return{name:e,distinctId:t,properties:{...D(n),...i},...n.locale&&{locale:n.locale}}}function H(e,t){return j(x.impression,e,t)}function _(e,t,n){return j(x.clicked,e,t,{target:n})}function V(e,t){return j(x.autoOpened,e,t)}function q(e,t){return j(x.dismissed,e,t)}function W(e,t,n){const{textSlots:i,...r}=t;return j(x.eligibleNotShown,e,r,{reason:n})}function G(e,t,n,i,r,o,s){return{name:"sdk_offer_presentation_failed",distinctId:e,properties:{reason:t,presentationId:n,...i&&{variantId:i},...s&&{experimentId:s},...F(r),...z(o)}}}function K(e,t){const{useCase:n,placementId:i,...r}=t;return{name:"sdk_offer_time_spent",distinctId:e,properties:{...r,...F(n),...z(i)}}}function Z(e){const{useCase:t,placementId:n,...i}=e,r={};for(const e in i){const t=i[e];void 0!==t&&(r[e]=t)}return{...r,...F(t),...z(n)}}function Y(e,t,n){return{name:"sdk_offer_claim_failed",distinctId:e,properties:{...Z(t),reason:n.reason,...n.errorDescription&&{errorDescription:n.errorDescription},...n.transactionId&&{transactionId:n.transactionId}}}}function X(e,t){return{name:"sdk_offer_share_tapped",distinctId:e,properties:Z(t)}}function Q(e,t,n){return{name:"sdk_offer_share_failed",distinctId:e,properties:{...Z(t),reason:n.reason}}}function J(e,t,n){return{name:"sdk_offer_share_completed",distinctId:e,properties:{...Z(t),...n.shareDestination&&{shareDestination:n.shareDestination},completed:n.completed}}}function ee(e,t){return{name:"sdk_sdui_button_tapped",distinctId:e,properties:{...t.variantId&&{variantId:t.variantId},actionType:t.actionType,presentationId:t.presentationId,currentState:t.currentState,...F(t.useCase),...z(t.placementId)}}}function te(e){return"object"==typeof e&&null!==e&&"offerAlreadyCompleted"===e.code}function ne(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=15&(crypto.getRandomValues(new Uint8Array(1))[0]??0);return("x"===e?t:3&t|8).toString(16)})}class ie{#m;#S;#g;#T=new Map;#A=new Map;#L=new Map;#N=0;#O=new Map;pendingScopeCount(){return this.#L.size}#M=0;#U=[];#R=new Set;#P=0;#F=null;#z=null;#B=new Map;#D=0;#j=new Set;#H;#_;#V;#q;#W=null;#G=!1;#K=null;constructor(e,t,n){this.#m=e,this.#g=t,this.#S=n??null,this.#Z()}fetchOffers(e,t=!0,n,i,r){return this.#Y(e,t,n,i,r,!0)}async prefetchOffers(e,t){try{await this.#Y(e,!0,void 0,void 0,t,!1)}catch{}}async searchForTrigger(e,t,n,i,r=!1){const o=[this.#X(e,n),void 0!==i,this.#M].join("|"),s=this.#O.get(o);if(s&&(!r||s.fresh))return[...await s.search];const a=this.#Y(e,!r,t,i,n,!1).then(({offers:e})=>e),l={search:a,fresh:r};this.#O.set(o,l);const c=()=>{this.#O.get(o)===l&&this.#O.delete(o)};return a.then(c,c),[...await a]}#X(e,t){return[t?.variantId??"",t?.useCase??"",t?.ruledPlacementId??"",(n=e,JSON.stringify(n,(e,t)=>t&&"object"==typeof t&&!Array.isArray(t)?Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:e>t?1:0)):t))].join("|");var n}async#Y(e,t,n,i,r,o){const s=void 0!==i,a=this.#X(e,r);if(s&&o&&r?.fromTrigger){const e=this.#A.get(a),t=e?this.#Q(e):[];if(t.length>0)return this.#U=t,{offers:[...t]}}const l=!s&&t?this.#T.get(a):void 0,c=l?this.#Q(l):[];if(c.length>0)return u.debug("Using cached offers",{count:c.length}),o&&(this.#U=c),{offers:[...c]};t||o||(this.#T.delete(a),this.#A.delete(a));const d=this.#M,h=this.#P,p=++this.#N,f=this.#L.get(a)??{latest:0,pending:0};f.latest=p,f.pending++,this.#L.set(a,f);const m=()=>f.latest===p&&this.#L.get(a)===f;let g=!1;const b=()=>{g||(g=!0,f.pending--,f.pending<=0&&this.#L.get(a)===f&&this.#L.delete(a))};try{u.debug("Fetching offers from API",{userId:this.#g,maxPostbackTimeMs:i});const l=await this.#m.fetchOffers(this.#g,e,n,i,r),c=h===this.#P&&Array.isArray(l.offers)?{...l,offers:this.#Q(l.offers)}:l;o&&(this.#U=c.offers??[]);const p=m();if(b(),!o&&!p){const e=s?this.#A.get(a):this.#T.get(a);return{offers:e?this.#Q(e):[]}}if(0===c.offers?.length)return t||o||d!==this.#M||!p||(this.#T.delete(a),this.#A.delete(a)),u.info("No offers available for user"),{offers:[]};if(s&&!o&&d===this.#M&&p&&(this.#A.delete(a),this.#A.set(a,c.offers),this.#A.size>16)){const e=this.#A.keys().next().value;void 0!==e&&this.#A.delete(e)}if(!s&&d===this.#M&&p&&(this.#T.delete(a),this.#T.set(a,c.offers),this.#T.size>16)){const e=this.#T.keys().next().value;void 0!==e&&this.#T.delete(e)}return u.info("Offers fetched successfully",{count:c.offers.length,offerIds:c.offers.map(e=>e.id)}),{offers:[...c.offers]}}catch(e){throw b(),u.error("Failed to fetch offers",e),e}}beginPresentation(e,t,n,i,r){return this.#F=i??ne(),this.#z=Date.now(),this.#B.clear(),this.#j.clear(),this.#D=0,this.#W=null,this.#H=e,this.#_=r,this.#V=t,this.#q=n,this.#G=!1,this.#F}get placementId(){return this.#q}get presentationId(){return this.#F}#J(){return this.#H?{variantId:this.#H}:{}}#ee(){return this.#_?{experimentId:this.#_}:{}}#te(){return this.#q?{placementId:this.#q}:{}}trackOfferPresented(e,t,n,i,r,o,s){if(!this.#S||!this.#F)return;if(this.#j.has(t))return;this.#j.add(t),this.#D++,this.#W&&this.#W!==e.id&&this.trackOfferViewEnd(this.#W),this.#W=e.id;const a=this.#B.get(e.id);a?(a.viewCount++,a.startTime=Date.now()):this.#B.set(e.id,{startTime:Date.now(),totalTime:0,viewCount:1,reported:!1}),this.#S.track(function(e,t){const{useCase:n,placementId:i,...r}=t;return{name:"sdk_offer_presented",distinctId:e,properties:{...r,...F(n),...z(i)}}}(this.#g,{campaignId:e.campaignId,...e.creativeId&&{creativeId:e.creativeId},...null!=e.merchantName&&{advertiserName:e.merchantName},impressionId:t,offerIndex:n,totalOffers:i,...o&&{presentationTrigger:o},presentationId:this.#F,...this.#J(),...this.#ee(),...this.#te(),...r&&{useCase:r},...void 0!==s&&{imageCacheHit:s}}))}trackOfferViewEnd(e){const t=this.#B.get(e);t&&t.startTime>0&&(t.totalTime+=(Date.now()-t.startTime)/1e3,t.startTime=0)}trackOfferClaimed(e,t,n,i,r,o){this.#S&&this.#F&&this.#S.track(function(e,t){const{useCase:n,placementId:i,...r}=t;return{name:"sdk_offer_claimed",distinctId:e,properties:{...r,...F(n),...z(i)}}}(this.#g,{campaignId:e.campaignId,...e.creativeId&&{creativeId:e.creativeId},...null!=e.merchantName&&{advertiserName:e.merchantName},impressionId:t,transactionId:n,offerIndex:i,totalOffers:r,presentationId:this.#F,...this.#J(),...this.#ee(),...this.#te(),...o&&{useCase:o}}))}trackOfferDeclined(e,t,n,i,r,o){if(!this.#S||!this.#F)return;const s=P(r);this.#S.track(function(e,t){const{useCase:n,placementId:i,...r}=t;return{name:"sdk_offer_declined",distinctId:e,properties:{...r,...F(n),...z(i)}}}(this.#g,{campaignId:e.campaignId,...e.creativeId&&{creativeId:e.creativeId},...null!=e.merchantName&&{advertiserName:e.merchantName},impressionId:t,offerIndex:n,totalOffers:i,...null!=s&&{declineReason:s},presentationId:this.#F,...this.#J(),...this.#te(),...o&&{useCase:o}}))}endPresentation(e,t){this.#ne(e,t,!1),this.#F=null,this.#z=null,this.#B.clear(),this.#j.clear(),this.#D=0,this.#W=null,this.#H=void 0,this.#_=void 0,this.#V=void 0,this.#q=void 0,this.#G=!1}#ne(e,t,n,i=!0){if(!this.#S||!this.#F||!this.#z)return;const r=Date.now(),o=(r-this.#z)/1e3,s=n?{keepalive:!0}:void 0;for(const[e,n]of this.#B){let i=n.totalTime;if(n.startTime>0&&(i+=(r-n.startTime)/1e3),n.reported&&i<=0)continue;n.reported=!0;const o=this.#U.find(t=>t.id===e),a=o?this.#U.indexOf(o):0;this.#S.track(K(this.#g,{campaignId:o?.campaignId??"",offerIndex:a,timeSpentSeconds:i,viewCount:n.viewCount,totalOffers:this.#U.length,presentationId:this.#F,...this.#J(),...this.#te(),...t&&{useCase:t}}),s),n.totalTime=0,n.startTime>0&&(n.startTime=r)}if(!i||this.#G)return;this.#G=!0;const a=P(e);this.#S.track(function(e,t){const{useCase:n,placementId:i,...r}=t;return{name:"sdk_offer_sheet_dismissed",distinctId:e,properties:{...r,...F(n),...z(i)}}}(this.#g,{presentationId:this.#F,totalTimeSpentSeconds:o,totalOffers:this.#U.length,offersViewed:this.#D,...null!=a&&{declineReason:a},...this.#J(),...this.#ee(),...this.#te(),...t&&{useCase:t}}),s)}flushForPageLifecycle(e,t){try{this.#ne(e?"appTerminated":"appBackgrounded",t,!0,e)}catch{}}#Z(){if("undefined"!=typeof window&&"undefined"!=typeof document)try{const e=()=>this.flushForPageLifecycle(!0,this.#V),t=()=>{"hidden"===document.visibilityState&&this.flushForPageLifecycle(!1,this.#V)};window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",t),this.#K=()=>{window.removeEventListener("pagehide",e),document.removeEventListener("visibilitychange",t)}}catch{}}destroy(){this.#K?.(),this.#K=null}async startTransaction(e,t){const n=this.#P;try{u.debug("Starting transaction",{campaignId:e,useCase:t});const n=await this.#m.startTransaction(e,this.#g,t);if(!n.transactionId)throw new Error(n.error??"No transactionId in response");return u.info("Transaction started",{transactionId:n.transactionId,campaignId:e}),n.transactionId}catch(t){throw te(t)?(this.#ie(e,n),u.info("Claim refused: offer already completed",{campaignId:e})):u.error("Failed to start transaction",{campaignId:e,error:t}),t}}#ie(e,t){t===this.#P&&this.#R.add(e)}#Q(e){return 0===this.#R.size?e:e.filter(e=>!this.#R.has(e.campaignId))}clearCache(){this.#T.clear(),this.#A.clear(),this.#L.clear(),this.#O.clear(),this.#M++,this.#U=[],u.debug("Offer cache cleared")}setUserId(e){this.#g=e,this.#P+=1,this.#R.clear(),this.clearCache(),u.debug("OfferManager user ID updated",{userId:e})}}const re={[e.NETWORK_ERROR]:"network_error",[e.TIMEOUT]:"network_error",[e.STORAGE_ERROR]:"persistence_error",[e.CONFIGURATION_ERROR]:"not_configured",[e.INITIALIZATION_ERROR]:"not_configured",[e.INVALID_REQUEST]:"api_error",[e.UNKNOWN_ERROR]:"domain_error"};function oe(e,t){const n=e[t];return"string"==typeof n?n:void 0}function se(t){if("object"!=typeof t||null===t)return"domain_error";const n=t,i=oe(n,"code"),r="number"==typeof n.statusCode;if(i){return re[i]||(i===String(e.API_ERROR)&&r?"http_error":"api_error")}return r?"http_error":t instanceof SyntaxError?"decoding_error":"domain_error"}class ae{#m;#re;#oe;#se=0;#ae=1e3;#le=8e3;#ce=null;#de=!1;#ue=!1;constructor(e,t){this.#m=e,this.#re=t.transactionId,this.#oe=t.timeout??3e4}async poll(){return this.#de?(u.warn("Verification polling already in progress",{transactionId:this.#re}),"pending"):(this.#de=!0,this.#se=Date.now(),u.debug("Starting verification polling",{transactionId:this.#re,timeout:this.#oe}),this.#he())}stop(){this.#de=!1,null!==this.#ce&&(clearTimeout(this.#ce),this.#ce=null),u.debug("Verification polling stopped",{transactionId:this.#re})}async#he(){for(;this.#de;){const e=Date.now()-this.#se;if(e>=this.#oe)return u.warn("Verification polling timeout",{transactionId:this.#re,elapsed:e}),this.stop(),"pending";try{const e=await this.#m.checkVerificationStatus(this.#re);if(u.debug("Verification status checked",{transactionId:this.#re,status:e.status,rawStatus:e.raw}),"verified"===e.status)return u.info("Transaction verified",{transactionId:this.#re}),this.stop(),"verified";if("failed"===e.status)return u.warn("Transaction failed verification",{transactionId:this.#re}),this.stop(),"failed";await this.#E(this.#ae),this.#ae=Math.min(2*this.#ae,this.#le)}catch(e){u.error("Error checking verification status",{transactionId:this.#re,error:e}),this.#ue||(this.#ue=!0,this.#m.reportError({errorType:se(e),message:e instanceof Error?e.message:String(e),context:"verify_transaction",...e instanceof Error&&e.stack?{stackTrace:e.stack}:{}})),await this.#E(this.#ae)}}return"pending"}async#E(e){return new Promise(t=>{this.#ce=window.setTimeout(()=>{this.#ce=null,t()},e)})}}const le=/^[A-Za-z0-9_-]+$/;class ce{#f;#m;#g;constructor(e,t,n){this.#f=e,this.#m=t,this.#g=n}setUserId(e,t=!0){if(this.#g===e)return;const n=t?this.getPending():null;t&&this.clearPending(),this.#g=e,n&&this.#f.set(this.#pe(),n)}notePending(e,t){const n={transactionId:e,recordedAt:(new Date).toISOString(),grantsEntitlement:t?.grantsEntitlement??!1,...void 0!==t?.placementId&&{placementId:t.placementId},...void 0!==t?.useCase&&{useCase:t.useCase}};this.#f.set(this.#pe(),n),u.debug("StrictUnlockReconciler: noted pending claim",{transactionId:e})}clearPending(){this.#f.remove(this.#pe()),u.debug("StrictUnlockReconciler: cleared pending claim")}getPending(){const e=this.#f.get(this.#pe());if(!e)return null;if("string"!=typeof e.transactionId||"string"!=typeof e.recordedAt||!le.test(e.transactionId))return u.warn("StrictUnlockReconciler: dropping malformed pending claim"),this.clearPending(),null;const t=Date.now()-new Date(e.recordedAt).getTime();return!(t>=0)||t>6048e5?(u.debug("StrictUnlockReconciler: dropping stale pending claim",{age:t}),this.clearPending(),null):(void 0!==e.placementId&&"string"!=typeof e.placementId&&delete e.placementId,void 0===e.useCase||a(e.useCase)||(u.warn("StrictUnlockReconciler: dropping an unrecognised use case from a pending claim"),delete e.useCase),e)}async verify(e,t=15e3){try{const n=new ae(this.#m,{transactionId:e,timeout:t});return await n.poll()}catch(t){return u.warn("StrictUnlockReconciler: verification poll failed",{transactionId:e,error:t}),"pending"}}#pe(){return`${this.#g}${g}`}}class de{#fe=null;#me=null;#ge;#be;#ye;#ve;constructor(e,t,n,i){this.#ye=e,this.#ge=t,this.#ve=n,this.#be=i}useCase(e){return this.#ve={...this.#ve,useCase:e},this}headline(e){return this.#ve={...this.#ve,headline:e},this}subheadline(e){return this.#ve={...this.#ve,subheadline:e},this}publisherReward(e){return this.#ve={...this.#ve,publisherReward:e},this}onNotGranted(e){return this.#fe=e,this}onLoadingStateChange(e){return this.#me=e,this}async show(){try{this.#me&&this.#me(!0),u.debug("PlacementBuilder: Executing presentation",{id:this.#ye});const e=await this.#ge(this.#ve);return this.#me&&this.#me(!1),"dismissed"===e.status&&e.reason&&this.#fe&&this.#fe(e.reason),e}catch(t){this.#me&&this.#me(!1),u.error("PlacementBuilder: Error during presentation",t);const n={type:"error",error:{code:e.UNKNOWN_ERROR,message:t instanceof Error?t.message:"Unknown error"}};return this.#fe&&this.#fe(n),{status:"dismissed",reason:n}}}async redeem(){return u.debug("PlacementBuilder: Redeeming",{id:this.#ye}),this.#be(this.#ye)}}function ue(e){return"immediate"!==e}const he={reduceChurn:"deferred",rewardUsers:"immediate"},pe=["immediate","deferred","deferredWhileAlive"];const fe="transactions";function me(e){const t=new Date(e.createdAt).getTime();return Number.isFinite(t)?t:0}function ge(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function be(e,t){if(!ge(e))return{};const n={};for(const[i,r]of Object.entries(e))t(r)&&(n[i]=r);return n}class ye{#we;constructor(e){this.#we=e}#xe(){const e=this.#we.read();return ge(e)?{transactions:be(e.transactions,ge),placements:be(e.placements,e=>"string"==typeof e),latest:"string"==typeof e.latest?e.latest:null}:{transactions:{},placements:{},latest:null}}#ke(e){this.#we.write(e)}#$e(e){return!!e&&"claimed"===e.status&&!this.#Ce(e)}#Ce(e){const t=new Date(e.expiresAt).getTime();return!Number.isFinite(t)||t<=Date.now()}save(e){const t=this.#xe();t.transactions[e.id]=e,e.placementId&&(t.placements[e.placementId]=e.id),t.latest=e.id,this.#Ie(t),this.#ke(t),u.debug("TransactionStore: saved transaction",{transactionId:e.id,placement:e.placementId})}getByTransactionId(e){return this.#xe().transactions[e]??null}getByPlacement(e){const t=this.#xe(),n=t.placements[e];if(!n)return null;const i=t.transactions[n];return this.#$e(i)?i:null}getLatest(){const e=this.#xe();if(e.latest){const t=e.transactions[e.latest];if(this.#$e(t))return t}return Object.values(e.transactions).filter(e=>this.#$e(e)).sort((e,t)=>me(t)-me(e))[0]??null}markRedeemed(e){const t=this.#xe(),n=t.transactions[e];n&&(n.status="redeemed",n.redeemedAt=(new Date).toISOString(),n.placementId&&t.placements[n.placementId]===e&&delete t.placements[n.placementId],t.latest===e&&(t.latest=null),this.#ke(t),u.debug("TransactionStore: marked redeemed",{transactionId:e}))}#Ie(e){for(const[t,n]of Object.entries(e.transactions))(this.#Ce(n)||"redeemed"===n.status)&&delete e.transactions[t];for(const[t,n]of Object.entries(e.placements))e.transactions[n]||delete e.placements[t];e.latest&&!e.transactions[e.latest]&&(e.latest=null)}clear(){this.#ke({transactions:{},placements:{},latest:null})}}let ve,we={};const xe=/\$\{(\w+)\}/g;function ke(e,t){return t?e.replace(xe,(e,n)=>Object.prototype.hasOwnProperty.call(t,n)?String(t[n]):e):e}const $e=e=>"string"==typeof e&&""!==e.trim();function Ce(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;const t=e;return $e(t.other)&&Object.values(t).every(e=>$e(e))}function Ie(e,t){const n=ve;!function(e){ve=$e(e)?e.trim():void 0}(e),t?function(...e){we={};for(const t of e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const[e,n]of Object.entries(t))($e(n)||Ce(n))&&(we[e]=n)}(t.strings,t.plurals):ve!==n&&(we={})}function Ee(){return ve}function Se(){we={},ve=void 0}function Te(e,t,n){const i=we[e];return ke("string"==typeof i?i:t,n)}function Ae(e,t,n,i){const r=we[e],[o,s]=r&&"object"==typeof r?[r,ve]:[n,"en"],a=o[function(e,t){try{return new Intl.PluralRules(e).select(t)}catch{return new Intl.PluralRules("en").select(t)}}(s,t)]??o.other;return ke(a,{count:String(t),...i})}function Le(e,t,n,i=e=>document.createTextNode(e)){const r=[],o=new Set;let s="",a=0;const l=()=>{s&&r.push(i(s)),s=""};for(const i of e.matchAll(xe)){const[c,d=""]=i;s+=e.slice(a,i.index),a=(i.index??0)+c.length;const u=Object.prototype.hasOwnProperty.call(t,d)?t[d]:void 0;u&&!o.has(d)?(l(),r.push(u),o.add(d)):s+=ke(c,n)}s+=e.slice(a);for(const[e,n]of Object.entries(t))o.has(e)||(s&&!/\s$/.test(s)?s+=" ":!s&&r.length>0&&(s=" "),l(),r.push(n));return l(),r}function Ne(e,t){const n={};for(const[i,r]of Object.entries(t))Object.defineProperty(n,i,{enumerable:!0,get:()=>Te(`${e}.${i}`,r)});return n}const Oe=new Set(["ar","arc","ckb","dv","fa","he","iw","ks","lrc","mzn","nqo","ps","sd","syr","ug","ur","yi","ji"]);function Me(e){return!!e&&Oe.has((e.trim().split(/[-_]/)[0]??"").toLowerCase())}function Ue(e){if(!ve)return e.removeAttribute("lang"),void e.removeAttribute("dir");e.setAttribute("lang",ve),e.setAttribute("dir",Me(ve)?"rtl":"ltr")}function Re(e,t){return function(e){return"rtl"===e?.closest("[dir]")?.getAttribute("dir")}(t)?"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e:e}const Pe=()=>function(e){if(e)try{return Intl.getCanonicalLocales(e)[0]}catch{return}}(ve);function Fe(e){return new Intl.NumberFormat(Pe()).format(e)}const ze={day:{one:"${count} day",other:"${count} days"},week:{one:"${count} week",other:"${count} weeks"},month:{one:"${count} month",other:"${count} months"},year:{one:"${count} year",other:"${count} years"}},Be=e=>{const t=e?.trim();if(void 0!==t&&t.length>0)return t};const De=e=>Te("redemption.subtitle","All ${app} features are now unlocked.",{app:e}),je="/config";function He(e,t){let n=e;for(const[e,i]of Object.entries(t))n=n.replace(`:${e}`,encodeURIComponent(i));return n}const _e="2.4.0",Ve=new Set(["localhost","127.0.0.1","[::1]"]);function qe(e){return Ve.has(e)}function We(e){if(!e)return;let t;try{t=new URL(e)}catch{return}return"https:"===t.protocol||"http:"===t.protocol&&qe(t.hostname)?e:void 0}function Ge(e,t){if("object"!=typeof e||null===e)return;const n=e[t];if("string"!=typeof n)return;const i=n.trim();return""===i?void 0:i}function Ke(e,t){if("object"!=typeof e||null===e)return;const n=e[t];return"string"==typeof n?We(n.trim()):void 0}const Ze=e=>"object"!=typeof e||null===e||Array.isArray(e)?void 0:e,Ye=e=>"string"==typeof e?e:void 0;function Xe(e,t=!1){const n=Ze(e);if(!n)return;const i=Object.entries(n).filter(([,e])=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e).map(([e,t])=>[e,String(t)]).filter(([e,n])=>!t||""!==e.trim()&&""!==n.trim());return i.length>0?Object.fromEntries(i):void 0}const Qe=new Set([9,10,11,12,13,28,29,30,31,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8232,8233,8239,8287,8288,12288,65279,173,847,1564,6158,10240,12644,65440].map(e=>String.fromCodePoint(e)));function Je(e){if(!Array.isArray(e))return;const t=e.flatMap(e=>{const t=Ze(e),n=Ye(t?.title),i=Ye(t?.subtitle);if(!t||void 0===n||void 0===i)return[];const r=Ye(t.ctaButtonText),o=E(Ye(t.imageUrl));return[{title:n,subtitle:i,...null!=r&&{ctaButtonText:r},...o&&{imageUrl:o}}]});return t.length>0?t:void 0}function et(e){const t=Ye(Ze(e.organization)?.name),n=Ye(e.perk),i=e.badgeLabel,r=Ge(e,"category"),o=Ge(e,"categoryGroup"),s=Ge(e,"categoryGroupDisplayName"),a=Ke(e,"heroImageUrl"),l=Ke(e,"termsUrl"),c=function(e){if("object"!=typeof e||null===e)return;const t=e.shareUrl;if("string"!=typeof t)return;const n=t.trim();if(""!==n)try{const{protocol:e}=new URL(n);return"https:"===e||"http:"===e?n:void 0}catch{return}}(e),d=function(e){if("object"!=typeof e||null===e)return;const t=e.expectedDomain;if("string"!=typeof t)return;const n=t.trim().toLowerCase().replace(/^www\./,"").replace(/\.$/,""),i="[\\p{L}\\p{N}](?:[\\p{L}\\p{N}-]*[\\p{L}\\p{N}])?";return new RegExp(`^${i}(?:\\.${i})+$`,"u").test(n)?n:void 0}(e),u=function(e){const t=Ze(e);if(!t)return;const n=Object.entries(t).filter(e=>"string"==typeof e[1]&&[...e[1]].some(e=>!Qe.has(e)));return n.length>0?Object.fromEntries(n):void 0}(e.displayProperties);return{...t&&{merchantName:t},...n&&{perk:n},...("free_trial"===i||"discount"===i)&&{badgeLabel:i},...void 0!==r&&{category:r},...void 0!==o&&{categoryGroup:o},...void 0!==s&&{categoryGroupDisplayName:s},...void 0!==a&&{heroImageUrl:a},...void 0!==l&&{termsUrl:l},...void 0!==c&&{shareUrl:c},...void 0!==d&&{expectedDomain:d},...void 0!==u&&{displayProperties:u}}}function tt(e,t,n,i){const r=Ze(e.organization),o=E(Ye(n.logoUrl),Ye(r?.logoUrl)),s=Ye(n.primaryImageUrl),a=Xe(n.trackingParameters),l=E(Ye(n.ctaText)),c=Ye(n.description);return{id:i,title:Ye(n.title)??"",description:Ye(n.quickInstructions)??Ye(n.subtitle)??Ye(n.description)??"",...s&&{imageUrl:s},...l&&{ctaText:l},advertiserUrl:Ye(n.destinationUrl)??Ye(e.destinationUrl)??"",campaignId:t,creativeId:i,quickInstructions:Ye(n.quickInstructions)??"",...c&&{creativeDescription:c},instructions:Je(n.instructions)??[],tooltipText:Ye(n.tooltipText)??"",...et(e),...o&&{logoUrl:o},...a&&{trackingParameters:a}}}function nt(e){const t=Ye(e.id);if(!t)return null;const n=Array.isArray(e.creatives)?e.creatives:[];for(const i of n){const n=Ze(i),r=Ye(n?.id);if(n&&r&&(void 0===n?.status||"active"===n.status))return tt(e,t,n,r)}return function(e,t){const n=Ze(e.organization),i=E(Ye(e.destinationUrl)),r=Xe(e.trackingParameters,!0),o=E(Ye(e.title),Ye(n?.name));if(!i||!r||!o)return null;const s=E(Ye(e.logoUrl),Ye(n?.logoUrl)),a=E(Ye(e.quickInstructions)),l=E(Ye(e.ctaText)),c=Ye(e.description);return{id:t,title:o,description:a??E(Ye(e.subtitle),Ye(e.description))??"",...l&&{ctaText:l},advertiserUrl:i,campaignId:t,quickInstructions:a??"",...c&&{creativeDescription:c},instructions:Je(e.instructions)??[],tooltipText:E(Ye(e.tooltipText))??"",...et(e),...s&&{logoUrl:s},trackingParameters:r}}(e,t)}function it(e){const t=[];for(const n of e??[]){const e=Ze(n),i=e&&nt(e);i&&t.push(i)}return t}function rt(e,t){return e.length<=t?e:e.slice(0,t-15)+"... [truncated]"}function ot(e,t,n){return rt(""===e.trim()?n:e,t)}function st(e,t){return Object.assign(e,{code:t})}const at=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;class lt{#Ee;#Se;#Te;constructor(e,t){this.#Ee=e,this.#Se=t,this.#Te=new Map}setApiKey(e){this.#Ee=e}setBaseURL(e){this.#Se=e}async get(e,t){return this.#Ae({url:`${this.#Se}${e}`,options:{method:"GET",...t},apiKey:this.#Ee})}async post(e,t,n){return this.#Ae({url:`${this.#Se}${e}`,options:{method:"POST",body:t,...n},apiKey:this.#Ee})}async patch(e,t,n){return this.#Ae({url:`${this.#Se}${e}`,options:{method:"PATCH",body:t,...n},apiKey:this.#Ee})}async#Ae(e){const{url:t,options:n,apiKey:i}=e,r=this.#Le(t,n),o=this.#Te.get(r);if(o)return u.debug("Deduplicating request:",t),o;const s=this.#Ne(t,n,i);this.#Te.set(r,s);try{return await s}finally{this.#Te.delete(r)}}async#Ne(e,t,n){const i=t.retries??3;let r=null;for(let o=0;o<=i;o++)try{if(o>0){const e=1e3*Math.pow(2,o-1);u.debug(`Retrying request (attempt ${o}/${i}) after ${e}ms`),await this.#E(e)}return await this.#Oe(e,t,n)}catch(e){if(r=e,this.#Me(e))throw e;if(o===i)throw u.error(`Request failed after ${i} retries:`,e),e;u.warn("Request failed, will retry:",e)}throw r??new Error("Request failed")}async#Oe(t,n,i){const r=n.timeout??3e4,o=new AbortController,s=setTimeout(()=>o.abort(),r);try{const e={"X-API-Key":i,"X-Platform":"web","Content-Type":"application/json","User-Agent":`Encore-Web-SDK/${_e}`,...n.headers},r={method:n.method,headers:e,signal:o.signal};n.body&&(r.body=JSON.stringify(n.body)),u.debug(`${n.method} ${t}`);const s=await fetch(t,r);return s.ok||await this.#Ue(s),await s.json()}catch(t){if(t instanceof Error){if("AbortError"===t.name)throw st(new Error("Request timeout"),e.TIMEOUT);if(this.#Re(t))throw st(new Error(`Network error: ${t.message}`),e.NETWORK_ERROR)}if(t instanceof Error)throw t;throw st(new Error(String(t)),e.UNKNOWN_ERROR)}finally{clearTimeout(s)}}async#Ue(t){let n,i=`HTTP ${t.status}: ${t.statusText}`;try{const e=await t.json();"object"==typeof e&&null!==e&&"string"==typeof e.error&&(i=e.error,n="string"==typeof e.code?e.code:void 0)}catch{}const r={code:n??e.API_ERROR,statusCode:t.status,message:i},o=new Error(i);throw Object.assign(o,r),o}#Me(e){if("object"==typeof e&&null!==e&&"statusCode"in e&&void 0!==e.statusCode){const t=e.statusCode;return t>=400&&t<500}return!1}#Re(e){return e.message.includes("fetch")||e.message.includes("network")||e.message.includes("ECONNREFUSED")||e.message.includes("ETIMEDOUT")}#Le(e,t){const n=t.body?JSON.stringify(t.body):"";return`${t.method}:${e}:${n}`}#E(e){return new Promise(t=>setTimeout(t,e))}#Pe(e){switch(e){case"pending_conversion":case"provisional_granted":default:return"pending";case"verified":case"final_granted":return"verified";case"expired":case"failed":return"failed"}}async fetchOffers(e,t,n,i,o){try{const s=S(n),a=o?.variantId??o?.wireVariantId,l=o?.useCase,c="prefetch"===o?.purpose?{retries:0}:void 0;return{offers:it((await this.post("/offers/search",{userId:e,attributes:t,platform:"web",sdkVersion:_e,...s&&{placementId:s},...void 0!==i&&{maxPostbackTimeMs:i},...a&&at.test(a)&&{variantId:a},...l&&"reduceChurn"!==l&&{useCase:r(l)},..."prefetch"===o?.purpose&&{purpose:o.purpose}},c)).offers)}}catch(e){throw u.error("Failed to fetch offers:",e),e}}async startTransaction(e,t,n){try{return await this.post("/transactions",{campaignId:e,userId:t,...n&&"reduceChurn"!==n&&{useCase:r(n)}})}catch(e){throw te(e)||u.error("Failed to start transaction:",e),e}}async sendGrantSignal(e,t){try{const n=function(e){return He("/transactions/:transactionId/signals",{transactionId:e})}(e);return(await this.post(n,{grantType:t})).success}catch(e){throw u.error("Failed to send grant signal:",e),e}}async fetchEntitlements(e){try{const t=await this.get(`/entitlements?userId=${encodeURIComponent(e)}`),n=[],i=[{details:t.provisional,scope:"provisional"},{details:t.verified,scope:"verified"}];for(const{details:e,scope:t}of i)if(e){if(e.freeTrial&&n.push({type:"freeTrial",transactionId:"",scope:t,grantedAt:e.freeTrial.startedAt??"",expiresAt:e.freeTrial.expiresAt??""}),e.discounts)for(const i of e.discounts)n.push({type:"discount",value:i.value,unit:i.unit,transactionId:"",scope:t,grantedAt:"",expiresAt:i.expiresAt??""});e.credits&&n.push({type:"credit",value:e.credits.totalAmount,unit:"dollars",transactionId:"",scope:t,grantedAt:"",expiresAt:e.credits.expiresAt??""})}return u.debug("Transformed entitlements response",{totalCount:n.length}),n}catch(e){throw u.error("Failed to fetch entitlements:",e),e}}async checkVerificationStatus(e,t={}){try{const n=function(e){return He("/transactions/:transactionId/status",{transactionId:e})}(e),i=await this.get(n,t.quiet?{retries:0}:void 0);return{status:this.#Pe(i.status),raw:i.status}}catch(e){throw t.quiet?u.debug("Failed to check verification status:",e):u.error("Failed to check verification status:",e),e}}async initUser(e,t){try{return await this.post("/users",{userId:e,...t&&{attributes:t}})}catch(e){throw u.error("Failed to init user:",e),e}}async identifyUser(e,t,n){try{return await this.patch("/users/identify",{currentUserId:e,newUserId:t,...n&&{attributes:n}})}catch(e){throw u.error("Failed to identify user:",e),e}}async fetchConfig(e,t,n,i,o,s){try{const a=`${je}?userId=${encodeURIComponent(e)}&sdkVersion=${encodeURIComponent(t)}`+(n&&"reduceChurn"!==n?`&useCase=${encodeURIComponent(r(n))}`:"")+(i?`&demoVariant=${encodeURIComponent(i)}`:"")+(o?`&placementId=${encodeURIComponent(o)}`:"")+(s?`&language=${encodeURIComponent(s)}`:"");return await this.get(a)}catch(e){throw u.error("Failed to fetch config:",e),e}}async fetchTriggerConfig(e,t,n,i){const o=S(i.placementId),s=`${je}?userId=${encodeURIComponent(e)}&sdkVersion=${encodeURIComponent(t)}&trigger=${encodeURIComponent(n)}&useCase=${encodeURIComponent(r(i.useCase))}`+(o?`&placementId=${encodeURIComponent(o)}`:"")+(i.language?`&language=${encodeURIComponent(i.language)}`:"")+(i.layout?`&layout=${encodeURIComponent(i.layout)}`:"")+("off"===i.autoOpen?"&autoOpen=off":"")+(i.state?`&state=${encodeURIComponent(i.state)}`:"");return this.get(s,{timeout:1e4,retries:0})}async reportError(e){try{const n="undefined"!=typeof window?window.location.hostname:"unknown";await this.post("/errors",{errorType:rt(e.errorType,100),message:ot(e.message,2e3,"Unknown error"),context:rt(e.context,200),severity:e.severity??"error",timestamp:(new Date).toISOString(),platform:"web",sdkVersion:_e,appBundleId:ot(n,200,"unknown"),...e.stackTrace&&{stackTrace:rt(e.stackTrace,1e4)},...e.userId&&{userId:rt(e.userId,200)},...e.metadata&&{metadata:(t=e.metadata,Object.fromEntries(Object.entries(t).map(([e,t])=>[e,rt(t,500)])))}},{retries:0})}catch(e){u.error("Failed to report error (non-blocking):",e)}var t}async revokeEntitlements(e){try{return(await this.post("/entitlements/revoke",{userId:e})).success}catch(e){throw u.error("Failed to revoke entitlements:",e),e}}}const ct="unknown",dt="android",ut="ipados",ht="windows",pt=["googlebot","bingbot","headlesschrome","prerender","applebot","pinterestbot","adsbot","mediapartners-google","gptbot","claudebot","yandexbot","duckduckbot","ahrefsbot","semrushbot","bytespider","lighthouse","inspectiontool"];function ft(){const e="undefined"!=typeof screen?screen:void 0;return!(!e||"number"!=typeof e.width||"number"!=typeof e.height)&&Math.min(e.width,e.height)>0&&Math.min(e.width,e.height)<500}function mt(e){return{agentType:"browser",deviceOs:e}}let gt;function bt(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function yt(e){const t={};for(const[n,i]of Object.entries(e))t[bt(n)]=i;return t}function vt(e,t=ne(),n){const i="undefined"!=typeof window?window.location.hostname:"unknown",r=(gt??=function(){const e=e=>({agentType:e,deviceOs:null});try{if("undefined"==typeof window||"undefined"==typeof navigator)return e(ct);const n=navigator.userAgent;if("string"!=typeof n||""===n.trim())return e(ct);const i=n.trim().toLowerCase();if(pt.some(e=>i.includes(e)))return e("bot");if(i.includes("windows phone"))return mt(ht);if(i.includes("android"))return mt(dt);if(i.includes("iphone")||i.includes("ipod"))return mt("ios");if(i.includes("ipad"))return mt(ut);if(i.includes("macintosh")||i.includes("mac os x"))return mt("number"!=typeof(t=navigator.maxTouchPoints)?"macos_or_ipados":t<=1?"macos":ft()?"ios":ut);if(i.includes("windows"))return mt(ht);if(i.includes("linux")&&"number"==typeof navigator.maxTouchPoints&&navigator.maxTouchPoints>1){if("android"===function(){const e=navigator,t=e.userAgentData?.platform;return"string"==typeof t?t.toLowerCase():void 0}())return mt(dt);if(ft())return mt(dt)}return mt("other")}catch{return e(ct)}var t}(),gt),o=e.locale??Ee();return{event_id:t,event_name:e.name,event_timestamp:(new Date).toISOString(),distinct_id:e.distinctId,properties:{...yt(e.properties),platform:"web",agent_type:r.agentType,device_os:r.deviceOs,sdk_version:_e,app_bundle_id:i,...n?{demo_variant:n}:{},...o?{locale:o}:{}}}}function wt(e,t,n,i){return fetch(`${e}/events`,{method:"POST",...i?.keepalive&&{keepalive:!0},headers:{"X-Analytics-Key":t,"X-Platform":"web","Content-Type":"application/json"},body:JSON.stringify(n)})}const xt=new Set(["user_identified"]);class kt{#Ee;#Fe;#f;#ze=null;constructor(e,t,n){this.#Ee=e,this.#Fe=t,this.#f=n??null}setDemoVariant(e){this.#ze=e}track(e,t){try{if(this.#Be(e))return;const n=vt(e,void 0,this.#ze);wt(this.#Fe,this.#Ee,n,t).catch(t=>{u.warn("Analytics event dispatch failed",{eventName:e.name,error:t})})}catch{}}#Be(e){if(!this.#f||!xt.has(e.name))return!1;const t=`analytics_dedup_${e.name}_${e.distinctId}`;try{const e=this.#f.get(t),n=Date.now();return"number"==typeof e&&n-e<864e5||(this.#f.set(t,n),!1)}catch{return!1}}}async function $t(e,t){const n=`${e}:${t}`,i=(new TextEncoder).encode(n),r=new Uint8Array(await crypto.subtle.digest("SHA-256",i));let o=0n;for(let e=0;e<8;e++)o=o<<8n|BigInt(r[e]??0);return Number(o%100n)}const Ct="ncl_assignment",It="ncl_exposure_marker";class Et{#f;#De;#je;#n=null;constructor(e,t,n){this.#f=e,this.#De=t,this.#je=n}setConfig(e){this.#n=e??null}async getCohort(){try{return await this.#He()}catch(e){return u.warn("[Experiment] getCohort failed — treating as notEnrolled",e),"notEnrolled"}}async#He(){const e=this.#De();if(!e)return"notEnrolled";const t=this.#n;if(!t?.enabled)return"notEnrolled";const n=this.#f.get(Ct);if(n?.appAccountId===e&&n?.assignmentVersion===t.assignmentVersion)return n.cohort;if("undefined"==typeof crypto||!crypto.subtle)return u.warn("[Experiment] NCL disabled — crypto.subtle unavailable (page is not a secure context: serve over HTTPS)"),"notEnrolled";const i=await $t(e,t.assignmentVersion),r=function(e,t){return e<t?"treatment":"control"}(i,t.rolloutPct);return this.#f.set(Ct,{cohort:r,appAccountId:e,assignmentVersion:t.assignmentVersion}),u.debug("[Experiment] Assigned NCL cohort",{cohort:r,version:t.assignmentVersion,rolloutPct:t.rolloutPct,bucket:i}),r}logExposure(e){if("notEnrolled"===e)return;const t=this.#n,n=this.#De();if(!t||!n)return;const i=`${n}:${t.assignmentVersion}`;if(this.#f.get(It)===i)return;const r=function(e,t){return{name:"sdk_experiment_exposure",distinctId:e,properties:{experiment:t.experiment,cohort:t.cohort,assignment_version:t.assignmentVersion,app_account_id:e}}}(n,{experiment:"ncl",cohort:e,assignmentVersion:t.assignmentVersion}),o=ne();this.#je.enqueue(r,o)&&this.#f.set(It,i)}async getState(){const e=this.#De(),t=this.#n,n=await this.getCohort();let i=null;if(e&&t?.enabled&&"undefined"!=typeof crypto&&crypto.subtle)try{i=await $t(e,t.assignmentVersion)}catch{i=null}const r=!!e&&!!t&&this.#f.get(It)===`${e}:${t.assignmentVersion}`;return{experiment:"ncl",enabled:t?.enabled??!1,rolloutPct:t?.rolloutPct??null,assignmentVersion:t?.assignmentVersion??null,appAccountId:e,bucket:i,cohort:n,exposureLogged:r}}}class St{#Ee;#Fe;#f;#_e;#L=new Set;#ze=null;constructor(e,t,n,i){this.#Ee=e,this.#Fe=t,this.#f=n,this.#_e=i,this.#Z()}setDemoVariant(e){this.#ze=e}enqueue(e,t){const n=vt(e,t,this.#ze),i=this.#Ve();i.some(e=>e.event_id===t)||(i.push(n),this.#qe(i));const r=this.#Ve().some(e=>e.event_id===t);return this.#We(n),r}flush(){for(const e of this.#Ve())this.#We(e)}async#We(e){if(!this.#L.has(e.event_id)){this.#L.add(e.event_id);try{const t=await wt(this.#Fe,this.#Ee,e,{keepalive:!0});t.ok?this.#Ge(e.event_id):u.warn("Reliable delivery non-OK, will retry",{status:t.status})}catch(e){u.warn("Reliable delivery failed, will retry",{error:e})}finally{this.#L.delete(e.event_id)}}}#Ge(e){const t=this.#Ve().filter(t=>t.event_id!==e);this.#qe(t)}#Ve(){return this.#f.get(this.#_e)??[]}#qe(e){this.#f.set(this.#_e,e)}#Z(){"undefined"!=typeof window&&"undefined"!=typeof document&&(window.addEventListener("pagehide",()=>this.flush()),document.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&this.flush()}))}}const Tt="ncl_exposure_outbox";class At extends St{constructor(e,t,n){super(e,t,n,Tt)}}const Lt="diagnostics_outbox";class Nt extends St{constructor(e,t,n){super(e,t,n,Lt)}}const Ot={userClosedModal:"close_button",userClickedOutside:"dismissed",userDeclinedLastOffer:"last_offer_declined"},Mt={advertiserOutcome:"not_attempted",publisherOutcome:"not_attempted",dismissal:"dismissed"};function Ut(e,t){if("claimed"===e.status)return{resolution:"presented",...Mt,advertiserOutcome:t?.advertiserOutcome??"claimed",dismissal:t?.dismissal??"flow_completed",campaignId:e.campaignId,offerId:e.offerId,...void 0!==e.transactionId&&{transactionId:e.transactionId}};if("unavailable"===e.status)return{resolution:"not_presented",notPresentedReason:t?.notPresentedReason??"error.unknown_error"};const n=e.reason;return t?void 0!==t.notPresentedReason?{resolution:"not_presented",notPresentedReason:t.notPresentedReason}:{resolution:"presented",...Mt,...void 0!==t.advertiserOutcome&&{advertiserOutcome:t.advertiserOutcome},...void 0!==t.dismissal&&{dismissal:t.dismissal}}:n?"string"==typeof n?"alreadyPresenting"===n?{resolution:"not_presented",notPresentedReason:"already_presenting"}:"notConfigured"===n?{resolution:"not_presented",notPresentedReason:"not_configured"}:{resolution:"presented",...Mt,...void 0!==Ot[n]&&{dismissal:Ot[n]}}:{resolution:"not_presented",notPresentedReason:(i=n.error.code,`error.${i.toLowerCase()}`)}:{resolution:"presented",...Mt};var i}class Rt{#Ke;constructor(){this.#Ke=new Map}on(e,t){this.#Ke.has(e)||this.#Ke.set(e,new Set);const n=this.#Ke.get(e);if(!n)throw new Error(`Failed to get handlers for event '${String(e)}'`);return n.add(t),u.debug(`Event listener added for '${String(e)}'`),()=>{this.off(e,t)}}off(e,t){const n=this.#Ke.get(e);n&&(n.delete(t),u.debug(`Event listener removed for '${String(e)}'`),0===n.size&&this.#Ke.delete(e))}emit(e,t){const n=this.#Ke.get(e);if(n&&0!==n.size){u.debug(`Emitting event '${String(e)}'`,{listenerCount:n.size});for(const i of n)try{i(t)}catch(t){u.error(`Error in event handler for '${String(e)}':`,t)}}}removeAllListeners(e){e?(this.#Ke.delete(e),u.debug(`All listeners removed for '${String(e)}'`)):(this.#Ke.clear(),u.debug("All event listeners removed"))}listenerCount(e){return this.#Ke.get(e)?.size??0}hasListeners(e){const t=this.#Ke.get(e);return void 0!==t&&t.size>0}}const Pt=[320,640,960,1280],Ft=["/creatives/","/apps/","/campaigns/","/organizations/","/sdk-assets/","/website-assets/"],zt=96;function Bt(e,t){return`${e.origin}/w/${t}${e.pathname}${e.search}`}function Dt(e){try{const t=new URL(e);return"assets.encorekit.com"===t.hostname&&Ft.some(e=>t.pathname.startsWith(e))?t:void 0}catch{return}}function jt(e,t,n){const i=Dt(e);if(!i)return e;const r=t*(n>0?n:1),o=Math.max(...Pt);return Bt(i,Pt.find(e=>e>=r)??o)}const Ht=new WeakMap;function _t(e,t,n,i=!0,r=!0){i?e.setAttribute("loading","lazy"):e.removeAttribute("loading"),e.setAttribute("decoding","async");const o=function(e){const t=Dt(e);if(t)return Pt.map(e=>`${Bt(t,e)} ${e}w`).join(", ")}(t);if(o?(e.setAttribute("sizes",`${n}px`),e.setAttribute("srcset",o)):Yt(e),e.src=jt(t,n,window.devicePixelRatio||1),function(e,t){const n=Ht.get(e);if(n&&e.removeEventListener("error",n,!0),Ht.delete(e),!t)return;const i=n=>{e.removeEventListener("error",i,!0),Ht.delete(e),n.stopImmediatePropagation(),Yt(e),e.src=t};Ht.set(e,i),e.addEventListener("error",i,!0)}(e,o?We(t):void 0),Kt(e),r){const n=Qt(t),i=n.some(e=>qt.has(e))||e.complete&&e.naturalWidth>0;n.forEach(e=>Vt.set(e,i))}}const Vt=new Map,qt=new Set,Wt=new Set,Gt=new WeakSet;function Kt(e){Gt.has(e)||(Gt.add(e),e.addEventListener("load",()=>{const t=e.currentSrc||e.src;e.naturalWidth>0&&(qt.add(t),Wt.delete(t))}),e.addEventListener("error",()=>Wt.add(e.currentSrc||e.src)))}const Zt=new Map;function Yt(e){e.removeAttribute("srcset"),e.removeAttribute("sizes")}function Xt(e,t){const n=We(e);n&&_t(new Image,n,t,!1,!1)}function Qt(e){const t=Dt(e),n=new URL(e).href;return t?[n,...Pt.map(e=>Bt(t,e))]:[n]}function Jt(e){try{const t=Array.from(function(e){const t=new Set;for(const n of e){const e=We(n);e&&Qt(e).forEach(e=>t.add(e))}return t}([e.imageUrl?.trim()?e.imageUrl:e.logoUrl]));if(0===t.length)return;const n=t.map(e=>Vt.get(e)).filter(e=>void 0!==e);if(n.length>0)return n.some(Boolean);const i=[...Array.from(document.images),...Zt.values()].filter(e=>t.includes(e.currentSrc||e.src));return!!i.some(e=>e.complete&&e.naturalWidth>0)||!(i.length>0||t.some(e=>Wt.has(e)))&&(!!t.some(e=>qt.has(e))||void 0)}catch{return}}const en=16;function tn(e,t,n){return Math.min(n,Math.max(t,e))}function nn(e,t,n){return(.2126*e+.7152*t+.0722*n)/255}function rn(e,t,n){const i=e/255,r=t/255,o=n/255,s=Math.max(i,r,o),a=Math.min(i,r,o),l=(s+a)/2,c=s-a;return 0===c?{h:0,s:0,l:l}:{h:((s===i?(r-o)/c%6*60:s===r?60*((o-i)/c+2):60*((i-r)/c+4))%360+360)%360,s:c/(1-Math.abs(2*l-1)),l:l}}function on(e,t,n){return function(e,t,n){const i=(1-Math.abs(2*n-1))*t,r=(e%360+360)%360/60,o=i*(1-Math.abs(r%2-1)),[s,a,l]=r<1?[i,o,0]:r<2?[o,i,0]:r<3?[0,i,o]:r<4?[0,o,i]:r<5?[o,0,i]:[i,0,o],c=n-i/2,d=e=>Math.round(tn(255*(e+c),0,255)).toString(16).padStart(2,"0");return`#${d(s)}${d(a)}${d(l)}`}(e,tn(t,.45,.95),tn(n,.45,.62))}const sn=/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,an=/^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(\s*[0-9a-z.,%\s/+-]{1,80}\)$/i,ln=/^[a-z]{3,24}$/i,cn=/^var\(\s*--[a-z0-9_-]{1,60}\s*(?:,[a-z0-9#%.,\s-]{0,60})?\)$/i,dn=/^[a-z0-9\s,'"_\-\u00C0-\u024F\u1E00-\u1EFF]{1,128}$/i,un=/^(?:0|-?(?:\d{1,5}|\d{0,5}\.\d{1,3})(?:px|rem|em|%|pt|vh|vw|ch|ex))$/i,hn=/^(?:normal|bold|lighter|bolder)$/i,pn=new Set(["left","center","right","start","end"]),fn=/\/\*|\*\/|[;{}<>\\]/;function mn(e,t){u.warn(`[Encore SDK] Ignoring unsupported ${e} appearance value`,{value:t})}function gn(e){if(null==e)return;if("string"!=typeof e)return null;const t=e.trim();return 0!==t.length?t.length>128||fn.test(t)?null:t:void 0}function bn(e){const t=gn(e);if(void 0!==t)return null===t?mn("colour",e):sn.test(t)||an.test(t)||ln.test(t)||cn.test(t)?t:mn("colour",e)}function yn(e){const t=gn(e);if(void 0!==t)return null===t?mn("font-family",e):dn.test(t)?t:mn("font-family",e)}function vn(e){const t=gn(e);if(void 0!==t)return null===t?mn("length",e):un.test(t)?t:mn("length",e)}function wn(e){if(null==e)return;if("number"==typeof e)return Number.isInteger(e)&&e>=1&&e<=1e3?String(e):mn("font-weight",e);const t=gn(e);if(void 0===t)return;if(null===t)return mn("font-weight",e);if(hn.test(t))return t;const n=Number(t);return Number.isInteger(n)&&n>=1&&n<=1e3?t:mn("font-weight",e)}const xn="encore-sdk-styles",kn="encore-",$n="767px",Cn="#B728F5";function In(e){const t={},n=bn(e.primaryColor),i=bn(e.backgroundColor),r=bn(e.textColor),o=vn(e.borderRadius),s=yn(e.fontFamily);return n&&(t.primaryColor=n),i&&(t.backgroundColor=i),r&&(t.textColor=r),o&&(t.borderRadius=o),s&&(t.fontFamily=s),t}const En="12px",Sn="20px",Tn="40px";function An(e={}){if(document.getElementById(xn))u.debug("Encore styles already injected");else try{const t=document.createElement("style");t.id=xn,t.textContent=function(e={}){const t=In(e),n=function(e){const t=[];return e.primaryColor&&t.push(`--encore-primary-color: ${e.primaryColor};`),e.backgroundColor&&t.push(`--encore-bg-color: ${e.backgroundColor};`),e.textColor&&t.push(`--encore-text-color: ${e.textColor};`),e.borderRadius&&t.push(`--encore-border-radius: ${e.borderRadius};`),e.fontFamily&&t.push(`--encore-font-family: ${e.fontFamily};`),t.join("\n ")}(t);return`\n \n :root {\n ${n||"/* No custom theme variables */"}\n --encore-primary-color: ${t.primaryColor??"#4F46E5"};\n --encore-bg-color: ${t.backgroundColor??"#ffffff"};\n --encore-text-color: ${t.textColor??"#1F2937"};\n --encore-text-muted: color-mix(in srgb, var(--encore-text-color) 60%, transparent);\n \n --encore-text-secondary: color-mix(in srgb, var(--encore-text-color) 78%, transparent);\n --encore-surface-color: color-mix(in srgb, var(--encore-text-color) 5%, var(--encore-bg-color));\n --encore-border-color: color-mix(in srgb, var(--encore-text-color) 10%, var(--encore-bg-color));\n --encore-border-radius: ${t.borderRadius??"12px"};\n \n --encore-success-color: #159a5b;\n --encore-font-family: ${t.fontFamily??'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'};\n }\n\n \n .${kn}backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.55);\n backdrop-filter: blur(2px);\n z-index: 9998;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .${kn}backdrop.${kn}visible {\n opacity: 1;\n }\n\n \n .${kn}modal,\n .${kn}modal *,\n .${kn}backdrop {\n box-sizing: border-box;\n }\n\n \n .${kn}modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 9999;\n background-color: var(--encore-bg-color);\n border-radius: 20px;\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.18), 0 12px 24px -8px rgba(0, 0, 0, 0.08);\n max-width: 800px;\n max-height: 90vh;\n width: calc(100% - 32px);\n overflow-x: hidden;\n overflow-y: auto;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.96);\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);\n font-family: var(--encore-font-family);\n color: var(--encore-text-color);\n \n font-size: 16px;\n font-weight: 400;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: normal;\n word-spacing: normal;\n text-align: start;\n text-transform: none;\n text-indent: 0;\n white-space: normal;\n text-shadow: none;\n }\n\n .${kn}modal.${kn}visible {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n \n @media (min-width: 768px) {\n .${kn}modal.${kn}modal-sdui {\n \n width: min(720px, 86vw, 86vh);\n height: min(720px, 86vw, 86vh);\n \n --sdui-container-height: min(720px, 86vw, 86vh);\n max-width: none;\n max-height: none;\n background-color: #ffffff;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .${kn}modal.${kn}modal-sdui .${kn}modal-body {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n }\n \n .${kn}modal.${kn}modal-sdui.${kn}modal-fit {\n height: auto;\n max-height: min(720px, 86vw, 86vh);\n }\n \n .${kn}backdrop.${kn}backdrop-sdui {\n background-color: var(--encore-sdui-backdrop, #f2f2f7);\n backdrop-filter: blur(12px);\n }\n }\n\n \n @media (max-width: ${$n}) {\n .${kn}modal.${kn}modal-sheet {\n top: auto;\n bottom: 0;\n height: calc(var(--encore-sheet-fraction, 1) * 100vh);\n height: calc(var(--encore-sheet-fraction, 1) * 100dvh);\n border-radius: var(--encore-sheet-radius, 20px) var(--encore-sheet-radius, 20px) 0 0;\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1),\n height 300ms cubic-bezier(0.2, 0.8, 0.2, 1);\n touch-action: pan-x;\n }\n .${kn}modal.${kn}modal-sheet[data-sheet-dragging] {\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n }\n\n \n [data-sdui-locked] [data-sdui-close] {\n display: none !important;\n }\n\n [data-sdui="button"]:focus,\n [data-sdui-part="tap"]:focus {\n outline: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n [data-sdui="button"]:focus-visible,\n [data-sdui-part="tap"]:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n }\n\n \n .${kn}toast {\n position: fixed;\n left: 50%;\n bottom: calc(24px + env(safe-area-inset-bottom));\n transform: translate(-50%, 8px);\n z-index: 10000;\n max-width: calc(100vw - 32px);\n padding: 10px 16px;\n border-radius: 999px;\n background: rgba(28, 28, 30, 0.92);\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 1.3;\n text-align: center;\n pointer-events: none;\n opacity: 0;\n transition: opacity 200ms ease, transform 200ms ease;\n }\n .${kn}toast.${kn}toast-visible {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n @media (prefers-reduced-motion: reduce) {\n .${kn}toast { transition: none; }\n }\n\n \n .${kn}close-button {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n width: 40px;\n height: 40px;\n border: none;\n background-color: var(--encore-surface-color);\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--encore-text-muted);\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n z-index: 10;\n }\n\n .${kn}close-button:hover {\n background-color: var(--encore-bg-color);\n color: var(--encore-text-color);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n transform: scale(1.05);\n }\n\n .${kn}close-button:active {\n transform: scale(0.98);\n }\n\n .${kn}close-button:hover {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${kn}close-button svg {\n width: 18px;\n height: 18px;\n }\n\n \n body.${kn}no-scroll {\n overflow: hidden;\n }\n\n \n .${kn}modal-header {\n padding: 24px 24px 16px;\n border-bottom: 1px solid var(--encore-border-color);\n }\n\n .${kn}modal-title {\n margin: 0;\n font-size: 24px;\n font-weight: 700;\n line-height: 1.25;\n color: var(--encore-text-color);\n }\n\n .${kn}modal-subtitle {\n margin: 8px 0 0;\n font-size: 14px;\n color: var(--encore-text-muted);\n line-height: 1.5;\n }\n\n \n .${kn}modal-body {\n padding: 0;\n position: relative;\n isolation: isolate;\n }\n\n \n .${kn}carousel {\n display: flex;\n flex-direction: column;\n overflow: visible;\n }\n\n \n .${kn}carousel-header {\n padding: 40px 68px 28px;\n text-align: center;\n }\n\n .${kn}carousel-title {\n font-size: 32px;\n font-weight: 510;\n line-height: 1.1;\n color: var(--encore-text-color);\n margin: 0 0 8px 0;\n letter-spacing: -0.3px;\n }\n\n .${kn}carousel-subtitle {\n font-size: 16px;\n line-height: 1.2;\n color: var(--encore-text-color);\n margin: 0;\n font-weight: 400;\n }\n\n \n .${kn}carousel-cards {\n display: flex;\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n gap: 24px;\n padding: 24px 78px;\n position: relative;\n }\n\n .${kn}carousel-cards::-webkit-scrollbar {\n display: none;\n }\n\n \n .${kn}carousel-item {\n flex: 0 0 426px;\n width: 426px;\n scroll-snap-align: center;\n scroll-snap-stop: always;\n opacity: 0.5;\n transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);\n pointer-events: auto;\n }\n\n \n .${kn}carousel-item.${kn}active {\n opacity: 1;\n z-index: 1;\n }\n\n \n .${kn}offer-card {\n display: flex;\n flex-direction: column;\n background: var(--encore-bg-color);\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(116, 112, 133, 0.16);\n overflow: hidden;\n }\n\n \n .${kn}offer-banner {\n width: 100%;\n background-color: transparent;\n position: relative;\n padding: 0;\n height: 180px;\n overflow: hidden;\n border-radius: 16px 16px 0 0;\n }\n\n .${kn}offer-banner-image {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: cover;\n background-color: var(--encore-surface-color);\n opacity: 0;\n transition: opacity 200ms ease-out;\n }\n\n .${kn}offer-banner-image.${kn}loaded {\n opacity: 1;\n }\n\n .${kn}offer-card .${kn}offer-banner.${kn}offer-banner-logo {\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--encore-surface-color);\n }\n\n .${kn}offer-banner.${kn}offer-banner-logo .${kn}offer-banner-image {\n width: 72px;\n height: 72px;\n object-fit: contain;\n border-radius: 16px;\n }\n\n \n .${kn}banner-info-button {\n position: absolute;\n top: 20px;\n inset-inline-end: 20px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background-color: var(--encore-surface-color);\n backdrop-filter: blur(6px);\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 150ms ease;\n z-index: 3;\n padding: 0;\n }\n\n .${kn}banner-info-button:hover {\n background-color: var(--encore-border-color);\n transform: scale(1.05);\n }\n\n .${kn}banner-info-button:focus {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${kn}banner-info-button svg {\n width: 14px;\n height: 14px;\n color: var(--encore-text-color);\n stroke-width: 2;\n }\n\n \n .${kn}tooltip {\n position: fixed;\n background-color: rgba(28, 28, 32, 0.95);\n color: #ffffff;\n padding: 8px 12px;\n border-radius: 8px;\n font-size: 12px;\n line-height: 1.4;\n font-weight: 500;\n z-index: 10000;\n pointer-events: none;\n opacity: 0;\n transform: translateY(4px);\n transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1), transform 200ms cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n white-space: normal;\n word-wrap: break-word;\n }\n\n .${kn}tooltip-visible {\n opacity: 1;\n transform: translateY(0);\n }\n\n \n .${kn}tooltip::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n }\n\n .${kn}tooltip-top::after {\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%);\n border-width: 4px 4px 0 4px;\n border-color: rgba(28, 28, 32, 0.95) transparent transparent transparent;\n }\n\n .${kn}tooltip-bottom::after {\n top: -4px;\n left: 50%;\n transform: translateX(-50%);\n border-width: 0 4px 4px 4px;\n border-color: transparent transparent rgba(28, 28, 32, 0.95) transparent;\n }\n\n .${kn}tooltip-left::after {\n right: -4px;\n top: 50%;\n transform: translateY(-50%);\n border-width: 4px 0 4px 4px;\n border-color: transparent transparent transparent rgba(28, 28, 32, 0.95);\n }\n\n .${kn}tooltip-right::after {\n left: -4px;\n top: 50%;\n transform: translateY(-50%);\n border-width: 4px 4px 4px 0;\n border-color: transparent rgba(28, 28, 32, 0.95) transparent transparent;\n }\n\n \n .${kn}offer-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-top: 1px solid var(--encore-border-color);\n gap: 12px;\n min-height: 74px;\n }\n\n \n .${kn}offer-merchant {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n }\n\n .${kn}offer-logo {\n width: 42px;\n height: 42px;\n border-radius: 8px;\n object-fit: contain;\n background-color: var(--encore-surface-color);\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 200ms ease-out;\n }\n\n .${kn}offer-logo.${kn}loaded {\n opacity: 1;\n }\n\n .${kn}offer-merchant-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1;\n min-width: 0;\n }\n\n .${kn}offer-merchant-name {\n font-size: 16px;\n font-weight: 590;\n color: var(--encore-text-color);\n line-height: 1.1;\n letter-spacing: -1px;\n }\n\n .${kn}offer-merchant-desc {\n font-size: 14px;\n color: var(--encore-text-muted);\n line-height: 1.2;\n letter-spacing: -1px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n \n .${kn}button-claim {\n padding: 8px 16px;\n min-height: 34px;\n min-width: 78px;\n font-size: 14px;\n font-weight: 590;\n border-radius: 999px;\n border: none;\n background: var(--encore-primary-color);\n color: white;\n cursor: pointer;\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n font-family: var(--encore-font-family);\n white-space: normal;\n overflow-wrap: anywhere;\n text-align: center;\n line-height: 1.2;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .${kn}button-claim:hover:not(:disabled) {\n background: color-mix(in srgb, var(--encore-primary-color) 85%, black);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--encore-primary-color) 30%, transparent);\n }\n\n .${kn}button-claim:active {\n transform: translateY(0);\n background: color-mix(in srgb, var(--encore-primary-color) 75%, black);\n }\n\n .${kn}button-claim:focus {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${kn}button-claim:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n }\n\n \n .${kn}carousel-navigation {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 40px;\n padding: 28px 32px 32px;\n }\n\n .${kn}nav-button {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n border: 1px solid var(--encore-text-muted);\n background-color: var(--encore-bg-color);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--encore-text-muted);\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 0;\n }\n\n .${kn}nav-button:hover:not(:disabled) {\n border-color: var(--encore-primary-color);\n color: var(--encore-primary-color);\n transform: scale(1.05);\n }\n\n .${kn}nav-button:active:not(:disabled) {\n transform: scale(0.95);\n }\n\n .${kn}nav-button:focus {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${kn}nav-button svg {\n width: 20px;\n height: 20px;\n stroke-width: 2;\n }\n\n .${kn}nav-button:not(:disabled) {\n border-color: var(--encore-primary-color);\n color: var(--encore-primary-color);\n }\n\n .${kn}nav-button:disabled,\n .${kn}nav-button.${kn}disabled {\n opacity: 1;\n cursor: not-allowed;\n border-color: var(--encore-text-muted);\n color: var(--encore-text-muted);\n }\n\n .${kn}nav-button:disabled:hover,\n .${kn}nav-button.${kn}disabled:hover {\n border-color: var(--encore-text-muted);\n color: var(--encore-text-muted);\n transform: none;\n }\n\n \n .${kn}loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 48px;\n }\n\n .${kn}spinner {\n width: 40px;\n height: 40px;\n border: 3px solid var(--encore-border-color);\n border-top-color: var(--encore-primary-color);\n border-radius: 50%;\n animation: ${kn}spin 0.8s linear infinite;\n }\n\n @keyframes ${kn}spin {\n to { transform: rotate(360deg); }\n }\n\n \n @media (max-width: ${$n}) {\n \n .${kn}modal {\n display: flex;\n flex-direction: column;\n inset: 0;\n top: 0;\n left: 0;\n transform: none;\n width: 100%;\n height: 100vh;\n height: 100dvh;\n max-width: none;\n max-height: none;\n border-radius: 0;\n margin: 0;\n overflow: hidden;\n }\n\n \n .${kn}modal.${kn}visible {\n transform: none;\n }\n\n \n .${kn}modal-body {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n flex-direction: column;\n }\n\n \n .${kn}carousel {\n flex: 1 1 auto;\n min-height: 0;\n overflow: hidden;\n }\n\n \n .${kn}carousel-header {\n position: sticky;\n top: 0;\n z-index: 2;\n background: var(--encore-bg-color);\n padding: calc(64px + env(safe-area-inset-top)) 24px 20px;\n }\n\n .${kn}carousel-title {\n font-size: 22px;\n }\n\n .${kn}carousel-subtitle {\n font-size: 14px;\n }\n\n \n .${kn}carousel-cards {\n flex: 1 1 auto;\n min-height: 0;\n flex-direction: column;\n overflow-x: hidden;\n overflow-y: auto;\n scroll-snap-type: none;\n overscroll-behavior: contain;\n gap: 16px;\n padding: 16px 16px calc(16px + env(safe-area-inset-bottom));\n }\n\n \n .${kn}carousel-item {\n flex: 0 0 auto;\n width: 100%;\n opacity: 1;\n scroll-snap-align: none;\n overflow: visible;\n }\n\n \n .${kn}offer-card {\n width: 100%;\n max-width: 100%;\n border-radius: 16px;\n box-shadow: 0 4px 16px rgba(116, 112, 133, 0.22);\n border: 1px solid var(--encore-border-color);\n }\n\n \n .${kn}offer-banner {\n height: auto;\n padding: 0;\n border-radius: 16px 16px 0 0;\n }\n\n .${kn}offer-banner-image {\n width: 100%;\n height: auto;\n display: block;\n }\n\n \n .${kn}offer-footer {\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 14px 16px;\n }\n\n .${kn}offer-merchant {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n \n .${kn}button-claim {\n flex: 0 0 auto;\n width: auto;\n }\n\n \n .${kn}carousel-navigation {\n display: none;\n }\n\n \n .${kn}close-button {\n top: calc(16px + env(safe-area-inset-top));\n inset-inline-end: 16px;\n }\n\n \n .${kn}carousel-paged .${kn}carousel-navigation {\n display: flex;\n }\n\n \n }\n\n \n @media (min-width: 768px) and (max-width: 1023px) {\n .${kn}modal {\n max-width: 600px;\n }\n }\n\n \n @media (min-width: 1024px) {\n .${kn}modal {\n max-width: 600px;\n }\n }\n\n \n @media (prefers-contrast: high) {\n .${kn}button {\n border: 2px solid currentColor;\n }\n }\n\n \n @media (prefers-reduced-motion: reduce) {\n .${kn}backdrop,\n .${kn}modal,\n .${kn}button,\n .${kn}close-button {\n transition: none;\n }\n\n .${kn}spinner {\n animation: none;\n }\n }\n\n \n .${kn}button:focus-visible,\n .${kn}close-button:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n\n \n \n .${kn}carousel-paged .${kn}carousel-cards {\n flex-direction: row;\n align-items: center;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n \n scroll-behavior: auto;\n gap: 12px;\n \n padding: ${Sn} 0;\n \n --encore-page-size: min(100% - 64px, 480px);\n }\n\n .${kn}carousel-paged .${kn}carousel-item {\n \n flex: 0 0 auto;\n width: var(--encore-page-size);\n max-width: 100%;\n \n opacity: 0.65;\n scroll-snap-align: center;\n scroll-snap-stop: always;\n overflow: visible;\n }\n\n \n .${kn}carousel-paged .${kn}carousel-item:first-child {\n margin-inline-start: calc((100% - var(--encore-page-size)) / 2);\n }\n\n .${kn}carousel-paged .${kn}carousel-item:last-child {\n margin-inline-end: calc((100% - var(--encore-page-size)) / 2);\n }\n\n .${kn}carousel-paged .${kn}carousel-item.${kn}active {\n opacity: 1;\n }\n\n .${kn}carousel-paged .${kn}offer-card {\n max-width: 460px;\n margin: 0 auto;\n border: 1px solid var(--encore-border-color);\n box-shadow: 0 4px 16px rgba(116, 112, 133, 0.18);\n }\n\n \n .${kn}carousel-paged .${kn}offer-banner {\n height: auto;\n }\n\n .${kn}carousel-paged .${kn}offer-banner-image {\n width: 100%;\n height: auto;\n display: block;\n }\n\n \n .${kn}carousel-paged .${kn}carousel-navigation {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 24px;\n padding: 4px 20px ${Sn};\n }\n\n .${kn}carousel-paged .${kn}nav-button {\n width: 48px;\n height: 48px;\n background-color: var(--encore-bg-color);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n }\n\n \n .${kn}carousel-paged .${kn}nav-button:not(:disabled) {\n border-color: var(--encore-border-color);\n color: var(--encore-text-color);\n }\n\n .${kn}carousel-paged .${kn}nav-button:hover:not(:disabled) {\n border-color: var(--encore-primary-color);\n color: var(--encore-primary-color);\n box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);\n }\n\n .${kn}carousel-paged .${kn}nav-button svg {\n width: 22px;\n height: 22px;\n }\n\n .${kn}carousel-paged .${kn}nav-button:disabled,\n .${kn}carousel-paged .${kn}nav-button.${kn}disabled {\n opacity: 0.35;\n box-shadow: none;\n border-color: var(--encore-border-color);\n color: var(--encore-text-muted);\n }\n\n \n \n .${kn}thankyou {\n display: flex;\n flex-direction: column;\n }\n\n \n .${kn}thankyou-status {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: ${Tn} 24px 0;\n }\n\n \n .${kn}thankyou-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: var(--encore-success-color);\n color: #ffffff;\n box-shadow: 0 0 0 12px color-mix(in srgb, var(--encore-success-color) 14%, var(--encore-bg-color));\n margin: 0 0 calc(12px + ${En});\n }\n\n .${kn}thankyou-check svg {\n width: 24px;\n height: 24px;\n }\n\n \n .${kn}thankyou-title {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n line-height: 1.25;\n letter-spacing: -0.2px;\n color: var(--encore-text-color);\n overflow-wrap: anywhere;\n }\n\n \n .${kn}thankyou-subtitle {\n margin: 4px 0 0;\n font-size: 14px;\n line-height: 1.5;\n color: var(--encore-text-muted);\n overflow-wrap: anywhere;\n }\n\n \n .${kn}thankyou .${kn}carousel-cards {\n padding-top: 16px;\n padding-bottom: ${En};\n }\n\n \n @media (max-width: ${$n}) {\n .${kn}thankyou {\n flex: 1 1 auto;\n min-height: 0;\n }\n\n .${kn}thankyou-status {\n flex: 0 0 auto;\n padding-top: calc(${Tn} + env(safe-area-inset-top));\n }\n\n .${kn}thankyou-check {\n width: 44px;\n height: 44px;\n }\n\n .${kn}thankyou .${kn}carousel {\n flex: 1 1 auto;\n min-height: 0;\n justify-content: center;\n }\n\n .${kn}thankyou .${kn}carousel-cards {\n flex: 0 1 auto;\n min-height: 0;\n }\n }\n\n \n .${kn}thankyou--reward .${kn}thankyou-title {\n font-size: 28px;\n font-weight: 600;\n line-height: 1.2;\n letter-spacing: -0.4px;\n text-align: center;\n }\n\n .${kn}thankyou--reward .${kn}thankyou-subtitle {\n font-size: 16px;\n font-weight: 400;\n line-height: 1.35;\n text-align: center;\n }\n\n .${kn}thankyou--reward .${kn}thankyou-status {\n padding-left: 20px;\n padding-right: 20px;\n }\n\n \n @media (max-width: ${$n}) {\n .${kn}thankyou--reward .${kn}carousel-cards {\n padding-left: 20px;\n padding-right: 20px;\n }\n }\n\n \n .${kn}thankyou--reward .${kn}carousel-item[aria-selected] {\n cursor: pointer;\n }\n\n \n .${kn}carousel-select:focus {\n outline: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n \n .${kn}carousel-select:focus-visible:not(.${kn}carousel-select--quiet) {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: -2px;\n border-radius: 16px;\n }\n }\n\n \n .${kn}page-indicator {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 8px;\n padding: 19px 20px 0;\n }\n\n \n .${kn}dot {\n flex: 0 0 auto;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n \n background: var(\n --encore-dot-color,\n color-mix(in srgb, #6A6D81 30%, transparent)\n );\n transition:\n background 200ms cubic-bezier(0.4, 0, 0.2, 1),\n width 200ms cubic-bezier(0.4, 0, 0.2, 1),\n height 200ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .${kn}dot.${kn}active {\n width: 10px;\n height: 10px;\n background: var(--encore-dot-active-color, var(--encore-reward-brand));\n }\n\n \n .${kn}reward-actions {\n display: flex;\n flex-direction: column;\n gap: 12px;\n \n padding: 20px 20px max(31px, env(safe-area-inset-bottom));\n }\n\n .${kn}reward-trust {\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.2;\n text-align: center;\n color: color-mix(in srgb, var(--encore-text-color) 55%, transparent);\n overflow-wrap: anywhere;\n }\n\n .${kn}reward-cta-stack {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n \n .${kn}reward-cta-primary,\n .${kn}reward-cta-secondary {\n width: 100%;\n box-sizing: border-box;\n border-radius: 100px;\n font-family: var(--encore-font-family);\n font-size: 16px;\n line-height: 1.2;\n text-align: center;\n cursor: pointer;\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n \n .${kn}reward-cta-primary:disabled,\n .${kn}reward-cta-primary[aria-disabled='true'] {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .${kn}reward-cta-primary {\n height: 51px;\n padding: 0 12px;\n border: none;\n font-weight: 700;\n background-image: linear-gradient(\n 98.22deg,\n var(--encore-reward-brand) 0%,\n var(--encore-reward-brand-deep) 100%\n );\n color: #ffffff;\n }\n\n \n .${kn}reward-cta-primary:hover {\n box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.12);\n }\n\n .${kn}reward-cta-primary:active {\n box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.2);\n }\n\n .${kn}reward-cta-secondary {\n height: 48px;\n padding: 0 12px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n font-weight: 500;\n background: transparent;\n color: #9c9c9c;\n }\n\n .${kn}reward-cta-secondary:hover {\n border-color: rgba(0, 0, 0, 0.22);\n color: var(--encore-text-color);\n }\n\n .${kn}reward-cta-primary:focus-visible,\n .${kn}reward-cta-secondary:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n \n\n \n .${kn}gift {\n display: flex;\n flex-direction: column;\n gap: 22px;\n }\n\n .${kn}gift-hero {\n position: relative;\n display: flex;\n \n align-items: flex-start;\n justify-content: center;\n height: 258px;\n flex: none;\n }\n\n .${kn}gift-box {\n position: relative;\n width: 270px;\n height: 236px;\n }\n\n .${kn}gift-box-shadow {\n position: absolute;\n left: 55px;\n top: 222px;\n width: 160px;\n height: 12px;\n border-radius: 50%;\n background: #17181c;\n opacity: 0.08;\n }\n\n .${kn}gift-box-back {\n position: absolute;\n left: 66px;\n top: 112px;\n width: 138px;\n height: 60px;\n border-radius: 12px 12px 0 0;\n background: #1233c9;\n }\n\n .${kn}gift-box-front {\n position: absolute;\n left: 60px;\n top: 134px;\n width: 150px;\n height: 90px;\n border-radius: 0 0 16px 16px;\n background: #1e43f0;\n z-index: 4;\n }\n\n \n .${kn}gift-box-front::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n width: 75px;\n height: 100%;\n border-radius: 0 0 0 16px;\n background: rgba(255, 255, 255, 0.12);\n }\n\n .${kn}gift-box-front::after {\n content: '';\n position: absolute;\n left: 66px;\n top: 0;\n width: 18px;\n height: 100%;\n background: #fff;\n }\n\n .${kn}gift-box-lid {\n position: absolute;\n left: 50px;\n top: 118px;\n width: 170px;\n height: 26px;\n border-radius: 9px;\n background: #3b63ff;\n z-index: 5;\n transform-origin: 50% 100%;\n opacity: 0;\n transform: translate(6px, -170px) rotate(-14deg);\n }\n\n .${kn}gift-box-lid::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n width: 85px;\n height: 100%;\n border-radius: 9px 0 0 9px;\n background: rgba(255, 255, 255, 0.12);\n }\n\n .${kn}gift-box-lid::after {\n content: '';\n position: absolute;\n left: 76px;\n top: 0;\n width: 18px;\n height: 100%;\n background: #fff;\n }\n\n .${kn}gift-box-bow {\n position: absolute;\n left: 85px;\n top: 98px;\n width: 100px;\n height: 36px;\n z-index: 6;\n transform-origin: 50% 100%;\n opacity: 0;\n transform: translate(6px, -170px) rotate(-14deg);\n }\n\n .${kn}gift-box-bow svg {\n display: block;\n width: 100px;\n height: 36px;\n }\n\n \n .${kn}gift-tile {\n position: absolute;\n left: 103px;\n top: 128px;\n width: 64px;\n height: 64px;\n z-index: 3;\n opacity: 1;\n }\n\n .${kn}gift-tile--t1 {\n transform: translate(-74px, -88px);\n }\n\n .${kn}gift-tile--t2 {\n transform: translate(-7px, -126px);\n }\n\n .${kn}gift-tile--t3 {\n transform: translate(72px, -88px);\n }\n\n .${kn}gift-tile-inner {\n display: grid;\n place-items: center;\n width: 100%;\n height: 100%;\n border-radius: 18px;\n overflow: hidden;\n background: #fff;\n font-size: 15px;\n font-weight: 800;\n color: #17181c;\n box-shadow: 0 14px 28px rgba(23, 24, 28, 0.16), 0 0 0 3px #fff;\n }\n\n .${kn}gift-tile--t2 .${kn}gift-tile-inner {\n width: 78px;\n height: 78px;\n border-radius: 22px;\n font-size: 18px;\n }\n\n .${kn}gift-tile--t1 .${kn}gift-tile-inner {\n transform: rotate(-12deg);\n }\n\n .${kn}gift-tile--t3 .${kn}gift-tile-inner {\n transform: rotate(12deg);\n }\n\n .${kn}gift-tile-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n \n .${kn}gift-box--solo .${kn}gift-tile--t1,\n .${kn}gift-box--solo .${kn}gift-tile--t3 {\n display: none;\n }\n\n \n .${kn}gift-hero--play .${kn}gift-box-lid,\n .${kn}gift-hero--play .${kn}gift-box-bow {\n animation: ${kn}gift-lid 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.2s both;\n }\n\n .${kn}gift-hero--play .${kn}gift-tile--t1 {\n animation: ${kn}gift-rise1 0.7s cubic-bezier(0.2, 1.2, 0.3, 1) 0.45s both;\n }\n\n .${kn}gift-hero--play .${kn}gift-tile--t2 {\n animation: ${kn}gift-rise2 0.7s cubic-bezier(0.2, 1.2, 0.3, 1) 0.38s both;\n }\n\n .${kn}gift-hero--play .${kn}gift-tile--t3 {\n animation: ${kn}gift-rise3 0.7s cubic-bezier(0.2, 1.2, 0.3, 1) 0.52s both;\n }\n\n @keyframes ${kn}gift-lid {\n from {\n opacity: 1;\n transform: none;\n }\n 60% {\n opacity: 1;\n }\n to {\n transform: translate(6px, -170px) rotate(-14deg);\n opacity: 0;\n }\n }\n\n @keyframes ${kn}gift-rise1 {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.5);\n }\n to {\n opacity: 1;\n transform: translate(-74px, -88px) scale(1);\n }\n }\n\n @keyframes ${kn}gift-rise2 {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.5);\n }\n to {\n opacity: 1;\n transform: translate(-7px, -126px) scale(1);\n }\n }\n\n @keyframes ${kn}gift-rise3 {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.5);\n }\n to {\n opacity: 1;\n transform: translate(72px, -88px) scale(1);\n }\n }\n\n \n @keyframes ${kn}gift-in {\n from {\n opacity: 0;\n visibility: hidden;\n \n pointer-events: none;\n transform: translateY(12px);\n }\n to {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n transform: translateY(0);\n }\n }\n\n \n .${kn}gift-hero--play ~ .${kn}gift .${kn}gift-row--intro {\n animation: ${kn}gift-in 0.46s cubic-bezier(0.2, 1.2, 0.3, 1) 0.62s both;\n }\n\n .${kn}gift-hero--play ~ .${kn}gift .${kn}gift-row--intro:nth-child(2) {\n animation-delay: 0.69s;\n }\n\n .${kn}gift-hero--play ~ .${kn}gift .${kn}gift-row--intro:nth-child(3) {\n animation-delay: 0.76s;\n }\n\n \n .${kn}gift-hero--play ~ .${kn}reward-actions {\n animation: ${kn}gift-in 0.46s cubic-bezier(0.2, 1.2, 0.3, 1) 0.83s both;\n }\n\n \n @media (prefers-reduced-motion: reduce) {\n .${kn}gift-hero--play .${kn}gift-box-lid,\n .${kn}gift-hero--play .${kn}gift-box-bow {\n animation: none;\n opacity: 0;\n }\n .${kn}gift-hero--play .${kn}gift-tile--t1 {\n animation: none;\n opacity: 1;\n transform: translate(-74px, -88px);\n }\n .${kn}gift-hero--play .${kn}gift-tile--t2 {\n animation: none;\n opacity: 1;\n transform: translate(-7px, -126px);\n }\n .${kn}gift-hero--play .${kn}gift-tile--t3 {\n animation: none;\n opacity: 1;\n transform: translate(72px, -88px);\n }\n .${kn}gift-row,\n .${kn}gift-sheet,\n .${kn}gift-scrim {\n transition: none;\n }\n \n .${kn}gift-hero--play ~ .${kn}gift .${kn}gift-row--intro,\n .${kn}gift-hero--play ~ .${kn}reward-actions {\n animation: none;\n }\n }\n\n \n .${kn}gift-hero .${kn}reward-confetti {\n z-index: 7;\n }\n\n \n .${kn}thankyou--gift {\n --encore-gift-accent: #163bf5;\n --encore-gift-accent-ink: #ffffff;\n --encore-gift-ink: #17181c;\n --encore-gift-muted: #6f7178;\n --encore-gift-line: #e1e3e8;\n --encore-gift-surface: #ffffff;\n --encore-gift-selected: #eaf0ff;\n \n background: linear-gradient(180deg, #f5f9ff 0%, #ffffff 46%);\n color: var(--encore-gift-ink);\n \n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n min-height: 0;\n flex: 1 1 auto;\n }\n\n \n \n .${kn}thankyou--gift .${kn}gift-sheet-layer {\n position: fixed;\n }\n\n \n .${kn}thankyou--gift .${kn}thankyou-status {\n padding-top: 0;\n }\n\n \n .${kn}gift-em {\n color: var(--encore-gift-accent);\n font-style: normal;\n }\n\n .${kn}thankyou--gift .${kn}thankyou-title {\n color: var(--encore-gift-ink);\n }\n\n .${kn}thankyou--gift .${kn}thankyou-subtitle,\n .${kn}thankyou--gift .${kn}reward-trust,\n .${kn}thankyou--gift .${kn}reward-terms {\n color: var(--encore-gift-muted);\n }\n\n \n .${kn}thankyou--gift .${kn}reward-cta-primary {\n background: var(--encore-gift-accent);\n color: var(--encore-gift-accent-ink);\n border-color: var(--encore-gift-accent);\n }\n\n .${kn}thankyou--gift .${kn}reward-cta-primary:hover {\n background: var(--encore-gift-accent);\n filter: brightness(0.94);\n }\n\n .${kn}thankyou--gift .${kn}reward-cta-link,\n .${kn}thankyou--gift .${kn}reward-cta-link:hover {\n background: none;\n color: var(--encore-gift-muted);\n }\n\n .${kn}thankyou--gift .${kn}reward-cta-secondary {\n border-color: var(--encore-gift-line);\n color: var(--encore-gift-ink);\n }\n\n \n .${kn}thankyou--gift .${kn}gift-row,\n .${kn}thankyou--gift .${kn}gift-card {\n background: var(--encore-gift-surface);\n border-color: var(--encore-gift-line);\n color: var(--encore-gift-ink);\n }\n\n .${kn}thankyou--gift .${kn}gift-row[aria-checked='true'],\n .${kn}thankyou--gift .${kn}gift-card[aria-checked='true'] {\n background: var(--encore-gift-selected);\n border-color: var(--encore-gift-accent);\n color: var(--encore-gift-ink);\n }\n\n .${kn}thankyou--gift .${kn}gift-row-secondary,\n .${kn}thankyou--gift .${kn}gift-sheet-fine {\n color: var(--encore-gift-muted);\n }\n\n .${kn}thankyou--gift .${kn}gift-row-radio {\n border-color: #c9ccd3;\n background: var(--encore-gift-surface);\n }\n\n .${kn}thankyou--gift\n .${kn}gift-row[aria-checked='true']\n .${kn}gift-row-radio {\n border-color: var(--encore-gift-accent);\n background: var(--encore-gift-accent);\n }\n\n .${kn}thankyou--gift .${kn}gift-sheet,\n .${kn}thankyou--gift .${kn}gift-sheet-title {\n background-color: var(--encore-gift-surface);\n color: var(--encore-gift-ink);\n }\n\n .${kn}thankyou--gift .${kn}gift-row:focus-visible,\n .${kn}thankyou--gift .${kn}gift-card:focus-visible,\n .${kn}thankyou--gift .${kn}reward-cta-primary:focus-visible,\n .${kn}thankyou--gift .${kn}reward-cta-secondary:focus-visible {\n outline-color: var(--encore-gift-accent);\n }\n\n \n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}thankyou-title {\n font-size: 28px;\n font-weight: 800;\n letter-spacing: -0.7px;\n line-height: 1.15;\n text-wrap: balance;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}thankyou-subtitle {\n font-size: 15px;\n line-height: 1.45;\n margin-top: 8px;\n color: var(--encore-gift-muted);\n opacity: 1;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-cta-primary {\n height: 56px;\n min-height: 56px;\n border-radius: 16px;\n font-size: 16.5px;\n font-weight: 700;\n letter-spacing: -0.2px;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-rows {\n gap: 9px;\n padding: 22px 20px 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-row {\n min-height: 62px;\n gap: 12px;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-row-primary {\n font-size: 15px;\n font-weight: 700;\n letter-spacing: -0.2px;\n line-height: 1.25;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-row-secondary {\n font-size: 12px;\n font-weight: 500;\n color: #8a8c93;\n margin-top: 1px;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-row-icon {\n width: 34px;\n height: 34px;\n border-radius: 9px;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}gift-row-radio {\n border-color: #c9ccd3;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-trust {\n font-size: 13px;\n font-weight: 600;\n color: var(--encore-gift-ink);\n padding: 0 20px 10px;\n margin: 0;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-terms {\n font-size: 11.5px;\n color: #b0b2b8;\n padding: 10px 20px 0;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-cta-link,\n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-cta-link:hover {\n font-size: 14px;\n font-weight: 600;\n color: var(--encore-gift-muted);\n text-decoration: underline;\n text-underline-offset: 3px;\n text-decoration-color: #c9ccd3;\n padding: 8px 0 6px;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-actions {\n padding-left: 0;\n padding-right: 0;\n gap: 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift .${kn}reward-cta-stack {\n padding: 0 20px;\n gap: 0;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift {\n padding-top: max(22px, env(safe-area-inset-top));\n }\n\n \n \n @media (max-height: 820px) {\n \n .${kn}gift-hero {\n height: 194px;\n }\n .${kn}gift-box {\n transform: scale(0.8);\n transform-origin: 50% 0;\n }\n }\n\n \n @media (max-height: 700px) {\n \n .${kn}gift-hero {\n height: 128px;\n }\n .${kn}gift-box {\n transform: scale(0.54);\n }\n .${kn}gift {\n gap: 14px;\n }\n .${kn}thankyou--gift .${kn}reward-actions {\n padding-top: 12px;\n }\n \n .${kn}thankyou--reward.${kn}thankyou--gift\n .${kn}gift-rows {\n padding-top: 12px;\n }\n .${kn}thankyou--reward.${kn}thankyou--gift\n .${kn}reward-trust {\n padding-bottom: 6px;\n }\n }\n\n \n .${kn}gift-rows {\n display: flex;\n flex-direction: column;\n gap: 9px;\n padding: 0 20px;\n }\n\n .${kn}gift-row {\n position: relative;\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n min-height: 58px;\n padding: 14px;\n border: 1.5px solid var(--encore-border-color);\n border-radius: 14px;\n background: var(--encore-surface-color);\n color: var(--encore-text-color);\n font: inherit;\n text-align: start;\n cursor: pointer;\n transition: background 0.15s, border-color 0.15s;\n }\n\n .${kn}gift-row[aria-checked='true'] {\n border-color: var(--encore-primary-color);\n background: var(--encore-card-tint, var(--encore-surface-color));\n }\n\n .${kn}gift-row:focus-visible,\n .${kn}gift-card:focus-visible,\n .${kn}gift-sheet-close:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${kn}gift-row-icon {\n display: grid;\n place-items: center;\n flex: none;\n width: 34px;\n height: 34px;\n border-radius: 9px;\n overflow: hidden;\n background: var(--encore-bg-color);\n font-size: 13px;\n font-weight: 800;\n }\n\n .${kn}gift-row-icon img,\n .${kn}gift-card-icon img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}gift-row-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 1px;\n }\n\n .${kn}gift-row-primary {\n font-size: 15px;\n font-weight: 700;\n line-height: 1.25;\n }\n\n .${kn}gift-row-secondary {\n font-size: 12px;\n font-weight: 500;\n color: var(--encore-text-muted);\n }\n\n .${kn}gift-row-radio {\n display: grid;\n place-items: center;\n flex: none;\n width: 22px;\n height: 22px;\n border: 1.5px solid var(--encore-border-color);\n border-radius: 50%;\n background: var(--encore-surface-color);\n }\n\n .${kn}gift-row[aria-checked='true'] .${kn}gift-row-radio {\n border-color: var(--encore-primary-color);\n background: var(--encore-primary-color);\n }\n\n .${kn}gift-row[aria-checked='true'] .${kn}gift-row-radio::after {\n content: '';\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #fff;\n }\n\n \n .${kn}gift-sheet-layer {\n position: absolute;\n inset: 0;\n z-index: 2;\n pointer-events: none;\n }\n\n .${kn}gift-scrim {\n position: absolute;\n inset: 0;\n background: rgba(17, 18, 22, 0.35);\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s;\n }\n\n .${kn}gift-scrim--open {\n opacity: 1;\n pointer-events: auto;\n }\n\n .${kn}gift-sheet {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n max-height: 82%;\n padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px));\n border-radius: 26px 26px 0 0;\n background: var(--encore-surface-color);\n box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.18);\n transform: translateY(105%);\n transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);\n pointer-events: auto;\n }\n\n \n .${kn}gift-sheet[hidden] {\n display: none;\n }\n\n .${kn}gift-sheet--open {\n transform: none;\n }\n\n .${kn}gift-sheet-header {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .${kn}gift-sheet-title {\n flex: 1;\n margin: 0;\n padding-inline-end: 28px;\n font-size: 17px;\n font-weight: 800;\n text-align: center;\n }\n\n .${kn}gift-sheet-close {\n padding: 6px 8px;\n border: 0;\n background: none;\n font: inherit;\n font-size: 20px;\n line-height: 1;\n color: var(--encore-text-muted);\n cursor: pointer;\n }\n\n \n .${kn}gift-sheet-tabs {\n display: flex;\n flex: none;\n align-self: center;\n box-sizing: border-box;\n min-width: 236px;\n max-width: 100%;\n height: 36px;\n margin-top: 14px;\n padding: 3px;\n border-radius: 999px;\n background: rgba(118, 118, 128, 0.12);\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n .${kn}gift-sheet-tabs::-webkit-scrollbar {\n display: none;\n }\n\n .${kn}gift-sheet-tab {\n flex: 1 0 auto;\n padding: 0 12px;\n border: 0;\n border-radius: 999px;\n background: none;\n font: inherit;\n font-size: 15px;\n font-weight: 600;\n line-height: 30px;\n white-space: nowrap;\n color: #6f7178;\n cursor: pointer;\n }\n\n .${kn}gift-sheet-tab[aria-selected='true'] {\n background: #ffffff;\n color: #141414;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n }\n\n .${kn}gift-sheet-tab:focus-visible {\n outline: 2px solid #163bf5;\n outline-offset: -2px;\n }\n\n \n .${kn}gift-sheet-panel {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n }\n\n \n .${kn}gift-sheet-list {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 10px;\n margin-top: 14px;\n overflow: auto;\n padding-bottom: 4px;\n flex: 1 1 auto;\n min-height: 0;\n }\n\n .${kn}gift-card {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 14px 12px 12px;\n border: 1.5px solid var(--encore-border-color);\n border-radius: 16px;\n background: var(--encore-surface-color);\n color: var(--encore-text-color);\n font: inherit;\n text-align: start;\n cursor: pointer;\n }\n\n .${kn}gift-card[aria-checked='true'] {\n border-color: var(--encore-primary-color);\n background: var(--encore-card-tint, var(--encore-surface-color));\n }\n\n .${kn}gift-card-icon {\n display: grid;\n place-items: center;\n width: 40px;\n height: 40px;\n border-radius: 12px;\n overflow: hidden;\n background: var(--encore-bg-color);\n font-size: 15px;\n font-weight: 800;\n }\n\n .${kn}gift-card-label {\n font-size: 14px;\n font-weight: 700;\n line-height: 1.25;\n }\n\n .${kn}gift-sheet-cta {\n margin-top: 12px;\n flex: none;\n }\n\n .${kn}gift-sheet-fine {\n margin: 0;\n padding-top: 10px;\n font-size: 12px;\n color: var(--encore-text-muted);\n text-align: center;\n }\n\n \n .${kn}gift-terms {\n margin: 12px 0 0;\n font-size: 11px;\n font-weight: 400;\n line-height: 1.2;\n letter-spacing: -0.22px;\n color: #6a6d81;\n text-align: center;\n }\n\n .${kn}gift-terms-link {\n font: inherit;\n font-weight: 600;\n letter-spacing: inherit;\n color: inherit;\n text-decoration: underline;\n text-underline-offset: 2px;\n }\n\n button.${kn}gift-terms-link {\n margin: 0;\n padding: 0;\n border: 0;\n background: none;\n cursor: pointer;\n }\n\n \n .${kn}reward-terms {\n margin: 0;\n font-size: 12px;\n color: var(--encore-text-muted);\n text-align: center;\n }\n\n .${kn}reward-cta-link,\n .${kn}reward-cta-link:hover {\n min-height: 0;\n height: auto;\n padding: 8px 0;\n border: 0;\n background: none;\n color: var(--encore-text-muted);\n font-weight: 600;\n text-decoration: underline;\n text-underline-offset: 3px;\n }\n\n \n .${kn}slot-custom {\n font: inherit;\n color: inherit;\n letter-spacing: normal;\n margin: 0;\n }\n\n .${kn}slot-host {\n display: flex;\n align-items: center;\n justify-content: center;\n height: auto;\n padding: 0;\n border: none;\n background: none;\n background-image: none;\n box-shadow: none;\n color: inherit;\n cursor: pointer;\n }\n\n .${kn}slot-host:hover,\n .${kn}slot-host:active {\n box-shadow: none;\n border-color: transparent;\n color: inherit;\n }\n\n \n @media (max-width: ${$n}) {\n .${kn}thankyou--reward .${kn}reward-actions {\n flex: 0 0 auto;\n margin-top: auto;\n }\n }\n\n \n\n \n .${kn}thankyou--reward {\n --encore-reward-brand: ${Cn};\n --encore-reward-brand-deep: #6515ED;\n \n position: relative;\n }\n\n \n .${kn}thankyou--reward > .${kn}thankyou-status,\n .${kn}thankyou--reward > .${kn}carousel,\n .${kn}thankyou--reward > .${kn}gift-hero,\n .${kn}thankyou--reward .${kn}gift-rows,\n .${kn}thankyou--reward > .${kn}reward-actions {\n position: relative;\n z-index: 1;\n width: 100%;\n max-width: 393px;\n margin-left: auto;\n margin-right: auto;\n }\n\n \n .${kn}thankyou--reward .${kn}thankyou-title {\n margin: 0;\n font-size: 28px;\n font-weight: 600;\n line-height: 1.1;\n letter-spacing: -0.28px;\n text-align: center;\n text-wrap: balance;\n }\n\n .${kn}thankyou--reward .${kn}thankyou-subtitle {\n margin: 12px 0 0;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.3;\n text-align: center;\n \n color: color-mix(in srgb, var(--encore-text-color) 55%, transparent);\n }\n\n \n .${kn}thankyou--reward .${kn}carousel {\n position: relative;\n }\n\n .${kn}thankyou--reward .${kn}carousel-cards {\n gap: 10px;\n \n padding: 26px calc(50% - 105px);\n align-items: center;\n }\n\n .${kn}thankyou--reward .${kn}carousel-item {\n flex: 0 0 210px;\n width: 210px;\n opacity: 0.55;\n transform: translateY(11px) scale(0.95);\n transform-origin: center center;\n transition:\n opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),\n transform 260ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n \n .${kn}thankyou--reward .${kn}carousel-item.${kn}active {\n opacity: 1;\n transform: none;\n z-index: 1;\n }\n\n \n @property --encore-card-tint {\n syntax: '<color>';\n inherits: false;\n initial-value: ${Cn};\n }\n\n \n .${kn}reward-card {\n --encore-card-tint: ${Cn};\n position: relative;\n box-sizing: border-box;\n width: 210px;\n height: 260px;\n \n padding: 43px 15px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n border-radius: 24px;\n overflow: hidden;\n background-color: #ffffff;\n \n background-image:\n radial-gradient(\n 120% 85% at 100% 0%,\n color-mix(in srgb, var(--encore-card-tint) 22%, transparent) 0%,\n transparent 68%\n ),\n radial-gradient(\n 140% 60% at 62% 112%,\n color-mix(in srgb, var(--encore-card-tint) 20%, transparent) 0%,\n transparent 74%\n ),\n linear-gradient(\n 0deg,\n color-mix(in srgb, var(--encore-card-tint) ${Math.round(10)}%, transparent) 0%,\n color-mix(in srgb, var(--encore-card-tint) ${Math.round(10)}%, transparent) 100%\n );\n box-shadow:\n 0 4px 12px rgba(0, 0, 0, 0.09),\n 0 4px 12px rgba(0, 0, 0, 0.02),\n 0 4px 74px rgba(0, 0, 0, 0.06),\n inset -8px 1px 13px color-mix(in srgb, var(--encore-card-tint) 13%, transparent);\n transition: --encore-card-tint 320ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .${kn}reward-card-badge {\n flex: 0 0 auto;\n max-width: 100%;\n box-sizing: border-box;\n padding: 4px 10px;\n border-radius: 16px;\n background: #ffffff;\n box-shadow: 0 2.769px 5.538px rgba(56, 30, 0, 0.03);\n font-size: 14px;\n font-weight: 500;\n line-height: 1.2;\n letter-spacing: -0.3px;\n color: var(--encore-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n .${kn}reward-card-icon {\n flex: 0 0 auto;\n margin-top: 16px;\n width: 72px;\n height: 72px;\n border-radius: 18px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--encore-card-tint) 92%, #ffffff);\n box-shadow: 0 2.769px 5.538px rgba(56, 30, 0, 0.15);\n }\n\n .${kn}reward-card-icon-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n\n \n .${kn}reward-card-monogram {\n font-size: 32px;\n font-weight: 700;\n line-height: 1;\n color: #ffffff;\n }\n\n \n .${kn}reward-card-text {\n margin-top: 20px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n min-width: 0;\n }\n\n \n .${kn}reward-card-name {\n max-width: 100%;\n font-size: 18px;\n font-weight: 600;\n line-height: 1.2;\n letter-spacing: -0.18px;\n text-align: center;\n color: var(--encore-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n .${kn}reward-card-offer {\n max-width: 100%;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.2;\n letter-spacing: -0.28px;\n text-align: center;\n color: color-mix(in srgb, var(--encore-text-color) 75%, transparent);\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n \n .${kn}reward-arrow {\n position: absolute;\n top: 156px;\n margin-top: -20px;\n z-index: 2;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: 1px solid rgba(0, 0, 0, 0.06);\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.92);\n color: var(--encore-text-color);\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n transition:\n opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),\n background 200ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .${kn}reward-arrow svg {\n width: 20px;\n height: 20px;\n display: block;\n }\n\n .${kn}reward-arrow-prev {\n inset-inline-start: 12px;\n }\n\n .${kn}reward-arrow-next {\n inset-inline-end: 12px;\n }\n\n [dir='rtl'] .${kn}nav-button svg,\n [dir='rtl'] .${kn}reward-arrow svg,\n [dir='rtl'] .${kn}unwrap-back-icon {\n scale: -1 1;\n }\n\n .${kn}reward-arrow:hover {\n background: #ffffff;\n }\n\n .${kn}reward-arrow:focus-visible {\n outline: 2px solid var(--encore-reward-brand);\n outline-offset: 2px;\n }\n\n \n .${kn}reward-arrow:disabled {\n opacity: 0.35;\n cursor: default;\n }\n\n \n .${kn}reward-confetti {\n position: absolute;\n inset: 0;\n z-index: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n\n \n @media (prefers-reduced-motion: reduce) {\n .${kn}thankyou--reward .${kn}carousel-item,\n .${kn}reward-card,\n .${kn}dot,\n .${kn}reward-arrow {\n transition: none;\n }\n }\n\n \n .${kn}success-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n min-height: 400px;\n animation: ${kn}fade-in 0.3s ease-out;\n }\n\n .${kn}success-icon {\n width: 80px;\n height: 80px;\n background: var(--encore-primary-color);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 48px;\n color: white;\n margin-bottom: 1.5rem;\n animation: ${kn}scale-in 0.5s ease-out;\n }\n\n .${kn}success-title {\n font-size: 1.75rem;\n font-weight: 700;\n color: var(--encore-text-color);\n margin: 0 0 0.75rem 0;\n }\n\n .${kn}success-subtitle {\n font-size: 1.125rem;\n color: var(--encore-text-muted);\n margin: 0 0 2rem 0;\n line-height: 1.6;\n }\n\n .${kn}success-details {\n background: color-mix(in srgb, var(--encore-primary-color) 5%, transparent);\n border-radius: 12px;\n padding: 1.5rem;\n margin-bottom: 2rem;\n min-width: 280px;\n }\n\n .${kn}success-detail {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.5rem 0;\n }\n\n .${kn}success-detail:not(:last-child) {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n }\n\n .${kn}success-detail-label {\n font-size: 0.875rem;\n color: var(--encore-text-muted);\n font-weight: 500;\n }\n\n .${kn}success-detail-value {\n font-size: 1rem;\n color: var(--encore-text-color);\n font-weight: 600;\n }\n\n .${kn}success-button {\n background: var(--encore-primary-color);\n color: white;\n border: none;\n border-radius: var(--encore-border-radius);\n padding: 0.875rem 2.5rem;\n font-size: 1rem;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n }\n\n .${kn}success-button:hover {\n transform: translateY(-2px);\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n }\n\n .${kn}success-button:active {\n transform: translateY(0);\n }\n\n .${kn}success-button:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n @keyframes ${kn}scale-in {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n \n @keyframes ${kn}fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n \n\n \n .${kn}brand-tile-placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--encore-primary-color) 12%, var(--encore-bg-color));\n color: var(--encore-primary-color);\n font-weight: 700;\n font-size: 1.2rem;\n }\n\n \n .${kn}lockup {\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0.5rem 0 1.5rem 0;\n }\n\n .${kn}lockup-tile {\n width: 56px;\n height: 56px;\n border-radius: 14px;\n object-fit: cover;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--encore-text-color) 14%, transparent);\n background: var(--encore-bg-color);\n }\n\n .${kn}lockup-tile-partner {\n transform: rotate(-4deg);\n animation: ${kn}lockup-settle-left 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;\n z-index: 1;\n }\n\n .${kn}lockup-tile-host {\n margin-inline-start: -10px;\n transform: rotate(4deg);\n animation: ${kn}lockup-settle-right 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;\n z-index: 2;\n }\n\n @keyframes ${kn}lockup-settle-left {\n from { transform: rotate(-6deg) translateX(-4px); }\n to { transform: rotate(-4deg) translateX(0); }\n }\n\n @keyframes ${kn}lockup-settle-right {\n from { transform: rotate(6deg) translateX(4px); }\n to { transform: rotate(4deg) translateX(0); }\n }\n\n \n .${kn}ledger {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--encore-border-color);\n border-radius: 16px;\n background: var(--encore-bg-color);\n box-shadow: 0 1px 3px color-mix(in srgb, var(--encore-text-color) 6%, transparent);\n text-align: start;\n overflow: hidden;\n }\n\n .${kn}ledger-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n }\n\n .${kn}ledger-row + .${kn}ledger-row {\n border-top: 1px solid var(--encore-border-color);\n }\n\n \n .${kn}ledger-logo {\n width: 44px;\n height: 44px;\n border-radius: 11px;\n object-fit: cover;\n flex-shrink: 0;\n }\n\n img.${kn}ledger-logo {\n display: block;\n }\n\n .${kn}ledger-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .${kn}ledger-name {\n font-size: 0.95rem;\n font-weight: 600;\n color: var(--encore-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .${kn}ledger-detail {\n font-size: 0.8rem;\n color: var(--encore-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .${kn}ledger-status {\n font-size: 0.85rem;\n font-weight: 600;\n flex-shrink: 0;\n }\n\n .${kn}ledger-status-active {\n color: var(--encore-success-color);\n }\n\n .${kn}ledger-status-pending {\n color: var(--encore-text-muted);\n }\n\n \n .${kn}primer-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n max-width: 440px;\n margin: 0 auto;\n padding: 2.5rem 1.75rem 2rem;\n text-align: center;\n animation: ${kn}fade-in 0.3s ease-out;\n }\n\n .${kn}primer-title {\n font-size: 1.6rem;\n font-weight: 700;\n color: var(--encore-text-color);\n margin: 0 0 0.5rem 0;\n line-height: 1.2;\n }\n\n .${kn}primer-subtitle {\n font-size: 1.05rem;\n color: var(--encore-text-muted);\n margin: 0 0 2rem 0;\n line-height: 1.5;\n }\n\n \n .${kn}primer-cta {\n width: 100%;\n height: auto;\n min-height: 50px;\n padding: 14px 24px;\n font-size: 1rem;\n font-weight: 600;\n }\n\n \n .${kn}redemption-container {\n display: flex;\n flex-direction: column;\n max-width: 440px;\n margin: 0 auto;\n padding: 2rem 1.75rem;\n text-align: center;\n animation: ${kn}fade-in 0.3s ease-out;\n }\n\n .${kn}redemption-title {\n font-size: 1.6rem;\n font-weight: 700;\n color: var(--encore-text-color);\n margin: 0 0 0.5rem 0;\n line-height: 1.2;\n }\n\n .${kn}redemption-subtitle {\n font-size: 1.05rem;\n color: var(--encore-text-muted);\n margin: 0 0 1.75rem 0;\n line-height: 1.5;\n }\n\n .${kn}redemption-note {\n font-size: 0.8rem;\n color: var(--encore-text-muted);\n line-height: 1.5;\n margin: 1.25rem 0;\n }\n\n .${kn}redemption-cta {\n width: 100%;\n height: auto;\n min-height: 50px;\n padding: 14px 24px;\n font-size: 1rem;\n font-weight: 600;\n }\n\n \n @media (max-width: ${$n}) {\n \n .${kn}primer-container,\n .${kn}redemption-container {\n flex: 1 1 auto;\n max-width: none;\n width: 100%;\n box-sizing: border-box;\n padding: calc(64px + env(safe-area-inset-top)) 24px\n calc(24px + env(safe-area-inset-bottom));\n }\n\n \n .${kn}primer-container .${kn}lockup {\n margin-top: auto;\n }\n\n .${kn}primer-cta {\n margin-top: auto;\n }\n\n .${kn}redemption-container > :first-child {\n margin-top: auto;\n }\n\n .${kn}redemption-cta {\n margin-top: auto;\n }\n }\n\n \n .${kn}thankyou--gift-picker {\n --encore-gp-accent: #1e78bc;\n --encore-gp-accent-ink: #ffffff;\n --encore-gp-perk: #1a72b9;\n --encore-gp-ink: #17181c;\n --encore-gp-muted: #51545c;\n --encore-gp-line: #dee1e7;\n --encore-gp-surface: #ffffff;\n --encore-gp-selected: #eaf5fd;\n --encore-gp-fine: #a3a6ad;\n background: var(--encore-gp-surface);\n color: var(--encore-gp-ink);\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n min-height: 0;\n flex: 1 1 auto;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker {\n padding-top: max(8px, env(safe-area-inset-top));\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker > .${kn}gift-picker-hero,\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}gift-picker-rows {\n position: relative;\n z-index: 1;\n width: 100%;\n max-width: 393px;\n margin-left: auto;\n margin-right: auto;\n box-sizing: border-box;\n }\n\n \n .${kn}thankyou--gift-picker .${kn}gift-sheet-layer {\n position: fixed;\n }\n\n \n .${kn}gift-picker {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n }\n\n .${kn}gift-picker-hero {\n display: flex;\n flex-direction: column;\n flex: none;\n }\n\n .${kn}gift-picker-host {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 36px;\n padding: 0 24px;\n box-sizing: border-box;\n color: var(--encore-gp-ink);\n font-size: 16px;\n font-weight: 700;\n letter-spacing: -0.2px;\n line-height: 1.2;\n }\n\n .${kn}gift-picker-host-icon {\n display: block;\n flex: none;\n width: 24px;\n height: 24px;\n border-radius: 6px;\n object-fit: cover;\n }\n\n .${kn}gift-picker-host-name {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .${kn}gift-picker-fan {\n position: relative;\n width: 240px;\n height: 104px;\n margin: 4px auto 0;\n }\n\n .${kn}gift-picker-fan-confetti,\n .${kn}gift-picker-fan-confetti svg {\n position: absolute;\n inset: 0;\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .${kn}gift-picker-fan-confetti {\n color: var(--encore-gp-accent);\n animation: ${kn}gift-picker-dots 0.4s ease-out 0.4s both;\n }\n\n .${kn}gift-picker-tile {\n --encore-gp-fan-r: 0deg;\n position: absolute;\n top: 31px;\n left: 50%;\n width: 56px;\n height: 56px;\n margin-left: -28px;\n transform: rotate(var(--encore-gp-fan-r));\n animation: ${kn}gift-picker-pop 0.42s cubic-bezier(0.2, 1.3, 0.4, 1) 0.18s both;\n }\n\n .${kn}gift-picker-tile--t1 {\n --encore-gp-fan-r: -12deg;\n left: calc(50% - 55px);\n z-index: 1;\n animation-delay: 0.24s;\n }\n\n .${kn}gift-picker-tile--t3 {\n --encore-gp-fan-r: 12deg;\n left: calc(50% + 55px);\n z-index: 1;\n animation-delay: 0.3s;\n }\n\n .${kn}gift-picker-tile--t2 {\n top: 16px;\n width: 64px;\n height: 64px;\n margin-left: -32px;\n z-index: 2;\n }\n\n .${kn}gift-picker-tile-inner {\n display: grid;\n place-items: center;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: hidden;\n border: 3px solid #ffffff;\n border-radius: 15px;\n background: var(--encore-gp-selected);\n box-shadow: 0 6px 16px rgba(17, 24, 39, 0.16);\n color: var(--encore-gp-accent);\n font-size: 22px;\n font-weight: 800;\n }\n\n .${kn}gift-picker-tile--t2 .${kn}gift-picker-tile-inner {\n border-radius: 17px;\n }\n\n .${kn}gift-picker-tile-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}gift-picker-fan--solo .${kn}gift-picker-tile--t1,\n .${kn}gift-picker-fan--solo .${kn}gift-picker-tile--t3 {\n display: none;\n }\n\n \n @keyframes ${kn}gift-picker-pop {\n from {\n opacity: 0;\n transform: translateY(14px) scale(0.6) rotate(var(--encore-gp-fan-r));\n }\n }\n\n @keyframes ${kn}gift-picker-dots {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}thankyou-status {\n padding-top: 0;\n margin-top: 8px;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}thankyou-title {\n color: var(--encore-gp-ink);\n font-size: 22px;\n font-weight: 800;\n letter-spacing: -0.5px;\n line-height: 1.2;\n text-wrap: balance;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}thankyou-subtitle {\n color: var(--encore-gp-muted);\n font-size: 15px;\n line-height: 1.4;\n margin-top: 6px;\n opacity: 1;\n }\n\n .${kn}thankyou--gift-picker .${kn}gift-em {\n color: var(--encore-gp-perk);\n font-style: normal;\n }\n\n .${kn}gift-picker-rows {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 24px 0;\n }\n\n .${kn}gift-picker-row {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n min-height: 59px;\n padding: 11px 14px 11px 12px;\n border: 1.5px solid var(--encore-gp-line);\n border-radius: 14px;\n background: var(--encore-gp-surface);\n color: var(--encore-gp-ink);\n font: inherit;\n text-align: start;\n cursor: pointer;\n transition: background 0.15s, border-color 0.15s;\n }\n\n .${kn}gift-picker-row[aria-checked='true'] {\n border-color: var(--encore-gp-accent);\n background: var(--encore-gp-selected);\n }\n\n .${kn}gift-picker-row-icon {\n display: grid;\n place-items: center;\n flex: none;\n width: 32px;\n height: 32px;\n border-radius: 8px;\n overflow: hidden;\n background: var(--encore-gp-selected);\n color: var(--encore-gp-accent);\n font-size: 13px;\n font-weight: 800;\n }\n\n .${kn}gift-picker-row-icon img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}gift-picker-row-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 3px;\n }\n\n .${kn}gift-picker-row-primary {\n font-size: 14px;\n font-weight: 600;\n letter-spacing: -0.1px;\n line-height: 1.2;\n }\n\n .${kn}gift-picker-row-perk {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.25;\n color: var(--encore-gp-perk);\n }\n\n .${kn}gift-picker-row-radio {\n display: grid;\n place-items: center;\n flex: none;\n width: 22px;\n height: 22px;\n box-sizing: border-box;\n border: 1.5px solid #c7cad1;\n border-radius: 50%;\n background: var(--encore-gp-surface);\n }\n\n .${kn}gift-picker-row[aria-checked='true'] .${kn}gift-picker-row-radio {\n border-color: var(--encore-gp-accent);\n background: var(--encore-gp-accent);\n }\n\n .${kn}gift-picker-row[aria-checked='true'] .${kn}gift-picker-row-radio::after {\n content: '';\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #ffffff;\n }\n\n \n .${kn}gift-picker-more {\n align-self: center;\n margin: auto 0 0;\n padding: 18px 12px 8px;\n border: 0;\n background: none;\n color: var(--encore-gp-ink);\n font: inherit;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.2;\n text-decoration: underline;\n text-decoration-thickness: 1.5px;\n text-underline-offset: 3px;\n cursor: pointer;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}reward-actions {\n padding: 8px 0 max(12px, env(safe-area-inset-bottom));\n gap: 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}reward-cta-stack {\n padding: 0 24px;\n gap: 0;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}reward-cta-primary {\n height: 46px;\n min-height: 46px;\n border-radius: 999px;\n border-color: var(--encore-gp-accent);\n background: var(--encore-gp-accent);\n color: var(--encore-gp-accent-ink);\n font-size: 17px;\n font-weight: 600;\n letter-spacing: -0.2px;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}reward-cta-primary:hover {\n background: var(--encore-gp-accent);\n filter: brightness(0.94);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}reward-cta-secondary {\n margin-top: 8px;\n border-color: var(--encore-gp-line);\n color: var(--encore-gp-ink);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}gift-terms {\n margin: 10px 0 0;\n font-size: 12px;\n letter-spacing: 0;\n color: var(--encore-gp-fine);\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift-picker .${kn}gift-terms-link {\n font-weight: 400;\n text-decoration: none;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker a.${kn}gift-terms-link {\n text-decoration: underline;\n }\n\n \n .${kn}thankyou--gift-picker .${kn}gift-sheet,\n .${kn}thankyou--gift-picker .${kn}gift-sheet-title {\n background-color: var(--encore-gp-surface);\n color: var(--encore-gp-ink);\n }\n\n .${kn}thankyou--gift-picker .${kn}gift-card {\n background: var(--encore-gp-surface);\n border-color: var(--encore-gp-line);\n color: var(--encore-gp-ink);\n }\n\n .${kn}thankyou--gift-picker .${kn}gift-card[aria-checked='true'] {\n background: var(--encore-gp-selected);\n border-color: var(--encore-gp-accent);\n }\n\n .${kn}thankyou--gift-picker .${kn}gift-sheet-fine {\n color: var(--encore-gp-muted);\n }\n\n .${kn}thankyou--gift-picker .${kn}gift-picker-row:focus-visible,\n .${kn}thankyou--gift-picker .${kn}gift-picker-more:focus-visible,\n .${kn}thankyou--gift-picker .${kn}gift-terms-link:focus-visible,\n .${kn}thankyou--gift-picker .${kn}gift-card:focus-visible,\n .${kn}thankyou--gift-picker .${kn}reward-cta-primary:focus-visible,\n .${kn}thankyou--gift-picker .${kn}reward-cta-secondary:focus-visible {\n outline: 2px solid var(--encore-gp-accent);\n outline-offset: 2px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${kn}gift-picker-tile,\n .${kn}gift-picker-fan-confetti {\n animation: none;\n }\n .${kn}gift-picker-row {\n transition: none;\n }\n }\n\n \n @media (max-height: 700px) {\n .${kn}gift-picker-fan {\n transform: scale(0.78);\n transform-origin: 50% 0;\n margin-bottom: -23px;\n }\n .${kn}gift-picker-rows {\n padding-top: 14px;\n }\n .${kn}gift-picker-more {\n padding-top: 12px;\n }\n }\n\n \n .${kn}thankyou--gift-list {\n --encore-gl-accent: #ff8800;\n --encore-gl-accent-ink: #1f1e1e;\n --encore-gl-page: #f6f6f6;\n background:\n url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='911' height='637' viewBox='0 0 911.318 636.812'%3E%3Cfilter id='b' x='0' y='0' width='911.318' height='636.812' filterUnits='userSpaceOnUse'%3E%3CfeGaussianBlur stdDeviation='102'/%3E%3C/filter%3E%3Cellipse cx='455.659' cy='318.406' rx='251.659' ry='114.406' fill='%23FF8700' fill-opacity='.2' filter='url(%23b)'/%3E%3C/svg%3E") calc(50% - 8px) -193px / 911px 637px no-repeat,\n linear-gradient(180deg, #f6f2ee 0, #f6f2ee 300px, var(--encore-gl-page) 340px);\n color: #292d32;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n min-height: 0;\n flex: 1 1 auto;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list {\n padding-top: max(20px, env(safe-area-inset-top));\n }\n\n .${kn}thankyou--gift-list .${kn}gift-sheet-layer {\n position: fixed;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}thankyou-status {\n padding-top: 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list > .${kn}gift-list-presents,\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-list-art,\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-list-rows,\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-list-more {\n width: 100%;\n max-width: 393px;\n margin-left: auto;\n margin-right: auto;\n box-sizing: border-box;\n }\n\n .${kn}gift-list-presents {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding-bottom: 10px;\n font-size: 14px;\n font-weight: 500;\n line-height: 1.2;\n color: #000;\n }\n\n .${kn}gift-list-presents-icon {\n width: 26px;\n height: 26px;\n border-radius: 6px;\n object-fit: cover;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}thankyou-title {\n font-size: 28px;\n font-weight: 600;\n line-height: 1.1;\n letter-spacing: -0.28px;\n color: #292d32;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}thankyou-title .${kn}gift-em {\n font-weight: 700;\n color: var(--encore-gl-accent);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}thankyou-subtitle {\n max-width: 274px;\n margin: 13px auto 0;\n font-size: 16px;\n line-height: 1.25;\n color: #051e34;\n opacity: 1;\n }\n\n .${kn}gift-list {\n display: flex;\n flex-direction: column;\n }\n\n .${kn}gift-list-art {\n position: relative;\n height: 148px;\n margin-top: 20px;\n }\n\n \n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-list-art {\n max-width: none;\n }\n\n .${kn}gift-list-art[hidden] {\n display: none;\n }\n\n .${kn}gift-list-art::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: -12px;\n height: 64px;\n background: linear-gradient(180deg, rgba(246, 242, 238, 0) 0%, #f6f2ee 100%);\n pointer-events: none;\n }\n\n .${kn}gift-list-art-layer {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .${kn}gift-list-art-image {\n display: block;\n max-width: min(252px, 100%);\n max-height: 148px;\n border-radius: 7.5px;\n filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.16));\n }\n\n .${kn}gift-list-art-logo {\n display: block;\n width: 96px;\n height: 96px;\n overflow: hidden;\n border-radius: 20px;\n background: #fff;\n box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);\n }\n\n .${kn}gift-list-art-logo img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}gift-list-rows {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: 24px;\n padding: 0 20px;\n }\n\n .${kn}gift-list-row {\n display: grid;\n grid-template-columns: 38px minmax(0, 1fr) 20px;\n align-items: center;\n column-gap: 12px;\n width: 100%;\n min-height: 64px;\n padding: 12px 14px;\n border: 1px solid transparent;\n border-radius: 14px;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);\n color: #020623;\n font: inherit;\n text-align: start;\n cursor: pointer;\n transition: border-color 0.15s;\n }\n\n .${kn}gift-list-row[aria-checked='true'] {\n border-color: var(--encore-gl-accent, #ff8800);\n }\n\n .${kn}gift-list-row:focus-visible,\n .${kn}gift-list-more:focus-visible {\n outline: 2px solid var(--encore-gl-accent, #ff8800);\n outline-offset: 2px;\n }\n\n .${kn}gift-list-logo {\n display: grid;\n place-items: center;\n width: 38px;\n height: 38px;\n overflow: hidden;\n border-radius: 8px;\n background: #fff;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);\n font-size: 15px;\n font-weight: 700;\n }\n\n .${kn}gift-list-logo img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}gift-list-text {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n }\n\n .${kn}gift-list-name {\n font-size: 14px;\n font-weight: 500;\n line-height: 1.3;\n color: #020623;\n }\n\n .${kn}gift-list-perk {\n font-size: 12px;\n line-height: 1.3;\n color: #6b7075;\n }\n\n .${kn}gift-list-em {\n font-weight: 600;\n color: var(--encore-gl-accent, #ff8800);\n }\n\n .${kn}gift-list-radio {\n display: block;\n width: 20px;\n height: 20px;\n color: var(--encore-gl-accent, #ff8800);\n visibility: hidden;\n }\n\n .${kn}gift-list-radio svg {\n display: block;\n }\n\n .${kn}gift-list-row[aria-checked='true'] .${kn}gift-list-radio {\n visibility: visible;\n }\n\n .${kn}gift-list-desc {\n grid-column: 1 / -1;\n margin-top: 8px;\n font-size: 14px;\n font-weight: 500;\n line-height: 1.3;\n color: #292b2c;\n animation: ${kn}gift-list-fade-in 0.2s ease-out both;\n }\n\n .${kn}gift-list-desc[hidden] {\n display: none;\n }\n\n .${kn}gift-list-more {\n align-self: center;\n margin-top: 5px;\n padding: 8px 16px;\n border: 0;\n background: none;\n font: inherit;\n font-size: 14px;\n font-weight: 500;\n color: #020623;\n cursor: pointer;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}reward-actions {\n padding-top: 16px;\n padding-left: 0;\n padding-right: 0;\n gap: 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}reward-cta-stack {\n padding: 0 20px;\n gap: 0;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}reward-cta-primary,\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-sheet-cta {\n height: 51px;\n min-height: 51px;\n border: 0;\n border-radius: 999px;\n background: var(--encore-gl-accent);\n color: var(--encore-gl-accent-ink);\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}reward-cta-primary:hover {\n background: var(--encore-gl-accent);\n filter: brightness(0.96);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-sheet {\n background: var(--encore-gl-page);\n color: #020623;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-card {\n border-color: transparent;\n background: #fff;\n color: #020623;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-card[aria-checked='true'] {\n border-color: var(--encore-gl-accent);\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-list .${kn}gift-card .${kn}gift-em {\n color: var(--encore-gl-accent);\n }\n\n \n @keyframes ${kn}gift-list-rise {\n from {\n opacity: 0;\n transform: translateY(10px);\n pointer-events: none;\n }\n }\n\n @keyframes ${kn}gift-list-fade-in {\n from {\n opacity: 0;\n }\n }\n\n @keyframes ${kn}gift-list-fade-out {\n to {\n opacity: 0;\n }\n }\n\n .${kn}gift-list-art-layer--intro {\n animation: ${kn}gift-list-rise 0.42s cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n\n .${kn}gift-list-art-layer--in {\n animation: ${kn}gift-list-fade-in 0.2s ease-out both;\n }\n\n .${kn}gift-list-art-layer--out {\n animation: ${kn}gift-list-fade-out 0.2s ease-in forwards;\n pointer-events: none;\n }\n\n .${kn}gift-list-row--intro {\n animation: ${kn}gift-list-rise 0.36s cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n\n .${kn}gift-list-row--intro:nth-child(2) {\n animation-delay: 0.06s;\n }\n\n .${kn}gift-list-row--intro:nth-child(3) {\n animation-delay: 0.12s;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${kn}gift-list-art-layer--intro,\n .${kn}gift-list-art-layer--in,\n .${kn}gift-list-art-layer--out,\n .${kn}gift-list-row--intro,\n .${kn}gift-list-row--intro:nth-child(2),\n .${kn}gift-list-row--intro:nth-child(3),\n .${kn}gift-list-desc {\n animation: none;\n }\n }\n${function(){const e=`.${kn}thankyou--reward.${kn}thankyou--gift-unwrap`;return`\n .${kn}unwrap {\n --encore-gu-accent: #ff8800;\n --encore-gu-accent-ink: #1f1e1e;\n --encore-gu-page: #f6f6f6;\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 0;\n background: var(--encore-gu-page);\n color: #292d32;\n font-family: var(--encore-font-family);\n }\n\n @media (max-width: ${$n}) {\n .${kn}unwrap {\n flex: 1 1 auto;\n }\n }\n\n .${kn}unwrap-screen {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n .${kn}unwrap-screen[hidden] {\n display: none;\n }\n\n ${e} {\n flex: 1 0 auto;\n min-height: 0;\n padding-top: max(22px, env(safe-area-inset-top));\n }\n\n ${e}::before {\n content: none;\n }\n\n .${kn}modal:has(.${kn}unwrap) {\n background: #f6f6f6;\n }\n\n .${kn}modal:has(.${kn}unwrap) .${kn}close-button {\n background: transparent;\n box-shadow: none;\n color: rgba(0, 0, 0, 0.3);\n }\n\n .${kn}unwrap-hero {\n display: flex;\n justify-content: center;\n pointer-events: none;\n }\n\n .${kn}unwrap-hero-box,\n .${kn}unwrap-hero-box svg {\n display: block;\n width: 183px;\n height: 183px;\n }\n\n ${e} .${kn}thankyou-status {\n padding: 10px 20px 0;\n }\n\n ${e} .${kn}thankyou-title {\n font-size: 28px;\n font-weight: 590;\n line-height: 1.1;\n letter-spacing: -0.28px;\n color: #292d32;\n text-wrap: balance;\n }\n\n ${e} .${kn}thankyou-title .${kn}gift-em,\n .${kn}unwrap-em {\n font-weight: 700;\n color: var(--encore-gu-accent);\n }\n\n ${e} .${kn}thankyou-subtitle {\n max-width: 274px;\n margin: 13px auto 0;\n font-size: 16px;\n line-height: 1.25;\n color: #051e34;\n }\n\n .${kn}unwrap-body {\n display: flex;\n flex-direction: column;\n }\n\n .${kn}unwrap-rows {\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n max-width: 393px;\n box-sizing: border-box;\n margin: 0 auto;\n padding: 25px 20px 0;\n }\n\n .${kn}unwrap-row,\n ${e} .${kn}gift-card {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 12px;\n width: 100%;\n height: 64px;\n flex: none;\n box-sizing: border-box;\n padding: 0 14px;\n border: 1px solid transparent;\n border-radius: 14px;\n background: #ffffff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);\n color: #020623;\n font: inherit;\n text-align: start;\n cursor: pointer;\n transition: border-color 0.15s;\n }\n\n .${kn}unwrap-row[aria-checked='true'],\n ${e} .${kn}gift-card[aria-checked='true'] {\n border-color: var(--encore-gu-accent);\n background: #ffffff;\n }\n\n .${kn}unwrap-row:focus-visible,\n .${kn}unwrap-more:focus-visible,\n .${kn}unwrap-back:focus-visible,\n .${kn}unwrap-cta:focus-visible,\n ${e} .${kn}gift-card:focus-visible {\n outline: 2px solid var(--encore-gu-accent);\n outline-offset: 2px;\n }\n\n .${kn}unwrap-row-logo,\n .${kn}unwrap-logo-inner {\n display: grid;\n place-items: center;\n flex: none;\n overflow: hidden;\n background: #ffffff;\n color: #020623;\n font-weight: 700;\n }\n\n .${kn}unwrap-row-logo {\n width: 38px;\n height: 38px;\n border-radius: 8px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);\n font-size: 15px;\n }\n\n .${kn}unwrap-row-logo img,\n .${kn}unwrap-logo-inner img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}unwrap-row-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 3px;\n }\n\n .${kn}unwrap-row-title,\n .${kn}unwrap-row-perk {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.3;\n }\n\n .${kn}unwrap-row-title {\n font-size: 14px;\n font-weight: 510;\n }\n\n .${kn}unwrap-row-perk {\n font-size: 12px;\n font-weight: 400;\n color: #6b7075;\n }\n\n .${kn}unwrap-row-perk .${kn}unwrap-em {\n font-weight: 590;\n }\n\n .${kn}unwrap-radio,\n .${kn}unwrap-radio svg {\n display: block;\n flex: none;\n width: 20px;\n height: 20px;\n }\n\n .${kn}unwrap-radio {\n box-sizing: border-box;\n border: 1px solid #e3e3e8;\n border-radius: 50%;\n }\n\n .${kn}unwrap-radio svg {\n visibility: hidden;\n margin: -1px;\n }\n\n [aria-checked='true'] > .${kn}unwrap-radio {\n border-color: transparent;\n }\n\n [aria-checked='true'] > .${kn}unwrap-radio svg {\n visibility: visible;\n }\n\n .${kn}unwrap-more {\n align-self: center;\n margin: 13px 0 0;\n padding: 6px 12px;\n border: 0;\n background: none;\n color: #141414;\n font: inherit;\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n cursor: pointer;\n }\n\n ${e} .${kn}reward-actions {\n margin-top: auto;\n padding: 24px 0 max(20px, env(safe-area-inset-bottom));\n gap: 0;\n }\n\n ${e} .${kn}reward-cta-stack {\n padding: 0 20px;\n gap: 0;\n }\n\n ${e} .${kn}reward-cta-primary,\n ${e} .${kn}gift-sheet-cta,\n .${kn}unwrap-cta {\n width: 100%;\n height: 51px;\n min-height: 51px;\n box-sizing: border-box;\n padding: 0 16px;\n border: 0;\n border-radius: 999px;\n background: var(--encore-gu-accent);\n color: var(--encore-gu-accent-ink);\n font: inherit;\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n cursor: pointer;\n }\n\n ${e} .${kn}reward-cta-primary:hover,\n .${kn}unwrap-cta:hover {\n background: var(--encore-gu-accent);\n box-shadow: none;\n filter: brightness(0.96);\n }\n\n .${kn}unwrap-cta:disabled,\n .${kn}unwrap-cta[aria-disabled='true'] {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n ${e} .${kn}gift-sheet-layer {\n position: fixed;\n }\n\n ${e} .${kn}gift-sheet {\n gap: 20px;\n max-height: 85%;\n padding: 18px 20px max(20px, env(safe-area-inset-bottom));\n border-radius: 24px 24px 0 0;\n background: var(--encore-gu-page);\n color: #141414;\n }\n\n ${e} .${kn}gift-sheet-title {\n font-size: 18px;\n font-weight: 700;\n letter-spacing: -0.18px;\n color: #141414;\n }\n\n ${e} .${kn}gift-sheet-close {\n color: rgba(0, 0, 0, 0.3);\n }\n\n ${e} .${kn}gift-sheet-tabs {\n margin-top: 0;\n }\n\n ${e} .${kn}gift-sheet-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin: -6px -6px 0;\n padding: 6px;\n }\n\n ${e} .${kn}gift-sheet-cta {\n flex: none;\n height: 52px;\n min-height: 52px;\n margin-top: 0;\n border-radius: 26px;\n }\n\n .${kn}unwrap-back {\n position: absolute;\n top: calc(16px + env(safe-area-inset-top));\n inset-inline-start: 12px;\n z-index: 1;\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 8px 0 7px;\n border: 0;\n background: none;\n color: #000000;\n font: inherit;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n }\n\n .${kn}unwrap-back-icon,\n .${kn}unwrap-back-icon svg {\n display: block;\n width: 20px;\n height: 20px;\n }\n\n .${kn}unwrap-stage-frame {\n flex: none;\n width: 284px;\n height: 284px;\n margin: calc(52px + env(safe-area-inset-top)) auto 0;\n }\n\n .${kn}unwrap-reveal,\n .${kn}unwrap-closed,\n .${kn}unwrap-open,\n .${kn}unwrap-open-layer {\n position: relative;\n width: 284px;\n height: 284px;\n }\n\n .${kn}unwrap-closed,\n .${kn}unwrap-open,\n .${kn}unwrap-open-layer {\n position: absolute;\n inset: 0;\n }\n\n .${kn}unwrap-closed svg,\n .${kn}unwrap-open-layer svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .${kn}unwrap-glow {\n position: absolute;\n left: 142px;\n top: 126px;\n width: 437px;\n height: 303px;\n margin: -151.5px 0 0 -218.5px;\n opacity: 0.5;\n pointer-events: none;\n }\n\n .${kn}unwrap-glow svg {\n display: block;\n }\n\n .${kn}unwrap-closed {\n opacity: 0;\n transform-origin: 50% 80%;\n }\n\n .${kn}unwrap-open {\n transform-origin: 50% 50%;\n }\n\n .${kn}unwrap-logo {\n position: absolute;\n left: 97px;\n top: 86px;\n width: 96px;\n height: 96px;\n transform: rotate(-9deg);\n }\n\n .${kn}unwrap-logo-inner {\n width: 100%;\n height: 100%;\n border-radius: 24px;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);\n font-size: 40px;\n }\n\n .${kn}unwrap-reveal--play .${kn}unwrap-closed {\n animation:\n ${kn}unwrap-closed-fade 1752ms cubic-bezier(0.22, 1, 0.36, 1),\n ${kn}unwrap-closed-squash 1752ms ease-in-out;\n }\n\n .${kn}unwrap-reveal--play .${kn}unwrap-open {\n animation:\n ${kn}unwrap-open-fade 1752ms ease-in-out,\n ${kn}unwrap-open-rise 1752ms ease-in-out;\n }\n\n .${kn}unwrap-reveal--play .${kn}unwrap-logo {\n animation:\n ${kn}unwrap-logo-fade 1752ms ease-in-out,\n ${kn}unwrap-logo-pop 1752ms ease-in-out;\n }\n\n .${kn}unwrap-reveal--play .${kn}unwrap-glow {\n animation: ${kn}unwrap-glow 1752ms cubic-bezier(0.22, 1, 0.36, 1);\n }\n\n @keyframes ${kn}unwrap-closed-fade {\n 0%, 23.3% { opacity: 1; }\n 32.9% { opacity: 0.58; }\n 41.1% { opacity: 0.16; }\n 46.6%, 100% { opacity: 0; }\n }\n\n @keyframes ${kn}unwrap-closed-squash {\n 0%, 23.3% { translate: 0 0; scale: 1; }\n 35.6% { translate: 0 3px; scale: 0.985 0.97; }\n 46.6%, 100% { translate: 0 0; scale: 1; }\n }\n\n @keyframes ${kn}unwrap-open-fade {\n 0%, 27.4% { opacity: 0; }\n 37%, 100% { opacity: 1; }\n }\n\n @keyframes ${kn}unwrap-open-rise {\n 0%, 28.8% {\n translate: 0 104px;\n scale: 0.94;\n rotate: 1.5deg;\n animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n }\n 63% { translate: 0 -14px; scale: 1.03; rotate: -4.5deg; }\n 82.2% {\n translate: 0 4px;\n scale: 0.99;\n rotate: 1.2deg;\n animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);\n }\n 100% { translate: 0 0; scale: 1; rotate: 0deg; }\n }\n\n @keyframes ${kn}unwrap-logo-fade {\n 0%, 39.7% { opacity: 0; }\n 50.7%, 100% { opacity: 1; }\n }\n\n @keyframes ${kn}unwrap-logo-pop {\n 0%, 39.7% { translate: 0 5px; scale: 0.985 0.95; }\n 60.3% { translate: 0 -4px; scale: 1.018 1.03; }\n 80.8% { translate: 0 1px; scale: 0.997 0.992; }\n 97.3%, 100% { translate: 0 0; scale: 1; }\n }\n\n @keyframes ${kn}unwrap-glow {\n 0%, 38.4% { opacity: 0; scale: 0.72; }\n 58.9% { opacity: 0.57; scale: 1.08; }\n 100% { opacity: 0.5; scale: 1; }\n }\n\n .${kn}unwrap-ready-title {\n margin: 26px 20px 0;\n font-size: 28px;\n font-weight: 700;\n line-height: 1.1;\n letter-spacing: -0.28px;\n color: #0b0a0d;\n text-align: center;\n outline: none;\n }\n\n .${kn}unwrap-ready-subline {\n max-width: 301px;\n margin: 13px auto 0;\n font-size: 14.5px;\n line-height: 19.14px;\n color: #0b0a0d;\n text-align: center;\n }\n\n .${kn}unwrap-bullets {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n max-width: 393px;\n box-sizing: border-box;\n margin: 27px auto 0;\n padding: 0 35.5px;\n list-style: none;\n }\n\n .${kn}unwrap-bullet {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n font-size: 14px;\n font-weight: 510;\n line-height: 25.62px;\n letter-spacing: -0.4px;\n color: #0b0a0d;\n overflow-wrap: anywhere;\n }\n\n .${kn}unwrap-bullet-icon,\n .${kn}unwrap-bullet-icon svg {\n display: block;\n flex: none;\n width: 20px;\n height: 20px;\n }\n\n .${kn}unwrap-bullet-icon {\n margin-top: 2.81px;\n }\n\n .${kn}unwrap-actions {\n margin-top: auto;\n padding: 24px 20px max(20px, env(safe-area-inset-bottom));\n }\n\n \n\n \n .${kn}close-button[hidden] {\n display: none;\n }\n\n \n .${kn}modal--close-start .${kn}close-button {\n inset-inline-start: 20px;\n inset-inline-end: auto;\n }\n\n \n .${kn}modal:has(.${kn}keep-panel .${kn}gift-sheet--open) .${kn}close-button {\n opacity: 0;\n pointer-events: none;\n }\n\n .${kn}unwrap-share {\n position: absolute;\n top: 23px;\n inset-inline-end: 23px;\n z-index: 1;\n display: grid;\n place-items: center;\n width: 34px;\n height: 34px;\n padding: 0;\n border: 0;\n border-radius: 50%;\n background: rgba(118, 118, 128, 0.12);\n color: #000000;\n cursor: pointer;\n }\n\n .${kn}unwrap-share[hidden] {\n display: none;\n }\n\n .${kn}unwrap-share svg {\n display: block;\n width: 17px;\n height: 17px;\n }\n\n .${kn}unwrap-share:focus-visible,\n .${kn}keep-panel .${kn}gift-sheet-close:focus-visible,\n .${kn}keep-panel .${kn}gift-card:focus-visible,\n .${kn}keep-panel .${kn}gift-sheet-cta:focus-visible {\n outline: 2px solid var(--encore-gu-accent);\n outline-offset: 2px;\n }\n\n @media (max-width: ${$n}) {\n .${kn}modal--close-start .${kn}close-button {\n inset-inline-start: 16px;\n }\n\n .${kn}unwrap-share {\n top: calc(19px + env(safe-area-inset-top));\n inset-inline-end: 19px;\n }\n }\n\n \n .${kn}unwrap-notice {\n position: absolute;\n left: 50%;\n top: calc(22px + env(safe-area-inset-top));\n z-index: 3;\n padding: 10px 16px;\n border-radius: 999px;\n background: #1f1e1e;\n color: #ffffff;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.2;\n white-space: nowrap;\n opacity: 0;\n transform: translate(-50%, -8px);\n transition: opacity 0.2s, transform 0.2s;\n pointer-events: none;\n }\n\n .${kn}unwrap-notice--visible {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n\n \n .${kn}keep-panel .${kn}gift-scrim {\n background: rgba(17, 18, 22, 0.82);\n }\n\n .${kn}keep-panel .${kn}gift-sheet {\n top: 50%;\n left: 50%;\n right: auto;\n bottom: auto;\n box-sizing: border-box;\n width: min(340px, calc(100% - 32px));\n max-height: calc(100% - 32px);\n gap: 14px;\n padding: 16px 20px 20px;\n border-radius: 28px;\n background: #ffffff;\n color: #000000;\n text-align: center;\n box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);\n opacity: 0;\n transform: translate(-50%, -46%) scale(0.96);\n transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s;\n }\n\n .${kn}keep-panel .${kn}gift-sheet--open {\n opacity: 1;\n transform: translate(-50%, -50%);\n }\n\n .${kn}keep-panel .${kn}gift-sheet-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n }\n\n .${kn}keep-panel .${kn}gift-sheet-close {\n align-self: flex-end;\n width: 28px;\n height: 28px;\n margin: -4px -6px 0 0;\n padding: 0;\n font-size: 18px;\n color: rgba(60, 60, 67, 0.6);\n }\n\n .${kn}keep-panel .${kn}gift-sheet-title {\n padding: 0;\n font-size: 20px;\n font-weight: 700;\n line-height: 1.2;\n color: #000000;\n }\n\n .${kn}keep-panel .${kn}gift-sheet-subtitle {\n margin: 0;\n font-size: 15px;\n line-height: 1.35;\n color: rgba(60, 60, 67, 0.6);\n white-space: pre-line;\n }\n\n \n .${kn}keep-panel .${kn}gift-sheet-list {\n display: flex;\n flex: none;\n flex-direction: row;\n gap: 12px;\n margin: 0 -20px;\n padding: 4px calc(50% - 75px) 8px;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n scrollbar-width: none;\n }\n\n .${kn}keep-panel .${kn}gift-sheet-list::-webkit-scrollbar {\n display: none;\n }\n\n .${kn}keep-panel .${kn}gift-card {\n flex: none;\n align-items: center;\n box-sizing: border-box;\n width: 150px;\n height: 190px;\n gap: 10px;\n padding: 16px 12px;\n border: 1.5px solid transparent;\n border-radius: 20px;\n background: #fff3e5;\n color: #17181c;\n text-align: center;\n scroll-snap-align: center;\n }\n\n .${kn}keep-panel .${kn}gift-card[aria-checked='true'] {\n border-color: var(--encore-gu-accent);\n background: #fff3e5;\n }\n\n .${kn}keep-card-logo {\n display: grid;\n place-items: center;\n flex: none;\n width: 56px;\n height: 56px;\n border-radius: 14px;\n overflow: hidden;\n background: #ffffff;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);\n font-size: 20px;\n font-weight: 700;\n }\n\n .${kn}keep-card-logo img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}keep-card-title {\n max-width: 100%;\n overflow: hidden;\n font-size: 15px;\n font-weight: 600;\n line-height: 1.25;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .${kn}keep-card-perk {\n display: -webkit-box;\n overflow: hidden;\n font-size: 12px;\n line-height: 1.3;\n color: rgba(23, 24, 28, 0.62);\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .${kn}keep-panel .${kn}gift-sheet-cta {\n width: 100%;\n height: 52px;\n min-height: 52px;\n margin-top: 0;\n border: 0;\n border-radius: 999px;\n background: var(--encore-gu-accent);\n color: var(--encore-gu-accent-ink);\n font: inherit;\n font-size: 17px;\n font-weight: 600;\n cursor: pointer;\n }\n\n \n .${kn}keep-panel .${kn}gift-sheet-cta[hidden] {\n display: none;\n }\n\n .${kn}keep-panel .${kn}gift-sheet-cta:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${kn}keep-panel .${kn}gift-sheet,\n .${kn}unwrap-notice {\n transition: none;\n }\n }\n\n @media (max-height: 740px) {\n .${kn}unwrap-hero-box,\n .${kn}unwrap-hero-box svg {\n width: 140px;\n height: 140px;\n }\n .${kn}unwrap-stage-frame {\n height: 228px;\n }\n .${kn}unwrap-reveal {\n transform: scale(0.8);\n transform-origin: 50% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${kn}unwrap-reveal--play .${kn}unwrap-closed,\n .${kn}unwrap-reveal--play .${kn}unwrap-open,\n .${kn}unwrap-reveal--play .${kn}unwrap-logo,\n .${kn}unwrap-reveal--play .${kn}unwrap-glow {\n animation: none;\n }\n .${kn}unwrap-row,\n ${e} .${kn}gift-card {\n transition: none;\n }\n }\n `}()}\n${function(){const e=`.${kn}code-unlock--opening`,t=`.${kn}code-unlock-screen--entering`,n=`.${kn}code-unlock--swapping`,i=`.${kn}modal:has(.${kn}code-unlock)`;return`\n .${kn}code-unlock {\n --encore-gp-accent: #1e78bc;\n --encore-gp-accent-ink: #ffffff;\n --encore-gp-perk: #1a72b9;\n --encore-gp-ink: #17181c;\n --encore-gp-muted: #51545c;\n --encore-gp-line: #dee1e7;\n --encore-gp-surface: #ffffff;\n --encore-gp-selected: #eaf5fd;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n \n background: var(\n --encore-cu-bg,\n radial-gradient(55% 45% at 12% 18%, var(--encore-gp-selected), transparent 70%),\n radial-gradient(35% 35% at 96% 4%, rgba(30, 120, 188, 0.1), transparent 70%),\n var(--encore-gp-surface)\n );\n color: var(--encore-gp-ink);\n font-family: var(--encore-cu-font, var(--encore-font-family));\n }\n\n ${i} {\n inset: 0;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100vh;\n height: 100dvh;\n max-width: none;\n max-height: none;\n margin: 0;\n border-radius: 0;\n overflow: hidden;\n transform: none;\n }\n\n ${i} .${kn}modal-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n min-height: 0;\n }\n\n \n .${kn}code-unlock-screen {\n display: block;\n }\n\n .${kn}code-unlock-screen[hidden] {\n display: none;\n }\n\n \n ${n} .${kn}code-unlock-copy {\n position: relative;\n }\n\n ${n} .${kn}code-unlock-screen--lock {\n position: absolute;\n inset: 0;\n z-index: 1;\n overflow: hidden;\n pointer-events: none;\n animation: ${kn}code-unlock-out 0.22s ease-in both;\n }\n\n \n .${kn}code-unlock {\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n \n scrollbar-gutter: stable;\n }\n\n .${kn}code-unlock-page {\n width: 100%;\n max-width: 1120px;\n margin: 0 auto;\n padding: max(14px, env(safe-area-inset-top)) 24px\n calc(max(28px, env(safe-area-inset-bottom)) + var(--encore-cu-kb, 0px));\n box-sizing: border-box;\n }\n\n .${kn}code-unlock-header {\n display: flex;\n align-items: center;\n gap: 10px;\n min-height: 40px;\n padding-inline-end: 48px;\n font-family: var(--encore-cu-heading-font, inherit);\n font-size: 17px;\n font-weight: 700;\n letter-spacing: -0.2px;\n }\n\n .${kn}code-unlock-logo {\n display: block;\n width: auto;\n max-width: min(220px, 60vw);\n height: 32px;\n object-fit: contain;\n object-position: left center;\n }\n\n [dir='rtl'] .${kn}code-unlock-logo {\n object-position: right center;\n }\n\n .${kn}code-unlock-header-icon {\n width: 24px;\n height: 24px;\n border-radius: 6px;\n object-fit: cover;\n }\n\n .${kn}code-unlock-card-brand {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n\n .${kn}code-unlock-card-brand-icon {\n width: 28px;\n height: 28px;\n border-radius: 8px;\n background: #ffffff;\n object-fit: cover;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\n }\n\n .${kn}code-unlock-hero {\n display: grid;\n grid-template-columns: 1fr;\n gap: 28px;\n \n align-items: start;\n padding: 20px 0 36px;\n }\n\n .${kn}code-unlock-card {\n position: relative;\n justify-self: center;\n width: min(100%, 440px);\n aspect-ratio: 1.6;\n padding: 22px 24px;\n box-sizing: border-box;\n overflow: hidden;\n border-radius: 24px;\n background: linear-gradient(135deg, #3294e0 0%, #1e78bc 52%, #135c93 100%);\n color: #ffffff;\n box-shadow: 0 30px 60px -24px rgba(30, 120, 188, 0.6);\n transform: rotate(-4deg);\n }\n\n .${kn}code-unlock-card::before {\n content: '';\n position: absolute;\n width: 70%;\n aspect-ratio: 1;\n right: -18%;\n top: -45%;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.1);\n }\n\n .${kn}code-unlock-card::after {\n content: '';\n position: absolute;\n width: 120%;\n aspect-ratio: 1;\n left: -60%;\n bottom: -95%;\n border: 10px solid rgba(255, 255, 255, 0.12);\n border-radius: 50%;\n }\n\n \n .${kn}code-unlock-card.${kn}code-unlock-card--image {\n transform: none;\n aspect-ratio: auto;\n padding: 0;\n overflow: visible;\n border-radius: 0;\n background: none;\n box-shadow: none;\n }\n\n .${kn}code-unlock-card--image::before,\n .${kn}code-unlock-card--image::after {\n content: none;\n }\n\n .${kn}code-unlock-card-image {\n display: block;\n width: 100%;\n height: auto;\n max-height: 50vh;\n object-fit: contain;\n }\n\n .${kn}code-unlock-card-top {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 16px;\n font-weight: 700;\n }\n\n .${kn}code-unlock-lock {\n display: grid;\n place-items: center;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.18);\n color: #ffffff;\n }\n\n .${kn}code-unlock-lock svg {\n display: block;\n width: 22px;\n height: 22px;\n overflow: visible;\n }\n\n .${kn}code-unlock-shackle {\n transform-box: fill-box;\n transform-origin: 100% 100%;\n }\n\n .${kn}code-unlock-card-value {\n position: absolute;\n z-index: 1;\n inset-inline-start: 24px;\n bottom: 20px;\n display: flex;\n flex-direction: column;\n max-width: 62%;\n }\n\n .${kn}code-unlock-card-small {\n font-size: 15px;\n font-weight: 600;\n opacity: 0.9;\n }\n\n .${kn}code-unlock-card-amount {\n font-size: clamp(44px, 13vw, 64px);\n font-weight: 800;\n letter-spacing: -2px;\n line-height: 1;\n }\n\n .${kn}code-unlock-card-amount.${kn}code-unlock-card-amount--text {\n font-size: clamp(24px, 7vw, 32px);\n letter-spacing: -0.6px;\n line-height: 1.1;\n }\n\n .${kn}code-unlock-card-box {\n position: absolute;\n right: -4%;\n bottom: -12%;\n width: 44%;\n }\n\n .${kn}code-unlock-card-box svg {\n display: block;\n width: 100%;\n height: auto;\n }\n\n .${kn}code-unlock-title {\n margin: 0;\n color: var(--encore-gp-ink);\n font-family: var(--encore-cu-heading-font, inherit);\n font-size: clamp(32px, 8.5vw, 52px);\n font-weight: var(--encore-cu-heading-weight, 800);\n letter-spacing: -1.2px;\n line-height: 1.06;\n text-wrap: balance;\n }\n\n .${kn}code-unlock-subline {\n margin: 12px 0 0;\n opacity: 1;\n color: var(--encore-gp-muted);\n font-size: 17px;\n line-height: 1.45;\n }\n\n .${kn}code-unlock-form {\n margin-top: 24px;\n }\n\n .${kn}code-unlock-label {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n }\n\n .${kn}code-unlock-field {\n display: flex;\n gap: 6px;\n max-width: 520px;\n padding: 6px;\n box-sizing: border-box;\n border: 1.5px solid var(--encore-gp-line);\n border-radius: 16px;\n background: var(--encore-gp-surface);\n box-shadow: 0 10px 30px -18px rgba(23, 24, 28, 0.35);\n }\n\n .${kn}code-unlock-field:focus-within {\n border-color: var(--encore-gp-accent);\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--encore-gp-accent) 18%, transparent);\n }\n\n .${kn}code-unlock .${kn}code-unlock-input {\n flex: 1 1 auto;\n min-width: 0;\n height: 50px;\n padding: 0 12px;\n border: 0;\n background: transparent;\n color: var(--encore-gp-ink);\n font: 600 18px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n letter-spacing: 2px;\n outline: none;\n box-shadow: none;\n }\n\n .${kn}code-unlock .${kn}code-unlock-input:focus {\n outline: none;\n }\n\n .${kn}code-unlock .${kn}code-unlock-input::placeholder {\n color: #8a8d94;\n font-family: var(--encore-cu-font, var(--encore-font-family));\n font-weight: 500;\n letter-spacing: 0;\n }\n\n .${kn}code-unlock-field:has(.${kn}code-unlock-input[aria-invalid='true']) {\n border-color: #c4314b;\n }\n\n .${kn}code-unlock-error {\n min-height: 18px;\n margin: 8px 0 0;\n color: #c4314b;\n font-size: 13px;\n line-height: 18px;\n }\n\n .${kn}code-unlock .${kn}code-unlock-cta {\n flex: 0 1 auto;\n min-height: 50px;\n padding: 6px 22px;\n border: 0;\n border-radius: 12px;\n background: var(--encore-cu-cta-bg, var(--encore-gp-accent));\n color: var(--encore-cu-cta-ink, var(--encore-gp-accent-ink));\n font: inherit;\n font-family: var(--encore-cu-heading-font, inherit);\n font-size: 16px;\n font-weight: var(--encore-cu-heading-weight, 700);\n line-height: 1.2;\n cursor: pointer;\n }\n\n .${kn}code-unlock .${kn}code-unlock-cta:hover {\n filter: brightness(0.94);\n }\n\n .${kn}code-unlock .${kn}code-unlock-cta[aria-busy='true'] {\n opacity: 0.7;\n cursor: progress;\n }\n\n .${kn}code-unlock .${kn}code-unlock-cta:focus {\n outline: none;\n }\n\n .${kn}code-unlock .${kn}code-unlock-cta:focus-visible {\n outline: 2px solid var(--encore-gp-accent);\n outline-offset: 2px;\n }\n\n .${kn}code-unlock-preview-title,\n .${kn}code-unlock-how-title {\n margin: 0;\n color: var(--encore-gp-ink);\n font-family: var(--encore-cu-heading-font, inherit);\n font-size: 22px;\n font-weight: var(--encore-cu-heading-weight, 800);\n letter-spacing: -0.4px;\n }\n\n .${kn}code-unlock-preview-note {\n margin: 4px 0 0;\n color: var(--encore-gp-muted);\n font-size: 15px;\n }\n\n .${kn}code-unlock-strip {\n display: flex;\n gap: 12px;\n margin: 0;\n padding: 16px 2px 10px;\n list-style: none;\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n }\n\n .${kn}code-unlock-tile {\n display: flex;\n flex: 0 0 128px;\n flex-direction: column;\n align-items: center;\n gap: 10px;\n padding: 16px 10px 14px;\n box-sizing: border-box;\n border: 1px solid var(--encore-gp-line);\n border-radius: 18px;\n background: var(--encore-gp-surface);\n box-shadow: 0 8px 20px -16px rgba(23, 24, 28, 0.4);\n scroll-snap-align: start;\n text-align: center;\n }\n\n .${kn}code-unlock-tile-logo {\n display: grid;\n place-items: center;\n width: 52px;\n height: 52px;\n overflow: hidden;\n border-radius: 14px;\n background: var(--encore-gp-selected);\n color: var(--encore-gp-accent);\n font-size: 22px;\n font-weight: 800;\n }\n\n .${kn}code-unlock-tile-logo img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .${kn}code-unlock-tile-name {\n display: -webkit-box;\n overflow: hidden;\n font-size: 13px;\n font-weight: 600;\n line-height: 1.3;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n\n .${kn}code-unlock-how {\n margin-top: 32px;\n }\n\n .${kn}code-unlock-steps {\n display: grid;\n grid-template-columns: 1fr;\n gap: 10px;\n margin: 14px 0 0;\n padding: 0;\n list-style: none;\n }\n\n .${kn}code-unlock-step {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 16px 18px;\n border-radius: 18px;\n background: #f4f8fc;\n }\n\n .${kn}code-unlock-step-num {\n display: grid;\n flex: none;\n place-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--encore-gp-accent);\n color: #ffffff;\n font-size: 15px;\n font-weight: 800;\n }\n\n .${kn}code-unlock-step strong {\n display: block;\n font-family: var(--encore-cu-heading-font, inherit);\n font-size: 16px;\n font-weight: var(--encore-cu-heading-weight, 700);\n }\n\n .${kn}code-unlock-steps--icons .${kn}code-unlock-step {\n align-items: center;\n padding: 16px 18px;\n border: 1px solid var(--encore-gp-line);\n background: var(--encore-gp-surface);\n box-shadow: 0 10px 24px -18px rgba(23, 24, 28, 0.35);\n }\n\n .${kn}code-unlock-step-icon {\n display: block;\n flex: none;\n width: 48px;\n height: 48px;\n object-fit: contain;\n }\n\n .${kn}code-unlock--pill .${kn}code-unlock-field {\n border-radius: 999px;\n }\n\n .${kn}code-unlock--pill .${kn}code-unlock-input {\n padding-inline-start: 18px;\n }\n\n .${kn}code-unlock.${kn}code-unlock--pill .${kn}code-unlock-cta {\n padding: 6px 28px;\n border-radius: 999px;\n }\n\n .${kn}code-unlock-step strong + span {\n color: var(--encore-gp-muted);\n font-size: 14px;\n }\n\n @media (max-width: 479px) {\n .${kn}code-unlock-field {\n flex-direction: column;\n }\n .${kn}code-unlock .${kn}code-unlock-input {\n text-align: center;\n }\n .${kn}code-unlock .${kn}code-unlock-cta {\n width: 100%;\n }\n .${kn}code-unlock--pill .${kn}code-unlock-field {\n gap: 10px;\n padding: 0;\n border: 0;\n border-radius: 0;\n background: none;\n box-shadow: none;\n }\n .${kn}code-unlock--pill .${kn}code-unlock-field:focus-within {\n box-shadow: none;\n }\n .${kn}code-unlock.${kn}code-unlock--pill .${kn}code-unlock-input {\n padding: 0 18px;\n border: 1.5px solid var(--encore-gp-line);\n border-radius: 999px;\n background: var(--encore-gp-surface);\n box-shadow: 0 10px 30px -18px rgba(23, 24, 28, 0.35);\n }\n .${kn}code-unlock.${kn}code-unlock--pill .${kn}code-unlock-input:focus {\n border-color: var(--encore-gp-accent);\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--encore-gp-accent) 18%, transparent);\n }\n .${kn}code-unlock--pill .${kn}code-unlock-field:has(.${kn}code-unlock-input[aria-invalid='true']) .${kn}code-unlock-input {\n border-color: #c4314b;\n }\n }\n\n @media (min-width: 700px) {\n .${kn}code-unlock-steps {\n grid-template-columns: repeat(3, 1fr);\n }\n .${kn}code-unlock-steps--icons .${kn}code-unlock-step {\n flex-direction: column;\n gap: 12px;\n padding: 22px 18px 20px;\n text-align: center;\n }\n }\n\n @media (min-width: 900px) {\n .${kn}code-unlock-page {\n padding-left: 48px;\n padding-right: 48px;\n }\n .${kn}code-unlock-hero {\n grid-template-columns: 1.05fr 1fr;\n gap: 64px;\n min-height: min(560px, 68vh);\n padding: 24px 0 48px;\n }\n .${kn}code-unlock-strip {\n flex-wrap: wrap;\n overflow: visible;\n }\n .${kn}code-unlock-tile {\n flex: 0 0 calc((100% - 60px) / 6);\n }\n }\n\n .${kn}code-unlock-badge {\n display: inline-flex;\n flex: none;\n align-self: flex-start;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 999px;\n background: var(--encore-gp-selected);\n color: var(--encore-gp-perk);\n font-size: 13px;\n font-weight: 700;\n letter-spacing: 0.2px;\n outline: none;\n }\n\n .${kn}code-unlock-badge-icon svg {\n display: block;\n width: 14px;\n height: 14px;\n }\n\n \n .${kn}code-unlock-rewards.${kn}thankyou--gift-picker {\n flex: none;\n min-height: 0;\n padding: 0;\n overflow: visible;\n background: none;\n }\n\n .${kn}code-unlock-rewards .${kn}gift-picker {\n flex: none;\n }\n\n .${kn}code-unlock-rewards {\n margin-top: 22px;\n }\n\n .${kn}code-unlock-rewards .${kn}gift-picker-rows,\n .${kn}code-unlock-rewards .${kn}reward-actions {\n width: 100%;\n max-width: 560px;\n margin-left: 0;\n margin-right: 0;\n }\n\n .${kn}thankyou--reward.${kn}code-unlock-rewards .${kn}reward-actions {\n padding-bottom: 0;\n }\n\n .${kn}code-unlock-rewards.${kn}thankyou--gift-picker {\n --encore-gp-accent: inherit;\n --encore-gp-accent-ink: inherit;\n --encore-gp-perk: inherit;\n --encore-gp-ink: inherit;\n --encore-gp-muted: inherit;\n --encore-gp-line: inherit;\n --encore-gp-surface: inherit;\n --encore-gp-selected: inherit;\n }\n\n .${kn}thankyou--reward.${kn}thankyou--gift-picker.${kn}code-unlock-rewards .${kn}reward-cta-primary,\n .${kn}thankyou--reward.${kn}thankyou--gift-picker.${kn}code-unlock-rewards .${kn}reward-cta-primary:hover {\n border-color: transparent;\n background: var(--encore-cu-cta-bg, var(--encore-gp-accent));\n color: var(--encore-cu-cta-ink, var(--encore-gp-accent-ink));\n font-family: var(--encore-cu-heading-font, inherit);\n font-weight: var(--encore-cu-heading-weight, 600);\n }\n\n .${kn}code-unlock-screen--offers .${kn}thankyou-title {\n font-family: var(--encore-cu-heading-font, inherit);\n font-weight: var(--encore-cu-heading-weight, 600);\n }\n\n .${kn}code-unlock--unlocked .${kn}code-unlock-hero {\n padding-bottom: 32px;\n }\n\n .${kn}code-unlock-badge {\n margin-bottom: 12px;\n }\n\n \n .${kn}code-unlock-card--open {\n transform: rotate(0deg);\n }\n\n .${kn}code-unlock-card--open .${kn}code-unlock-shackle {\n transform: translateY(-4px) rotate(-32deg);\n }\n\n ${e} .${kn}code-unlock-page {\n pointer-events: none;\n }\n\n ${e} .${kn}code-unlock-shackle {\n animation: ${kn}code-unlock-shackle 0.3s cubic-bezier(0.3, 1.4, 0.5, 1) both;\n }\n\n ${e} .${kn}code-unlock-card {\n animation: ${kn}code-unlock-lift 0.45s ease-out both;\n }\n\n ${e} .${kn}code-unlock-page > :not(.${kn}code-unlock-hero):not(.${kn}code-unlock-header),\n ${e} .${kn}code-unlock-screen--lock {\n animation: ${kn}code-unlock-fade 0.45s ease-in both;\n }\n\n ${t} .${kn}code-unlock-badge {\n animation: ${kn}code-unlock-badge 0.36s cubic-bezier(0.2, 1.3, 0.4, 1) both;\n }\n\n ${t},\n ${t} .${kn}code-unlock-rewards {\n position: relative;\n top: 0;\n animation: ${kn}code-unlock-rise 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) both;\n }\n\n ${t} .${kn}code-unlock-rewards {\n animation-delay: 0.05s;\n }\n\n @keyframes ${kn}code-unlock-shackle {\n 0% { transform: none; }\n 45% { transform: translateY(-4px); }\n 100% { transform: translateY(-4px) rotate(-32deg); }\n }\n\n \n ${e} .${kn}code-unlock-card--image {\n animation: none;\n }\n\n @keyframes ${kn}code-unlock-lift {\n 0%, 35% { transform: rotate(-4deg); }\n 70% { transform: rotate(0deg) scale(1.05); }\n 100% { transform: rotate(0deg) scale(1); }\n }\n\n \n @keyframes ${kn}code-unlock-fade {\n 0%, 30% { opacity: 1; }\n 100% { opacity: 0.45; transform: translateY(8px); }\n }\n\n @keyframes ${kn}code-unlock-out {\n to { opacity: 0; }\n }\n\n @keyframes ${kn}code-unlock-badge {\n from { opacity: 0; transform: scale(0.6); }\n }\n\n @keyframes ${kn}code-unlock-rise {\n from { opacity: 0; top: 18px; pointer-events: none; }\n }\n\n @media (prefers-reduced-motion: reduce) {\n ${e} .${kn}code-unlock-shackle,\n ${e} .${kn}code-unlock-card,\n ${e} .${kn}code-unlock-page > :not(.${kn}code-unlock-hero):not(.${kn}code-unlock-header),\n ${e} .${kn}code-unlock-screen--lock,\n ${t} .${kn}code-unlock-badge,\n ${t},\n ${t} .${kn}code-unlock-rewards,\n ${n} .${kn}code-unlock-screen--lock {\n animation: none;\n }\n }\n `}()}\n\n \n .${kn}modal.${kn}modal--inline {\n position: relative;\n inset: auto;\n transform: none;\n z-index: auto;\n margin: 0 auto;\n opacity: 1;\n transition: none;\n }\n `}(e),document.head.appendChild(t),u.debug("Encore styles injected successfully")}catch(e){u.error("Failed to inject Encore styles:",e)}}function Ln(e){return`${kn}${e}`}const Nn=['button:not([disabled]):not([tabindex="-1"])','a[href]:not([tabindex="-1"])','input:not([disabled]):not([tabindex="-1"])','select:not([disabled]):not([tabindex="-1"])','textarea:not([disabled]):not([tabindex="-1"])','[tabindex]:not([tabindex="-1"])'].join(", "),On=[.48,.95],Mn=e=>Array.isArray(e)?e.filter(e=>"number"==typeof e&&e>0&&e<=1):void 0;const Un={preventScroll:!0,focusVisible:!1};class Rn{#Ze;#Ye=null;#Xe=null;#Qe=null;#Je=null;#et=!1;#tt=!1;#nt=null;#it=[];#rt=null;#ot=null;#st;#at;#lt=!1;#ct;#dt=null;#ut;#ht;#pt;#ft;#mt=!1;#gt;constructor(e={},t={}){this.#Ze=new Rt,this.#ut=t.dismissible??!0,this.#st=(t.showCloseButton??!0)&&this.#ut,this.#at=!0===t.sdui,this.#ct=t.sheet,this.#ht=bn(t.backgroundColor),this.#pt="start"===t.closePosition,this.#ft=t.interceptDismiss,this.#gt=t.mount,An(e)}show(){this.#et?u.warn("Modal is already visible"):(this.#lt=this.#at,this.#bt(),this.#gt?this.#Xe&&this.#gt.appendChild(this.#Xe):(this.#nt=document.activeElement,this.#Ye&&document.body.appendChild(this.#Ye),this.#Xe&&document.body.appendChild(this.#Xe),this.#Xe&&this.#ct&&(this.#dt=function(e,t){const n=e.ownerDocument.defaultView??window,i="function"==typeof n.matchMedia?n.matchMedia("(max-width: 767px)"):void 0;let r,o=null;const s=t=>{r=t,e.style.setProperty("--encore-sheet-fraction",String(t))},a=()=>{const a=t.detents();if(o=i?.matches?a:null,e.classList.toggle(Ln("modal-fit"),!o&&null!==a),(()=>{if(e.style.removeProperty("height"),!e.classList.contains(Ln("modal-fit")))return;const t=e.offsetHeight,i=parseFloat(n.getComputedStyle(e).maxHeight);t>0&&t+34<=i?e.style.height=`${t+34}px`:e.classList.remove(Ln("modal-fit"))})(),!o)return e.classList.remove(Ln("modal-sheet")),e.style.removeProperty("--encore-sheet-fraction"),void(r=void 0);e.classList.add(Ln("modal-sheet")),void 0!==t.cornerRadius&&e.style.setProperty("--encore-sheet-radius",`${t.cornerRadius}px`);const l=r,c=void 0===l?o[0]:o.reduce((e,t)=>Math.abs(t-l)<Math.abs(e-l)?t:e);s(c)};let l;const c=t=>{o&&t.isPrimary&&0===t.button&&(function(e,t){for(let n=e;n&&n!==t;n=n.parentElement){const e=getComputedStyle(n).overflowY;if(("auto"===e||"scroll"===e)&&n.scrollHeight>n.clientHeight+1)return!0}return!1}(t.target,e)||(l={id:t.pointerId,x:t.clientX,y:t.clientY,t:t.timeStamp,height:e.getBoundingClientRect().height,moving:!1}))},d=t=>{if(!l||t.pointerId!==l.id)return;const i=t.clientX-l.x,r=t.clientY-l.y;if(!l.moving){if(Math.abs(r)<6&&Math.abs(i)<6)return;if(Math.abs(i)>Math.abs(r))return void(l=void 0);l.moving=!0,e.setPointerCapture?.(t.pointerId),e.dataset.sheetDragging="true"}const s=Math.max(...o??[1])*n.innerHeight;e.style.height=`${Math.min(s,Math.max(0,l.height-r))}px`},u=i=>{if(!l||i.pointerId!==l.id)return;const r=l.moving,a=i.clientY-l.y,c=a/Math.max(1,i.timeStamp-l.t),d=l.height-a;if(l=void 0,delete e.dataset.sheetDragging,e.style.height="",!r||!o)return;e.addEventListener("click",h,{capture:!0,once:!0}),e.addEventListener("pointerdown",p,{capture:!0,once:!0});const u=(d-150*c)/n.innerHeight;t.onDismiss&&u<o[0]/2?t.onDismiss():s(o.reduce((e,t)=>Math.abs(t-u)<Math.abs(e-u)?t:e))},h=e=>{e.stopPropagation(),e.preventDefault()},p=()=>{e.removeEventListener("click",h,{capture:!0})};return e.addEventListener("pointerdown",c),e.addEventListener("pointermove",d),e.addEventListener("pointerup",u),e.addEventListener("pointercancel",u),i?.addEventListener?.("change",a),n.addEventListener("resize",a),a(),{refresh:a,destroy:()=>{e.removeEventListener("pointerdown",c),e.removeEventListener("pointermove",d),e.removeEventListener("pointerup",u),e.removeEventListener("pointercancel",u),e.removeEventListener("pointerdown",p,{capture:!0}),p(),i?.removeEventListener?.("change",a),n.removeEventListener("resize",a)}}}(this.#Xe,{...this.#ct,...this.#ut&&{onDismiss:()=>{this.#Ze.emit("close",void 0),this.hide()}}})),document.body.classList.add(Ln("no-scroll"))),requestAnimationFrame(()=>{this.#Xe&&this.#et&&null===this.#ot&&(this.#Ye?.classList.add(Ln("visible")),this.#Xe.classList.add(Ln("visible")),this.#yt(!0))}),this.#gt||(this.#vt(),this.#wt(),this.#xt()),this.#et=!0,this.#Ze.emit("show",void 0),u.debug("Modal shown"))}hide(){this.#et&&!this.#gt&&(this.#Ye?.classList.remove(Ln("visible")),this.#Xe?.classList.remove(Ln("visible")),this.#yt(!1),this.#kt(),this.#ot=setTimeout(()=>{this.#ot=null,this.#$t()},200))}#$t(){this.#yt(!1),this.#Ct(),this.#gt||document.body.classList.remove(Ln("no-scroll")),!this.#gt&&this.#nt instanceof HTMLElement&&this.#nt.focus(),this.#et=!1,this.#Ze.emit("hide",void 0),u.debug("Modal hidden")}#kt(){null!==this.#ot&&(clearTimeout(this.#ot),this.#ot=null)}onVisibilityChange(e){const t=this.#Ze.on("visibility",e);return this.#tt&&e(!0),t}#yt(e){this.#tt!==e&&(this.#tt=e,this.#Ze.emit("visibility",e))}setBackdropTint(e){this.#Ye?.style.setProperty("--encore-sdui-backdrop",e)}setSduiFrame(e,t){e&&!this.#ht&&(this.#Xe?.style.setProperty("background-color",e),this.#Ye?.style.setProperty("--encore-sdui-backdrop",e)),this.#Xe?.style.setProperty("color-scheme",t)}unlockClose(){this.#Xe&&delete this.#Xe.dataset.sduiLocked}refreshSheet(){this.#dt?.refresh()}isVisible(){return this.#et}setLabelledBy(e){this.#Xe?.setAttribute("aria-labelledby",e)}setCloseButtonHidden(e){this.#mt=e;const t=this.#Qe;if(!t)return;const n=t===document.activeElement;t.hidden=e,e&&n&&this.#xt()}getCloseButton(){return this.#Qe}#It(e){if(!this.#ft)return!1;try{return!0===this.#ft(e)}catch(e){return u.warn("Dismiss interceptor failed; dismissing normally",e),!1}}setContent(e){this.#Je?(this.#Je.innerHTML="",this.#Je.appendChild(e),this.#wt(),this.#dt?.refresh(),this.#Xe?.contains(document.activeElement)||this.#xt()):u.error("Modal body not initialized")}on(e,t){return this.#Ze.on(e,t)}#bt(){this.#gt||(this.#Ye=document.createElement("div"),this.#Ye.className=Ln("backdrop"),this.#at&&this.#Ye.classList.add(Ln("backdrop-sdui")),this.#Ye.setAttribute("aria-hidden","true")),this.#Xe=document.createElement("div"),this.#Xe.className=Ln("modal"),this.#at&&this.#Xe.classList.add(Ln("modal-sdui")),this.#ut||(this.#Xe.dataset.sduiLocked=""),this.#pt&&this.#Xe.classList.add(Ln("modal--close-start")),this.#gt&&this.#Xe.classList.add(Ln("modal--inline")),this.#Xe.setAttribute("role","dialog"),Ue(this.#Xe),this.#gt||this.#Xe.setAttribute("aria-modal","true"),this.#Xe.setAttribute("aria-labelledby",Ln("modal-title")),this.#ht&&this.#Xe.style.setProperty("background-color",this.#ht),this.#st&&(this.#Qe=document.createElement("button"),this.#Qe.className=Ln("close-button"),this.#Qe.setAttribute("aria-label",Te("modal.close","Close modal")),this.#Qe.hidden=this.#mt,this.#Qe.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />\n </svg>\n '),this.#Je=document.createElement("div"),this.#Je.className=Ln("modal-body"),this.#Qe&&this.#Xe.appendChild(this.#Qe),this.#Xe.appendChild(this.#Je)}#Ct(){this.#dt?.destroy(),this.#dt=null,this.#Ye?.remove(),this.#Xe?.remove(),this.#Ye=null,this.#Xe=null,this.#Qe=null,this.#Je=null}#vt(){this.#Qe?.addEventListener("click",()=>{this.#It("close")||(this.#Ze.emit("close",void 0),this.hide())}),this.#ut&&this.#Ye?.addEventListener("click",()=>{this.#It("backdrop")||(this.#Ze.emit("backdropClick",void 0),this.hide())}),this.#rt=this.#Et.bind(this),document.addEventListener("keydown",this.#rt)}#Et(e){if(this.#et)switch(e.key){case"Escape":if(e.preventDefault(),!this.#ut)break;if(this.#It("escape"))break;this.#Ze.emit("close",void 0),this.hide();break;case"Tab":e.preventDefault(),this.#St(e.shiftKey)}}#St(e){const t=this.#Tt();if(0===t.length)return;const n=t.findIndex(e=>e===document.activeElement);let i;i=e?n<=0?t.length-1:n-1:n>=t.length-1?0:n+1,t[i]?.focus()}#Tt(){return this.#wt(),this.#it.filter(e=>null===e.closest("[hidden]")&&null===e.closest('[aria-hidden="true"]')&&null===e.closest("[inert]"))}#wt(){this.#Xe&&(this.#it=Array.from(this.#Xe.querySelectorAll(Nn)))}#xt(){if(this.#gt)return;const e=this.#Tt()[0];e&&(e.focus(this.#at?this.#lt?Un:{preventScroll:!0}:void 0),this.#lt=!1)}destroy(){this.#rt&&document.removeEventListener("keydown",this.#rt),this.#Ze.removeAllListeners(),this.#kt(),this.#et&&this.#$t()}}const Pn="default",Fn="selectedOfferId";function zn(e){const t={};for(const[n,i]of Object.entries(e))t[`item.${n}`]=i;return t}function Bn(e){if(void 0!==e.rowOfferId)return e.rowOfferId;const t=e.values[Fn];return void 0!==t&&e.offers.some(e=>e.id===t)?t:void 0!==e.currentIndex?e.offers[e.currentIndex]?.id:void 0}function Dn(e){const t=Bn(e);if(void 0===t)return;const n=e.offers.findIndex(e=>e.id===t);return n>=0?n:void 0}function jn(e){const t=Bn(e);return void 0===t?void 0:e.offers.find(e=>e.id===t)}function Hn(e,t,n=e.isCurrentPage){return{...e,rowOfferId:t,isCurrentPage:n}}function _n(e){const t=e.dominantColors;if(!t)return e.values;const n=jn(e)?.logoUrl,i=e.values.selectedOfferLogoUrl,r=void 0!==n?t[n]:void 0,o=void 0!==i?t[i]:void 0,s=void 0!==e.appIconUrl?t[e.appIconUrl]:void 0;return void 0===r&&void 0===o&&void 0===s?e.values:{...e.values,...void 0!==s?{appDominantColor:s}:{},...void 0!==r?{offerDominantColor:r}:{},...void 0!==o?{selectedOfferDominantColor:o}:{}}}function Vn(e,t){switch(e.kind){case"literal":return e.value;case"binding":return t.values[e.key];case"state":return t.currentState;case"offerIndex":{const e=Dn(t);return void 0===e?void 0:String(e)}case"categoryName":return t.rowCategory;case"offerAttribute":return qn(e.attribute,t)}}function qn(e,t){const n=jn(t);if(n)switch(e){case"badgeLabel":return n.badgeLabel;case"perk":return n.perk;case"advertiserName":return n.advertiserName;case"description":return n.description;case"category":return n.category;case"shareUrl":return n.shareUrl;case"termsUrl":return n.termsUrl;case"quickInstructions":return n.quickInstructions;case"instructions":{const e=n.instructions?.length??0;return 0===e?void 0:String(e)}}}function Wn(e,t){const{name:n,operands:i,payload:r}=e;switch(n){case"and":return(i??[]).every(e=>Wn(e,t));case"or":return(i??[]).some(e=>Wn(e,t));case"not":return!(i??[]).every(e=>Wn(e,t));case"hasMultipleOffers":return t.offers.length>1;case"isCurrentPage":return t.currentIndex===Kn(r);case"isCurrentPageBinding":return t.isCurrentPage;case"stateEquals":return t.currentState===Gn(r,"state");case"valueEquals":{const e=Gn(r,"key"),n=Gn(r,"value");return void 0!==e&&void 0!==n&&t.values[e]===n}case"hasValue":{const e=Gn(r,"key");return void 0!==e&&Object.prototype.hasOwnProperty.call(t.values,e)}case"isSelectedOffer":{const e=Bn(t);if(void 0===e)return!1;const n=Gn(r,"targetKey")??Fn;return t.values[n]===e}case"hasIntroOffer":return t.hasIntroOffer;case"hasFreeTrial":return t.hasFreeTrial;case"equals":{const e=r;if(!e)return!1;const n=Vn(e.lhs,t),i=Vn(e.rhs,t);return void 0!==n&&n===i}case"hasOfferAttribute":return void 0!==qn(r,t);case"hasInstructionSubtitle":{const e=t.rowStep;if(void 0===e)return!1;const n=(e.subtitle??"").trim(),i=(e.title??"").trim();return""!==n&&n.toLowerCase()!==i.toLowerCase()}case"hasOfferProperty":return"string"==typeof r&&void 0!==jn(t)?.displayProperties?.[r];case"hasInstructionImage":return void 0!==t.rowStep?.imageUrl;case"isFirstOffer":return 0===Dn(t);case"isLastOffer":{const e=Dn(t);return void 0!==e&&e===t.offers.length-1}case"isMiddleOffer":{const e=Dn(t);return void 0!==e&&t.offers.length>0&&e===Math.floor(t.offers.length/2)}case"offerIndexEquals":return Dn(t)===Kn(r);case"listCountAtLeast":{const{list:e,min:n}=r;return(t.lists?.[e]?.length??0)>=n}}}function Gn(e,t){if("string"==typeof e)return e;if("object"==typeof e&&null!==e){const n=e[t];if("string"==typeof n)return n}}function Kn(e){if("number"==typeof e)return e;if("object"==typeof e&&null!==e){const t=e.index;if("number"==typeof t)return t}}const Zn=e=>"number"==typeof e&&Number.isFinite(e)?`${e}px`:void 0,Yn=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0,Xn=e=>"object"!=typeof e||null===e||Array.isArray(e)?void 0:e;function Qn(e){if("object"!=typeof e||null===e)return[];const t=e,n=[];if("string"==typeof t.binding)n.push(t.binding);else if("object"==typeof t.binding&&null!==t.binding){const e=t.binding;"string"==typeof e.key&&n.push(e.key),n.push(...Qn(e.fallback))}return n}function Jn(e,t,n){return`color-mix(in srgb, ${e}, ${t} ${100*Math.min(Math.max(n,0),1)}%)`}function ei(e,t=0){if(t>8||"object"!=typeof e||null===e)return[];if(Array.isArray(e))return e.flatMap(e=>ei(e,t+1));const n=Qn(e);for(const i of Object.values(e))n.push(...ei(i,t+1));return n}function ti(e,t){const n={},i={},r=[],o=(e,t)=>{void 0!==t&&(n[e]=t)};if(!e)return{css:n,structural:i};const s=Xn(e.padding);if(s){const e=Zn(s.all);void 0!==e&&o("padding",e);const t=Zn(s.horizontal);void 0!==t&&o("padding-inline",t);const n=Zn(s.vertical);void 0!==n&&o("padding-block",n),o("padding-top",Zn(s.top)),o("padding-bottom",Zn(s.bottom)),o("padding-inline-start",Zn(s.leading)),o("padding-inline-end",Zn(s.trailing))}const a=Xn(e.frame);if(a){o("width",ni(a.width)),o("height",ni(a.height)),o("min-width",Zn(a.minWidth)),o("max-width",ni(a.maxWidth)),o("min-height",Zn(a.minHeight)),o("max-height",ni(a.maxHeight));const e=a.alignment;if("string"==typeof e){const t=ri[e];t&&(o("display","grid"),o("grid-template-columns","minmax(0, 1fr)"),o("grid-template-rows","minmax(0, 1fr)"),o("justify-items",t.justify),o("align-items",t.align))}}o("border-radius",Zn(e.cornerRadius));const l=Xn(e.cornerRadii);if(l){const e=e=>Zn(l[e])??"0px";o("border-radius",`${e("topLeading")} ${e("topTrailing")} ${e("bottomTrailing")} ${e("bottomLeading")}`)}o("background-color",t(e.backgroundColor)),o("box-shadow",ii(e.shadow,t,!1)??void 0),o("opacity",void 0===e.opacity?void 0:String(Yn(e.opacity)??1)),o("overflow",!0===e.clipped?"hidden":void 0),o("border-width",Zn(e.borderWidth)),void 0!==e.borderWidth&&o("border-style","solid"),o("border-color",t(e.borderColor));const c=Xn(e.offset);c&&r.push(`translate(${Zn(c.x)??"0px"}, ${Zn(c.y)??"0px"})`);const d=Yn(e.scale);void 0!==d&&r.push(`scale(${d})`);const u=Yn(e.rotation);void 0!==u&&r.push(`rotate(${u}deg)`),r.length>0&&o("transform",r.join(" "));const h=ii(e.innerShadow,t,!0);h&&(n["box-shadow"]=n["box-shadow"]?`${n["box-shadow"]}, ${h}`:h);const p=function(e){switch("string"==typeof e?e:Xn(e)?Object.keys(Xn(e))[0]:void 0){case"circle":return{"clip-path":"circle(50%)"};case"capsule":return{"border-radius":"9999px","clip-path":"inset(0 round 9999px)"};case"rectangle":{const t=Xn(e)?Zn(Xn(Xn(e).rectangle)?.cornerRadius??Xn(e).rectangle):void 0;return t?{"border-radius":t,"clip-path":`inset(0 round ${t})`}:{"clip-path":"inset(0)"}}default:return}}(e.clipShape);p&&Object.assign(n,p);const f=Xn(e.fixedSize);f&&(!0===f.horizontal&&(o("flex-shrink","0"),o("width","max-content")),!0===f.vertical&&o("height","max-content"));for(const t of["overlay","backgroundElement","gradientBorder","stateStyles","stateAnimation"])void 0!==e[t]&&(i[t]=e[t]);const m=Yn(e.layoutPriority);void 0!==m&&0!==m&&o("flex-shrink",m>0?"0":"1000");const g=e.containerRelativeFrame;if(void 0!==g){const e=Xn(g)?.axis??(!0===g?"horizontal":void 0);"vertical"===e?o("height","100%"):"horizontal"!==e&&!0!==g||o("width","calc(100cqw - var(--sdui-margin-inline, 0px))")}!0===e.ignoresSafeArea&&(o("margin-top","calc(-1 * env(safe-area-inset-top))"),o("margin-bottom","calc(-1 * env(safe-area-inset-bottom))"));const b=t=>{const n=Xn(e.padding);if(!n)return;const i="top"===t||"bottom"===t?"vertical":"horizontal";return Zn(n[t])??Zn(n[i])??Zn(n.all)},y=(e,t)=>[b(e),b(t)].filter(e=>void 0!==e).map(e=>` + ${e}`).join(""),v=Yn(e.relativeWidth);void 0!==v&&o("width",`calc((100cqw - var(--sdui-margin-inline, 0px)) * ${v}${y("leading","trailing")})`);const w=Yn(e.relativeHeight);void 0!==w&&o("height",`calc(var(--sdui-container-height, 100dvh) * ${w}${y("top","bottom")})`);const x=[["top","top","padding-top"],["bottom","bottom","padding-bottom"],["leading","left","padding-inline-start"],["trailing","right","padding-inline-end"]],k=!0===e.safeAreaPadding,$=Xn(e.safeAreaPadding);for(const[e,t,n]of x)(k||!0===$?.[e])&&o(n,`calc(${b(e)??"0px"} + env(safe-area-inset-${t}) + 16px)`);!0===e.scrollTargetLayout&&(i.scrollTargetLayout=!0);for(const t of["scrollTransition","scrollFade"])void 0!==e[t]&&(i[t]=e[t]);return((Yn(e.cornerRadius)??0)>0||void 0!==Xn(e.cornerRadii))&&void 0===e.overlay&&(i.clipContent=!0),{css:n,structural:i}}function ni(e){if("infinity"===e)return"100%";const t=Xn(e);return t?!0===t.infinity?"100%":Zn(t.fixed):Zn(e)}function ii(e,t,n){const i=Xn(e);if(!i)return;const r=Zn(i.x)??"0px",o=Zn(i.y)??"0px",s=Zn(i.radius)??Zn(i.blur)??"0px",a=Yn(i.opacity)??(n?1:oi),l=si(t(i.color),a);return void 0!==l?`${n?"inset ":""}${r} ${o} ${s} ${l}`:void 0}const ri={leading:{justify:"start",align:"center"},trailing:{justify:"end",align:"center"},center:{justify:"center",align:"center"},top:{justify:"center",align:"start"},bottom:{justify:"center",align:"end"},topLeading:{justify:"start",align:"start"},topTrailing:{justify:"end",align:"start"},bottomLeading:{justify:"start",align:"end"},bottomTrailing:{justify:"end",align:"end"}},oi=.1;function si(e,t){if(void 0!==e)return t>=1?e:`color-mix(in srgb, ${e} ${100*Math.max(0,Math.min(t,1))}%, transparent)`}const ai="state",li="offers",ci="index",di="row",ui="lists",hi="time",pi="motion",fi=e=>`value:${e}`;function mi(e){return e.flatMap(e=>"offerDominantColor"===e?[fi(e),li,ci,di]:"selectedOfferDominantColor"===e?[fi(e),fi("selectedOfferLogoUrl")]:[fi(e)])}function gi(e){switch(e.kind){case"literal":return[];case"binding":return[fi(e.key)];case"state":return[ai];case"offerIndex":case"offerAttribute":return[li,ci,di];case"categoryName":return[di]}}function bi(e){const t=new Set;return yi(e,t),[...t]}function yi(e,t){for(const n of e.operands??[])yi(n,t);switch(e.name){case"and":case"or":case"not":return;case"hasMultipleOffers":return void t.add(li);case"isCurrentPage":return void t.add(ci);case"isCurrentPageBinding":return t.add(ci),void t.add(di);case"stateEquals":return void t.add(ai);case"valueEquals":case"hasValue":{const n=function(e){if("string"==typeof e)return e;if("object"==typeof e&&null!==e){const t=e.key;if("string"==typeof t)return t}}(e.payload);return void t.add(void 0===n?ai:fi(n))}case"isSelectedOffer":{const n=function(e){if("object"==typeof e&&null!==e){const t=e.targetKey;if("string"==typeof t)return t}return"selectedOfferId"}(e.payload);return t.add(fi(n)),t.add(li),t.add(ci),void t.add(di)}case"hasIntroOffer":case"hasFreeTrial":return void t.add("iap");case"equals":{const n=e.payload;if(n?.lhs)for(const e of gi(n.lhs))t.add(e);if(n?.rhs)for(const e of gi(n.rhs))t.add(e);return}case"hasOfferAttribute":case"isFirstOffer":case"isLastOffer":case"isMiddleOffer":case"offerIndexEquals":case"hasOfferProperty":return t.add(li),t.add(ci),void t.add(di);case"listCountAtLeast":return void t.add(ui);case"hasInstructionSubtitle":case"hasInstructionImage":return t.add(di),t.add(li),void t.add(ci)}}const vi=e=>Math.min(Math.abs(e),1),wi=(e,t)=>1-(1-(e.scale??1))*vi(t),xi=(e,t)=>(e.rotation??0)*t,ki=(e,t)=>(e.yOffset??0)*vi(t);function $i(e,t,n,i,r){r(i.color(e,_n(t)));const o=Qn(e);0!==o.length&&n.addSite({deps:mi(o),run:t=>r(i.color(e,_n(t)))})}function Ci(e,t){if("stroke"===e.dataset.sdui)return;const n="zStack"!==e.dataset.sdui&&"confetti"!==e.dataset.sdui&&"true"!==e.dataset.sduiBleed||void 0===t.pointerEvents?t:{...t,pointerEvents:void 0};if("contents"!==e.style.display){for(const[t,i]of Object.entries(n))void 0!==i&&("maxWidth"!==t&&"maxHeight"!==t||!e.style[t])&&(e.style[t]=i);return}const i={...Ii(e),...n};e.dataset.sduiFill=JSON.stringify(i);for(const t of Array.from(e.children))Ci(t,i)}function Ii(e){try{return JSON.parse(e.dataset.sduiFill??"{}")}catch{return{}}}function Ei(e,t){const n=Ii(e);0!==Object.keys(n).length&&t instanceof Element&&t instanceof HTMLElement&&Ci(t,n)}function Si(e,t){for(const[n,i]of Object.entries(t))e.style.setProperty(n,i)}function Ti(e,t,n,i,r){e.style.boxSizing="border-box";const o=e=>t=>r.color(t,_n(e)),{css:s,structural:a}=ti(t.style,o(n));if(Si(e,s),!0===t.style?.accessibilityHidden&&e.setAttribute("aria-hidden","true"),"ltr"===t.style?.layoutDirection&&(e.dir="ltr"),a.clipContent&&!s.overflow&&(e.style.overflow="clip"),(void 0!==s.width||void 0!==s.height)&&!s.display){const t=e.tagName,n=e.style.display;"SPAN"!==t&&"A"!==t||""!==n&&"inline"!==n||(e.style.display="inline-grid",e.style.placeItems="center")}const l=ei(t.style);if(l.length>0&&i.addSite({deps:mi(l),run:n=>{Si(e,ti(t.style,o(n)).css),a.gradientBorder&&Di(e,a.gradientBorder,r,n)}}),(a.backgroundElement||a.overlay)&&(""===e.style.position&&(e.style.position="relative"),e.style.isolation="isolate"),a.backgroundElement){const t=i.compileChild(a.backgroundElement,n).node;Li(t),t.style.zIndex="0",e.insertBefore(t,e.firstChild)}if(a.scrollTargetLayout)for(const t of Array.from(e.children))Ci(t,{scrollSnapAlign:"center"});a.gradientBorder&&Di(e,a.gradientBorder,r,n),a.stateStyles&&function(e,t,n,i,r){const o=Fi(n?.duration)??.25;e.style.transition=`all ${o}s ${ji["string"==typeof n?.curve?n.curve:"easeInOut"]??"ease-in-out"}`;const s={};for(let t=0;t<e.style.length;t+=1){const n=e.style.item(t);s[n]=e.style.getPropertyValue(n)}r.addSite({deps:[ai],run:n=>{for(const[t,n]of Object.entries(s))e.style.setProperty(t,n);const r=zi(t[n.currentState]);r&&Si(e,ti(r,e=>i.color(e,_n(n))).css)}})}(e,a.stateStyles,a.stateAnimation,r,i),r.motion&&r.trigger&&void 0!==t.style?.loop&&r.trigger.kit.attachLoop(e,t.style.loop,{transform:s.transform??"",opacity:s.opacity??""},r.motion,i);const c=a.scrollFade,d={opacity:1},u=a.scrollTransition?function(e,t,n){const i=e.style.transform,r=()=>e.closest("[data-sdui='scrollView']"),o=()=>{const o=r();if(!o)return;const s=o.getBoundingClientRect(),a=e.getBoundingClientRect();if(0===s.width)return;const l=(c=s.width/2)<=0?0:Math.min(Math.max((a.left+a.width/2-(s.left+s.width/2))/c,-1),1);var c;{const r={...void 0!==Fi(t.scale)?{scale:Fi(t.scale)}:{},...void 0!==Fi(t.opacity)?{opacity:Fi(t.opacity)}:{},...void 0!==Fi(t.rotation)?{rotation:Fi(t.rotation)}:{},...void 0!==Fi(t.yOffset)?{yOffset:Fi(t.yOffset)}:{}};e.style.transform=[i,`scale(${wi(r,l)})`,`rotate(${xi(r,l)}deg)`,`translateY(${ki(r,l)}px)`].filter(e=>""!==e).join(" "),e.style.opacity=String(((e,t)=>1-(1-(e.opacity??1))*vi(t))(r,l)*n.opacity)}};return queueMicrotask(()=>{const t=r();if(!t)return;t.addEventListener("scroll",o,{passive:!0}),o();const n=t.ownerDocument.defaultView,i=n&&"function"==typeof n.ResizeObserver?new n.ResizeObserver(o):void 0;i?.observe(t);const s=t.firstElementChild;s&&i?.observe(s,{box:"border-box"});const a=new MutationObserver(()=>{e.isConnected||(t.removeEventListener("scroll",o),i?.disconnect(),a.disconnect())});a.observe(t,{childList:!0,subtree:!0})}),o}(e,a.scrollTransition,d):void 0;if(c){u||e.style.transition||(e.style.transition="opacity 0.25s ease-in-out");const t=t=>{const n=Dn(t),i=void 0===n?0:Math.abs(n-(t.currentIndex??0));d.opacity=function(e,t=1,n=0){return t+(n-t)*Math.min(Math.max(Math.abs(e),0),1)}(i,Fi(c.centeredOpacity)??1,Fi(c.offCenterOpacity)??0),u?u():e.style.opacity=String(d.opacity)};t(n),i.addSite({deps:[ci,li,di],run:t})}if(a.overlay){const t=i.compileChild(a.overlay,n).node;Li(t),t.style.zIndex="2",e.appendChild(t)}}function Ai(e,t=0){if(t>12)return!1;const n=[...e.children??[],...e.content?[e.content]:[],...e.itemTemplate?[e.itemTemplate]:[],...e.ifTrue?[e.ifTrue]:[],...e.ifFalse?[e.ifFalse]:[],...e.label?[e.label]:[]];return!("hStack"!==e.element||!n.some(e=>"spacer"===e.element))||n.some(e=>Ai(e,t+1))}function Li(e){"contents"!==e.style.display&&""!==e.style.display||(e.style.display="grid"),e.style.position="absolute",e.style.inset="0"}function Ni(e,t=0){if(t>8)return{wide:!1,tall:!1};const n=e.style?.frame,i="object"==typeof n&&null!==n&&void 0!==n.width||void 0!==e.style?.relativeWidth;let r=!i&&(Ui(n,"maxWidth")||Ai(e)),o=Ui(n,"maxHeight");if("shape"===e.element||"gradient"===e.element){const t="object"==typeof n&&null!==n?n:{},i=e.style??{};void 0===t.width&&void 0===i.relativeWidth&&(r=!0),void 0===t.height&&void 0===i.relativeHeight&&(o=!0)}"progress"!==e.element||i||(r=!0),"scrollView"!==e.element||i||(r=!0);const s=Oi.has(e.element);if(!Mi.has(e.element)&&!s||r&&o)return{wide:r,tall:o};const a="object"==typeof n&&null!==n&&void 0!==n.height||void 0!==e.style?.relativeHeight;for(const n of[e.ifTrue,e.ifFalse,e.itemTemplate,e.content,...s?e.children??[]:[]]){if(!n)continue;const e=Ni(n,t+1);r=r||!i&&e.wide,o=o||!a&&e.tall}return{wide:r,tall:o}}const Oi=new Set(["vStack","hStack","zStack"]),Mi=new Set(["conditional","forEach","button","group"]);function Ui(e,t){if("object"!=typeof e||null===e)return!1;const n=e[t];return"infinity"===n||"object"==typeof n&&null!==n&&!0===n.infinity}function Ri(e,t){if(!t.content)return;const{wide:n,tall:i}=Ni(t.content);if(!n&&!i)return;const r=e.firstElementChild;if(!r)return;""!==e.style.display&&"contents"!==e.style.display||(e.style.display="grid",e.style.gridTemplateColumns="minmax(0, 1fr)",e.style.gridTemplateRows="minmax(0, 1fr)");const o={};n&&(o.justifySelf="stretch"),i&&(o.alignSelf="stretch"),Ci(r,o)}function Pi(e,t,n,i,r){const o=i.document.createElement(e);o.dataset.sdui=t.element;for(const e of t.children??[])o.appendChild(i.compileChild(e,n).node);return t.content&&o.appendChild(i.compileChild(t.content,n).node),Ti(o,t,n,i,r),{el:o,rendered:{node:o}}}const Fi=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0,zi=e=>"object"!=typeof e||null===e||Array.isArray(e)?void 0:e,Bi={topToBottom:"to bottom",bottomToTop:"to top",leadingToTrailing:"to right",trailingToLeading:"to left"};function Di(e,t,n,i){const r=Array.isArray(t.colors)?t.colors.map(e=>n.color(e,_n(i))).filter(e=>void 0!==e):[];let o=Array.from(e.children).find(e=>"stroke"===e.dataset.sdui);if(0===r.length)return void o?.remove();o||(o=e.ownerDocument.createElement("div"),o.dataset.sdui="stroke",e.appendChild(o)),""===e.style.position&&(e.style.position="relative"),e.style.isolation="isolate";const s=Bi[String(t.direction)]??Bi.leadingToTrailing,a=1===r.length?[r[0],r[0]]:r,l=Fi(t.cornerRadius),c="linear-gradient(#000 0 0)";Object.assign(o.style,{position:"absolute",inset:"0",zIndex:"1",pointerEvents:"none",boxSizing:"border-box",padding:`${Fi(t.width)??1}px`,borderRadius:void 0===l?"inherit":`${l}px`,background:`linear-gradient(${s}, ${a.join(", ")})`}),o.style.setProperty("-webkit-mask",`${c} content-box, ${c}`),o.style.setProperty("-webkit-mask-composite","xor"),o.style.setProperty("mask",`${c} content-box exclude, ${c}`)}const ji={linear:"linear",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)"};function Hi(e){for(const t of Array.from(e.children)){const e=t.style;if("contents"===e.display){if(Hi(t))return!0}else if("none"!==e.display)return!0}return!1}function _i(e){let t=e;for(;"contents"===t?.style.display;)t=t.parentElement;if("group"!==t?.dataset.sdui)return;const n=!Hi(t);if(n&&void 0===t.dataset.sduiVacant)t.dataset.sduiVacant=t.style.display,t.style.display="none";else{if(n||void 0===t.dataset.sduiVacant)return;t.style.display=t.dataset.sduiVacant,delete t.dataset.sduiVacant}_i(t.parentElement)}class Vi extends Error{constructor(e){super(e),this.name="SduiCompileError"}}const qi=e=>e,Wi=e=>void 0===e||e.active&&Wi(e.parent);class Gi{#At=new Map;register(e,t){return this.#At.set(e,t),this}get(e){return this.#At.get(e)}get registered(){return[...this.#At.keys()]}}class Ki{root;#Lt;constructor(e,t){this.root=e,this.#Lt=t}get siteCount(){return this.#Lt.length}get activeSiteCount(){return this.#Lt.filter(e=>Wi(e.group)).length}update(e,t){const n=void 0===t?void 0:new Set(t);let i=0;for(const t of[...this.#Lt])Wi(t.group)&&(void 0===n||t.deps.some(e=>n.has(e)))&&(t.run(t.scope(e)),i+=1);return i}}const Zi=2,Yi=2,Xi=["text","systemImage","asyncImage","asyncVideo","appIcon","button","vStack","hStack","zStack","spacer","shape","gradient","scrollView","forEach","conditional","group","textField","toggle","slideButton","compactPageIndicator","confetti","empty"],Qi=["hasMultipleOffers","isCurrentPage","isCurrentPageBinding","stateEquals","valueEquals","hasValue","hasIntroOffer","hasFreeTrial","isSelectedOffer","and","or","not","equals","hasOfferAttribute","hasOfferProperty","hasInstructionSubtitle","hasInstructionImage","isFirstOffer","isLastOffer","isMiddleOffer","offerIndexEquals"],Ji=["accent","onAccent","accentTitle","background","onBackground","surface","onSurface","border","muted","error"],er=["rectangle","roundedRectangle","circle","capsule"],tr=["topToBottom","bottomToTop","leadingToTrailing","trailingToLeading"],nr=["progress","marquee"],ir=["listCountAtLeast"],rr=e=>new Set(e),or=rr(Xi);rr(Qi);const sr=rr(["and","or","not"]),ar=rr(["close","claimOffer","openUrl","setState","setValue","selectOffer","setOfferIndex","triggerIAP","submitLead","share","reportCompletion"]),lr=rr(["badgeLabel","perk","advertiserName","description","category","shareUrl","termsUrl","quickInstructions","instructions"]),cr=rr(["offers","pageIndicators","categories","instructions"]),dr=rr(["offerAdvertiserName","offerDescription","offerPerk","offerCtaText","offerQuickInstructions","offerNewPrice","offerOldPrice","titleText","accentTitleText","subtitleText","categoryName","instructionTitle","instructionSubtitle","instructionCtaText","instructionNumber"]),ur=rr(["offerPrimaryCreative","offerLogoImage","offerHeroImage","instructionImage"]),hr=rr(["padding","frame","cornerRadius","cornerRadii","backgroundColor","shadow","innerShadow","opacity","clipShape","clipped","ignoresSafeArea","layoutPriority","containerRelativeFrame","scrollTargetLayout","borderWidth","borderColor","fixedSize","offset","stateStyles","stateAnimation","scale","rotation","relativeWidth","relativeHeight","overlay","backgroundElement","gradientBorder","scrollTransition","scrollFade","safeAreaPadding"]),pr=rr(nr);rr(ir);const fr=rr(["trigger","dismissTrigger"]),mr=rr(["hostList"]),gr=rr(["loop","layoutDirection","accessibilityHidden"]);class br extends Error{path;constructor(e,t){super(`${e} (at ${t})`),this.name="SduiDecodeError",this.path=t}}const yr=e=>"string"==typeof e?e:JSON.stringify(e)??String(e),vr=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);let wr=!1;const xr=e=>or.has(e)||wr&&pr.has(e),kr=new Set(["style","children","content","itemTemplate","label","filter","alignment","condition","ifTrue","ifFalse","dataSource","action","fallback","animateWhen"]),$r=e=>{if(!vr(e))return!1;const t=Object.keys(e);return 1===t.length&&xr(t[0])&&vr(e[t[0]])},Cr=e=>$r(e)||Array.isArray(e)&&e.length>0&&e.every($r),Ir=e=>new Set(e),Er=Ir(["leading","trailing","center","top","bottom","topLeading","topTrailing","bottomLeading","bottomTrailing"]),Sr=Ir(["ultraLight","thin","light","regular","medium","semibold","bold","heavy","black"]),Tr=Ir(er),Ar=Ir(tr),Lr=Ir(["horizontal","vertical"]),Nr=Ir(["viewAligned","paging"]),Or=Ir(["fit","fill"]),Mr=Ir(["row","creative"]),Ur=Ir(["emailAddress"]),Rr=Ir(["emailAddress"]),Pr=Ir(["label","secondaryLabel","tertiaryLabel","systemBackground","secondarySystemBackground","systemGroupedBackground","secondarySystemGroupedBackground","separator","tertiarySystemFill"]),Fr=Ir(Ji),zr=Ir([...Ji,"inkOnAccent","secondary","track","backgroundEnd"]),Br=Ir([...er,"ellipse"]),Dr=Ir(["card","arrow","button"]),jr=Ir(["linear","radial"]),Hr=Ir(["clock","hoursMinutes","hours","minutes","seconds","largestUnit"]),_r=Ir(["linear","easeIn","easeOut","easeInOut"]),Vr=Ir(["horizontal","vertical"]),qr=Ir(["ltr"]),Wr=Ir(["linear","easeIn","easeOut","easeInOut","spring"]);function Gr(e,t){if("string"==typeof e)return{kind:"literal",value:e};if(!vr(e))throw new br("value ref must be a string or an object",t);if("string"==typeof e.value)return{kind:"literal",value:e.value};if("string"==typeof e.binding)return{kind:"binding",key:e.binding};if(void 0!==e.state)return{kind:"state"};if(void 0!==e.offerIndex)return{kind:"offerIndex"};if(void 0!==e.categoryName)return{kind:"categoryName"};if(void 0!==e.offerAttribute){const n=e.offerAttribute;if("string"!=typeof n||!lr.has(n))throw new br(`unknown offer attribute "${yr(n)}"`,t);return{kind:"offerAttribute",attribute:n}}throw new br("value ref names no known form",t)}function Kr(e,t){if(!vr(e))throw new br("condition must be an object",t);const n=(wr?[...Qi,...ir]:Qi).find(t=>t in e);if(void 0===n)throw new br(`unknown condition "${yr(Object.keys(e)[0])}"`,t);const i=e[n],r=`${t}.${n}`;if(sr.has(n)){const e="not"===n?[i]:i;if(!Array.isArray(e))throw new br(`"${n}" needs ${"not"===n?"a condition":"an array"}`,r);return{name:n,operands:e.map((e,t)=>Kr(e,`${r}[${t}]`))}}if("equals"===n){if(!vr(i))throw new br('"equals" needs an object',r);return{name:"equals",payload:{lhs:Gr(i.lhs,`${r}.lhs`),rhs:Gr(i.rhs,`${r}.rhs`)}}}if("hasOfferAttribute"===n){const e="string"==typeof i?i:vr(i)?i.attribute:void 0;if("string"!=typeof e||!lr.has(e))throw new br(`unknown offer attribute "${yr(e)}"`,r);return{name:"hasOfferAttribute",payload:e}}if("listCountAtLeast"===n){if(!vr(i)||"string"!=typeof i.list||!Number.isInteger(i.min))throw new br('"listCountAtLeast" needs a list and an integer min',r);return{name:"listCountAtLeast",payload:{list:i.list,min:i.min}}}if("hasOfferProperty"===n&&"string"!=typeof i)throw new br('"hasOfferProperty" needs a key',r);return{name:n,payload:i}}const Zr=e=>ar.has(e)||wr&&fr.has(e),Yr=Object.freeze({type:"unknown",params:Object.freeze({})});function Xr(e,t){if("string"==typeof e)return Zr(e)?{type:e,params:{}}:Yr;if(!vr(e))throw new br("action must be a string or an object",t);const n=e.type;if(void 0===n||"string"!=typeof n)throw new br("action type must be a string",t);if(!Zr(n))return Yr;const i={};for(const[t,n]of Object.entries(e))"type"!==t&&(i[t]=n);if("trigger"===n){const e=i.target;if("string"!=typeof e||!Dr.has(e))throw new br(`unknown trigger target "${yr(e)}"`,t)}for(const e of["offerIndex","offerIndexDelta","promoteToIndex"]){const n=i[e];if(null!=n&&!Number.isInteger(n))throw new br(`${e} must be an integer`,t)}const r=i.urlAttribute;if(null!=r&&("string"!=typeof r||!lr.has(r)))throw new br(`unknown offer attribute "${yr(r)}"`,`${t}.urlAttribute`);const o={type:n,params:i};return null==i.setValueRef?o:{...o,valueRef:Gr(i.setValueRef,`${t}.setValueRef`)}}const Qr=new Set(["overlay","backgroundElement"]);function Jr(e,t){if(!vr(e))throw new br("node must be an object",t);const n=(wr?[...Xi,...nr]:Xi).find(t=>t in e);if(void 0===n)throw new br(`unknown element "${yr(Object.keys(e)[0])}"`,t);const i=`${t}.${n}`,r=e[n],o=vr(r)?eo(r):{},s={element:n,props:{}};for(const[e,t]of Object.entries(o))kr.has(e)||(s.props[e]=t);!function(e,t,n){if("gradient"===e&&(!wr||"radial"!==t.type)&&"string"!=typeof t.direction)throw new br('gradient needs "direction"',n);for(const[i,r]of no[e]??[]){const o=t[i];if(!("any"===r?void 0!==o:"array"===r?Array.isArray(o):"object"===r?vr(o):typeof o===r))throw new br(`${e} needs "${i}"`,n)}}(n,o,i),function(e,t,n){for(const[i,r]of io){if("type"===i&&"shape"!==e)continue;const o=t[i];if(null!=o&&("string"!=typeof o||!(wr&&"type"===i?Br:r).has(o)))throw new br(`unknown ${i} "${yr(o)}"`,n)}}(n,o,i),function(e,t,n){if("compactPageIndicator"===e||"confetti"===e)return;const i=(e,t)=>{if(void 0!==e){if(!vr(e)||"number"!=typeof e.size)throw new br("font needs a size",t);if("string"!=typeof e.weight||!Sr.has(e.weight))throw new br(`unknown font weight "${yr(e.weight)}"`,t)}};"text"!==e&&"systemImage"!==e||i(t.font,`${n}.font`),"gradient"===e&&Array.isArray(t.colors)&&t.colors.forEach((e,t)=>{if(!vr(e)||null==e.color)throw new br("gradient stop needs a color",`${n}.colors[${t}]`)}),"text"===e&&Array.isArray(t.segments)&&t.segments.forEach((e,t)=>{const r=`${n}.segments[${t}]`;if(!vr(e)||"string"!=typeof e.text)throw new br("segment needs a text",r);const o=e.textBinding;if(null!=o&&("string"!=typeof o||!dr.has(o)))throw new br(`unknown textBinding "${yr(o)}"`,r);i(e.font??void 0,`${r}.font`)});const r="conditional"!==e&&vr(t.style)?t.style.frame:void 0,o=vr(r)?r.alignment:void 0;if(null!=o&&("string"!=typeof o||!Er.has(o)))throw new br(`unknown frame alignment "${yr(o)}"`,`${n}.style.frame`)}(n,o,i),function(e,t){for(const n of oo){const i=e[n];if(null!=i&&!Number.isInteger(i))throw new br(`${n} must be an integer`,t)}}(o,i),wr&&function(e,t,n){const i=(e,t,n,i)=>{if(null!=e&&("string"!=typeof e||!t.has(e)))throw new br(`unknown ${n} "${yr(e)}"`,i)};if("gradient"===e&&i(t.type,jr,"gradient type",n),"marquee"===e&&i(t.axis,Vr,"marquee axis",n),"text"===e&&null!=t.countdown){const e=t.countdown;if(!vr(e)||"string"!=typeof e.to)throw new br("countdown needs a time key",`${n}.countdown`);i(e.format,Hr,"countdown format",`${n}.countdown`)}const r=vr(t.style)?t.style:void 0;if(r){i(r.layoutDirection,qr,"layout direction",`${n}.style`);const e=r.loop;if(null!=e){if(!vr(e))throw new br("loop must be an object",`${n}.style.loop`);i(e.curve,_r,"loop curve",`${n}.style.loop`),function(e,t){const n=e=>{throw new br(`loop ${e}`,t)},i=e=>"number"==typeof e&&Number.isFinite(e);if((!i(e.duration)||e.duration<=0)&&n("needs a positive duration"),null!=e.phaseOffset){const t=e.phaseOffset;(!i(t)||t<0||t>1)&&n("phaseOffset must be 0..1")}const r=e.keyframes;(!Array.isArray(r)||r.length<2)&&n("needs at least two keyframes");const o=r.map(e=>vr(e)&&i(e.at)?e.at:NaN);0===o[0]&&1===o[o.length-1]||n("keyframes must run from at 0 to at 1");for(let e=1;e<o.length;e+=1)o[e]>o[e-1]||n("keyframes must ascend")}(e,`${n}.style.loop`)}}}(n,o,i);for(const[e,t]of Object.entries(o))kr.has(e)||so(t,i);if(vr(o.style)&&so(o.style,`${i}.style`),void 0!==o.style&&(s.style=function(e,t){if(!vr(e))throw new br("style must be an object",t);const n={};for(const[i,r]of Object.entries(eo(e)))(hr.has(i)||wr&&gr.has(i))&&(n[i]=Qr.has(i)?Jr(r,`${t}.${i}`):r);return n}(o.style,`${i}.style`)),void 0!==o.children){if(!Array.isArray(o.children))throw new br("children must be an array",i);s.children=o.children.map((e,t)=>Jr(e,`${i}.children[${t}]`))}if(void 0!==o.content&&(s.content=Jr(o.content,`${i}.content`)),void 0!==o.itemTemplate&&(s.itemTemplate=Jr(o.itemTemplate,`${i}.itemTemplate`)),void 0!==o.alignment){const e=o.alignment;if("string"!=typeof e||!Er.has(e))throw new br(`unknown alignment "${yr(e)}"`,i);s.alignment=e}if(void 0!==o.condition&&(s.condition=Kr(o.condition,`${i}.condition`)),void 0!==o.ifTrue&&(s.ifTrue=Jr(o.ifTrue,`${i}.ifTrue`)),void 0!==o.ifFalse&&(s.ifFalse=Jr(o.ifFalse,`${i}.ifFalse`)),void 0!==o.dataSource){const e=o.dataSource;if("string"!=typeof e||!(cr.has(e)||wr&&mr.has(e)))throw new br(`unknown data source "${yr(e)}"`,i);if("hostList"===e&&"string"!=typeof o.list)throw new br('a "hostList" forEach needs a list',i);s.dataSource=e}void 0!==o.fallback&&wr&&(s.fallback=Jr(o.fallback,`${i}.fallback`)),void 0!==o.animateWhen&&wr&&(s.animateWhen=Kr(o.animateWhen,`${i}.animateWhen`)),void 0!==o.label&&(s.label=Jr(o.label,`${i}.label`)),void 0!==o.filter&&(s.filter=Kr(o.filter,`${i}.filter`)),void 0!==o.action&&(s.action=Xr(o.action,`${i}.action`));for(const[e,t]of Object.entries(s.props))if(Cr(t))throw new br(`"${e}" holds a subtree this build does not decode`,i);return s}function eo(e){const t={};for(const[n,i]of Object.entries(e))null!==i&&(t[n]=i);return t}function to(e,t={}){const n=wr;wr=!0===t.trigger;try{return function(e){if(!vr(e))throw new br("template must be an object","root");if(void 0===e.root)throw new br("template has no root","root");const t={};for(const[n,i]of Object.entries(e))"root"!==n&&"version"!==n&&"useCase"!==n&&(t[n]=i);const n=function(e){if(null==e)return;if(!vr(e))throw new br("stateActions must be an object","stateActions");const t={};for(const[n,i]of Object.entries(e)){const e=`stateActions.${n}`;if(!vr(i))throw new br("state actions must be an object",e);t[n]=null==i.onEnter?{}:{onEnter:Xr(i.onEnter,`${e}.onEnter`)}}return t}(e.stateActions);return{..."string"==typeof e.version?{version:e.version}:{},..."string"==typeof e.useCase?{useCase:e.useCase}:{},root:Jr(e.root,"root"),presentation:t,...void 0===n?{}:{stateActions:n}}}(e)}finally{wr=n}}const no={text:[["text","string"]],systemImage:[["systemName","string"]],button:[["content","object"],["action","any"]],vStack:[["children","array"]],hStack:[["children","array"]],zStack:[["children","array"]],group:[["content","object"]],textField:[["valueKey","string"]],toggle:[["valueKey","string"],["label","object"]],slideButton:[["text","string"],["action","any"]],shape:[["type","string"]],gradient:[["colors","array"]],scrollView:[["content","object"]],forEach:[["dataSource","string"],["itemTemplate","object"]],conditional:[["condition","object"],["ifTrue","object"]]},io=[["textBinding",dr],["urlBinding",ur],["weight",Sr],["type",Tr],["direction",Ar],["axis",Lr],["scrollTargetBehavior",Nr],["contentMode",Or],["impressionSource",Mr],["keyboardType",Ur],["textContentType",Rr],["multilineAlignment",Er]],ro=[["semantic",Pr],["appearance",Fr],["curve",Wr]],oo=["limit","offset","columns","lineLimit"];function so(e,t,n=0){if(!(n>6)&&vr(e)){for(const[n,i]of ro){const r=e[n];if(null!=r&&("string"!=typeof r||!(wr&&"appearance"===n?zr:i).has(r)))throw new br(`unknown ${n} "${yr(r)}"`,t)}for(const[i,r]of Object.entries(e))if(!xr(i))if(Array.isArray(r))for(const e of r)so(e,t,n+1);else so(r,t,n+1)}}const ao=new Set(["triggerIAP","submitLead"]);function lo(e){for(const t of function(e){const t=new Set,n=e=>{if("string"==typeof e)t.add(e);else if("object"==typeof e&&null!==e){const n=e.type;"string"==typeof n&&t.add(n)}},i=(e,t)=>{if(!(t>64||"object"!=typeof e||null===e))if(Array.isArray(e))for(const n of e)i(n,t+1);else for(const[r,o]of Object.entries(e))"action"!==r&&"onEnter"!==r||n(o),i(o,t+1)};return i(e,0),!0===e?.triggerIAPFirst&&t.add("triggerIAP"),t}(e))if(ao.has(t))return t}const co={leading:"flex-start",trailing:"flex-end",center:"center",top:"center",bottom:"center",topLeading:"flex-start",topTrailing:"flex-end",bottomLeading:"flex-start",bottomTrailing:"flex-end"},uo={leading:"center",trailing:"center",center:"center",top:"flex-start",bottom:"flex-end",topLeading:"flex-start",topTrailing:"flex-start",bottomLeading:"flex-end",bottomTrailing:"flex-end"},ho={leading:{justify:"flex-start",align:"center"},trailing:{justify:"flex-end",align:"center"},center:{justify:"center",align:"center"},top:{justify:"center",align:"flex-start"},bottom:{justify:"center",align:"flex-end"},topLeading:{justify:"flex-start",align:"flex-start"},topTrailing:{justify:"flex-end",align:"flex-start"},bottomLeading:{justify:"flex-start",align:"flex-end"},bottomTrailing:{justify:"flex-end",align:"flex-end"}};function po(e,t,n,i=!1){for(const[r,o]of(t.children??[]).entries()){const t=e.children[r];if(!t)continue;const{wide:s,tall:a}=Ni(o),l={},c=bo(o);if("row"===n&&c.width&&(l.flexShrink="0"),"column"===n&&c.height&&(l.flexShrink="0"),"spacer"===o.element){const e=o.style??{};("row"===n?c.width||void 0!==e.relativeWidth:"column"===n&&(c.height||void 0!==e.relativeHeight))&&(l.flexGrow="0")}const d=So(o),u=(o.style?.layoutPriority??0)<0,h="horizontal"===d&&Eo(o);if(u||h||"column"!==n||"horizontal"!==d||(l.flexShrink="0"),h&&"column"===n&&(l.flexShrink="1",l.minHeight="0px"),u||"row"!==n||"vertical"!==d||(l.flexShrink="0"),s&&Io(o)){"row"===n?l.marginInline="auto":"column"===n?l.alignSelf="center":l.justifySelf="center",Ci(t,l);continue}const p=$o(o);"column"===n?(s&&(l.alignSelf=p.width?e.style.alignItems||"center":"stretch",p.width&&(l.width="100%")),a&&(l.flexGrow="1",l.flexBasis="0",l.minHeight="0px")):"row"===n?(s&&(l.flexGrow="1"),a&&(l.alignSelf="stretch"),!i||s||c.width||p.width||"text"!==o.element||1!==o.props.lineLimit||(l.flexGrow="1",l.flexBasis="0px",l.minWidth="0px","100%"===t.style.maxWidth&&(t.style.maxWidth="max-content"))):(s&&(l.justifySelf=p.width?e.style.justifyItems||"center":"stretch",p.width&&(l.width="100%")),a&&(l.alignSelf=p.height?e.style.alignItems||"center":"stretch",p.height&&(l.height="100%"))),Object.keys(l).length>0&&Ci(t,l)}}const fo={leading:"flex-start",topLeading:"flex-start",bottomLeading:"flex-start",trailing:"flex-end",topTrailing:"flex-end",bottomTrailing:"flex-end",center:"center",top:"center",bottom:"center"},mo={top:"flex-start",topLeading:"flex-start",topTrailing:"flex-start",bottom:"flex-end",bottomLeading:"flex-end",bottomTrailing:"flex-end",center:"center",leading:"center",trailing:"center"};function go(e,t,n){const i=t.style?.frame;if("object"!=typeof i||null===i)return;const r=i.alignment??"center";if("string"!=typeof r)return;const o=("row"===n?fo:mo)[r];o&&(e.style.justifyContent=o)}function bo(e,t=0){const n=e.style?.frame;if("object"==typeof n&&null!==n&&(void 0!==n.width||void 0!==n.height))return{width:void 0!==n.width,height:void 0!==n.height};if(t>8||!Mi.has(e.element))return{width:!1,height:!1};let i=!1,r=!1;for(const n of[e.ifTrue,e.ifFalse,e.itemTemplate]){if(!n)continue;const e=bo(n,t+1);i=i||e.width,r=r||e.height}return{width:i,height:r}}function yo(e){return Array.from(e.querySelectorAll("*")).filter(e=>"center"===e.style.scrollSnapAlign)}function vo(e){let t=0;for(let n=e;n;n=n.offsetParent)t+=n.offsetLeft;return t}function wo(e,t){return vo(t)-vo(e)+t.offsetWidth/2-(e.scrollLeft+e.clientWidth/2)}function xo(e,t){let n=-1,i=1/0;return t.forEach((t,r)=>{const o=Math.abs(wo(e,t));o<i&&(n=r,i=o)}),n}function ko(e,t,n){const i=wo(e,t);if(Math.abs(i)<2)return;const r=e.scrollLeft+i;"function"==typeof e.scrollTo?e.scrollTo({left:r,behavior:n?"smooth":"auto"}):e.scrollLeft=r}function $o(e,t=0){const n=e.style?.frame;if("object"==typeof n&&null!==n){const e=n,t=e=>"number"==typeof e||"object"==typeof e&&null!==e&&"number"==typeof e.fixed;if(t(e.maxWidth)||t(e.maxHeight))return{width:t(e.maxWidth),height:t(e.maxHeight)}}if(t>8||!Mi.has(e.element))return{width:!1,height:!1};for(const n of[e.ifTrue,e.ifFalse,e.itemTemplate,e.content]){if(!n)continue;const e=$o(n,t+1);if(e.width||e.height)return e}return{width:!1,height:!1}}const Co=["backgroundColor","background","backgroundElement","border","borderColor","borderWidth","gradientBorder","shadow","innerShadow","overlay"];function Io(e,t=0){if("text"===e.element){const t=e.style?.frame;if("object"!=typeof t||null===t)return!1;const n=e.style;return!Co.some(e=>void 0!==n[e])&&(void 0===t.alignment&&void 0===t.width&&("infinity"===t.maxWidth||"object"==typeof t.maxWidth&&null!==t.maxWidth&&!0===t.maxWidth.infinity))}if(t>8||"conditional"!==e.element&&"group"!==e.element)return!1;for(const n of[e.ifTrue,e.ifFalse,e.content])if(n&&Io(n,t+1))return!0;return!1}function Eo(e,t=0){return!(!e||t>12)&&("asyncImage"===e.element?"number"==typeof e.props.aspectRatio&&"infinity"===(e.style?.frame??{}).maxWidth:[...e.children??[],e.content,e.itemTemplate,e.ifTrue,e.ifFalse].some(e=>Eo(e,t+1)))}function So(e,t=0){if("scrollView"===e.element)return"horizontal"===e.props.axis?"horizontal":"vertical";if(!(t>8)&&Mi.has(e.element))for(const n of[e.ifTrue,e.ifFalse,e.itemTemplate,e.content]){if(!n)continue;const e=So(n,t+1);if(e)return e}}const To=e=>{const t=e.props.spacing;return"number"==typeof t&&Number.isFinite(t)?`${t}px`:void 0};function Ao(e,t){return e.register("vStack",(e,n,i)=>{const{el:r,rendered:o}=Pi("div",e,n,i,t);r.style.display="flex",r.style.flexDirection="column",r.style.alignItems=co[e.alignment??"center"];const s=To(e);return s&&(r.style.gap=s),go(r,e,"column"),po(r,e,"column"),o}),e.register("hStack",(e,n,i)=>{const{el:r,rendered:o}=Pi("div",e,n,i,t);r.style.display="flex",r.style.flexDirection="row",r.style.alignItems=uo[e.alignment??"center"];const s=To(e);return s&&(r.style.gap=s),go(r,e,"row"),po(r,e,"row",void 0!==t.trigger),o}),e.register("zStack",(e,n,i)=>{const{el:r,rendered:o}=Pi("div",e,n,i,t);r.style.display="grid",r.style.gridTemplateColumns="minmax(0, 1fr)",r.style.gridTemplateRows="minmax(0, 1fr)";const s=ho[e.alignment??"center"];r.style.justifyItems=s.justify,r.style.alignItems=s.align;for(const e of Array.from(r.children))Ci(e,{gridArea:"1 / 1",maxWidth:"100%",maxHeight:"100%",zIndex:"0"});r.style.pointerEvents="none";for(const e of Array.from(r.children))Ci(e,{pointerEvents:"auto"});return po(r,e,"stacked"),o}),e.register("spacer",(e,n,i)=>{const r=i.document.createElement("div");r.dataset.sdui="spacer",r.style.flexGrow="1",r.style.flexShrink="0";const o=e.props.minLength;return"number"==typeof o&&(r.style.flexBasis=`${o}px`),Ti(r,e,n,i,t),{node:r}}),e.register("group",(e,n,i)=>{const{el:r,rendered:o}=Pi("div",e,n,i,t);return Ri(r,e),o}),e.register("scrollView",(e,n,i)=>{const{el:r,rendered:o}=Pi("div",e,n,i,t),s="horizontal"===e.props.axis;r.style.overflowX=s?"auto":"hidden",r.style.overflowY=s?"hidden":"auto",s?(r.style.maxWidth||(r.style.maxWidth="100%"),r.style.minWidth="0px"):(r.style.maxHeight||(r.style.maxHeight="100%"),r.style.minHeight="0px"),void 0!==e.props.scrollTargetBehavior&&(r.style.scrollSnapType=(s?"x":"y")+" mandatory");const a="object"==typeof e.props.contentMargins&&null!==e.props.contentMargins?e.props.contentMargins:void 0,l=(...e)=>{for(const t of e){const e=a?.[t];if("number"==typeof e)return e}},c=s?l("leading","horizontal","all"):l("top","vertical","all");if(void 0!==c){const e=r.firstElementChild??r;s?e.style.paddingInline=`${c}px`:e.style.paddingBlock=`${c}px`}if(r.style.setProperty("container-type","inline-size"),r.style.setProperty("--sdui-margin-inline",(s?2*(c??0):0)+"px"),s&&Eo(e.content)&&function(e){const t=()=>{const t=e.firstElementChild;if(t){t.style.height="100%";for(const e of Array.from(t.children)){const t="contents"===e.style.display?Array.from(e.children):[e];for(const e of t)e.style.maxHeight="100%",e.style.minHeight="0px"}}};t(),"function"==typeof MutationObserver&&new MutationObserver(t).observe(e,{childList:!0,subtree:!0})}(r),!s){!function(e){const t=e=>{for(const n of Array.from(e.children))if("scrollView"!==n.dataset.sdui){if("contents"===n.style.display&&n.dataset.sduiFill){const e=Ii(n);"0"===e.flexBasis&&(n.dataset.sduiFill=JSON.stringify({...e,flexBasis:"auto",minHeight:"auto"}))}"0px"!==n.style.flexBasis&&"0"!==n.style.flexBasis||(n.style.flexBasis="auto",n.style.minHeight="auto"),n.style.height.endsWith("px")||t(n)}};t(e),"function"==typeof MutationObserver&&new MutationObserver(()=>t(e)).observe(e,{childList:!0,subtree:!0})}(r);const e=()=>{if(0===r.clientHeight)return;const e=`${r.clientHeight}px`;r.style.getPropertyValue("--sdui-container-height")!==e&&r.style.setProperty("--sdui-container-height",e)};e();const t=r.ownerDocument.defaultView;t&&"function"==typeof t.ResizeObserver&&new t.ResizeObserver(e).observe(r)}if("center"===e.props.scrollAlignment&&(r.style.scrollSnapType=(s?"x":"y")+" mandatory"),s){const n=r.firstElementChild;if(n&&!n.style.width&&(n.style.width="max-content"),function(e){if("undefined"==typeof window)return;if(!0!==window.matchMedia?.("(pointer: fine)").matches)return;e.addEventListener("wheel",t=>{if(Math.abs(t.deltaY)<=Math.abs(t.deltaX))return;const n=e.scrollWidth-e.clientWidth,i=Math.min(Math.max(e.scrollLeft+t.deltaY,0),n);if(n<=0||i===e.scrollLeft)return;t.preventDefault();const r=yo(e);if(r.length>0){const n=Date.now();if(n-o<350)return;o=n;const i=xo(e,r),s=r[Math.min(Math.max(i+Math.sign(t.deltaY),0),r.length-1)];return void(s&&ko(e,s,!0))}e.scrollLeft=i},{passive:!1});let t=0,n=0,i=!1,r=!1,o=0,s=-1,a="";e.addEventListener("pointerdown",o=>{0===o.button&&(i=!0,r=!1,t=o.clientX,n=e.scrollLeft)}),e.addEventListener("pointermove",o=>{if(!i)return;const l=o.clientX-t;!r&&Math.abs(l)<4||(r||(s=xo(e,yo(e)),a=e.style.scrollSnapType,a&&(e.style.scrollSnapType="none"),e.dataset.sduiDragging="true"),r=!0,e.setPointerCapture?.(o.pointerId),e.scrollLeft=n-l)});const l=n=>{const o=i&&r;if(i=!1,!o)return;if(delete e.dataset.sduiDragging,!a)return;e.style.scrollSnapType=a;const l=yo(e);let c=xo(e,l);const d=(n?.clientX??t)-t;c===s&&Math.abs(d)>40&&(c=Math.min(Math.max(c-Math.sign(d),0),l.length-1));const u=l[c];u&&ko(e,u,!0)};e.addEventListener("pointerup",e=>l(e)),e.addEventListener("pointercancel",()=>l()),e.addEventListener("click",e=>{r&&(r=!1,e.stopPropagation(),e.preventDefault())},!0)}(r),void 0!==e.props.scrollTargetBehavior){for(const e of Array.from(n?.children??[]))Ci(e,{scrollSnapAlign:"center"});!function(e,t,n,i){const r=()=>{if(!i)return;const t=e.firstElementChild,n=yo(e)[0],r=function(e,t){if(!(e<1||t<1))return Math.max(0,(e-t)/2)}(e.clientWidth,n?.offsetWidth??0);t&&void 0!==r&&(t.style.paddingInline=`${r}px`)};i&&"function"==typeof ResizeObserver&&new ResizeObserver(()=>r()).observe(e);const o=e=>e.closest("[data-sdui-offer-id]")?.dataset.sduiOfferId,s=t=>{const n=t.offers[t.currentIndex??0]?.id;return yo(e).find(e=>o(e)===n)};if(t.addSite({deps:[ci,li],run:t=>{const n=s(t);n&&e.isConnected&&ko(e,n,!0)}}),"function"==typeof requestAnimationFrame){let t=0;const i=()=>{const o=n.currentContext?.(),a=o?s(o):void 0;!a||!e.isConnected||e.clientWidth<1?++t<60&&requestAnimationFrame(i):(r(),ko(e,a,!1))};requestAnimationFrame(i)}let a;const l=()=>{if(a=void 0,!e.isConnected||"true"===e.dataset.sduiDragging)return;const t=yo(e),i=t[xo(e,t)],r=i?o(i):void 0,s=n.currentContext?.();if(!r||!s)return;const l=s.offers.findIndex(e=>e.id===r);l<0||l===s.currentIndex||n.actionHost?.setOfferIndex?.(l,Fn)};e.addEventListener("scroll",()=>{void 0!==a&&clearTimeout(a),a=setTimeout(l,120)},{passive:!0})}(r,i,t,"center"===e.props.scrollAlignment)}}return function(e,t){let n=0;const i=()=>{n=0;const i=t?e.scrollLeft:e.scrollTop,r=t?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight,o=function(e,t,n){return t||n?`linear-gradient(${e?"to right":"to bottom"}, ${t?"transparent 0, #000 28px":"#000 0"}, ${n?"#000 calc(100% - 28px), transparent 100%":"#000 100%"})`:""}(t,r>1&&i>1,r>1&&i<r-1);e.style.setProperty("mask-image",o),e.style.setProperty("-webkit-mask-image",o)},r=()=>{if("function"!=typeof requestAnimationFrame)return i();0===n&&(n=requestAnimationFrame(i))};if(e.addEventListener("scroll",r,{passive:!0}),"function"==typeof ResizeObserver){const t=new ResizeObserver(r);t.observe(e),e.firstElementChild&&t.observe(e.firstElementChild)}r()}(r,s),s&&function(e){const t=e.style??{};return!0!==t.clipped&&void 0===t.clipShape&&void 0===t.padding&&void 0===(t.frame??{}).width&&void 0===t.relativeWidth}(e)&&function(e,t,n){e.dataset.sduiBleed="true",e.style.boxSizing="content-box",e.style.paddingBlock="24px",e.style.marginBlock="-24px",e.style.pointerEvents="none";const i=e.firstElementChild;i&&(i.style.pointerEvents="auto");const r="100%"===e.style.maxWidth;let o=0;const s=()=>{const s=e.getBoundingClientRect();if(0===s.width)return;const a=function(e){const t=e.ownerDocument.defaultView;for(let n=e.parentElement;n;n=n.parentElement){const e=t?.getComputedStyle(n);if(e&&("visible"!==e.overflowX||"none"!==e.clipPath)){const e=n.getBoundingClientRect();return{left:e.left,right:e.right}}}return{left:0,right:t?.innerWidth??0}}(e),l=Math.min(s.left+o-a.left,a.right-(s.right-o)),c=Math.min(64,Math.max(0,Math.round(l)));c!==o&&(o=c,e.style.marginInline=`-${o}px`,r&&(e.style.maxWidth=`calc(100% + ${2*o}px)`),e.style.setProperty("--sdui-margin-inline",2*(t+o)+"px"),!n&&i&&(i.style.paddingInline=`${t+o}px`))};"function"==typeof requestAnimationFrame&&requestAnimationFrame(s);const a=e.ownerDocument.defaultView;a&&"function"==typeof a.ResizeObserver&&e.parentElement&&new a.ResizeObserver(s).observe(e.parentElement)}(r,c??0,"center"===e.props.scrollAlignment),!1===e.props.showsIndicators&&(r.style.scrollbarWidth="none",r.dataset.sduiHideScrollbar="true"),o}),e}const Lo="Get 1 month",No=" for free",Oo="Claim an exclusive offer and get free access to all features",Mo="${";function Uo(e,t,n={}){let i=e;if(i.includes(Mo))for(const[e,n]of Object.entries(t))i=i.split(`${Mo}${e}}`).join(n);if(!i.includes(Mo))return i;for(const[e,t]of Object.entries(n))i=i.split(`${Mo}${e}}`).join(t);return i}function Ro(e,t,n,i,r){switch(e){case"offerAdvertiserName":return t?.advertiserName??"";case"offerDescription":return t?.description??"";case"offerPerk":return t?.perk??"";case"offerCtaText":return t?t.ctaText??n.claimText??"Claim":n.getText??"Get";case"offerNewPrice":return t?.newPrice??"";case"offerOldPrice":return t?.oldPrice??"";case"offerQuickInstructions":return t?.quickInstructions??"";case"titleText":return n.titleText??Lo;case"accentTitleText":return n.accentTitleText??No;case"subtitleText":return n.subtitleText??Oo;case"categoryName":return void 0===i?"":n.categoryLabels?.[i]??i;case"instructionTitle":return r?.title??"";case"instructionSubtitle":return r?.subtitle??"";case"instructionCtaText":return r?.ctaButtonText??"";case"instructionNumber":return void 0===r?.position?"":String(r.position)}}function Po(e,t,n){switch(e){case"offerPrimaryCreative":return t?.primaryImageUrl;case"offerLogoImage":return t?.logoUrl;case"offerHeroImage":return t?.heroImageUrl??t?.primaryImageUrl;case"instructionImage":return n?.imageUrl}}const Fo=e=>`<path d="${e}" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>`,zo=e=>`<path d="${e}" fill="currentColor"/>`,Bo=(e,t,n)=>`<mask id="${e}"><rect width="24" height="24" fill="#fff"/><path d="${n}" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></mask><path d="${t}" fill="currentColor" mask="url(#${e})"/>`,Do="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z",jo={"arrowshape.turn.up.right":Fo("M3 18v-3a6 6 0 0 1 6-6h8M13 5l4 4-4 4"),checkmark:Fo("M4 12.5l5 5L20 6.5"),"checkmark.circle.fill":Bo("sdui-sf-check-fill",Do,"M7.5 12.5l3 3 6-6"),"chevron.left":Fo("M15 5l-7 7 7 7"),"clock.fill":Bo("sdui-sf-clock-fill",Do,"M12 6.5V12l4 2.5"),"gift.fill":zo("M4 11h16v9a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9Zm-1-5h18v4H3V6Zm9 0V4m0 2c-2 0-3.5-1-3.5-2S10 2 12 6Zm0 0c2 0 3.5-1 3.5-2S14 2 12 6Z"),"heart.fill":zo("M12 21s-8-5-8-10a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 11c0 5-8 10-8 10Z"),"lock.open.fill":zo("M6 11h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Z")+Fo("M8 11V7a4 4 0 0 1 8 0"),plus:Fo("M12 5v14M5 12h14"),sparkles:zo("M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Zm6 9l.9 2.3L21 15l-2.1.7L18 18l-.9-2.3L15 15l2.1-.7L18 12Z"),xmark:Fo("M6 6l12 12M18 6L6 18"),gift:Fo("M4 11h16v9a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9ZM3 7h18v4H3V7Zm9 0v14m0-14c-2 0-3.5-1-3.5-2.2S10 3 12 7Zm0 0c2 0 3.5-1 3.5-2.2S14 3 12 7Z"),"chevron.forward":Fo("M9 5l7 7-7 7"),"arrow.forward":Fo("M5 12h14M13 6l6 6-6 6")};function Ho(e){if(!e?.includes("${"))return[];const t=[],n=/\$\{([^}]+)\}/g;let i;for(;null!==(i=n.exec(e));)t.push(i[1]);return t}const _o=1.2,Vo=e=>"object"!=typeof e||null===e||Array.isArray(e)?void 0:e,qo=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0,Wo=e=>"string"==typeof e?e:void 0,Go={topToBottom:"to bottom",bottomToTop:"to top",leadingToTrailing:"to right",trailingToLeading:"to left"},Ko="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function Zo(e,t,n,i){const r="object"==typeof t.font&&null!==t.font?t.font:void 0;if(r){const t=qo(r.size);void 0!==t&&(e.style.fontSize=`${i?Number((t*i.fontScale).toFixed(2)):t}px`),i&&!0===r.monospacedDigits&&e.style.setProperty("font-variant-numeric","tabular-nums");const n=Wo(r.weight);void 0!==n&&(e.style.fontWeight=Yo[n]??"normal");const o=qo(r.tracking);void 0!==o&&(e.style.letterSpacing=`${o}px`)}e.style.textAlign=n&&"leading"!==n?"trailing"===n?"end":"center":"start",!0===t.underline&&(e.style.textDecoration="underline"),!0===t.strikethrough&&(e.style.textDecoration="line-through");const o=qo(Vo(t.font)?.size),s=qo(t.lineHeightMultiple),a=qo(t.lineHeight),l=qo(t.lineSpacing);e.style.lineHeight=String(void 0!==s?s:void 0!==a?_o+(a-1):void 0!==l&&void 0!==o?_o+l/o:_o);const c=qo(t.lineLimit);void 0!==c&&(e.style.display="-webkit-inline-box",e.style.verticalAlign="top",e.style.maxWidth="100%",e.style.setProperty("-webkit-line-clamp",String(c)),e.style.setProperty("-webkit-box-orient","vertical"),e.style.overflow="hidden")}const Yo={ultraLight:"100",thin:"200",light:"300",regular:"400",medium:"500",semibold:"600",bold:"700",heavy:"800",black:"900"},Xo=["#B728F5","#6515ED","#FF9F2B","#22C55E","#38BDF8","#F43F5E"];function Qo(e,t){return e+Math.random()*(t-e)}class Jo{#Nt=null;#Ot=null;#Mt=[];#Ut=null;#Rt=0;#Pt=0;#v=!1;static shouldSkip(){try{return window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}start(e,t={}){if(!this.#v&&!Jo.shouldSkip())try{const n=e.getBoundingClientRect(),i=Math.round(n.width),r=Math.round(n.height);if(i<1||r<1)return;const o=document.createElement("canvas");o.className=Ln("reward-confetti"),o.setAttribute("aria-hidden","true");const s=o.getContext("2d");if(!s)return;e.appendChild(o),this.#Nt=o,this.#Ot=s,this.#Ft(i,r),this.#zt(t.origin),this.#Rt=performance.now(),this.#Pt=this.#Rt,this.#Ut=requestAnimationFrame(this.#Bt)}catch(e){u.debug("Confetti unavailable — rendering the sheet without it",e),this.destroy()}}#Ft(e,t){const n=this.#Nt,i=this.#Ot;if(!n||!i)return;const r=Math.min(2,window.devicePixelRatio||1);n.width=e*r,n.height=t*r,i.scale(r,r)}#zt(e){const t=this.#Nt;if(!t)return;if(e)return void this.#Dt(e);const n=Math.min(2,window.devicePixelRatio||1),i=t.width/n,r=t.height/n;this.#Mt=Array.from({length:22},()=>{const e=Qo(6,11);return{x:Qo(0,i)+Qo(-46,46),y:0*r+Qo(.15*-r,.3*r),vx:Qo(-46,46),vy:Qo(40,160),w:e,h:e*Qo(.4,.7),rotation:Qo(0,2*Math.PI),spin:Qo(-4,4),color:Xo[Math.floor(Qo(0,Xo.length))]??"#B728F5"}})}#Dt(e){this.#Mt=Array.from({length:22},()=>{const t=Qo(6,11),n=.95*-Math.PI+Math.random()*Math.PI*.9,i=Qo(220,460);return{x:e.x,y:e.y,vx:Math.cos(n)*i,vy:Math.sin(n)*i,w:t,h:t*Qo(.4,.7),rotation:Qo(0,2*Math.PI),spin:Qo(-4,4),color:Xo[Math.floor(Qo(0,Xo.length))]??"#B728F5"}})}#Bt=e=>{if(this.#v)return;const t=this.#Nt,n=this.#Ot;if(!t||!n)return;const i=e-this.#Rt,r=Math.min(.05,(e-this.#Pt)/1e3);if(this.#Pt=e,i>=2e3)return void this.destroy();const o=Math.min(2,window.devicePixelRatio||1),s=t.height/o;n.clearRect(0,0,t.width/o,s);const a=i/2e3;n.globalAlpha=a<.66?1:Math.max(0,1-(a-.66)/.34);for(const e of this.#Mt)e.vy+=320*r,e.vx*=Math.pow(.86,r),e.x+=e.vx*r,e.y+=e.vy*r,e.rotation+=e.spin*r,e.y-e.h>s||(n.save(),n.translate(e.x,e.y),n.rotate(e.rotation),n.fillStyle=e.color,n.fillRect(-e.w/2,-e.h/2,e.w,e.h),n.restore());this.#Ut=requestAnimationFrame(this.#Bt)};destroy(){this.#v=!0,null!==this.#Ut&&(cancelAnimationFrame(this.#Ut),this.#Ut=null),this.#Nt?.remove(),this.#Nt=null,this.#Ot=null,this.#Mt=[]}}const es=new Set(["shareUrl","termsUrl"]),ts=e=>"string"==typeof e?e:void 0,ns=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0;function is(e,t,n){try{return function(e,t,n){switch(e.type){case"close":return n.close?.(),void 0!==n.close;case"trigger":{const t=ts(e.params.target);return void 0!==t&&(n.trigger?.(t),void 0!==n.trigger)}case"dismissTrigger":return n.dismissTrigger?.(),void 0!==n.dismissTrigger;case"claimOffer":return n.claimOffer?.(Bn(t),ts(e.params.onSuccessState)),void 0!==n.claimOffer;case"openUrl":{const i=function(e,t){const n=ts(e.params.urlAttribute);if(void 0!==n){if(!es.has(n))return;const e=jn(t);if(!e)return;const i=e[n];return function(e){if(void 0===e)return;const t=e.trim();if(""===t)return;let n;try{n=new URL(t)}catch{return}return"https:"===n.protocol||"http:"===n.protocol?t:void 0}("string"==typeof i?i:void 0)}}(e,t);return void 0!==i&&(n.openUrl?.(i),void 0!==n.openUrl)}case"share":return n.share?.(Bn(t),ts(e.params.onSuccessState)),void 0!==n.share;case"setState":{const t=ts(e.params.setState);return void 0!==t&&(n.setState?.(t),void 0!==n.setState)}case"setValue":{const i=ts(e.params.setValueKey);if(void 0===i)return!1;const r=void 0===e.valueRef?ts(e.params.setValueValue):Vn(e.valueRef,t);return void 0!==r&&(n.setValue?.(i,r),void 0!==n.setValue)}case"selectOffer":{const i=Bn(t);if(void 0===i)return!1;const r=ns(e.params.promoteToIndex);return void 0!==r&&n.promoteOffer?.(i,r),n.selectOffer?.(i,ts(e.params.targetKey)??Fn),void 0!==n.selectOffer}case"setOfferIndex":{const i=function(e,t){const n=t.offers.length;if(0===n)return;const i=ns(e.params.offerIndex);if(void 0!==i)return i>=0&&i<n?i:void 0;const r=ns(e.params.offerIndexDelta);return void 0!==r?Math.min(Math.max((t.currentIndex??0)+r,0),n-1):void 0}(e,t);return void 0!==i&&(n.setOfferIndex?.(i,ts(e.params.targetKey)??Fn),void 0!==n.setOfferIndex)}case"triggerIAP":return n.triggerIAP?.(ts(e.params.onSuccessState),ts(e.params.onCancelAction)),void 0!==n.triggerIAP;case"submitLead":return n.submitLead?.(t.values,ts(e.params.onSuccessState)),void 0!==n.submitLead;case"reportCompletion":return n.reportCompletion?.(Bn(t),ts(e.params.onSuccessState)),void 0!==n.reportCompletion;case"unknown":return u.warn("[sdui] unknown action on a button, ignoring the tap"),!1}}(e,t,n)}catch(t){return u.warn(`SDUI action "${e.type}" failed`,t),!1}}const rs=["rgb(255, 59, 48)","rgb(255, 46, 84)","rgb(255, 148, 0)","rgb(255, 204, 0)","rgb(51, 199, 89)","rgb(0, 122, 255)","rgb(176, 82, 222)"],os=(e,t)=>e+(2*Math.random()-1)*t;const ss=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0,as=e=>"string"==typeof e?e:void 0;function ls(e,t){return e.register("button",(e,n,i)=>{const r=void 0!==t.trigger&&void 0!==e.content&&cs(e.content),o=i.document.createElement(r?"div":"button");o.dataset.sdui="button",r||(o.type="button");const s=r?function(e){const t=e.createElement("button");t.type="button",t.dataset.sduiPart="tap";const n=t.style;return n.position="absolute",n.inset="0",n.margin="0",n.padding="0",n.border="none",n.background="none",n.borderRadius="inherit",n.pointerEvents="none",n.setProperty("-webkit-tap-highlight-color","transparent"),t}(i.document):void 0,a=s??o;o.style.background="none",o.style.border="none",o.style.padding="0",o.style.font="inherit",o.style.color="inherit",o.style.cursor="pointer",o.style.setProperty("-webkit-tap-highlight-color","transparent");const l=e.content?i.compileChild(e.content,n).node:void 0;l&&o.appendChild(l);const c=e.content?function(e,t){const n=[];let i=!1;const r=(e,t)=>{if(!(t>12||i)){"text"!==e.element&&"textField"!==e.element||(i=!0),"systemImage"===e.element&&"string"==typeof e.props.systemName&&n.push(e.props.systemName);for(const n of[...e.children??[],e.content,e.ifTrue,e.ifFalse,e.itemTemplate,e.label])n&&r(n,t+1)}};if(r(e,0),!i)for(const e of n){const n=t.symbolLabel?.(e);if(n)return n}}(e.content,t):void 0;c&&a.setAttribute("aria-label",c),s&&(!c&&void 0===as(e.props.accessibilityLabel)&&l instanceof Element&&(l.id||(l.id="sdui-card-"+ ++ds),s.setAttribute("aria-labelledby",l.id)),o.appendChild(s));const d="claimOffer"===e.action?.type&&!1===t.claimEnabled,u=!0===e.props.disabled||d;u&&(a.disabled=!0,o.style.cursor="default");const h=e.action;if("close"===h?.type&&(o.dataset.sduiClose=""),h){const e={...void 0!==n.rowOfferId&&{rowOfferId:n.rowOfferId},...void 0!==n.rowCategory&&{rowCategory:n.rowCategory},...void 0!==n.rowStep&&{rowStep:n.rowStep}};o.addEventListener("click",n=>{if(t.trigger&&!us(n,o))return;if(r&&u)return;const i=t.currentContext();t.reportTap?.(h.type,i.currentState),is(h,{...i,...e},t.actionHost)})}return Ti(o,e,n,i,t),Ri(o,e),s&&""===o.style.position&&(o.style.position="relative"),d&&(o.style.filter="opacity(0.4)"),t.trigger?(function(e,t){const n="object"==typeof t&&null!==t?t:void 0,i=ss(n?.scale);if(void 0===i)return;const r=`scale ${ss(n?.duration)??.12}s ease-out`;e.style.transition=e.style.transition?`${e.style.transition}, ${r}`:r,e.addEventListener("pointerdown",t=>{us(t,e)&&e.style.setProperty("scale",String(i))});for(const t of["pointerup","pointercancel","pointerleave"])e.addEventListener(t,()=>e.style.removeProperty("scale"))}(o,e.props.pressedStyle),{node:o,...ps(a,e,t,i.document)}):{node:o}}),e.register("textField",(e,n,i)=>{const r=i.document.createElement("input");r.dataset.sdui="textField",r.type="emailAddress"===e.props.keyboardType?"email":"text","emailAddress"===e.props.textContentType&&(r.autocomplete="email");const o=as(e.props.placeholder);void 0!==o&&(r.placeholder=o);const s=as(e.props.valueKey);return void 0!==s&&r.addEventListener("input",()=>{t.editValue?t.editValue(s,r.value):t.actionHost.setValue?.(s,r.value)}),Ti(r,e,n,i,t),{node:r,deps:s?[fi(s)]:[],update:e=>{if(void 0===s)return;const t=e.values[s]??"";r.value!==t&&(r.value=t)}}}),e.register("toggle",(e,n,i)=>{const r=i.document.createElement("label");r.dataset.sdui="toggle";const o=i.document.createElement("input");o.type="checkbox";const s=as(e.props.valueKey);return void 0!==s&&o.addEventListener("change",()=>{t.actionHost.setValue?.(s,o.checked?"true":"false")}),r.appendChild(o),e.label&&r.appendChild(i.compileChild(e.label,n).node),Ti(r,e,n,i,t),{node:r,deps:s?[fi(s)]:[],update:e=>{void 0!==s&&(o.checked="true"===e.values[s])}}}),e.register("slideButton",(e,n,i)=>{const r=i.document.createElement("div");r.dataset.sdui="slideButton",r.style.position="relative",r.style.touchAction="none",r.setAttribute("role","button"),r.tabIndex=0;const o=i.document.createElement("div");o.dataset.sduiPart="knob",o.style.position="absolute",o.style.left="0",r.appendChild(o);const s=i.document.createElement("span");s.dataset.sduiPart="caption",r.appendChild(s),e.content&&r.appendChild(i.compileChild(e.content,n).node);const a=e.action,l=ss(e.props.threshold)??.8,c=as(e.props.requiredValueKey),d=as(e.props.text)??"",u=as(e.props.disabledText)??d;let h,p=!0;const f=()=>{if(!a||!p)return;const e=t.currentContext();t.reportTap?.(a.type,e.currentState),is(a,e,t.actionHost)};return r.addEventListener("pointerdown",e=>{h=e.clientX,r.setPointerCapture(e.pointerId)}),r.addEventListener("pointermove",e=>{if(void 0===h)return;const t=r.getBoundingClientRect().width||1,n=Math.min(Math.max((e.clientX-h)/t,0),1);o.style.transform=`translateX(${100*n}%)`}),r.addEventListener("pointerup",e=>{if(void 0===h)return;const t=r.getBoundingClientRect().width||1,n=(e.clientX-h)/t;h=void 0,n>=l?f():o.style.transform="translateX(0%)"}),r.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),f())}),Ti(r,e,n,i,t),{node:r,deps:c?[fi(c)]:[],update:e=>{p=(e=>void 0===c||""!==(e.values[c]??""))(e),r.dataset.sduiEnabled=p?"true":"false",r.setAttribute("aria-disabled",p?"false":"true"),s.textContent=p?d:u}}}),e.register("compactPageIndicator",(e,n,i)=>{const r=i.document.createElement("div");return r.dataset.sdui="compactPageIndicator",r.style.display="flex",r.style.alignItems="center",r.style.gap=`${ms}px`,r.setAttribute("aria-hidden","true"),Ti(r,e,n,i,t),{node:r,deps:[li,ci,di,...mi(Qn(e.props.activeColor)),...mi(Qn(e.props.inactiveColor))],update:n=>{const o=function(e,t){const n=e<=gs?0:Math.min(Math.max(t-Math.floor(gs/2),0),e-gs),i=Math.min(n+gs,e),r=[];for(let o=n;o<i;o+=1){const s=o===n&&n>0||o===i-1&&i<e?fs*bs:fs,a=o===t;r.push({index:o,active:a,width:a?fs*ys:s,height:s})}return r}(n.offers.length,n.currentIndex??0),s=new Map;for(const e of Array.from(r.querySelectorAll(':scope > [data-sdui-part="dot"]')))s.set(Number(e.dataset.sduiPage),e);const a=new Map;for(const[e,t]of s)a.set(e,t.getBoundingClientRect().left);const l=new Set(o.map(e=>e.index));for(const[e,t]of s)l.has(e)||(r.removeChild(t),s.delete(e));const c=o.map(e=>{let t=s.get(e.index);return t||(t=i.document.createElement("span"),t.dataset.sduiPart="dot",t.dataset.sduiPage=String(e.index),t.style.display="block",t.style.borderRadius="999px",t.style.flexShrink="0"),r.appendChild(t),t}),d=t.color(e.props.activeColor,_n(n))??t.color({appearance:"accent"},_n(n)),u=t.color(e.props.inactiveColor,_n(n))??t.color({semantic:"tertiaryLabel"},_n(n));o.forEach((e,t)=>{const n=c[t];n.dataset.sduiActive=e.active?"true":"false",n.style.width=`${e.width}px`,n.style.height=`${e.height}px`;const i=e.active?d:u;i&&(n.style.background=i)});for(const[e,t]of s){const n=a.get(e);if(void 0===n)continue;const i=n-t.getBoundingClientRect().left;Math.abs(i)<.5||(t.style.transition="none",t.style.transform=`translateX(${i}px)`,t.style.transition=vs,t.style.transform="")}for(const e of c)e.style.transition||(e.style.transition=vs)}}}),e.register("confetti",(e,n,i)=>{const r=i.document.createElement("div");r.dataset.sdui="confetti",r.setAttribute("aria-hidden","true"),r.style.pointerEvents="none",Ti(r,e,n,i,t),""===r.style.position&&(r.style.position="relative");const o=function(e){const n=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0,i=(e,t,n)=>Math.min(n,Math.max(t,e)),r=Array.isArray(e.colors)?e.colors.flatMap(e=>"string"==typeof e?t.color({hex:e},{})??[]:[]):[],o=n(e.originX);return{colors:r.length>0?r:rs,intensity:Math.max(1,Math.round(n(e.intensity)??20)),duration:Math.max(.1,n(e.duration)??2.5),originY:i(n(e.originY)??0,0,1),originX:void 0===o?void 0:i(o,0,1)}}(e.props);return function(e,t){if("function"!=typeof requestAnimationFrame||Jo.shouldSkip())return;let n=0;const i=()=>{const r=e.getBoundingClientRect();!e.isConnected||r.width<1||r.height<1?++n<ws&&requestAnimationFrame(i):function(e,t){const n=e.getBoundingClientRect(),i=Math.round(n.width),r=Math.round(n.height),o=e.ownerDocument.createElement("canvas"),s=i>0&&r>0?o.getContext("2d"):null;if(!s)return()=>{};const a=Math.min(2,window.devicePixelRatio||1);o.width=i*a,o.height=r*a,Object.assign(o.style,{position:"absolute",inset:"0",width:"100%",height:"100%",pointerEvents:"none"}),o.setAttribute("aria-hidden","true"),s.scale(a,a),e.appendChild(o);const l=function(e,t,n){const i=Math.max(1,e.intensity/e.colors.length),r=Math.min(600,Math.round(i*e.colors.length*e.duration)),o=e.originY<=0?-8:n*e.originY,s=void 0===e.originX?Math.PI/4:Math.PI/180*75;return Array.from({length:r},(n,i)=>{const r=i%e.colors.length,a=os(Math.PI/2,s),l=os(210,80);return{born:Math.random()*e.duration,life:os(6,1.5),x:void 0===e.originX?Math.random()*t:t*e.originX,y:o,vx:Math.cos(a)*l,vy:Math.sin(a)*l,spin:os(3.5,4),rotation:Math.random()*Math.PI*2,scale:os(.55,.25),color:e.colors[r]??rs[0],round:r%2==1}})}(t,i,r),c=t.duration+7.5,d=performance.now();let u=0;const h=()=>{cancelAnimationFrame(u),o.remove()},p=e=>{const t=(e-d)/1e3;if(t>=c||!o.isConnected)h();else{s.clearRect(0,0,i,r);for(const e of l){const n=t-e.born;if(n<0||n>e.life)continue;const i=e.x+e.vx*n,o=e.y+e.vy*n+160*n*n;o>r+20||(s.save(),s.translate(i,o),s.rotate(e.rotation+e.spin*n),s.scale(e.scale,e.scale),s.fillStyle=e.color,e.round?(s.beginPath(),s.arc(0,0,4.5,0,2*Math.PI),s.fill()):s.fillRect(-4,-6,8,12),s.restore())}u=requestAnimationFrame(p)}};u=requestAnimationFrame(p)}(e,t)};requestAnimationFrame(i)}(r,o),{node:r}}),e}function cs(e,t=0){return!(t>12)&&("button"===e.element||[...e.children??[],e.content,e.ifTrue,e.ifFalse,e.itemTemplate,e.style?.overlay,e.style?.backgroundElement,e.fallback].some(e=>void 0!==e&&cs(e,t+1)))}let ds=0;function us(e,t){const n=e.target;return n?.closest?.('[data-sdui="button"]')===t}let hs=0;function ps(e,t,n,i){const r=as(t.props.accessibilityLabel),o=as(t.props.accessibilityHint);if(void 0===r&&void 0===o)return{};let s;void 0!==o&&(s=i.createElement("span"),s.id="sdui-hint-"+ ++hs,s.hidden=!0,s.style.display="none",e.appendChild(s),e.setAttribute("aria-describedby",s.id));const a=(e,t)=>{const i=n.textEnvironment?.();return Uo(e,i?.variables??{},{...i?.values,...t.values})};return{deps:[r,o].flatMap(e=>[...(e??"").matchAll(/\$\{([^}]+)\}/g)].map(e=>fi(e[1]))),update:t=>{void 0!==r&&e.setAttribute("aria-label",a(r,t)),s&&void 0!==o&&(s.textContent=a(o,t))}}}const fs=8,ms=8,gs=5,bs=.5,ys=2.2,vs="transform 0.3s cubic-bezier(0.34, 1.3, 0.64, 1), width 0.3s ease, height 0.3s ease",ws=60,xs=24;const ks=new Map,$s=new Map;function Cs(e){return{id:e.id,...void 0!==e.merchantName?{advertiserName:e.merchantName}:{},...void 0!==e.description?{description:e.description}:{},...void 0!==e.perk?{perk:e.perk}:{},...void 0!==e.ctaText?{ctaText:e.ctaText}:{},...void 0!==e.imageUrl?{primaryImageUrl:e.imageUrl}:{},...void 0!==e.logoUrl?{logoUrl:e.logoUrl}:{},...void 0!==e.heroImageUrl?{heroImageUrl:e.heroImageUrl}:{},...void 0!==e.badgeLabel?{badgeLabel:e.badgeLabel}:{},...void 0!==e.category?{category:e.category}:{},...void 0!==e.termsUrl?{termsUrl:e.termsUrl}:{},...void 0!==e.shareUrl?{shareUrl:e.shareUrl}:{},...void 0!==e.quickInstructions?{quickInstructions:e.quickInstructions}:{},...void 0!==e.instructions?{instructions:(t=e.instructions,t.filter(e=>""!==(e.title??"").trim()||""!==(e.subtitle??"").trim()).map((e,t)=>({...e,position:t+1})))}:{},...void 0!==e.displayProperties?{displayProperties:e.displayProperties}:{}};var t}function Is(e,t){const n="number"==typeof t&&Number.isFinite(t)?Math.max(t,1):1.3,i=e.defaultView,r=e.body??e.documentElement;if(!i||!r)return 1;const o=e.createElement("div");o.dataset.sduiTextProbe="",o.style.cssText="position:absolute;visibility:hidden;font-size:medium",r.appendChild(o);let s=Number.NaN;try{s=parseFloat(i.getComputedStyle(o).fontSize)}finally{o.remove()}const a=Number.isFinite(s)?s/16:1;return Math.min(Math.max(a,1),n)}class Es{root;inlineHeight;#jt;#Ht={};#Ot;#_t;#Vt=Date.now();#qt;#Wt;constructor(e,t,n,i,r,o,s,a){this.root=e,void 0!==s&&(this.inlineHeight=s),this.#jt=t,this.#Ot=n,i&&(this.#Ht=i),r&&(this.#_t=r),o&&(this.#qt=o),a&&(this.#Wt=a)}destroy(){this.#Wt?.destroy(),this.root.parentNode?.removeChild(this.root)}requestDominantColors(){const e=this.#qt;if(!e)return;const t=this.#Ot.offers.flatMap(e=>e.logoUrl?[e.logoUrl]:[]);this.#Ot.appIconUrl&&t.push(this.#Ot.appIconUrl),function(e,t,n){for(const i of new Set(e)){if(!i||ks.has(i))continue;let e=$s.get(i);e||(e=t(i).catch(()=>null).then(e=>($s.delete(i),e&&ks.set(i,e),e)),$s.set(i,e)),e.then(e=>{e&&n(i,e)})}}(t,e,(e,t)=>this.#Gt(e,t))}#Gt(e,t){this.#Ot.dominantColors?.[e]!==t&&this.#Kt({...this.#Ot,dominantColors:{...this.#Ot.dominantColors,[e]:t}},[fi("offerDominantColor"),fi("selectedOfferDominantColor"),fi("appDominantColor")])}report(e){try{this.#_t?.(e)}catch(e){u.warn("[Encore SDK] SDUI analytics sink threw; ignoring",e)}}get context(){return this.#Ot}onEnter(e){return this.#Ht[e]?.onEnter}setState(e){const t=this.#Ot.currentState,n=Date.now(),i=n-this.#Vt;return this.#Vt=n,this.#Kt({...this.#Ot,currentState:e},[ai]),this.report({kind:"stateTransition",fromState:t,toState:e,timeInPreviousStateMs:i}),this.onEnter(e)}editValue(e,t){const n=`${e}Error`,i={...this.#Ot.values,[e]:t},r=Object.prototype.hasOwnProperty.call(i,n);r&&delete i[n];const o=e===Fn?[li,ci,di]:[];this.#Kt({...this.#Ot,values:i},[fi(e),...r?[fi(n)]:[],...o])}setValue(e,t){const n=e===Fn?[li,ci,di]:[];this.#Kt({...this.#Ot,values:{...this.#Ot.values,[e]:t}},[fi(e),...n]),this.report({kind:"valueSet",key:e,value:t})}setOfferIndex(e,t=Fn){const n=this.#Ot.offers[e];n&&this.#Zt(n,e,t)}promoteOffer(e,t){const n=this.#Ot.offers,i=n.findIndex(t=>t.id===e);if(i<0)return;const r=Math.min(Math.max(t,0),n.length-1);if(i===r)return;const o=[...n];o.splice(r,0,...o.splice(i,1)),this.#Kt({...this.#Ot,offers:o},[li,ci,di])}selectOffer(e,t=Fn){const n=this.#Ot.offers.findIndex(t=>t.id===e),i=n>=0?this.#Ot.offers[n]:void 0;i&&(this.#Zt(i,n,t),this.report({kind:"valueSet",key:t,value:i.id,offerId:i.id}))}seedSelection(e,t=Fn){const n=this.#Ot.offers.findIndex(t=>t.id===e),i=n>=0?this.#Ot.offers[n]:void 0;i&&this.#Zt(i,n,t)}#Zt(e,t,n){const i={...this.#Ot.values},r=(e,t)=>{void 0===t?delete i[e]:i[e]=t};r(n,e.id),r("selectedAdvertiserName",e.advertiserName),r("selectedOfferLogoUrl",e.logoUrl),r("selectedOfferDescription",e.description),r("selectedOfferPerk",e.perk),r("selectedOfferIsFreeTrial","free_trial"===e.badgeLabel?"true":"false"),this.#Kt({...this.#Ot,values:i,currentIndex:t},[ci,li,...[n,"selectedAdvertiserName","selectedOfferLogoUrl","selectedOfferDescription","selectedOfferPerk","selectedOfferIsFreeTrial"].map(fi)])}setOffers(e){this.#Kt({...this.#Ot,offers:e.map(Cs)},[li,ci,di]),this.requestDominantColors()}setLists(e){this.#Kt({...this.#Ot,lists:e},[ui])}setNow(e){this.#Kt({...this.#Ot,now:e},[hi])}setTimes(e){this.#Kt({...this.#Ot,times:e},[hi])}setMotion(e){Ss(this.root,e.paused),this.#Kt({...this.#Ot,motionPaused:e.paused,reduceMotion:e.reduce},[pi])}refresh(){this.#jt.update(this.#Ot)}#Kt(e,t){this.#Ot=e,this.#jt.update(e,t)}}function Ss(e,t){if(1!==e.nodeType)return;const n=e;t?n.dataset.paused="true":delete n.dataset.paused}function Ts(e){const t=e.document??document;try{const r="inline"===e.mode,o=r?e.kit:void 0;if(r&&!o)throw new Error("an inline mount needs the trigger kit");const s=r?function(e){const t=e?.root;if("object"!=typeof t||null===t)return;const n=Object.values(t);if(1!==n.length)return;const i=n[0]?.style,r=i?.frame,o=r?.height;return"number"==typeof o&&Number.isFinite(o)&&o>0?o:void 0}(e.template):void 0;if(r&&void 0===s)throw new Error("an inline template needs a positive numeric root frame.height");const a=r?to(e.template,{trigger:!0}):to(e.template),l=a.presentation,c="string"==typeof l.initialState?l.initialState:void 0,d=Ls(l.initialValues,"initialValues"),u=Ns(l.textMaps),h=function(e,t){if(!e||0===e.length)return[...t];const n=new Set,i=[];for(const r of e)r<0||r>=t.length||n.has(r)||(n.add(r),i.push(t[r]));return t.forEach((e,t)=>{n.has(t)||i.push(e)}),i}(Os(l.offerDisplayOrder,"offerDisplayOrder"),e.offers.map(Cs)),p=null!=l.initialSelection?As(l.initialSelection,h.length):!0===l.autoSelectFirstOffer&&h.length>0?0:void 0,f=u?{...e.textEnvironment,textMaps:{...e.textEnvironment.textMaps,...u}}:e.textEnvironment,m=function(e={}){return{offers:[],currentState:Pn,values:{},isCurrentPage:!1,hasIntroOffer:!1,hasFreeTrial:!1,...e}}({offers:h,currentState:e.initialState??c??Pn,...void 0!==e.initialIndex?{currentIndex:e.initialIndex}:{},values:{...e.textEnvironment.values,...d},dominantColors:Object.fromEntries(ks),...e.textEnvironment.variables.appIconUrl?{appIconUrl:e.textEnvironment.variables.appIconUrl}:{},...r&&e.lists?{lists:e.lists}:{},...r?{times:e.times??{},now:e.now??Date.now(),motionPaused:!0===e.motionPaused,reduceMotion:!0===e.reduceMotion}:{}}),g={},b={color:(t,n)=>Ms(r&&e.exactColor?.(t)?function(e){if("object"!=typeof e||null===e)return e;const{opacity:t,...n}=e;return n}(t):t,n,e.color),textEnvironment:()=>f,actionHost:(n=e.actionHost,i=()=>g.current,{...n,setState:e=>{i()?.setState(e),n.setState?.(e)},setValue:(e,t)=>{i()?.setValue(e,t),n.setValue?.(e,t)},selectOffer:(e,t)=>{i()?.selectOffer(e,t),n.selectOffer?.(e,t)},setOfferIndex:(e,t)=>{i()?.setOfferIndex(e,t),n.setOfferIndex?.(e,t)},promoteOffer:(e,t)=>{i()?.promoteOffer(e,t),n.promoteOffer?.(e,t)}}),currentContext:()=>g.current?.context??m,reportTap:(e,t)=>{g.current?.report({kind:"buttonTapped",actionType:e,currentState:t})},claimEnabled:!1!==e.claimEnabled,editValue:(e,t)=>{g.current?.editValue(e,t)},symbolLabel:e=>f.defaults.symbolLabels?.[e],...r?{trigger:{fontScale:Is(t,l.maxFontScale),kit:o,scaleGroups:new o.ScaleGroups}}:{},...o?{motion:new o.MotionSheet(t)}:{}},y=ls(function(e,t){return e.register("text",(e,n,i)=>{const r=i.document.createElement("span");r.dataset.sdui="text",r.style.whiteSpace="pre-line",Zo(r,e.props,e.alignment??Wo(e.props.multilineAlignment),t.trigger),$i(e.props.color,n,i,t,e=>{e&&(r.style.color=e)}),Ti(r,e,n,i,t),function(e,t){const n=Number(e.style.lineHeight)-_o;!Number.isFinite(n)||Math.abs(n)<.001||t&&["padding","backgroundColor","borderWidth","gradientBorder","backgroundElement"].some(e=>void 0!==t[e])||(e.style.marginBlock=`${Number((-n/2).toFixed(4))}em`)}(r,e.style),t.trigger&&void 0!==qo(e.props.lineLimit)&&(r.style.paddingTop||r.style.paddingBottom)&&(r.style.clipPath=`inset(${r.style.paddingTop||"0px"} 0px ${r.style.paddingBottom||"0px"} 0px)`);const o=t.trigger?Wo(e.props.scaleGroup):void 0,s=t.trigger?Vo(e.props.countdown):void 0,a=o?t.trigger.scaleGroups.join(o,r,e.props,s?.format):void 0,l=o?s?void 0:a:t.trigger?t.trigger.kit.oneLineFit(r,e.props):void 0,c=e=>l?{...e,update:t=>{e.update(t),l()}}:e,d=t.trigger?Vo(e.props.countdown):void 0;if(d)return c(t.trigger.kit.countdownText(r,d,t));const u=Array.isArray(e.props.segments)?e.props.segments.filter(e=>"object"==typeof e&&null!==e):void 0,h=e.props.textBinding,p=Wo(e.props.propertyKey),f=Wo(e.props.valueKey),m=Wo(e.props.textMapKey),g=[ai,li,ci,di];f&&g.push(fi(f)),m&&g.push(fi(Wo(e.props.textMapValueKey)??m));for(const t of[Wo(e.props.text),...(u??[]).map(e=>Wo(e.text))])for(const e of Ho(t))g.push(fi(e));g.push(...mi(Qn(e.props.highlightColor)));const b=u?.map(e=>{const o=i.document.createElement("span");o.dataset.sduiPart="segment",Zo(o,e,void 0,t.trigger),$i(e.color,n,i,t,e=>{e&&(o.style.color=e)}),r.appendChild(o);const s="string"==typeof e.textBinding?e.textBinding:void 0;return{span:o,raw:Wo(e.text)??"",binding:s,propertyKey:Wo(e.propertyKey)}});return c({node:r,deps:g,update:n=>{const o=t.textEnvironment(),s={...o.values,...n.values};if(b){for(const e of b)e.span.textContent=void 0===e.propertyKey?void 0!==e.binding?Ro(e.binding,jn(n),o.defaults,n.rowCategory,n.rowStep):Uo(e.raw,o.variables,s):jn(n)?.displayProperties?.[e.propertyKey]??"";return}if(void 0!==p)return void(r.textContent=jn(n)?.displayProperties?.[p]??"");const a=function(e,t){const{values:n,textMaps:i,variables:r,offer:o,defaults:s,category:a,step:l}=t;if(void 0!==e.valueKey){const t=n[e.valueKey];if(void 0!==t)return Uo(t,r,n)}if(void 0!==e.textMapKey){const t=n[e.textMapValueKey??e.textMapKey],o=void 0===t?void 0:i[e.textMapKey]?.[t];if(void 0!==o)return Uo(o,r,n)}return void 0!==e.textBinding?Ro(e.textBinding,o,s,a,l):Uo(e.text??"",r,n)}({...void 0!==f?{valueKey:f}:{},...void 0!==m?{textMapKey:m}:{},...void 0!==Wo(e.props.textMapValueKey)?{textMapValueKey:Wo(e.props.textMapValueKey)}:{},..."string"==typeof h?{textBinding:h}:{},...void 0!==Wo(e.props.text)?{text:Wo(e.props.text)}:{}},{values:{...o.values,...n.values},textMaps:o.textMaps,variables:o.variables,defaults:o.defaults,...void 0!==jn(n)?{offer:jn(n)}:{},...void 0!==n.rowCategory?{category:n.rowCategory}:{},...void 0!==n.rowStep?{step:n.rowStep}:{}}),l=t.color(e.props.highlightColor,_n(n));if(void 0!==l){r.replaceChildren();for(const e of function(e){if(!e.includes("*"))return[{text:e,isHighlighted:!1}];const t=[];let n,i="";for(const r of e)"*"===r?void 0!==n?(""!==i&&(t.push({text:i,isHighlighted:!1}),i=""),""!==n&&t.push({text:n,isHighlighted:!0}),n=void 0):n="":void 0!==n?n+=r:i+=r;return void 0!==n&&(i+="*"+n),""!==i&&t.push({text:i,isHighlighted:!1}),0===t.length?[{text:"",isHighlighted:!1}]:function(e){const t=[];for(const n of e){const e=t[t.length-1];void 0!==e&&e.isHighlighted===n.isHighlighted?t[t.length-1]={text:e.text+n.text,isHighlighted:n.isHighlighted}:t.push(n)}return t}(t)}(a)){const t=i.document.createElement("span");t.textContent=e.text,e.isHighlighted&&(t.dataset.sduiPart="highlight",t.style.color=l),r.appendChild(t)}}else r.textContent=a}})}),e.register("systemImage",(e,n,i)=>{const r=i.document.createElement("span");r.dataset.sdui="systemImage",r.style.display="inline-flex",r.style.alignItems="center",r.style.justifyContent="center";const o=Vo(e.props.font),s=function(e,t){if("string"!=typeof e)return;const n=jo[e];if(void 0===n)return;const i=e.endsWith(".forward");return`<svg viewBox="0 0 24 24" width="${t}" height="${t}" aria-hidden="true" focusable="false"${i?" data-sdui-mirror":""}>${i?"<style>svg[data-sdui-mirror]:dir(rtl){transform:scaleX(-1)}</style>":""}${n}</svg>`}(e.props.systemName,qo(o?.size)??qo(e.props.size)??17);return s&&(r.innerHTML=s),$i(e.props.color,n,i,t,e=>{e&&(r.style.color=e)}),Ti(r,e,n,i,t),{node:r}}),e.register("asyncImage",(e,n,i)=>{const r=i.document.createElement("img");let o;r.dataset.sdui="asyncImage",r.alt="",r.setAttribute("aria-hidden","true"),r.loading="lazy",r.style.objectFit="fill"===e.props.contentMode?"cover":"contain",$i(e.props.placeholderColor,n,i,t,e=>{o=e,e&&(r.style.backgroundColor=e)});const s=qo(e.props.aspectRatio);void 0!==s&&(r.style.aspectRatio=String(s),r.style.minHeight="0px");const a=new Set;let l;const c=()=>{l=void 0,Yt(r),r.getAttribute("src")!==Ko&&(r.src=Ko)};let d;const u={};r.addEventListener("error",()=>{r.getAttribute("src")!==Ko&&(l&&a.add(l),c(),u.show?.(!0))}),r.addEventListener("load",()=>{r.getAttribute("src")!==Ko&&(d&&(r.dataset.sduiCreativeOfferId=d),u.show?.(!1))});const h=[li,ci,di],p=Wo(e.props.url);for(const e of Ho(p))h.push(fi(e));const f="offerLogoImage"===e.props.urlBinding||"${selectedOfferLogoUrl}"===p,m=n=>{const i=e.props.urlBinding,s=jn(n),h=We("string"==typeof i?Po(i,s,n.rowStep):function(e,t,n){if(!e?.includes("${"))return e;const i=Uo(e,t,n);return i.includes("${")?void 0:i}(p,t.textEnvironment().variables,n.values)),m="offerPrimaryCreative"===i||"offerHeroImage"===i,g=m&&!h?We(s?.logoUrl):void 0,b=g&&jt(g,zt,window.devicePixelRatio||1),y=m&&!h;h&&!a.has(h)?l!==h&&(l=h,_t(r,h,f?zt:Math.min(720,window.innerWidth||720))):c(),r.style.backgroundColor=y?o??t.color({appearance:"secondarySystemBackground"},n.values)??"#f2f2f7":o??"",r.style.backgroundImage=b?`url("${b.replace(/["\\]/g,"\\$&")}")`:"",b&&function(e){if(Vt.set(e,qt.has(e)),Zt.has(e)||qt.has(e))return;const t=new Image;Kt(t);const n=()=>Zt.delete(e);t.addEventListener("load",n),t.addEventListener("error",n),t.src=e,Zt.set(e,t)}(b),r.style.backgroundRepeat="no-repeat",r.style.backgroundPosition="center",r.style.backgroundSize="auto min(72px, 60%)";const v="offerPrimaryCreative"===i?s?.id:void 0;d=v;const w=r.complete&&r.naturalWidth>0&&r.getAttribute("src")!==Ko;v&&(y||w)?r.dataset.sduiCreativeOfferId=v:delete r.dataset.sduiCreativeOfferId,u.show?.(!w)};if(!e.fallback)return Ti(r,e,n,i,t),{node:r,deps:h,update:m};const g=i.document.createElement("div");g.dataset.sdui="asyncImage",g.style.display="grid",g.style.gridTemplateColumns="minmax(0, 1fr)",g.style.gridTemplateRows="minmax(0, 1fr)",delete r.dataset.sdui,r.dataset.sduiPart="image",r.style.width="100%",r.style.height="100%",r.style.gridArea="1 / 1";const b=i.compileChild(e.fallback,n).node;g.append(r,b);const y=1===b.nodeType?b:void 0;return y&&Ci(y,{gridArea:"1 / 1",justifySelf:"stretch",alignSelf:"stretch"}),u.show=e=>{r.style.visibility=e?"hidden":"",y&&(y.style.visibility=e?"":"hidden")},Ti(g,e,n,i,t),{node:g,deps:h,update:m}}),e.register("asyncVideo",(e,n,i)=>{const r=i.document.createElement("video");r.dataset.sdui="asyncVideo",r.muted=!0,r.playsInline=!0,r.loop=!1!==e.props.loop,r.autoplay=!1!==e.props.autoplay,r.setAttribute("aria-hidden","true");const o=e.props.urlBinding;return Ti(r,e,n,i,t),{node:r,deps:[li,ci,di],update:t=>{const n=We("string"==typeof o?Po(o,jn(t)):Wo(e.props.url));n?r.src=n:r.removeAttribute("src")}}}),e.register("appIcon",(e,n,i)=>{const r=i.document.createElement("img");r.dataset.sdui="appIcon",r.alt="",r.setAttribute("aria-hidden","true");const o=We(t.textEnvironment().variables.appIconUrl);return o?(_t(r,o,zt),Ti(r,e,n,i,t),{node:r}):{node:i.document.createComment("sdui:appIcon")}}),e.register("shape",(e,n,i)=>{const r=i.document.createElement("div");r.dataset.sdui="shape";const o=t.trigger?qo(e.props.strokeWidth):void 0,s=void 0!==o?e.props.strokeColor:void 0;switch(void 0!==o&&(r.style.borderStyle="solid",r.style.borderWidth=`${o}px`),e.props.type){case"circle":case"ellipse":r.style.borderRadius="50%";break;case"capsule":r.style.borderRadius="9999px";break;case"roundedRectangle":{const t=qo(e.props.cornerRadius);void 0!==t&&(r.style.borderRadius=`${t}px`);break}}return Ti(r,e,n,i,t),{node:r,deps:[li,ci,di,...mi(Qn(e.props.fillColor)),...mi(Qn(s))],update:n=>{const i=t.color(e.props.fillColor,_n(n));i&&(r.style.background=i),void 0!==o&&(r.style.borderColor=t.color(s,_n(n))??"transparent")}}}),e.register("gradient",(e,n,i)=>{const r=i.document.createElement("div");r.dataset.sdui="gradient";const o=e.props.colors,s=Array.isArray(o)?o:[],a="radial"===e.props.type,l=qo(e.props.startRadius)??0,c=qo(e.props.endRadius),d=Wo(e.props.direction),u=void 0!==d&&tr.includes(d)?Go[d]:"to bottom",h=e=>{const n=(e=>s.map(n=>{const i=Vo(n),r=t.color(i?.color,_n(e));if(void 0===r)return;const o=qo(i?.opacity);return void 0===o||o>=1?r:`color-mix(in srgb, ${r} ${100*Math.max(0,Math.min(o,1))}%, transparent)`}).filter(e=>void 0!==e))(e);r.style.background=1===n.length?n[0]:n.length>1?a?`radial-gradient(circle at center, ${(e=>e.map((t,n)=>void 0===c?t:`${t} ${l+(c-l)*n/(e.length-1)}px`).join(", "))(n)})`:`linear-gradient(${u}, ${n.join(", ")})`:""};h(n);const p=s.flatMap(e=>{const t=Vo(e);return Qn(void 0!==t&&"color"in t?t.color:e)});return p.length>0&&i.addSite({deps:mi(p),run:h}),Ti(r,e,n,i,t),{node:r}}),e.register("empty",(e,t,n)=>({node:n.document.createComment("sdui:empty")})),e}(Ao(new Gi,b),b),b);o&&(o.registerMarqueeElement(y,b),o.registerProgressElement(y,b));const v=function(e,t,n,i=document){const r=[];let o=1,s=qi,a={id:0,parent:void 0,active:!0};const l=e=>(o+=1,{id:o,parent:e,active:!0}),c=e=>{for(let t=r.length-1;t>=0;t-=1)d(r[t].group,e)&&r.splice(t,1)},d=(e,t)=>void 0!==e&&(e===t||d(e.parent,t));function u(e,t,n,i){const o=r.length,l=function(e,t,n){const i=s,r=a;s=e,a=t;try{return n()}finally{s=i,a=r}}(t,n,()=>p(e,t(i)));for(const e of r.slice(o))e.run(e.scope(i));return l.node}const h={document:i,compileChild:(e,t)=>p(e,t),addSite:e=>{r.push({deps:e.deps,scope:s,group:a,run:t=>e.run(t)})}};function p(e,t){const o=function(e,t){if("conditional"===e.element)return function(e){const t=s,n=a,o=i.createElement("div");o.dataset.sduiConditional="",o.style.display="contents";const c=i.createComment("sdui:conditional");o.appendChild(c);const h=new Map;let p;return{node:o,deps:e.condition?bi(e.condition):[],update:i=>{const s=e.condition&&Wn(e.condition,i)?"true":"false";if(p?.branch===s)return;p&&(p.group.active=!1,p.node.parentNode?.removeChild(p.node),p=void 0);const a="true"===s?e.ifTrue:e.ifFalse;if(!a)return void _i(o.parentElement);let f=h.get(s);if(f)f.group.active=!0,function(e,t){for(const n of[...r])d(n.group,e)&&Wi(n.group)&&n.run(n.scope(t))}(f.group,i);else{const e=l(n);f={node:u(a,t,e,i),group:e},h.set(s,f)}c.parentNode?.insertBefore(f.node,c),Ei(o,f.node),p={branch:s,...f},_i(o.parentElement)}}}(e);if("forEach"===e.element)return function(e){const t=s,n=a,r=i.createElement("div"),o=e.dataSource??"offers";r.dataset.sduiForeach=o,"none"===e.props.impressionProbe?r.dataset.sduiImpressions="none":"categories"===o&&(r.dataset.sduiImpressions="claimed");const d=function(e){const t=e.props.columns;return"number"==typeof t&&Number.isInteger(t)?Math.min(Math.max(t,1),12):void 0}(e);if(void 0===d)r.style.display="contents";else{r.style.display="grid",r.style.gridTemplateColumns=`repeat(${d}, minmax(0, 1fr))`;const t=e.props.gridSpacing;"number"==typeof t&&Number.isFinite(t)&&(r.style.gap=`${Math.max(t,0)}px`)}const h=e.style&&e.itemTemplate?{element:"group",props:{},style:e.style,content:e.itemTemplate}:e.itemTemplate,p=new Map,f=function(e){const t=e.props.offset,n=e.props.limit;return{offset:"number"==typeof t&&Number.isFinite(t)?Math.max(t,0):0,limit:"number"==typeof n&&Number.isFinite(n)?Math.max(n,0):void 0}}(e),m=e.filter?bi(e.filter):[];return{node:r,deps:[li,di,ci,ui,...m],update:i=>{if(!h)return;const s=function(e,t,n,i){const r=t.filter;switch(e){case"pageIndicators":return n.offers.map((e,t)=>({key:`${t}`,scope:n=>Hn(n,e.id,n.currentIndex===t)}));case"offers":{let e=n.offers.slice(i.offset);void 0!==i.limit&&(e=e.slice(0,i.limit));const t=e.map((e,t)=>{const n=i.offset+t;return{key:e.id,scope:t=>Hn(t,e.id,t.currentIndex===n)}});return function(e,t,n){return void 0===t?e:e.filter(e=>Wn(t,e.scope(n)))}(t,r,n)}case"categories":{let e=n.offers.slice(i.offset);void 0!==i.limit&&(e=e.slice(0,i.limit));const t=new Map,r=[];for(const n of e)void 0!==n.category&&""!==n.category&&(t.has(n.category)||r.push(n.category),t.set(n.category,(t.get(n.category)??0)+1));return[...t.values()].filter(e=>e>=Zi).length<Yi?[]:r.map(e=>({key:e,scope:t=>({...t,rowCategory:e})}))}case"instructions":{let e=(jn(n)?.instructions??[]).slice(i.offset);return void 0!==i.limit&&(e=e.slice(0,i.limit)),e.map((e,t)=>{const n=i.offset+t;return{key:`${n}`,scope:e=>{const t=jn(e)?.instructions?.[n];return void 0===t?e:{...e,rowStep:t}}}})}case"hostList":{const e=t.props.list;let r=("string"==typeof e?n.lists?.[e]??[]:[]).slice(i.offset);return void 0!==i.limit&&(r=r.slice(0,i.limit)),r.map((e,t)=>({key:`${i.offset+t}:${JSON.stringify(e)}`,scope:t=>({...t,rowItem:e,values:{...t.values,...zn(e)}})}))}default:return[]}}(o,e,i,f);for(const[e,t]of p)s.some(t=>t.key===e)||(t.group.active=!1,c(t.group),t.node.parentNode?.removeChild(t.node),p.delete(e));for(const e of s){let s=p.get(e.key);if(s)s.box.scope=n=>e.scope(t(n));else{const r=l(n),o={scope:n=>e.scope(t(n))};s={node:u(h,e=>o.scope(e),r,i),group:r,box:o},p.set(e.key,s)}"offers"===o&&1===s.node.nodeType&&(s.node.dataset.sduiOfferId=e.key),r.appendChild(s.node),Ei(r,s.node)}}}}(e);const o=n.get(e.element);if(!o)throw new Vi(`no renderer registered for element "${e.element}"`);return o(e,t,h)}(e,t);return o.update&&r.push({deps:o.deps??[],scope:s,group:a,run:e=>o.update?.(e)}),o}const f=p(e.root,t),m=new Ki(f.node,r);return m.update(t),m}(a,m,y,t);if(void 0!==s&&v.root instanceof t.defaultView.HTMLElement){const e=`${s}px`;v.root.style.width="100%",v.root.style.height=e,v.root.style.minHeight=e,v.root.style.maxHeight=e,v.root.style.boxSizing="border-box",v.root.style.setProperty("container-type","inline-size"),v.root.style.getPropertyValue("--sdui-margin-inline")||v.root.style.setProperty("--sdui-margin-inline","0px"),Ss(v.root,!0===m.motionPaused),b.motion&&v.root.appendChild(b.motion.element)}else v.root instanceof t.defaultView.HTMLElement&&(void 0!==v.root.dataset.sduiConditional&&(v.root.style.display="grid",v.root.style.gridTemplateColumns="minmax(0, 1fr)",v.root.style.gridTemplateRows="minmax(0, 1fr)"),v.root.style.width="100%",v.root.style.height="100%",v.root.style.boxSizing="border-box",v.root.style.setProperty("container-type","inline-size"),v.root.style.getPropertyValue("--sdui-margin-inline")||v.root.style.setProperty("--sdui-margin-inline","0px"));g.current=new Es(v.root,v,m,a.stateActions,e.analytics,JSON.stringify(e.template).includes("DominantColor")?e.dominantColor??(e=>function(e,t=document){return new Promise(n=>{const i=t.defaultView;if(!i)return n(null);let r=!1;const o=e=>{r||(r=!0,i.clearTimeout(s),n(e))},s=i.setTimeout(()=>o(null),4e3);try{const n=new i.Image;n.crossOrigin="anonymous",n.onload=()=>{try{const e=t.createElement("canvas");e.width=xs,e.height=xs;const i=e.getContext("2d");if(!i)return o(null);i.drawImage(n,0,0,xs,xs),o(function(e){const t=new Array(12).fill(0),n=new Array(12).fill(0),i=new Array(12).fill(0),r=new Array(12).fill(0);let o=0,s=0,a=0,l=0;for(let c=0;c+3<e.length;c+=4){const d=e[c+3]/255;if(d<.5)continue;const u=e[c]*d/255,h=e[c+1]*d/255,p=e[c+2]*d/255,f=Math.max(u,h,p),m=Math.min(u,h,p),g=f-m,b=(f+m)/2,y=0===g?0:g/(1-Math.abs(2*b-1));if(b>.92||b>.82&&y<.15)continue;if(o+=u,s+=h,a+=p,l+=1,y<.22||b<.1||b>.9)continue;let v=0;0!==g&&(v=f===u?(h-p)/g%6*60:f===h?60*((p-u)/g+2):60*((u-h)/g+4),v<0&&(v+=360));const w=Math.min(11,Math.floor(v/30));t[w]+=y,n[w]+=u*y,i[w]+=h*y,r[w]+=p*y}let c,d=0;for(let e=1;e<12;e+=1)t[e]>t[d]&&(d=e);if(t[d]>0){const e=t[d];c=[n[d]/e,i[d]/e,r[d]/e]}else{if(!(l>0))return null;c=[o/l,s/l,a/l]}const u=e=>Math.trunc(Math.max(0,Math.min(255,255*e))).toString(16).toUpperCase().padStart(2,"0");return`#${u(c[0])}${u(c[1])}${u(c[2])}`}(i.getImageData(0,0,xs,xs).data))}catch{o(null)}},n.onerror=()=>o(null),n.src=jt(e,zt,i.devicePixelRatio||1)}catch{o(null)}})}(e,t)):void 0,s,b.motion);const w=void 0===p?void 0:m.offers[p];return w&&g.current.seedSelection(w.id),g.current.requestDominantColors(),g.current}catch(e){return void u.warn("[Encore SDK] SDUI variant could not be rendered; keeping the built-in surface",e)}var n,i}function As(e,t){if("first"!==e&&"middle"!==e&&"last"!==e&&!Number.isInteger(e))throw new Error('initialSelection must be "first", "middle", "last" or an integer');if(0!==t)return"first"===e?0:"middle"===e?Math.floor(t/2):"last"===e?t-1:Math.max(0,Math.min(e,t-1))}function Ls(e,t){if(null!=e){if("object"!=typeof e||Array.isArray(e)||!Object.values(e).every(e=>"string"==typeof e))throw new Error(`${t} must map keys to strings`);return e}}function Ns(e){const t=e??void 0;if(void 0===t)return;if("object"!=typeof t||Array.isArray(t))throw new Error("textMaps must map names to string maps");const n={};for(const[e,i]of Object.entries(t))n[e]=Ls(i,`textMaps.${e}`)??{};return n}function Os(e,t){if(null!=e){if(!Array.isArray(e)||!e.every(e=>Number.isInteger(e)))throw new Error(`${t} must be a list of integers`);return e}}function Ms(e,t,n){return function(e,t){const n=Xn(t);if(void 0===e||!n)return e;let i=e;const r=Yn(n.lighten);void 0!==r&&r>0&&(i=Jn(i,"white",r));const o=Yn(n.darken);void 0!==o&&o>0&&(i=Jn(i,"black",o));const s=Yn(n.opacity);return void 0!==s&&(i=si(i,s)??i),i}(function(e,t,n){if("object"!=typeof e||null===e||!("binding"in e))return(i=n,(e,t)=>bn(i(e,t)))(e,t);var i;const r=e.binding;if("string"==typeof r){const e=t?.[r];return void 0===e||""===e?void 0:bn(e)}if("object"==typeof r&&null!==r){const e=r,i="string"==typeof e.key?t?.[e.key]:void 0;return void 0!==i&&""!==i?bn(i):void 0===e.fallback?void 0:Ms(e.fallback,t,n)}}(e,t,n),e)}const Us={status:"failed",reason:M},Rs=new Set(["AbortError","NotAllowedError","InvalidStateError"]);async function Ps(e){const t="undefined"==typeof navigator?void 0:navigator;if(t&&"function"==typeof t.share&&function(e,t){if("function"!=typeof e.canShare)return!0;try{return e.canShare({url:t})}catch{return!1}}(t,e))try{return await t.share({url:e}),{status:"shared",destination:"web_share"}}catch(e){if(Rs.has(e?.name))return{status:"cancelled"};u.debug("Share sheet refused the link; trying the clipboard",e)}return await async function(e,t){const n=t?.clipboard;if(n&&"function"==typeof n.writeText)try{return await n.writeText(e),!0}catch(e){u.debug("Clipboard write refused",e)}return function(e){if("undefined"==typeof document||"function"!=typeof document.execCommand)return!1;const t=document.activeElement,n=document.createElement("textarea");try{n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),n.setSelectionRange(0,e.length);const t=n.selectionEnd-n.selectionStart;return document.execCommand("copy")&&t>0}catch(e){return u.debug("Copy command refused",e),!1}finally{n.remove(),t instanceof HTMLElement&&t.focus({preventScroll:!0})}}(e)}(e,t)?{status:"shared",destination:U}:Us}function Fs(e,t=Ps){let n=!1,i=!1;const r=e=>{try{e()}catch(e){u.debug("Share event could not be reported",e)}},o=(t,i)=>(n=!1,r("failed"===i.status?()=>e.failed(t,i.reason):"cancelled"===i.status?()=>e.completed(t,void 0,!1):()=>e.completed(t,i.destination,!0)),i);return{run(s,a){if(n||i)return null;if(n=!0,r(()=>e.tapped(a)),!s)return Promise.resolve(o(a,{status:"failed",reason:"missing_share_link"}));let l;try{l=t(s)}catch{l=Promise.resolve(Us)}return l.then(e=>o(a,e),()=>o(a,Us))},lock(){i=!0}}}const zs=[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1],Bs=["animationend","animationcancel","transitionend","transitioncancel"];function Ds(e){const t=e.boundingClientRect,n=t.width*t.height;if(n<=0)return 0;const i=e.rootBounds;if(!i)return e.intersectionRatio;const r=i.width*i.height;if(r<=0||n<=r)return e.intersectionRatio;const o=e.intersectionRect;return o.width*o.height/r}class js{#Yt;#Xt=new Set;#Qt=new Map;#Jt=new WeakMap;#en=new Set;#tn=null;#nn=null;#in=!1;#rn=!1;#v=!1;#on=null;#sn=null;#an=null;#ln=null;constructor(e={}){this.#Yt=e.threshold??.5}register(e,t,n,i={}){if(this.#v||this.#Xt.has(t))return _s;this.#cn(e),this.#Qt.set(e,{element:e,key:t,onShown:n,eligible:i.eligible}),this.#dn();const r=this.#un();if(r)try{r.observe(e)}catch(e){u.debug("Impression gate could not observe an element",e)}else this.#hn(e);return()=>this.#cn(e)}setContainerVisible(e){this.#v||(this.#rn=e,e&&this.recheck())}recheck(){if(!this.#v){for(const e of Array.from(this.#en))this.#pn(e);for(const e of Array.from(this.#Qt.keys()))this.#hn(e)}}hasShown(e){return this.#Xt.has(e)}destroy(){if(!this.#v){this.#v=!0;try{this.#nn?.disconnect()}catch{}if(this.#nn=null,this.#tn?.disconnect(),this.#tn=null,this.#en.clear(),this.#Qt.clear(),this.#Xt.clear(),this.#on&&(document.removeEventListener("visibilitychange",this.#on),this.#on=null),this.#sn){for(const e of Bs)document.removeEventListener(e,this.#sn,!0);this.#sn=null}this.#an&&(window.removeEventListener("scroll",this.#an,!0),window.removeEventListener("resize",this.#an),this.#an=null),null!==this.#ln&&(clearTimeout(this.#ln),this.#ln=null)}}#dn(){if(!this.#on){try{this.#on=()=>this.recheck(),document.addEventListener("visibilitychange",this.#on)}catch(e){u.debug("Impression gate could not watch page visibility",e),this.#on=null}try{this.#sn=()=>this.recheck();for(const e of Bs)document.addEventListener(e,this.#sn,!0)}catch(e){u.debug("Impression gate could not watch for paint",e),this.#sn=null}}}#cn(e){if(this.#Qt.delete(e)){this.#en.delete(e),this.#tn?.unobserve(e);try{this.#nn?.unobserve(e)}catch{}}}#un(){if(this.#in)return this.#nn;this.#in=!0;try{if("function"!=typeof IntersectionObserver)throw new Error("unavailable");this.#nn=new IntersectionObserver(e=>this.#fn(e),{root:null,threshold:zs})}catch(e){u.debug("IntersectionObserver unavailable; impressions use a geometry check",e),this.#nn=null,this.#mn()}return this.#nn}#fn(e){try{for(const t of e){this.#Jt.set(t.target,t.isIntersecting&&Ds(t)>=this.#Yt);const e=t.boundingClientRect;e.width*e.height>0?this.#en.delete(t.target):this.#gn(t.target),this.#hn(t.target)}}catch(e){u.debug("Impression gate observer callback failed",e)}}#pn(e){this.#nn&&this.#Qt.has(e)&&(this.#nn.unobserve(e),this.#nn.observe(e))}#gn(e){this.#en.add(e),"function"==typeof ResizeObserver&&(this.#tn??=new ResizeObserver(e=>{for(const{target:t,contentRect:n}of e)n.width*n.height<=0||(this.#tn?.unobserve(t),this.#pn(t))}),this.#tn.observe(e))}#hn(e){const t=this.#Qt.get(e);if(t&&!this.#v&&this.#rn){try{if("visible"!==document.visibilityState)return;if(t.eligible&&!t.eligible())return;if(!(this.#nn?!0===this.#Jt.get(e):this.#bn(e)))return;if(!this.#yn(e))return}catch(e){return void u.debug("Impression gate evaluation failed",e)}this.#vn(t)}}#vn(e){for(const[t,n]of Array.from(this.#Qt))n.key===e.key&&this.#cn(t);if(!this.#Xt.has(e.key)){this.#Xt.add(e.key);try{e.onShown()}catch(e){u.error("Impression handler failed",e)}}}#yn(e){const t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return!0;const n=t.getComputedStyle(e);if("hidden"===n.visibility||"collapse"===n.visibility)return!1;for(let i=e;i;i=i.parentElement){const r=i===e?n:t.getComputedStyle(i);if("none"===r.display)return!1;if(0===Number.parseFloat(r.opacity))return!1}return!0}#bn(e){if(!e.isConnected)return!1;const t=e.getBoundingClientRect(),n=t.width*t.height;if(n<=0)return!1;let i=Math.max(t.left,0),r=Math.max(t.top,0),o=Math.min(t.right,window.innerWidth||document.documentElement.clientWidth),s=Math.min(t.bottom,window.innerHeight||document.documentElement.clientHeight);for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const e=window.getComputedStyle(t);if("visible"===e.overflowX&&"visible"===e.overflowY)continue;const n=t.getBoundingClientRect();i=Math.max(i,n.left),r=Math.max(r,n.top),o=Math.min(o,n.right),s=Math.min(s,n.bottom)}const a=Math.max(0,o-i)*Math.max(0,s-r),l=(window.innerWidth||document.documentElement.clientWidth)*(window.innerHeight||document.documentElement.clientHeight);return a/(l>0?Math.min(n,l):n)>=this.#Yt}#mn(){try{this.#an=()=>{null!==this.#ln&&clearTimeout(this.#ln),this.#ln=setTimeout(()=>{this.#ln=null,this.recheck()},100)},window.addEventListener("scroll",this.#an,!0),window.addEventListener("resize",this.#an)}catch(e){u.debug("Impression gate could not listen for scrolls",e),this.#an=null}}}class Hs{#wn;#xn=[];constructor(e){this.#wn=e}register(e,t,n,i){this.#xn.push(this.#wn.register(e,t,n,i))}clear(){const e=this.#xn;this.#xn=[];for(const t of e)t()}}function _s(){}const Vs=["Watch & listen","Money","Everyday"],qs="Everyday",Ws=new Map(Object.entries({"Music and Audio":"Watch & listen","Video and Streaming":"Watch & listen","News and Reading":"Watch & listen","Games and Entertainment":"Watch & listen","Finance and Credit":"Money","Cashback and Rewards":"Money","Food and Delivery":"Everyday","Shopping and Retail":"Everyday","Travel and Transport":"Everyday",Pets:"Everyday","Family and Baby":"Everyday","Health and Wellness":"Everyday",Fitness:"Everyday","Beauty and Personal Care":"Everyday","Mental Health and Therapy":"Everyday","Software and Productivity":"Everyday","Privacy and Connectivity":"Everyday","Learning and Education":"Everyday"}).map(([e,t])=>[e.toLowerCase(),t])),Gs=new Set,Ks={"Watch & listen":"gift.categoryWatch",Money:"gift.categoryMoney",Everyday:"gift.categoryEveryday"};function Zs(e){return Vs.find(t=>t===e?.categoryGroup)??function(e){const t="string"==typeof e?e.trim():"";if(""===t)return qs;const n=t.toLowerCase();return Ws.get(n)||(Gs.has(n)||(Gs.add(n),u.debug(`Unknown offer category "${t}"; showing it under ${qs}`)),qs)}(e?.category)}function Ys(e,t){return Te(Ks[e],t??e)}function Xs(e){return{id:e.id,title:e.title,...void 0!==e.creativeDescription&&{description:e.creativeDescription},...void 0!==e.ctaText&&{ctaText:e.ctaText},...void 0!==e.merchantName&&{merchantName:e.merchantName},...void 0!==e.imageUrl&&{imageUrl:e.imageUrl},...void 0!==e.logoUrl&&{logoUrl:e.logoUrl},...void 0!==e.heroImageUrl&&{heroImageUrl:e.heroImageUrl},...void 0!==e.termsUrl&&{termsUrl:e.termsUrl},...void 0!==e.shareUrl&&{shareUrl:e.shareUrl},...void 0!==e.perk&&{perk:e.perk},...void 0!==e.badgeLabel&&{badgeLabel:e.badgeLabel},...void 0!==e.categoryGroup&&{category:e.categoryGroup},...e.quickInstructions?.trim()&&{quickInstructions:e.quickInstructions},...void 0!==e.instructions&&{instructions:e.instructions},...void 0!==e.displayProperties&&{displayProperties:e.displayProperties}}}function Qs(e,t){return n=>{if("valueSet"!==n.kind||void 0===n.offerId)return t(n);const{offerId:i,...r}=n,o=e.find(e=>e.id===i)?.campaignId;t({...r,value:o??r.value})}}class Js{#kn;#ve;#$n=new Rt;#Cn;#In=null;#En=0;#v=!1;#Sn;#Tn;#An;#wn;#Ln;#Nn;#On=null;#Mn=Fs({tapped:({offer:e,index:t})=>this.#Un({kind:"tapped",offer:e,index:t}),failed:({offer:e,index:t},n)=>this.#Un({kind:"failed",reason:n,offer:e,index:t}),completed:({offer:e,index:t},n,i)=>this.#Un({kind:"completed",completed:i,offer:e,index:t,...n&&{destination:n}})});constructor(e,t,n){this.#kn=e,this.#ve=t,this.#Cn=n,this.#Ln=!t.impressions,this.#wn=t.impressions??new js,this.#Nn=new Hs(this.#wn)}static create(e,t){const n=lo(t.template);if(n)return void u.warn(`SDUI variant needs "${n}", which web cannot run`);const i={},r=(e,t)=>{i.current?.emit(e,t)};let o=e;const s={},a=e=>o.findIndex(t=>t.id===e),l=Ts({template:t.template,offers:e.map(Xs),textEnvironment:{values:{},textMaps:{},variables:t.variables,defaults:{getText:Te("card.get","Get"),claimText:Te("card.claim","Claim"),titleText:t.variables.titleText??Te("churn.fallbackTitle",Lo),accentTitleText:t.variables.accentTitleText??Te("churn.fallbackAccent",No),subtitleText:t.variables.subtitleText??Te("churn.fallbackSubtitle",Oo),categoryLabels:Object.fromEntries(Vs.map(e=>[e,Ys(e)])),symbolLabels:{xmark:Te("sdui.close","Close"),"chevron.left":Te("sdui.back","Back"),"arrowshape.turn.up.right":Te("sdui.share","Share")}}},actionHost:{claimOffer:(e,n)=>{if(!1===t.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const i=a(e),s=o[i];s?r("offerClaim",{offer:s,index:i,...n?{successState:n}:{}}):u.warn("SDUI claim named an offer this presentation does not have")},selectOffer:e=>{const t=a(e),n=o[t];n&&(i.current?.setSelectedIndex(t),r("offerSelect",{offer:n,index:t}))},setOfferIndex:e=>{const t=s.current?.context.offers[e]?.id,n=void 0===t?e:a(t),l=o[n];l&&(i.current?.setSelectedIndex(n),r("offerSelect",{offer:l,index:n}))},close:()=>i.current?.requestClose(),reportCompletion:(e,t)=>{i.current?.applyTransition(t??"close")},openUrl:e=>{window.open(e,"_blank","noopener,noreferrer")},share:(e,t)=>{i.current?.share(e,t)},setState:e=>{i.current?.notifyStateChange(e)}},color:t.color,...t.analytics&&{analytics:Qs(e,t.analytics)},...!1===t.claimEnabled&&{claimEnabled:!1},initialIndex:0});if(!l)return;s.current=l;const c=new Map(e.map(e=>[e.id,e]));o=l.context.offers.flatMap(e=>c.get(e.id)??[]);const d=new Js(o,t,l);return d.#En=Dn(l.context)??0,i.current=d,d}emit(e,t){this.#v||this.#$n.emit(e,t)}setSelectedIndex(e){this.#En=e}on(e,t){return this.#$n.on(e,t)}render(){const e=this.#Cn?.root;if(!(e instanceof HTMLElement))throw new Error("SDUI surface has no root element");return this.#In=e,this.#Rn(e),e}#Rn(e){const t=()=>{if(this.#v)return;this.#Nn.clear();const t=t=>[...e.matches(t)?[e]:[],...e.querySelectorAll(t)],n=e=>null!==e.closest('[data-sdui-impressions="none"]');for(const e of t("[data-sdui-offer-id]"))n(e)||this.#Pn(e,e.dataset.sduiOfferId);for(const e of t("[data-sdui-creative-offer-id]"))e.closest("[data-sdui-offer-id], [data-sdui-impressions]")||this.#Pn(e,e.dataset.sduiCreativeOfferId)};t();const n=e.ownerDocument.defaultView;if(!n?.MutationObserver)return;let i=!1;this.#On=new n.MutationObserver(()=>{i||(i=!0,queueMicrotask(()=>{i=!1,t()}))}),this.#On.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sdui-offer-id","data-sdui-creative-offer-id"]})}#Pn(e,t){const n=this.#kn.findIndex(e=>e.id===t),i=this.#kn[n];i&&void 0!==t&&this.#Nn.register(e,t,()=>this.emit("offerView",{offer:i,index:n}))}canvasColor(){const e=this.#In,t=e?.ownerDocument.defaultView;if(!e||!t)return;const n=e.getBoundingClientRect(),i=n.width*n.height;if(i<=0)return;const r=(e,o)=>{const s=t.getComputedStyle(e);if("none"===s.display||"hidden"===s.visibility||"0"===s.opacity)return;if(o<6)for(const t of Array.from(e.children).reverse()){const e=r(t,o+1);if(e)return e}const a=s.backgroundColor;return l=e.getBoundingClientRect(),Math.max(0,Math.min(l.right,n.right)-Math.max(l.left,n.left))*Math.max(0,Math.min(l.bottom,n.bottom)-Math.max(l.top,n.top))>=.9*i&&function(e){if(e.startsWith("rgb("))return!0;const t=/rgba\([^)]*,\s*([\d.]+)\)/.exec(e)?.[1];return void 0!==t&&Number(t)>=1}(a)?a:void 0;var l};return r(e,0)}frame(){return{background:this.#ve.color({appearance:"background"}),scheme:this.#ve.scheme??"light"}}getTotalOffers(){return this.#kn.length}getCurrentIndex(){return this.#En}getSelectedOffer(){return this.#kn[this.#En]}selectOffer(e){const t=this.#kn[e];t&&(this.#En=e,this.#Cn?.selectOffer(t.id),this.#$n.emit("offerSelect",{offer:t,index:e}))}next(){const e=this.#En+1;e>=this.#kn.length||this.selectOffer(e)}claimSelected(){if(!1===this.#ve.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const e=this.getSelectedOffer();e?this.#$n.emit("offerClaim",{offer:e,index:this.#En}):u.warn("Claim requested with no selected offer — ignoring")}onRequestClose(e){this.#Sn=e}requestClose(){this.#v||this.#Sn?.()}get currentState(){return this.#Cn?.context.currentState}onStateChange(e){this.#An=e}notifyStateChange(e){this.#v||this.#An?.(e)}onShare(e){this.#Tn=e}async share(e,t){if(this.#v)return;const n=void 0===e?this.#En:this.#kn.findIndex(t=>t.id===e),i=this.#kn[n];if(!i)return;const r=this.#Mn.run(i.shareUrl,{offer:i,index:n});if(!r)return;const o=await r;"shared"!==o.status||this.#v||(o.destination===U&&function(e,t=globalThis.document){if(!t?.body)return;t.querySelector(`.${Ln("toast")}`)?.remove();const n=t.createElement("div");n.className=Ln("toast"),n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.textContent=e,t.body.appendChild(n),setTimeout(()=>n.classList.add(Ln("toast-visible")),16),setTimeout(()=>{n.classList.remove(Ln("toast-visible")),setTimeout(()=>n.remove(),200)},2200)}("Link copied to clipboard"),t&&this.applyTransition(t))}#Un(e){this.#v||this.#Tn?.(e)}setState(e){this.#Cn?.setState(e),this.notifyStateChange(e)}applyTransition(e){"close"!==e?this.setState(e):this.requestClose()}destroy(){this.#v=!0,this.#On?.disconnect(),this.#On=null,this.#Nn.clear(),this.#Ln&&this.#wn.destroy(),this.#$n.removeAllListeners(),this.#In?.remove(),this.#In=null,this.#Cn=void 0}}const ea={accent:"#6743F5",onAccent:"#ffffff",accentTitle:"#16BD25",background:"#f2f2f7",onBackground:"#111111",surface:"#ffffff",onSurface:"#111111",border:"rgba(60, 60, 67, 0.12)",muted:"#8e8e93",error:"#d1344b",label:"#111111",secondaryLabel:"#6c6c70",tertiaryLabel:"#aeaeb2",systemBackground:"#ffffff",secondarySystemBackground:"#f2f2f7",systemGroupedBackground:"#f2f2f7",secondarySystemGroupedBackground:"#ffffff",separator:"rgba(60, 60, 67, 0.12)",tertiarySystemFill:"#e9e9ec"},ta={...ea,background:"#000000",onBackground:"#ffffff",surface:"#1c1c1e",onSurface:"#ffffff",border:"rgba(84, 84, 88, 0.5)",muted:"rgba(235, 235, 245, 0.6)",error:"#ff453a",label:"#ffffff",secondaryLabel:"rgba(235, 235, 245, 0.6)",tertiaryLabel:"rgba(235, 235, 245, 0.3)",systemBackground:"#000000",secondarySystemBackground:"#1c1c1e",systemGroupedBackground:"#000000",secondarySystemGroupedBackground:"#1c1c1e",separator:"rgba(84, 84, 88, 0.5)",tertiarySystemFill:"rgba(118, 118, 128, 0.24)"};function na(e={}){const t={..."dark"===e.scheme?ta:ea},n=e.accent??ra(e.serverAccent);n&&(t.accent=n);const i=ra(e.serverAccentTitle);i&&(t.accentTitle=i);const r=e.background?oa(e.background):void 0;if(e.background&&r){const n=(e.text?oa(e.text):void 0)??function(e){const t=e=>{const t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return.2126*t(e[0])+.7152*t(e[1])+.0722*t(e[2])>.179?[0,0,0]:[255,255,255]}(r),i=e.text??sa(n),o=sa(n,.6),s=sa(aa(r,n,.05)),a=sa(aa(r,n,.1));Object.assign(t,{background:e.background,onBackground:i,onSurface:i,muted:o,surface:s,border:a,systemGroupedBackground:e.background,systemBackground:s,secondarySystemBackground:s,secondarySystemGroupedBackground:s,label:i,secondaryLabel:o,tertiaryLabel:o,separator:a,tertiarySystemFill:a})}else e.background&&(t.background=e.background,t.systemGroupedBackground=e.background);return!r&&e.text&&(t.onBackground=e.text,t.onSurface=e.text,t.label=e.text),e=>{if("object"!=typeof e||null===e)return;const n=e;return"string"==typeof n.hex?ia(n.hex):"string"==typeof n.appearance?t[n.appearance]:"string"==typeof n.semantic?t[n.semantic]:void 0}}function ia(e){const t=e.trim().replace(/^#/,"");if(/^(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t))return 8===t.length?`#${t.slice(2)}${t.slice(0,2)}`:`#${t}`}function ra(e){return e?ia(e):void 0}function oa(e){const t=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());if(!t)return;const n=3===t[1].length?[...t[1]].map(e=>e+e).join(""):t[1];return[0,2,4].map(e=>parseInt(n.slice(e,e+2),16))}const sa=(e,t=1)=>1===t?`rgb(${e.join(", ")})`:`rgba(${e.join(", ")}, ${t})`,aa=(e,t,n)=>e.map((e,i)=>Math.round(e+(t[i]-e)*n));class la{#Fn=null;#zn;#ve;#et=!1;#Bn=null;#Dn=null;#jn=null;#Hn=null;#_n=null;#Vn=null;constructor(e,t){this.#zn=e,this.#ve={position:"top",maxWidth:200,...t},this.#qn()}#qn(){this.#Hn=this.#Wn.bind(this),this.#_n=this.#Gn.bind(this),this.#Vn=this.#Kn.bind(this),this.#zn.addEventListener("mouseenter",this.#Hn),this.#zn.addEventListener("mouseleave",this.#_n)}#Wn(){this.#Dn&&(clearTimeout(this.#Dn),this.#Dn=null),this.#Bn=window.setTimeout(()=>{this.#Zn()},50)}#Gn(){this.#Bn&&(clearTimeout(this.#Bn),this.#Bn=null),this.#Dn=window.setTimeout(()=>{this.#Yn()},100)}#Zn(){if(this.#et)return;this.#Xn(),this.#Fn=document.createElement("div"),this.#Fn.className=Ln("tooltip"),this.#Fn.setAttribute("role","tooltip"),this.#Fn.textContent=this.#ve.content,this.#ve.maxWidth&&(this.#Fn.style.maxWidth=`${this.#ve.maxWidth}px`),this.#ve.position&&this.#Fn.classList.add(Ln(`tooltip-${this.#ve.position}`));const e=this.#zn.getBoundingClientRect();this.#Fn.style.top=`${e.top}px`,this.#Fn.style.left=`${e.left}px`,Ue(this.#Fn);const t=this.#zn.closest(`.${Ln("modal--inline")}`)?.parentNode,n=this.#zn.getRootNode();(t??(n instanceof ShadowRoot?n:document.body)).appendChild(this.#Fn),this.#Vn&&(window.addEventListener("scroll",this.#Vn,!0),window.addEventListener("resize",this.#Vn)),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.#Fn&&(this.#Kn(),this.#Fn.classList.add(Ln("tooltip-visible")))})}),this.#et=!0}#Yn(){this.#et&&this.#Fn&&(this.#Vn&&(window.removeEventListener("scroll",this.#Vn,!0),window.removeEventListener("resize",this.#Vn)),this.#Fn.classList.remove(Ln("tooltip-visible")),this.#et=!1,this.#jn=window.setTimeout(()=>this.#Xn(),200))}#Xn(){null!==this.#jn&&(clearTimeout(this.#jn),this.#jn=null),this.#Fn?.remove(),this.#Fn=null}#Kn(){if(!this.#Fn||!this.#et)return;const e=this.#zn.getBoundingClientRect(),t=this.#Fn.getBoundingClientRect();let n=0,i=0;switch(this.#ve.position??"top"){case"top":n=e.top-t.height-8,i=e.left+e.width/2-t.width/2;break;case"bottom":n=e.bottom+8,i=e.left+e.width/2-t.width/2;break;case"left":n=e.top+e.height/2-t.height/2,i=e.left-t.width-8;break;case"right":n=e.top+e.height/2-t.height/2,i=e.right+8}i=Math.max(8,Math.min(i,window.innerWidth-t.width-8)),n=Math.max(8,Math.min(n,window.innerHeight-t.height-8)),this.#Fn.style.top=`${n}px`,this.#Fn.style.left=`${i}px`}updateContent(e){this.#ve.content=e,this.#Fn&&(this.#Fn.textContent=e,this.#Kn())}destroy(){this.#Bn&&(clearTimeout(this.#Bn),this.#Bn=null),this.#Dn&&(clearTimeout(this.#Dn),this.#Dn=null),this.#et&&this.#Yn(),this.#Xn(),this.#Hn&&this.#zn.removeEventListener("mouseenter",this.#Hn),this.#_n&&this.#zn.removeEventListener("mouseleave",this.#_n),this.#Vn&&(window.removeEventListener("scroll",this.#Vn,!0),window.removeEventListener("resize",this.#Vn))}}class ca{#Ze;#Qn=null;#Jn=null;#ei=null;#ti=!0;constructor(e){this.#Ze=new Rt,this.#ti=e?.claimEnabled??!0}render(e){this.#Qn=e,this.#Jn=document.createElement("div"),this.#Jn.className=Ln("offer-card");const t=We(e.logoUrl);if(e.imageUrl?.trim())this.#Jn.appendChild(this.#ni(e.imageUrl,460,e.title,e.tooltipText));else if(t){const n=this.#ni(t,zt,e.title,e.tooltipText);n.classList.add(Ln("offer-banner-logo"));const i=n.querySelector("img");i&&(i.alt="",i.onerror=()=>n.remove()),this.#Jn.appendChild(n)}const n=this.#ii(e);return this.#Jn.appendChild(n),this.#Jn}on(e,t){return this.#Ze.on(e,t)}#ni(e,t,n,i){const r=document.createElement("div");r.className=Ln("offer-banner");const o=document.createElement("img");o.className=Ln("offer-banner-image"),o.alt=n??Te("card.imageAlt","Offer image");const s=We(e);s?(_t(o,s,t),o.complete?o.classList.add(Ln("loaded")):o.onload=()=>{o.classList.add(Ln("loaded"))},o.onerror=()=>{u.warn("Failed to load offer image, using fallback"),Yt(o),o.src=this.#ri(),o.classList.add(Ln("loaded"))}):(o.src=this.#ri(),o.classList.add(Ln("loaded"))),r.appendChild(o);const a=document.createElement("button");return a.className=Ln("banner-info-button"),a.setAttribute("aria-label",Te("card.moreInfo","More information")),a.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />\n </svg>\n ',a.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),u.debug("Info button clicked for offer",{title:n,tooltipText:i})}),i&&(this.#ei=new la(a,{content:i,position:"bottom",maxWidth:200}),r.appendChild(a)),r}#ri(){return`data:image/svg+xml;base64,${btoa('\n <svg xmlns="http://www.w3.org/2000/svg" width="600" height="240" viewBox="0 0 600 240">\n <rect width="600" height="240" fill="#E5E7EB"/>\n <text x="50%" y="50%" text-anchor="middle" dy=".3em" fill="#9CA3AF" font-family="sans-serif" font-size="18">\n Offer Image\n </text>\n </svg>\n ')}`}#ii(e){const t=document.createElement("div");t.className=Ln("offer-footer");const n=document.createElement("div");n.className=Ln("offer-merchant");const i=We(e.logoUrl);if(i){const t=document.createElement("img");t.className=Ln("offer-logo"),_t(t,i,zt),t.alt=e.merchantName?Te("card.logoAlt","${name} logo",{name:e.merchantName}):Te("card.logoAltUnnamed","Merchant logo"),t.complete?t.classList.add(Ln("loaded")):t.onload=()=>{t.classList.add(Ln("loaded"))},t.onerror=()=>{u.warn("Failed to load merchant logo",{merchantName:e.merchantName}),t.style.display="none"},n.appendChild(t)}const r=document.createElement("div");if(r.className=Ln("offer-merchant-text"),e.merchantName){const t=document.createElement("div");t.className=Ln("offer-merchant-name"),t.textContent=e.merchantName,r.appendChild(t)}if(e.description){const t=document.createElement("div");t.className=Ln("offer-merchant-desc"),t.textContent=e.description,r.appendChild(t)}n.appendChild(r);const o=document.createElement("button");return o.className=`${Ln("button")} ${Ln("button-claim")}`,o.textContent=e.ctaText??Te("card.claim","Claim"),o.setAttribute("aria-label",e.title?Te("card.claimLabel","Claim offer: ${title}",{title:e.title}):Te("card.claimLabelUntitled","Claim offer")),this.#ti?o.addEventListener("click",()=>{this.#Qn&&this.#Ze.emit("claim",{offer:this.#Qn})}):(o.disabled=!0,o.setAttribute("aria-disabled","true")),t.appendChild(n),t.appendChild(o),t}destroy(){this.#ei&&(this.#ei.destroy(),this.#ei=null),this.#Ze.removeAllListeners(),this.#Jn=null,this.#Qn=null}}const da=Ne("gift",{unnamedGift:"your gift",unnamedGiftBare:"gift",claimFallback:"Claim gift",headline:"Here’s a FREE gift for you",subline:"A free present from us. Pick one.",finePrint:"FREE trial. You can cancel anytime.",sheetContinue:"Continue",sheetTitle:"Other gifts",terms:"One gift per person · Offer terms",pickerTermsLine:"One gift per person · ${link}",pickerTermsLink:"Offer terms",moreGifts:"More gifts",getFallback:"Get your gift",termsLine:"By proceeding you agree to our ${link}",termsLink:"offer terms",chooseLabel:"Choose your gift",closeSheetLabel:"Close other gifts",sheetCategoriesLabel:"Gift categories",presents:"${logo} Presents",showMore:"Show more gifts"});function ua(e){const t=E(e.merchantName);if(t)return t;return function(e){const t=E(e);if(t)try{const{hostname:e}=new URL(t);return E(e.replace(/^www\./i,""))}catch{return}}(e.advertiserUrl)||E(e.title)}function ha(e){return E(e.perk,e.description,e.title)}function pa(e){const t=ua(e),n=ha(e)??t??da.unnamedGift,i=t&&(r=t,!n.toLowerCase().includes(r.toLowerCase()))?t:void 0;var r;return{primary:n,...i&&{secondary:i}}}function fa(e){const t=ua(e)??ha(e)??da.unnamedGift,n=ha(e);return{brand:t,...n&&(i=n,r=t,!(i.trim().toLowerCase()===r.trim().toLowerCase()))&&{perk:n}};var i,r}function ma(e,t="Claim"){const n=ha(e);if(n&&n.length<=32)return"Get"===t?Te("gift.ctaGetPerk","Get ${perk}",{perk:n}):Te("gift.ctaClaimPerk","Claim ${perk}",{perk:n});const i=ua(e);if(i){const e="Get"===t?Te("gift.ctaGetBrand","Get your ${brand} gift",{brand:i}):Te("gift.ctaClaimBrand","Claim your ${brand} gift",{brand:i});if(e.length<=38)return e}return"Get"===t?da.getFallback:da.claimFallback}function ga(e){const{primary:t,secondary:n}=pa(e);return n?`${t}, ${n}`:t}function ba(e){const{brand:t,perk:n}=fa(e);return n?`${t}, ${n}`:t}const ya=/\bFREE\b/g,va=/\bfree\b([\s.!]*)$/i;function wa(e,t,n){const i=va.exec(t);if(!i)return void xa(e,t,n);e.textContent="";const r=i.index;r>0&&e.appendChild(document.createTextNode(t.slice(0,r)));const o=document.createElement("span");o.className=n,o.textContent="FREE",e.appendChild(o);const s=i[1]??"";s&&e.appendChild(document.createTextNode(s))}function xa(e,t,n){e.textContent="";let i=0;for(const r of t.matchAll(ya)){const o=r.index??0;o>i&&e.appendChild(document.createTextNode(t.slice(i,o)));const s=document.createElement("span");s.className=n,s.textContent=r[0],e.appendChild(s),i=o+r[0].length}i<t.length&&e.appendChild(document.createTextNode(t.slice(i)))}const ka=/\p{Sc}\s?\p{Nd}+(?:[.,]\p{Nd}+)?|\p{Nd}+(?:[.,]\p{Nd}+)?\s?\p{Sc}/u;function $a(e,t,n){if(wa(e,t,n),e.querySelector(`.${n}`))return;const i=ka.exec(t);if(!i)return;e.textContent="";const r=i.index;r>0&&e.appendChild(document.createTextNode(t.slice(0,r)));const o=document.createElement("span");o.className=n,o.textContent=i[0],e.appendChild(o);const s=t.slice(r+i[0].length);s&&e.appendChild(document.createTextNode(s))}const Ca="[\\s\\u200e\\u200f\\u061c]*",Ia="usd|gbp|eur|cad|aud|nzd|chf|jpy|cny|inr|brl|mxn|sek|nok|dkk|pln|krw|rub|sar|aed|egp|ils|zar|hkd|sgd|kr|rs",Ea="zł|円|元|원|руб|ر\\.?س|ج\\.?م|د\\.?إ|ریال|تومان",Sa=new RegExp([`\\p{Sc}${Ca}\\p{Nd}`,`\\p{Nd}${Ca}[a-z]{0,3}\\p{Sc}`,`\\b(?:${Ia})${Ca}\\p{Nd}`,`\\p{Nd}${Ca}(?:${Ia})\\b`,`(?:${Ea})${Ca}\\p{Nd}`,`\\p{Nd}${Ca}(?:${Ea})`].join("|"),"iu");function Ta(e){if(!e)return!1;const t=ha(e);return!!t&&Sa.test(t)}const Aa={free_trial:()=>Te("badge.freeTrial","Free trial"),discount:()=>Te("badge.discount","Discount")},La=()=>Te("badge.exclusive","Exclusive");function Na(e){return"free_trial"===e?.badgeLabel&&!Ta(e)}class Oa{#ve;#oi=null;#v=!1;constructor(e={}){this.#ve=e}render(e){const t=document.createElement("div");t.className=Ln("reward-card"),this.#oi=t;const n=E(e.merchantName,e.title)??e.id;t.style.setProperty("--encore-card-tint",function(e){return on(function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t>>>0}(e||"encore")%360,.72,.55)}(n)),this.#si(e);const i=E(this.#ve.badgeText)??function(e){const t=e?.badgeLabel;return t?"free_trial"===t&&Ta(e)?La():Aa[t]?.()??La():La()}(e),r=document.createElement("span");r.className=Ln("reward-card-badge"),r.textContent=i,t.appendChild(r),t.appendChild(this.#ai(e));const o=document.createElement("div");o.className=Ln("reward-card-text");const s=document.createElement("div");s.className=Ln("reward-card-name"),s.textContent=E(e.merchantName,e.title)??"",o.appendChild(s);const a=E(e.perk,e.description);if(a){const e=document.createElement("div");e.className=Ln("reward-card-offer"),e.textContent=a,o.appendChild(e)}return t.appendChild(o),t}#ai(e){const t=document.createElement("div");t.className=Ln("reward-card-icon");const n=E(e.merchantName,e.title)??"",i=We(e.logoUrl);if(!i)return t.appendChild(this.#li(n)),t;const r=document.createElement("img");return r.className=Ln("reward-card-icon-image"),r.alt="",r.setAttribute("aria-hidden","true"),_t(r,i,zt),r.onerror=()=>{r.remove(),t.appendChild(this.#li(n))},t.appendChild(r),t}#li(e){const t=document.createElement("span");return t.className=Ln("reward-card-monogram"),t.setAttribute("aria-hidden","true"),t.textContent=(Array.from(e)[0]??"★").toUpperCase(),t}#si(e){const t=We(e.logoUrl);var n;t&&(n=t,n?new Promise(e=>{let t=!1;const i=n=>{t||(t=!0,window.clearTimeout(r),e(n))},r=window.setTimeout(()=>i(null),4e3);try{const e=new Image;e.crossOrigin="anonymous",e.onload=()=>{try{i(function(e){const t=document.createElement("canvas");t.width=en,t.height=en;const n=t.getContext("2d");if(!n)return null;n.drawImage(e,0,0,en,en);try{return function(e){let t=0,n=0,i=0,r=0;for(let o=0;o<e.length;o+=4){if((e[o+3]??0)<200)continue;const s=e[o]??0,a=e[o+1]??0,l=e[o+2]??0,c=nn(s,a,l);if(c>.92||c<.1)continue;const{s:d}=rn(s,a,l);if(d<.18)continue;const u=d*d;t+=u,n+=s*u,i+=a*u,r+=l*u}if(0===t)return null;const{h:o,s:s,l:a}=rn(n/t,i/t,r/t);return on(o,s,a)}(n.getImageData(0,0,en,en).data)}catch{return null}}(e))}catch(e){u.debug("Brand tint sampling failed — keeping the fallback tint",e),i(null)}},e.onerror=()=>i(null),e.src=jt(n,zt,window.devicePixelRatio||1)}catch(e){u.debug("Brand tint sampling unavailable — keeping the fallback tint",e),i(null)}}):Promise.resolve(null)).then(e=>{e&&!this.#v&&this.#oi&&this.#oi.style.setProperty("--encore-card-tint",e)})}destroy(){this.#v=!0,this.#oi?.remove(),this.#oi=null}}let Ma=0;class Ua{#Ze;#kn;#ci=0;#Jn=null;#di=null;#ui=null;#hi=null;#pi=[];#fi=null;#mi=null;#gi=null;#bi=null;#yi=null;#vi=0;#wi=null;#xi=!1;#wn;#Ln;#ki;#$i=-1;#Ci;#Ii=window.matchMedia(`(max-width: ${$n})`);#Ei=!1;#Si=null;#Ti=null;#Ai=-1;#Li=!1;#Ni=!1;#Oi=!1;#ti=!0;#Mi=[];#Ui=[];#Ri=[];#Pi="";#Fi=null;#zi=null;#Bi;#Di;constructor(e,t,n){if(this.#Ze=new Rt,this.#kn=e,this.#Ci=t,this.#Li="paged"===n?.mode,this.#Ni=n?.hideHeader??!1,this.#Oi=n?.selectable??!1,this.#ti=n?.claimEnabled??!0,this.#Bi=bn(n?.dotColor),this.#Di=bn(n?.dotActiveColor),this.#Pi=`${Ln("offer-option")}-${Ma+=1}-`,0===e.length)throw new Error("OfferCarousel requires at least one offer");this.#Ln=void 0===n?.impressions,this.#wn=n?.impressions??new js,this.#ki=new Hs(this.#wn),Xt(e[0]?.imageUrl,460),Xt(e[0]?.logoUrl,zt)}render(){if(this.#Jn=document.createElement("div"),this.#Jn.className=this.#Li?`${Ln("carousel")} ${Ln("carousel-paged")}`:Ln("carousel"),this.#fi=document.createElement("div"),this.#fi.setAttribute("role","status"),this.#fi.setAttribute("aria-live","polite"),this.#fi.setAttribute("aria-atomic","true"),this.#fi.className="sr-only",this.#fi.style.position="absolute",this.#fi.style.width="1px",this.#fi.style.height="1px",this.#fi.style.padding="0",this.#fi.style.margin="-1px",this.#fi.style.overflow="hidden",this.#fi.style.clip="rect(0, 0, 0, 0)",this.#fi.style.whiteSpace="nowrap",this.#fi.style.border="0",!this.#Ni){const e=this.#ji();this.#Jn.appendChild(e)}if(this.#di=document.createElement("div"),this.#di.className=Ln("carousel-cards"),this.#Oi&&(this.#di.setAttribute("role","listbox"),this.#di.setAttribute("tabindex","0"),this.#di.setAttribute("aria-label",Te("carousel.choose","Choose an offer")),this.#di.classList.add(Ln("carousel-select"),Ln("carousel-select--quiet"))),this.#Jn.appendChild(this.#fi),this.#Jn.appendChild(this.#di),this.#kn.length>1){const e=this.#Oi?this.#Hi():this.#_i();this.#Jn.appendChild(e)}return this.#Vi(),this.#qi(),this.#Ei=!this.#Li&&this.#Ii.matches,this.#Wi(),this.#Li||(this.#Si=this.#Gi.bind(this),this.#Ii.addEventListener("change",this.#Si)),this.#Jn}#Wi(){this.#Ki(),this.#$i=this.#ci,this.#Zi(),this.#Ei?this.#Yi():(this.#Oi?this.#Xi():this.#Qi(),this.#Ji(),this.#xi=!1,this.#er(this.#ci,!1),this.#tr(this.#ci),this.#nr(this.#ci))}#qi(){this.#ki.clear();const e=this.#di?.querySelectorAll(`.${Ln("carousel-item")}`);e?.forEach(e=>{const t=Number(e.getAttribute("data-index")),n=this.#kn[t];n&&this.#ki.register(e,n.id,()=>this.#Ze.emit("offerView",{offer:n,index:t}),{eligible:()=>t===this.#ci&&!this.#xi})})}#Gi(){const e=this.#Ii.matches;e!==this.#Ei&&(this.#Ei=e,this.#Wi())}#Ki(){this.#mi&&(document.removeEventListener("keydown",this.#mi),this.#mi=null),this.#di&&this.#Fi&&(this.#di.removeEventListener("keydown",this.#Fi),this.#Fi=null),this.#di&&this.#zi&&(this.#di.removeEventListener("focusout",this.#zi),this.#zi=null),this.#di&&this.#gi&&(this.#di.removeEventListener("scroll",this.#gi),this.#gi=null),this.#di&&this.#bi&&(this.#di.removeEventListener("scrollend",this.#bi),this.#bi=null),null!==this.#yi&&(cancelAnimationFrame(this.#yi),this.#yi=null),this.#wi&&(clearTimeout(this.#wi),this.#wi=null),this.#Ti&&(this.#Ti.disconnect(),this.#Ti=null)}#Yi(){this.#di&&(this.#Ti=new IntersectionObserver(e=>{let t=null;for(const n of e){if(!n.isIntersecting)continue;const e=n.target.getAttribute("data-index");if(null===e)continue;const i=Number(e);(!t||n.intersectionRatio>t.ratio)&&(t={index:i,ratio:n.intersectionRatio})}if(!t)return;const{index:n}=t;n!==this.#Ai&&(this.#Ai=n,this.#ci=n,n!==this.#$i&&(this.#$i=n,this.#Ze.emit("scroll",{axis:"vertical",position:n})),this.#wn.recheck(),u.debug(`Offer ${n+1} entered view`))},{root:this.#di,threshold:.5}),this.#di.querySelectorAll(`.${Ln("carousel-item")}`).forEach(e=>this.#Ti?.observe(e)))}on(e,t){return this.#Ze.on(e,t)}getCurrentIndex(){return this.#ci}getTotalOffers(){return this.#kn.length}next(){const e=Math.min(this.#ci+1,this.#kn.length-1);e!==this.#ci&&(this.#ci=e,this.#tr(e),this.#er(e),this.#ir(Te("carousel.showing","Showing offer ${n} of ${total}",{n:Fe(e+1),total:Fe(this.#kn.length)})),u.debug(`Navigated to offer ${e+1}`))}getSelectedOffer(){return this.#kn[this.#ci]}claimSelected(){const e=this.getSelectedOffer();e?this.#Ze.emit("offerClaim",{offer:e,index:this.#ci}):u.warn("Claim requested with no selected offer — ignoring")}selectOffer(e){e<0||e>=this.#kn.length||e===this.#ci||(this.#ci=e,this.#tr(e),this.#er(e),this.#ir(Te("carousel.selected","Selected offer ${n} of ${total}",{n:Fe(e+1),total:Fe(this.#kn.length)})),e!==this.#$i&&(this.#$i=e,this.#Ze.emit("scroll",{axis:"horizontal",position:e})))}previous(){const e=Math.max(this.#ci-1,0);e!==this.#ci&&(this.#ci=e,this.#tr(e),this.#er(e),this.#ir(Te("carousel.showing","Showing offer ${n} of ${total}",{n:Fe(e+1),total:Fe(this.#kn.length)})),u.debug(`Navigated to offer ${e+1}`))}#Vi(){if(!this.#di)return;const e=this.#di;this.#kn.forEach((t,n)=>{let i;if(this.#Oi){const e=new Oa;i=e.render(t),this.#Ui.push(e)}else{const e=new ca({claimEnabled:this.#ti});i=e.render(t),this.#pi.push(e),e.on("claim",()=>{this.#Ze.emit("offerClaim",{offer:t,index:n})})}const r=document.createElement("div");r.className=Ln("carousel-item"),r.setAttribute("data-index",n.toString()),r.appendChild(i),this.#Oi&&(r.id=`${this.#Pi}${n}`,r.setAttribute("role","option"),r.setAttribute("aria-selected",String(n===this.#ci)),r.addEventListener("click",()=>this.selectOffer(n))),e.appendChild(r)}),requestAnimationFrame(()=>{e.classList.add(Ln("cards-ready"))})}#er(e,t=!0){if(!this.#di)return;const n=this.#di.querySelectorAll(`.${Ln("carousel-item")}`)[e];if(n){if(this.#Oi){const e=this.#di,i=n.getBoundingClientRect(),r=e.getBoundingClientRect(),o=e.scrollLeft+(i.left+i.width/2-(r.left+r.width/2));return void("function"==typeof e.scrollTo?e.scrollTo({left:o,behavior:t?"smooth":"auto"}):e.scrollLeft=o)}n.scrollIntoView({behavior:t?"smooth":"auto",block:"nearest",inline:"center"})}}#tr(e){this.#rr(),this.#or(e),this.#sr(e)}#sr(e){if(!this.#Oi||!this.#di)return;const t=this.#di.querySelectorAll(`.${Ln("carousel-item")}`);t.forEach((t,n)=>t.setAttribute("aria-selected",String(n===e)));const n=t[e]?.id;n?this.#di.setAttribute("aria-activedescendant",n):this.#di.removeAttribute("aria-activedescendant"),this.#Mi.forEach((t,n)=>t.classList.toggle(Ln("active"),n===e)),this.#ar(e);const i=this.#kn[e];i&&this.#Ze.emit("offerSelect",{offer:i,index:e})}#Hi(){const e=document.createElement("div");return e.className=Ln("page-indicator"),e.setAttribute("aria-hidden","true"),this.#Bi&&e.style.setProperty("--encore-dot-color",this.#Bi),this.#Di&&e.style.setProperty("--encore-dot-active-color",this.#Di),this.#Mi=this.#kn.map((t,n)=>{const i=document.createElement("span");return i.className=n===this.#ci?`${Ln("dot")} ${Ln("active")}`:Ln("dot"),e.appendChild(i),i}),e}#Zi(){const e=this.#Jn;if(!e)return;const t=this.#Oi&&this.#kn.length>1&&!this.#Ei;if(t&&0===this.#Ri.length)for(const t of this.#lr())e.appendChild(t);else if(!t&&this.#Ri.length>0){for(const e of this.#Ri)e.remove();this.#Ri=[]}}#lr(){const e=(e,t,n,i)=>{const r=document.createElement("button");return r.type="button",r.className=`${Ln("reward-arrow")} ${Ln(`reward-arrow-${e}`)}`,r.setAttribute("aria-label",t),r.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="${n}" /></svg>`,r.addEventListener("click",i),r};return this.#Ri=[e("prev",Te("carousel.previous","Previous offer"),"M14.5 5.5L8 12l6.5 6.5",()=>this.selectOffer(this.#ci-1)),e("next",Te("carousel.next","Next offer"),"M9.5 5.5L16 12l-6.5 6.5",()=>this.selectOffer(this.#ci+1))],this.#ar(this.#ci),this.#Ri}#ar(e){const[t,n]=this.#Ri;t&&(t.disabled=0===e,t.classList.toggle(Ln("disabled"),t.disabled)),n&&(n.disabled=e===this.#kn.length-1,n.classList.toggle(Ln("disabled"),n.disabled))}#Xi(){this.#di&&(this.#Fi=e=>{this.#cr();let t=null;switch(Re(e.key,this.#di)){case"ArrowLeft":case"ArrowUp":t=this.#ci-1;break;case"ArrowRight":case"ArrowDown":t=this.#ci+1;break;case"Home":t=0;break;case"End":t=this.#kn.length-1;break;default:return}e.preventDefault(),this.selectOffer(Math.max(0,Math.min(t,this.#kn.length-1)))},this.#di.addEventListener("keydown",this.#Fi),this.#zi=e=>{const t=e.relatedTarget;t instanceof Node&&t.ownerDocument===document&&document.contains(t)&&this.#cr()},this.#di.addEventListener("focusout",this.#zi))}#cr(){this.#di?.classList.remove(Ln("carousel-select--quiet"))}#nr(e){this.#di&&(this.#vi=e,this.#di.querySelectorAll(`.${Ln("carousel-item")}`).forEach((t,n)=>{n===e?t.classList.add(Ln("active")):t.classList.remove(Ln("active"))}))}#ji(){const e=document.createElement("div");e.className=Ln("carousel-header");const t=document.createElement("h2");t.className=Ln("carousel-title"),t.id=Ln("modal-title"),t.textContent=this.#Ci?.customHeadline??this.#Ci?.titleText??Te("carousel.title","Exclusive offers");const n=document.createElement("p");return n.className=Ln("carousel-subtitle"),n.textContent=this.#dr(this.#ci),this.#ui=n,e.appendChild(t),e.appendChild(n),e}#dr(e){const t=this.#Ci?.customSubheadline??this.#Ci?.subtitleText??"";if(!this.#Li)return t;const n=this.#kn[e]?.perk?.trim();return n||t}#or(e){if(!this.#Li||!this.#ui)return;const t=this.#dr(e);this.#ui.textContent!==t&&(this.#ui.textContent=t)}#_i(){const e=document.createElement("div");e.className=Ln("carousel-navigation");const t=document.createElement("button");t.className=Ln("nav-button"),t.setAttribute("aria-label",Te("carousel.previous","Previous offer")),t.innerHTML=this.#Li?'\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round">\n <path d="M14.5 5.5L8 12l6.5 6.5" />\n </svg>\n ':'\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" style="transform: rotate(90deg);">\n <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />\n </svg>\n ',t.addEventListener("click",()=>this.previous());const n=document.createElement("button");return n.className=Ln("nav-button"),n.setAttribute("aria-label",Te("carousel.next","Next offer")),n.innerHTML=this.#Li?'\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round">\n <path d="M9.5 5.5L16 12l-6.5 6.5" />\n </svg>\n ':'\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" style="transform: rotate(270deg);">\n <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />\n </svg>\n ',n.addEventListener("click",()=>this.next()),e.appendChild(t),e.appendChild(n),this.#hi=e,this.#rr(t,n),e}#rr(e,t){if(!this.#hi)return;const n=this.#hi.querySelectorAll(`.${Ln("nav-button")}`),i=e??n[0],r=t??n[1];i&&(i.disabled=0===this.#ci,i.classList.toggle(Ln("disabled"),0===this.#ci)),r&&(r.disabled=this.#ci===this.#kn.length-1,r.classList.toggle(Ln("disabled"),this.#ci===this.#kn.length-1))}#Qi(){this.#mi=this.#ur.bind(this),document.addEventListener("keydown",this.#mi)}#ur(e){if(this.#Jn)switch(Re(e.key,this.#Jn)){case"ArrowLeft":e.preventDefault(),this.previous();break;case"ArrowRight":e.preventDefault(),this.next()}}#Ji(){if(!this.#di)return;const e=this.#di,t="onscrollend"in e;this.#gi=()=>{this.#xi=!0,null===this.#yi&&(this.#yi=window.requestAnimationFrame(()=>{this.#yi=null,this.#hr()})),t||(this.#wi&&clearTimeout(this.#wi),this.#wi=window.setTimeout(()=>this.#pr(),120))},e.addEventListener("scroll",this.#gi),t&&(this.#bi=()=>this.#pr(),e.addEventListener("scrollend",this.#bi))}#fr(){if(!this.#di)return this.#ci;const e=this.#di,t=e.querySelectorAll(`.${Ln("carousel-item")}`),n=e.getBoundingClientRect(),i=n.left+n.width/2;let r=0,o=1/0;return t.forEach((e,t)=>{const n=e.getBoundingClientRect(),s=Math.abs(i-(n.left+n.width/2));s<o&&(o=s,r=t)}),r}#hr(){if(!this.#di)return;const e=this.#fr();e!==this.#vi&&this.#nr(e)}#pr(){this.#wi&&(clearTimeout(this.#wi),this.#wi=null);const e=this.#fr();e!==this.#ci&&(this.#ci=e,this.#tr(e),u.debug(`Gesture settled on offer ${e+1}`)),this.#nr(e),e!==this.#$i&&(this.#$i=e,this.#Ze.emit("scroll",{axis:"horizontal",position:e})),this.#xi=!1,this.#wn.recheck()}#ir(e){this.#fi&&(this.#fi.textContent=e)}destroy(){this.#Ki(),this.#ki.clear(),this.#Ln&&this.#wn.destroy(),this.#Si&&(this.#Ii.removeEventListener("change",this.#Si),this.#Si=null),this.#pi.forEach(e=>e.destroy()),this.#pi=[],this.#Ui.forEach(e=>e.destroy()),this.#Ui=[],this.#Ri=[],this.#Ze.removeAllListeners(),this.#Jn=null,this.#di=null,this.#ui=null,this.#hi=null,this.#fi=null,this.#Mi=[]}}function Ra(e,t,n,i=!1){const r=document.createElement("div");r.className=`${t} ${Ln("brand-tile-placeholder")}`;const o=e.name?.trim().charAt(0);r.textContent=o?o.toUpperCase():"★",i&&r.setAttribute("aria-hidden","true");const s=We(e.logoUrl);if(s){const o=document.createElement("img");o.className=t,o.alt=i?"":e.name?Te("card.logoAlt","${name} logo",{name:e.name}):Te("brand.logoAlt","Brand logo"),i&&o.setAttribute("aria-hidden","true"),o.width=n,o.height=n,o.addEventListener("load",()=>r.replaceWith(o)),_t(o,s,zt,!1)}return r}function Pa(e,t){const n=document.createElement("div");n.className=Ln("lockup"),n.setAttribute("aria-hidden","true");const i=Ra(e,`${Ln("lockup-tile")} ${Ln("lockup-tile-partner")}`,56);return n.appendChild(i),(t.name||t.logoUrl)&&n.appendChild(Ra(t,`${Ln("lockup-tile")} ${Ln("lockup-tile-host")}`,56)),n}function Fa(e){const t=document.createElement("div");return t.className=Ln("ledger"),e.forEach(e=>t.appendChild(function(e){const t=document.createElement("div");t.className=Ln("ledger-row");const n=Ra(e.brand,Ln("ledger-logo"),44,!0),i=document.createElement("div");i.className=Ln("ledger-text");const r=document.createElement("div");if(r.className=Ln("ledger-name"),r.textContent=e.name,i.appendChild(r),e.detail){const t=document.createElement("div");t.className=Ln("ledger-detail"),t.textContent=e.detail,i.appendChild(t)}const o=document.createElement("div");return o.className=`${Ln("ledger-status")} ${Ln(`ledger-status-${e.status.tone}`)}`,o.textContent=e.status.text,t.appendChild(n),t.appendChild(i),t.appendChild(o),t}(e))),t}function za(e,t,n){const i=document.createElement("button");return i.className=`encore-button-claim ${t}`,i.setAttribute("type","button"),i.textContent=e,i.addEventListener("click",n),i}class Ba{#Jn=null;#Ze;#n;constructor(e){this.#n=e,this.#Ze=new Rt}render(){const{display:e,partner:t}=this.#n,n=e.appDisplayName,i="activation"===this.#n.variant&&n?"activation":"holding",r=document.createElement("div");r.className=Ln("primer-container");const o=t.logoUrl??t.imageUrl,s=Pa({...t.name&&{name:t.name},...o&&{logoUrl:o}},{...n&&{name:n},...e.logoUrl&&{logoUrl:e.logoUrl}}),a=document.createElement("h2");var l,c;a.className=Ln("primer-title"),a.id=Ln("modal-title"),a.textContent="activation"===i&&n?(l=n,(c=e.trialPeriod)?Te("primer.titleTrial","Amazing! Your ${trial} free trial of ${app} is ready",{trial:c,app:l}):Te("primer.title","Amazing! Your ${app} reward is ready",{app:l})):Te("holding.title","Your reward is saved");const d=document.createElement("p");d.className=Ln("primer-subtitle"),d.textContent="activation"===i&&n?((e,t=!1)=>t?Te("primer.subtitleTrial","Next you'll see the ${app} activation screen. No charge today.",{app:e}):Te("primer.subtitle","Next you'll see the ${app} activation screen.",{app:e}))(n,!!e.trialPeriod):((e,t=!1)=>e?t?Te("holding.subtitleNamedTrial","Come back any time to claim it from ${advertiser}. No charge today.",{advertiser:e}):Te("holding.subtitleNamed","Come back any time to claim it from ${advertiser}.",{advertiser:e}):t?Te("holding.subtitleTrial","Come back any time to claim it. No charge today."):Te("holding.subtitle","Come back any time to claim it."))(t.name,!0===t.freeTrial);const h=za("activation"===i&&n?((e,t)=>t?Te("primer.ctaTrial","Activate ${app} trial",{app:e}):Te("primer.cta","Continue to ${app}",{app:e}))(n,e.trialPeriod):Te("holding.cta","Continue"),Ln("primer-cta"),()=>{u.debug("User tapped the primer CTA"),this.#Ze.emit("continue",void 0)});return r.appendChild(s),r.appendChild(a),r.appendChild(d),r.appendChild(h),this.#Jn=r,u.debug("Primer screen rendered",{variant:i}),r}on(e,t){return this.#Ze.on(e,t)}destroy(){this.#Jn&&(this.#Jn.remove(),this.#Jn=null),this.#Ze.removeAllListeners(),u.debug("Primer screen destroyed")}}const Da=e=>({...e.advertiserName&&{name:e.advertiserName},...(e.logoUrl??e.imageUrl)&&{logoUrl:e.logoUrl??e.imageUrl}}),ja=e=>({brand:Da(e),name:e.advertiserName??Te("redemption.rewardFallback","Your reward"),...e.reward&&{detail:e.reward},status:{text:Te("redemption.pending","Pending"),tone:"pending"}}),Ha=e=>{const t=document.createElement("h2");return t.className=Ln("redemption-title"),t.id=Ln("modal-title"),t.textContent=e,t},_a=e=>{const t=document.createElement("p");return t.className=Ln("redemption-subtitle"),t.textContent=e,t},Va={activation(e){const t=e.host??{},n=t.name??Te("redemption.appFallback","your app"),i=[{brand:{name:n,...t.logoUrl&&{logoUrl:t.logoUrl}},name:n,...t.detail&&{detail:t.detail},status:{text:t.status??Te("redemption.active","Active"),tone:"active"}},ja(e)];return[Pa(Da(e),{name:n,...t.logoUrl&&{logoUrl:t.logoUrl}}),Ha((r=n,o=t.trialPeriod,o?Te("redemption.titleTrial","Congratulations! Your ${trial} free trial is active.",{trial:o}):Te("redemption.titlePlan","Congratulations! Your ${app} plan is active.",{app:r}))),_a(De(n)),Fa(i)];var r,o},reward:e=>[Ha(Te("redemption.rewardTitle","Congratulations!")),_a(e.reward?Te("redemption.claimNamed","Now claim your ${reward}",{reward:e.reward}):Te("redemption.claim","Now claim your reward")),Fa([ja(e)])]};class qa{#Jn=null;#Ze;#n;constructor(e){this.#n=e,this.#Ze=new Rt}render(){const{advertiserName:e,buttonText:t}=this.#n,n=this.#n.variant??"reward",i=Object.prototype.hasOwnProperty.call(Va,n)?n:"reward",r=document.createElement("div");r.className=Ln("redemption-container");for(const e of Va[i](this.#n))r.appendChild(e);const o=(l=!0===this.#n.freeTrial,(a=e)?l?Te("redemption.noteNamedTrial","You'll be sent to ${advertiser}. No payment now, cancel anytime.",{advertiser:a}):Te("redemption.noteNamed","You'll be sent to ${advertiser}.",{advertiser:a}):l?Te("redemption.noteTrial","No payment now, cancel anytime."):void 0),s=za(t??Te("redemption.cta","Claim your reward"),Ln("redemption-cta"),()=>{u.debug("User tapped the redemption CTA"),this.#Ze.emit("continue",void 0)});var a,l;if(o){const e=document.createElement("p");e.className=Ln("redemption-note"),e.textContent=o,r.appendChild(e)}return r.appendChild(s),this.#Jn=r,u.debug("Redemption screen rendered",{variant:i}),r}on(e,t){return this.#Ze.on(e,t)}destroy(){this.#Jn&&(this.#Jn.remove(),this.#Jn=null),this.#Ze.removeAllListeners(),u.debug("Redemption screen destroyed")}}function Wa(e){return"object"==typeof e&&null!==e&&(1===e.nodeType&&"string"==typeof e.nodeName&&"function"==typeof e.setAttribute&&"function"==typeof e.cloneNode&&"function"==typeof e.querySelectorAll)}function Ga(e,t){return null==e?null:"function"==typeof e?function(e,t){try{const n=e(t);return null==n?null:Wa(n)?n:(u.warn("[Encore SDK] Appearance renderer returned a non-element — using the default"),null)}catch(e){return u.warn("[Encore SDK] Appearance renderer threw — using the default",{error:e}),null}}(e,t):Wa(e)?e:null}function Ka(e){if(null!=e&&"function"!=typeof e&&!Wa(e))return e}function Za(e,t,n){void 0!==n&&e.style.setProperty(t,n)}function Ya(e,t){Za(e,"color",bn(t.color)),Za(e,"font-family",yn(t.fontFamily)),Za(e,"font-size",vn(t.fontSize)),Za(e,"font-weight",wn(t.fontWeight)),Za(e,"letter-spacing",vn(t.letterSpacing)),Za(e,"text-align",function(e){const t=gn(e);if(void 0!==t)return null===t?mn("text-align",e):pn.has(t.toLowerCase())?t.toLowerCase():mn("text-align",e)}(t.textAlign))}function Xa(e){return"string"==typeof e?.text?E(e.text):void 0}function Qa(e,t,n,i){if(null==i)return e;const r=Ga(i,{text:t,useCase:n,defaultElement:e});if(r)return r===e?e:tl(e,r,Ln("slot-custom"))?(!e.textContent?.trim()&&t&&e.setAttribute("aria-label",t),e):e;const o=Ka(i);if(o){const t=Xa(o);t&&(e.textContent=t),Ya(e,o)}return e}function Ja(e){return Xa(Ka(e))}function el(e){const{className:t,label:n,onActivate:i,useCase:r,slot:o}=e,s=!1!==e.enabled,a=document.createElement("button");a.type="button",a.className=t,a.textContent=n;let l=n,c=!1;const d=()=>{const e=new AbortController;return s?a.addEventListener("click",i,{signal:e.signal}):(a.disabled=!0,a.setAttribute("aria-disabled","true")),{element:a,setAccessibleName:e=>il(a,e),setLabel:e=>{if(c)return;l=e;const t=Array.from(a.childNodes).find(e=>3===e.nodeType);t?t.nodeValue=e:c=!0},getLabel:()=>E(a.textContent)??l,destroy:()=>e.abort()}},h=Ga(o,{text:n,useCase:r,defaultElement:a});if(!h||h===a){h===a&&a.textContent!==n&&(l=a.textContent??n,c=!0);const e=Ka(o);if(e){const t=Xa(e);t&&(a.textContent=t,l=t,c=!0),function(e,t){Ya(e,t),Za(e,"background-color",bn(t.backgroundColor)),Za(e,"border-radius",vn(t.borderRadius));const n=bn(t.borderColor);void 0!==n&&(e.style.setProperty("border-color",n),e.style.setProperty("border-style","solid"))}(a,e)}return d()}const p=document.createElement("div");if(p.className=`${t} ${Ln("slot-host")}`,p.setAttribute("role","button"),p.tabIndex=s?0:-1,s||p.setAttribute("aria-disabled","true"),function(e){try{e.style.setProperty("pointer-events","none");const t=[e,...Array.from(e.querySelectorAll(nl))];for(const e of t)e.setAttribute("tabindex","-1")}catch(e){u.warn("[Encore SDK] Could not neutralize a custom appearance element",{error:e})}}(h),!tl(p,h))return d();p.textContent?.trim()||p.setAttribute("aria-label",n);const f=new AbortController,m=e=>{e.preventDefault(),e.stopImmediatePropagation(),i()};return s&&(p.addEventListener("click",m,{capture:!0,signal:f.signal}),p.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key&&"Spacebar"!==e.key||m(e)},{capture:!0,signal:f.signal})),{element:p,setAccessibleName:e=>il(p,e,p.textContent?.trim()?void 0:l),setLabel:e=>{p.textContent?.trim()||(l=e,p.setAttribute("aria-label",e))},getLabel:()=>E(p.textContent)??l,destroy:()=>{f.abort(),h.remove()}}}function tl(e,t,n){if(!0===t.parentElement?.classList.contains(Ln("slot-host")))return u.warn("[Encore SDK] The same element was supplied to more than one appearance slot — using the default for this one. Supply a separate element, or a renderer."),!1;const i=e.textContent;try{return e.textContent="",n&&e.classList.add(n),e.appendChild(t),!0}catch(t){return u.warn("[Encore SDK] Could not mount a custom appearance element",{error:t}),n&&e.classList.remove(n),e.textContent=i,!1}}const nl='a[href], button, input, select, textarea, iframe, [tabindex], [contenteditable="true"]';function il(e,t,n){t?e.setAttribute("aria-label",t):n?e.setAttribute("aria-label",n):e.removeAttribute("aria-label")}const rl=Ln("thankyou-title"),ol=Ne("reward",{trust:"No charges until trial ends, cancel anytime.",trustUnknown:"Terms apply. See the offer for details.",primary:"Claim gift",secondary:"No thanks",next:"Next offer",more:"Other gifts"}),sl={decline:()=>ol.secondary,next:()=>ol.next,more:()=>ol.more};class al{#ve;#oi=null;#mr=null;#gr=null;#br=null;#yr;#vr;#wr;constructor(e){this.#ve=e,this.#wr=E(e.primaryLabel)}#xr(){const e=this.#ve.secondary??"decline";return"next"!==e||this.#ve.onNext?"more"!==e||this.#ve.onMore?e:(u.warn('Reward secondary set to "Other gifts" with no onMore — rendering no button'),"none"):(u.warn('Reward secondary set to "Next offer" with no onNext — rendering no button'),"none")}render(){const e=document.createElement("div");if(e.className=Ln("reward-actions"),!1!==this.#ve.showTrust){const t=document.createElement("p");t.className=Ln("reward-trust"),this.#br=t,this.#kr(),e.appendChild(t)}const t=document.createElement("div");t.className=Ln("reward-cta-stack");const n=this.#ve.useCase??"rewardUsers",i=el({className:Ln("reward-cta-primary"),label:this.#wr??ol.primary,onActivate:()=>this.#ve.onClaim(),enabled:!1!==this.#ve.claimEnabled,useCase:n,...this.#ve.claimSlot&&{slot:this.#ve.claimSlot}});t.appendChild(i.element),this.#mr=i,this.#$r();const r=E(this.#ve.termsText);if(this.#ve.termsElement)t.appendChild(this.#ve.termsElement);else if(r){const e=document.createElement("p");e.className=Ln("reward-terms"),e.textContent=r,t.appendChild(e)}const o=this.#xr();if("none"!==o){const e=el({className:"more"===o?`${Ln("reward-cta-secondary")} ${Ln("reward-cta-link")}`:Ln("reward-cta-secondary"),label:sl[o](),onActivate:()=>"next"===o?this.#ve.onNext?.():"more"===o?this.#ve.onMore?.():this.#ve.onDecline(),useCase:n,..."decline"===o&&this.#ve.declineSlot&&{slot:this.#ve.declineSlot}});t.appendChild(e.element),this.#gr=e}return e.appendChild(t),this.#oi=e,e}setSelectedOffer(e){this.#vr=e,this.#$r()}getSecondaryElement(){return this.#gr?.element}setTrustText(e){this.#yr=E(e),this.#kr()}#kr(){const e=this.#br;e&&(e.textContent=E(this.#yr,this.#ve.trustText)??ol.trust)}setPrimaryLabel(e){const t=E(e);t&&(this.#wr=t,this.#mr?.setLabel(t),this.#$r())}#$r(){if(!this.#mr)return;const e=this.#vr?.trim(),t=this.#mr.getLabel();this.#mr.setAccessibleName(e?Te("reward.ctaFrom","${label} from ${name}",{label:t,name:e}):void 0)}destroy(){this.#mr?.destroy(),this.#gr?.destroy(),this.#oi?.remove(),this.#oi=null,this.#mr=null,this.#gr=null}}class ll{#Cr;#Ir=null;#Er=[];#v=!1;constructor(e=("undefined"==typeof document?null:document)){this.#Cr=e}get origin(){return this.#Ir}point(e){if(this.#v)return;if(this.#Ir)return;const t=function(e){if(!e)return null;let t;try{t=new URL(e)}catch{return null}return("https:"===t.protocol||"http:"===t.protocol&&qe(t.hostname))&&t.origin&&"null"!==t.origin?t.origin:null}(e);if(!t)return;const n=this.#Cr;if(n?.head)try{for(const e of["preconnect","dns-prefetch"]){const i=n.createElement("link");i.rel=e,i.href=t,n.head.appendChild(i),this.#Er.push(i)}this.#Ir=t}catch(e){u.warn("Advertiser preconnect failed",{origin:t,error:e}),this.#Sr(),this.#Ir=null}}destroy(){this.#v=!0,this.#Sr(),this.#Ir=null}#Sr(){for(const e of this.#Er.splice(0))e.remove()}}const cl=Object.freeze({giftReveal:"giftReveal",giftList:"giftList",giftUnwrap:"giftUnwrap",giftPicker:"giftPicker",giftPickerPreload:"giftPicker",codeUnlock:"codeUnlock",shareFromHeader:"shareFromHeader",shareForLater:"shareForLater"});function dl(e,t=cl){return e&&Object.prototype.hasOwnProperty.call(t,e)?t[e]??null:null}function ul(e){return"carouselControl"===e}const hl=new Set(["giftPickerPreload"]),pl=()=>Te("claim.loading","Loading your FREE offer"),fl="encore-claim-screen-styles",ml="encore-claim-",gl=`${ml}root--sheet`,bl=`\n.${ml}root{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 20px;background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;color:#0b0a0d;text-align:center}\n.${ml}root--tab{background:#fff}\n.${gl}{position:fixed;border-radius:inherit;z-index:20}\n.${ml}root:focus{outline:none}\n.${ml}col{display:flex;flex-direction:column;align-items:center;gap:10px;box-sizing:border-box;width:100%;max-width:353px;padding:30px 26px 20px;transform:translateY(-27.39px)}\n.${ml}logo{width:80px;height:80px;border-radius:16px;object-fit:cover;margin:0 4.43px 4.43px 0;box-shadow:0 4px 44px rgba(7,119,255,.35)}\n.${ml}text{display:flex;flex-direction:column;align-items:stretch;width:100%}\n.${ml}title{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding-top:16px;font-size:21px;font-weight:700;line-height:25.62px;letter-spacing:-.4px}\n.${ml}spin{width:30.78px;height:30.78px;padding:2px;box-sizing:border-box;flex:none}\n.${ml}spin span{display:block;width:100%;height:100%;border-radius:50%;box-sizing:border-box;border:3.6px solid #d4f1fc;border-top-color:#02afef;border-right-color:#02afef;border-bottom-color:#02afef;animation:${ml}spin .96s linear infinite}\n.${ml}domain{margin:8px 0 0;font-size:14.5px;line-height:19.14px}\n.${ml}rows{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}\n.${ml}row{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;line-height:25.62px;letter-spacing:-.4px}\n.${ml}row svg{flex:none}\n.${ml}close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.06);color:#3c3c43;font-size:18px;line-height:36px;cursor:pointer}\n@keyframes ${ml}spin{to{transform:rotate(360deg)}}\n@media (prefers-reduced-motion:reduce){.${ml}spin span{animation:none}}\n`;function yl(e,t,n,i){if(!e.getElementById(fl)){const t=e.createElement("style");t.id=fl,t.textContent=bl,(e.head??e.documentElement).appendChild(t)}if("tab"===n){const t=e.createElement("meta");t.name="viewport",t.content="width=device-width, initial-scale=1",(e.head??e.documentElement).appendChild(t),e.title=pl(),Ue(e.documentElement)}const r=e.createElement("div");r.className="tab"===n?`${ml}root ${ml}root--tab`:i?`${ml}root ${gl}`:`${ml}root`,r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),"inPage"===n&&Ue(r);const o=e.createElement("div");o.className=`${ml}col`,r.appendChild(o);const s=We(t.logoUrl);if(s){const t=e.createElement("img");t.className=`${ml}logo`,_t(t,s,zt,!1),t.alt="",o.appendChild(t)}const a=e.createElement("div");a.className=`${ml}text`,o.appendChild(a);const l=e.createElement("p");l.className=`${ml}title`,l.append(pl());const c=e.createElement("span");if(c.className=`${ml}spin`,c.setAttribute("aria-hidden","true"),c.appendChild(e.createElement("span")),l.appendChild(c),a.appendChild(l),t.expectedDomain){const n=e.createElement("p");n.className=`${ml}domain`,n.textContent=Te("claim.finishOn","Finish on ${domain}",{domain:t.expectedDomain}),a.appendChild(n)}const d=function(e){return(e.instructions??[]).map(e=>"string"==typeof e.title?e.title.trim():"").filter(e=>""!==e).slice(0,3)}(t);if(d.length>0){const t=e.createElement("ul");t.className=`${ml}rows`;for(const n of d){const i=e.createElement("li");i.className=`${ml}row`,i.innerHTML='<svg width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M10 1.875C8.39303 1.875 6.82214 2.35152 5.48599 3.24431C4.14984 4.1371 3.10844 5.40605 2.49348 6.8907C1.87852 8.37535 1.71761 10.009 2.03112 11.5851C2.34462 13.1612 3.11846 14.6089 4.25476 15.7452C5.39106 16.8815 6.8388 17.6554 8.41489 17.9689C9.99099 18.2824 11.6247 18.1215 13.1093 17.5065C14.594 16.8916 15.8629 15.8502 16.7557 14.514C17.6485 13.1779 18.125 11.607 18.125 10C18.1227 7.84581 17.266 5.78051 15.7427 4.25727C14.2195 2.73403 12.1542 1.87727 10 1.875ZM13.5672 8.56719L9.19219 12.9422C9.13414 13.0003 9.06521 13.0464 8.98934 13.0779C8.91346 13.1093 8.83213 13.1255 8.75 13.1255C8.66787 13.1255 8.58654 13.1093 8.51066 13.0779C8.43479 13.0464 8.36586 13.0003 8.30781 12.9422L6.43281 11.0672C6.31554 10.9499 6.24965 10.7909 6.24965 10.625C6.24965 10.4591 6.31554 10.3001 6.43281 10.1828C6.55009 10.0655 6.70915 9.99965 6.875 9.99965C7.04085 9.99965 7.19991 10.0655 7.31719 10.1828L8.75 11.6164L12.6828 7.68281C12.7409 7.62474 12.8098 7.57868 12.8857 7.54725C12.9616 7.51583 13.0429 7.49965 13.125 7.49965C13.2071 7.49965 13.2884 7.51583 13.3643 7.54725C13.4402 7.57868 13.5091 7.62474 13.5672 7.68281C13.6253 7.74088 13.6713 7.80982 13.7027 7.88569C13.7342 7.96156 13.7503 8.04288 13.7503 8.125C13.7503 8.20712 13.7342 8.28844 13.7027 8.36431C13.6713 8.44018 13.6253 8.50912 13.5672 8.56719Z" fill="#353535"/></svg>',i.append(n),t.appendChild(i)}a.appendChild(t)}return(i??e.body).appendChild(r),r}function vl(e){if(!e)return!1;try{return!("document"in e)}catch{return!1}}const wl=["t2","t1","t3"];class xl{#oi=null;#Tr=null;#Ar=null;#v=!1;#Bt=null;#Lr=null;#Nr=!1;render(e){const t=document.createElement("div");t.className=Ln("gift-hero"),t.setAttribute("aria-hidden","true");const n=document.createElement("div");n.className=e.length<=1?`${Ln("gift-box")} ${Ln("gift-box--solo")}`:Ln("gift-box"),n.appendChild(this.#Or("gift-box-shadow")),n.appendChild(this.#Or("gift-box-back")),e.slice(0,3).forEach((e,t)=>{const i=wl[t];i&&n.appendChild(this.#Mr(e,i))}),n.appendChild(this.#Or("gift-box-front")),n.appendChild(this.#Or("gift-box-lid"));const i=this.#Or("gift-box-bow");return i.innerHTML='<svg viewBox="0 0 100 36" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M50 30C30 8 8 16 22 30c8 8 21 4 28 0z" fill="#FFD166" /><path d="M50 30c20-22 42-14 28 0-8 8-21 4-28 0z" fill="#FFD166" /><circle cx="50" cy="30" r="6" fill="#F4B942" /></svg>',n.appendChild(i),t.appendChild(n),this.#oi=t,this.#Tr=n,t}updateTiles(e){if(!this.#v&&this.#Tr)try{e.slice(0,3).forEach((e,t)=>{const n=wl[t];if(!n)return;const i=this.#Tr?.querySelector(`.${Ln(`gift-tile--${n}`)}`),r=i?.querySelector(`.${Ln("gift-tile-inner")}`);r instanceof HTMLElement&&(r.textContent="",this.#Ur(r,e))})}catch(e){u.debug("Gift hero could not refresh its tiles",e)}}#Or(e){const t=document.createElement("div");return t.className=Ln(e),t}#Mr(e,t){const n=document.createElement("div");n.className=`${Ln("gift-tile")} ${Ln(`gift-tile--${t}`)}`;const i=document.createElement("div");return i.className=Ln("gift-tile-inner"),this.#Ur(i,e),n.appendChild(i),n}#Ur(e,t){const n=ua(t)??"",i=We(t.logoUrl);if(!i)return void e.appendChild(this.#Rr(n));const r=document.createElement("img");r.className=Ln("gift-tile-image"),r.alt="",r.setAttribute("aria-hidden","true"),_t(r,i,zt),r.onerror=()=>{e.contains(r)&&(r.remove(),e.appendChild(this.#Rr(n)))},e.appendChild(r)}#Rr(e){const t=document.createElement("span");return t.className=Ln("gift-tile-monogram"),t.setAttribute("aria-hidden","true"),t.textContent=(Array.from(e)[0]??"★").toUpperCase(),t}play(){if(!this.#v&&!this.#Nr){try{this.#Bt=requestAnimationFrame(()=>{this.#Bt=null,this.#Pr()})}catch(e){u.debug("Gift hero could not schedule a frame — falling back to the timer",e)}try{this.#Lr=setTimeout(()=>{this.#Lr=null,this.#Pr()},120)}catch(e){u.debug("Gift hero could not schedule its fallback — opening now",e),this.#Pr()}}}#Pr(){if(!this.#v&&!this.#Nr){this.#Nr=!0,this.#Fr();try{this.#zr()}catch(e){u.debug("Gift hero animation unavailable — rendering the box open",e)}}}#Fr(){null!==this.#Lr&&(clearTimeout(this.#Lr),this.#Lr=null)}#zr(){const e=this.#oi;if(!e)return;e.classList.add(Ln("gift-hero--play"));const t=new Jo;this.#Ar=t,t.start(e,{origin:this.#Br()})}#Br(){const e=this.#Tr,t=this.#oi,n={x:(e?.offsetLeft??0)+135,y:(e?.offsetTop??0)+130};if(!e||!t)return n;const i=e.getBoundingClientRect(),r=t.getBoundingClientRect(),o=e.offsetWidth;if(!o||!i.width)return n;const s=i.width/o;return{x:i.left-r.left+135*s,y:i.top-r.top+130*s}}destroy(){this.#v=!0,null!==this.#Bt&&(cancelAnimationFrame(this.#Bt),this.#Bt=null),this.#Fr(),this.#Ar?.destroy(),this.#Ar=null,this.#oi?.remove(),this.#oi=null,this.#Tr=null}}function kl(){try{return window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function $l(e,t){const n=document.createElement("span");n.className=Ln(t),n.setAttribute("aria-hidden","true");const i=ua(e)??"",r=We(e.logoUrl);if(!r)return n.textContent=(Array.from(i)[0]??"★").toUpperCase(),n;const o=document.createElement("img");return o.alt="",_t(o,r,zt,!1),o.onerror=()=>{o.remove(),n.textContent=(Array.from(i)[0]??"★").toUpperCase()},n.appendChild(o),n}let Cl=0;class Il{#ve;#Dr=null;#jr=null;#Hr=null;#v=!1;#_r=null;#ot=null;#Vr=null;#zr=!1;#ki;#qr=null;#Wr=null;#Gr=[];#Kr=void 0;#Zr=null;#Yr=!0;#Xr=Ln("gift-sheet-"+ ++Cl);constructor(e){this.#ve=e,this.#ki=e.impressions?new Hs(e.impressions):null}render(){const{signal:e}=this.#ve,t=document.createElement("div");t.className=Ln("gift-sheet-layer"),this.#ve.layerClass&&t.classList.add(Ln(this.#ve.layerClass));const n=document.createElement("div");n.className=Ln("gift-scrim"),n.addEventListener("click",()=>{this.#Yr&&this.close()},{signal:e}),this.#jr=n,t.appendChild(n);const i=document.createElement("div");i.className=Ln("gift-sheet"),i.setAttribute("role","group");const r=this.#ve.title??da.sheetTitle;i.setAttribute("aria-label",r),i.hidden=!0,this.#Dr=i;const o=document.createElement("div");o.className=Ln("gift-sheet-header");const s=document.createElement("button");s.type="button",s.className=Ln("gift-sheet-close"),s.setAttribute("aria-label",this.#ve.closeLabel??da.closeSheetLabel),s.textContent="×",s.addEventListener("click",()=>this.#Qr(),{signal:e}),o.appendChild(s);const a=document.createElement("h3");if(a.className=Ln("gift-sheet-title"),a.textContent=r,o.appendChild(a),i.appendChild(o),this.#ve.subtitle){const e=document.createElement("p");e.className=Ln("gift-sheet-subtitle"),e.textContent=this.#ve.subtitle,i.appendChild(e)}const l=document.createElement("div");l.className=Ln("gift-sheet-list"),l.setAttribute("role","radiogroup"),l.setAttribute("aria-label",r),this.#Hr=l,i.appendChild(l);const c=document.createElement("button");c.type="button",c.className=`${Ln("reward-cta-primary")} ${Ln("gift-sheet-cta")}`,c.textContent=da.sheetContinue,c.disabled=!0,c.setAttribute("aria-disabled","true"),c.addEventListener("click",()=>this.#Jr(),{signal:e}),i.appendChild(c);const d=this.#ve.footer();return d&&i.appendChild(d),i.addEventListener("keydown",e=>{if("Escape"===e.key)return e.preventDefault(),e.stopPropagation(),void this.#Qr();"Tab"===e.key&&(e.preventDefault(),e.stopPropagation(),this.#eo(e.shiftKey))},{signal:e}),t.appendChild(i),this.renderList(),t}#eo(e){const t=this.#Dr;if(!t)return;const n=Array.from(t.querySelectorAll(Nn)).filter(e=>null===e.closest("[hidden]")&&null===e.closest('[aria-hidden="true"]'));if(0===n.length)return;const i=n.findIndex(e=>e===document.activeElement),r=e?i<=0?n.length-1:i-1:i>=n.length-1?0:i+1;n[r]?.focus()}renderList(){this.#Hr&&(this.#Zr=null,this.#to(),this.#no())}#io(){const e=this.#ve.listed();return 0===this.#Gr.length?[...e]:e.filter(e=>Zs(this.#ve.offers[e])===this.#Kr)}#no(){const e=this.#Hr;if(!e)return;e.textContent="";const t=this.#io();for(const n of t){const t=this.#ve.offers[n];t&&e.appendChild(this.#ro(t,n))}const n=this.#Zr;null!==n&&t.includes(n)?this.#oo(n):(this.#Zr=null,this.#so()),this.#qi()}#qi(){const e=this.#ki;if(!e)return;e.clear();const t=this.#Hr;if(this.#zr&&t)for(const n of Array.from(t.children)){const t=Number(n.dataset.offerIndex),i=this.#ve.offers[t];i&&e.register(n,i.id,()=>this.#ve.onShown?.(t))}}#to(){const e=this.#Dr,t=this.#Hr;if(!e||!t)return;const{offers:n,listed:i}=this.#ve,r=!1===this.#ve.tabs?[]:function(e){const t=new Map;for(const n of e){const e=Zs(n);t.set(e,(t.get(e)??0)+1)}let n=0;for(const e of t.values())e>=2&&(n+=1);return n<2?[]:Vs.filter(e=>t.has(e))}(i().map(e=>n[e]));if(this.#Gr=r,0===r.length)return this.#qr?.remove(),this.#qr=null,void(this.#Wr&&(this.#Wr.replaceWith(t),this.#Wr=null));const o=this.#Kr;if(void 0!==o&&r.includes(o)||(this.#Kr=r[0]),!this.#Wr){const e=document.createElement("div");e.className=Ln("gift-sheet-panel"),e.id=`${this.#Xr}-panel`,e.setAttribute("role","tabpanel"),t.replaceWith(e),e.appendChild(t),this.#Wr=e}if(!this.#qr){const e=document.createElement("div");e.className=Ln("gift-sheet-tabs"),e.setAttribute("role","tablist"),e.setAttribute("aria-label",da.sheetCategoriesLabel),this.#Wr.before(e),this.#qr=e}const s=this.#qr;s.textContent="",r.forEach((e,t)=>{s.appendChild(this.#ao(e,t))}),this.#lo()}#ao(e,t){const{signal:n}=this.#ve,i=document.createElement("button");return i.type="button",i.className=Ln("gift-sheet-tab"),i.id=`${this.#Xr}-tab-${t}`,i.setAttribute("role","tab"),i.setAttribute("aria-controls",`${this.#Xr}-panel`),i.textContent=Ys(e,this.#ve.offers.find(t=>t.categoryGroupDisplayName&&t.categoryGroup===e)?.categoryGroupDisplayName),i.addEventListener("click",()=>this.#co(e),{signal:n}),i.addEventListener("keydown",e=>this.#do(e,t),{signal:n}),i}#lo(){const e=Array.from(this.#qr?.children??[]),t=this.#Kr,n=void 0===t?-1:this.#Gr.indexOf(t);e.forEach((e,t)=>{if(!(e instanceof HTMLElement))return;const i=t===n;e.setAttribute("aria-selected",String(i)),e.tabIndex=i?0:-1,i&&this.#Wr?.setAttribute("aria-labelledby",e.id)})}#co(e){this.#Gr.includes(e)&&e!==this.#Kr&&(this.#Kr=e,this.#lo(),this.#no())}#do(e,t){const n=this.#Gr.length;if(0===n)return;let i;switch(Re(e.key,e.currentTarget)){case"ArrowRight":i=(t+1)%n;break;case"ArrowLeft":i=(t-1+n)%n;break;case"Home":i=0;break;case"End":i=n-1;break;default:return}e.preventDefault(),e.stopPropagation();const r=this.#Gr[i];if(void 0===r)return;this.#co(r);const o=this.#qr?.children[i];o instanceof HTMLElement&&o.focus()}#so(){this.#ve.onPick?.(null);const e=this.#uo();e&&(e.textContent=da.sheetContinue,e.hidden=!1,e.disabled=!0,e.setAttribute("aria-disabled","true"))}#ro(e,t){const{signal:n}=this.#ve,i=document.createElement("button");if(i.type="button",i.className=Ln("gift-card"),i.setAttribute("role","radio"),i.setAttribute("aria-checked","false"),i.setAttribute("aria-label",(this.#ve.cardLabel??ga)(e)),i.dataset.offerIndex=String(t),i.tabIndex=0===this.#Hr?.childElementCount?0:-1,this.#ve.cardBody)this.#ve.cardBody(i,e);else{i.appendChild($l(e,"gift-card-icon"));const t=document.createElement("span");t.className=Ln("gift-card-label"),wa(t,pa(e).primary,Ln("gift-em")),i.appendChild(t)}return i.addEventListener("click",()=>this.#oo(t),{signal:n}),i.addEventListener("keydown",e=>this.#ho(e,i),{signal:n}),i}#ho(e,t){const n=Array.from(this.#Hr?.children??[]).filter(e=>e instanceof HTMLElement);if(0===n.length)return;const i=n.indexOf(t);let r=null;switch(Re(e.key,e.currentTarget)){case"ArrowDown":case"ArrowRight":r=(i+1)%n.length;break;case"ArrowUp":case"ArrowLeft":r=(i-1+n.length)%n.length;break;case"Home":r=0;break;case"End":r=n.length-1;break;default:return}e.preventDefault(),e.stopPropagation();const o=n[r];if(!o)return;const s=Number(o.dataset.offerIndex);Number.isInteger(s)&&this.#oo(s),o.focus()}pick(e){this.#io().includes(e)&&this.#oo(e)}#Qr(){this.#ve.onClose?this.#ve.onClose():this.close()}#oo(e){const t=this.#Hr;if(!t||!this.#Yr)return;this.#Zr=e;for(const n of Array.from(t.children)){if(!(n instanceof HTMLElement))continue;const t=n.dataset.offerIndex===String(e);n.setAttribute("aria-checked",String(t)),n.tabIndex=t?0:-1}const n=this.#ve.offers[e];this.#ve.onPick?.(n??null);const i=this.#uo();i&&n&&(i.textContent=(this.#ve.ctaLabel??ma)(n),i.hidden=!!this.#ve.ctaFor&&!this.#ve.ctaFor(n),!1!==this.#ve.claimEnabled&&(i.disabled=!1,i.removeAttribute("aria-disabled")))}#uo(){const e=this.#Dr?.querySelector(`.${Ln("gift-sheet-cta")}`);return e instanceof HTMLButtonElement?e:null}#Jr(){if(!this.#Yr)return;const e=this.#Hr?.querySelector('[aria-checked="true"]');if(!(e instanceof HTMLElement))return;const t=Number(e.dataset.offerIndex);Number.isInteger(t)&&this.#ve.onCommit(t)}open(e){const t=this.#Dr;if(!t||this.#v)return;this.#kt(),this.#_r=e??null,t.hidden=!1,t.removeAttribute("aria-hidden"),this.#jr?.classList.add(Ln("gift-scrim--open")),t.classList.add(Ln("gift-sheet--open")),this.#zr=!0,this.#qi(),this.#po(),this.#Vr=setTimeout(()=>{this.#Vr=null,this.#v||this.#ve.impressions?.recheck()},300);const n=this.#Hr,i=n?.querySelector('[aria-checked="true"]')??n?.firstElementChild;i instanceof HTMLElement&&i.focus()}setInteractive(e){this.#Yr=e;const t=this.#Dr;if(!t)return;const n=t.querySelector(`.${Ln("gift-sheet-close")}`);for(const i of Array.from(t.querySelectorAll("button")))i!==n&&(e?"true"!==i.getAttribute("aria-disabled")&&(i.disabled=!1):i.disabled=!0)}isOpen(){return this.#zr}close(){const e=this.#Dr;if(e&&!e.hidden){this.#zr=!1,this.#ki?.clear(),this.#po(),e.classList.remove(Ln("gift-sheet--open")),this.#jr?.classList.remove(Ln("gift-scrim--open")),e.setAttribute("aria-hidden","true"),this.#_r?.focus(),this.#_r=null;try{this.#ve.onClosed?.()}catch{}this.#kt(),kl()?e.hidden=!0:this.#ot=setTimeout(()=>{this.#ot=null,this.#v||(e.hidden=!0)},300)}}#kt(){null!==this.#ot&&(clearTimeout(this.#ot),this.#ot=null)}#po(){null!==this.#Vr&&(clearTimeout(this.#Vr),this.#Vr=null)}destroy(){this.#v=!0,this.#zr=!1,this.#ki?.clear(),this.#po(),this.#kt(),this.#Dr=null,this.#jr=null,this.#Hr=null,this.#qr=null,this.#Wr=null,this.#_r=null}}const El=e=>void 0!==e;class Sl{#kn;#ve;#$n=new Rt;#fo=new xl;#In=null;#mo=null;#dt=null;#v=!1;#go=new AbortController;#bo;#En=0;#wn;#Ln;#yo;constructor(e,t={}){this.#kn=e,this.#ve=t,this.#Ln=void 0===t.impressions,this.#wn=t.impressions??new js,this.#yo=new Hs(this.#wn),this.#bo=e.slice(0,3).map((e,t)=>t)}on(e,t){return this.#$n.on(e,t)}getTotalOffers(){return this.#kn.length}getCurrentIndex(){return this.#En}getSelectedOffer(){return this.#kn[this.#En]}hasMoreGifts(){return this.#kn.length>this.#bo.length}renderHero(){return this.#fo.render(this.#bo.map(e=>this.#kn[e]).filter(El))}render(){const e=document.createElement("div");e.className=Ln("gift"),this.#In=e;const t=document.createElement("div");return t.className=Ln("gift-rows"),t.setAttribute("role","radiogroup"),t.setAttribute("aria-label",da.chooseLabel),this.#mo=t,e.appendChild(t),this.#vo(!0),this.hasMoreGifts()&&e.appendChild(this.#wo()),this.#xo(),this.#fo.play(),e}#vo(e=!1){const t=this.#mo;t&&(t.textContent="",this.#yo.clear(),this.#bo.forEach((n,i)=>{const r=this.#kn[n];if(!r)return;const o=this.#ko(r,n,i,e);t.appendChild(o),this.#$o(o,n)}))}#ko(e,t,n,i=!1){const r=document.createElement("button");r.type="button",r.className=i?`${Ln("gift-row")} ${Ln("gift-row--intro")}`:Ln("gift-row"),r.setAttribute("role","radio");const o=t===this.#En;r.setAttribute("aria-checked",String(o)),r.tabIndex=o?0:-1,r.setAttribute("aria-label",ga(e)),r.dataset.offerIndex=String(t),r.appendChild($l(e,"gift-row-icon"));const s=document.createElement("span");s.className=Ln("gift-row-text");const{primary:a,secondary:l}=pa(e),c=document.createElement("span");if(c.className=Ln("gift-row-primary"),wa(c,a,Ln("gift-em")),s.appendChild(c),l){const e=document.createElement("small");e.className=Ln("gift-row-secondary"),e.textContent=l,s.appendChild(e)}r.appendChild(s);const d=document.createElement("span");return d.className=Ln("gift-row-radio"),d.setAttribute("aria-hidden","true"),r.appendChild(d),r.addEventListener("click",()=>this.selectOffer(t),{signal:this.#go.signal}),r.addEventListener("keydown",e=>this.#Co(e,n),{signal:this.#go.signal}),r}#Co(e,t){const n=this.#bo.length;if(0===n)return;let i=null;switch(Re(e.key,e.currentTarget)){case"ArrowDown":case"ArrowRight":i=(t+1)%n;break;case"ArrowUp":case"ArrowLeft":i=(t-1+n)%n;break;case"Home":i=0;break;case"End":i=n-1;break;default:return}e.preventDefault();const r=this.#bo[i];void 0!==r&&(this.selectOffer(r),this.#Io(i))}#Io(e){const t=this.#mo?.children[e];t instanceof HTMLElement&&t.focus()}selectOffer(e){!Number.isInteger(e)||e<0||e>=this.#kn.length?u.warn("Gift selection ignored — index out of range",{index:e}):e===this.#En&&this.#bo.includes(e)||(this.#bo.includes(e)||this.#Eo(e),this.#En=e,this.#So(),this.#xo())}next(){0!==this.#kn.length&&this.selectOffer((this.#En+1)%this.#kn.length)}#Eo(e){this.#bo.length<3?this.#bo.push(e):this.#bo[this.#bo.length-1]=e,this.#vo(),this.#dt?.renderList(),this.#fo.updateTiles(this.#bo.map(e=>this.#kn[e]).filter(El))}#So(){const e=this.#mo?.children;e&&this.#bo.forEach((t,n)=>{const i=e[n];if(!(i instanceof HTMLElement))return;const r=t===this.#En;i.setAttribute("aria-checked",String(r)),i.tabIndex=r?0:-1})}#xo(){const e=this.getSelectedOffer();e&&this.#$n.emit("offerSelect",{offer:e,index:this.#En})}#$o(e,t){const n=this.#kn[t];n&&this.#yo.register(e,n.id,()=>this.#To(t))}#To(e){const t=this.#kn[e];t&&this.#$n.emit("offerView",{offer:t,index:e})}claimSelected(){if(!1===this.#ve.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const e=this.getSelectedOffer();e?this.#$n.emit("offerClaim",{offer:e,index:this.#En}):u.warn("Claim requested with no selected gift — ignoring")}#wo(){const e=new Il({offers:this.#kn,listed:()=>this.#kn.map((e,t)=>t).filter(e=>!this.#bo.includes(e)),claimEnabled:!1!==this.#ve.claimEnabled,footer:()=>{const e=E(this.#ve.trustText)??ol.trustUnknown,t=document.createElement("p");return t.className=Ln("gift-sheet-fine"),t.textContent=e,t},onCommit:e=>{this.selectOffer(e),this.closeSheet(),this.claimSelected()},impressions:this.#wn,onShown:e=>this.#To(e),signal:this.#go.signal});return this.#dt=e,e.render()}openSheet(e){this.#v||this.#dt?.open(e)}closeSheet(){this.#dt?.close()}destroy(){this.#v=!0,this.#dt?.destroy(),this.#yo.clear(),this.#Ln&&this.#wn.destroy(),this.#go.abort(),this.#fo.destroy(),this.#$n.removeAllListeners(),this.#In?.remove(),this.#In=null,this.#mo=null,this.#dt=null}}const Tl=["t2","t1","t3"];class Al{#oi=null;#Ao=null;#v=!1;render(e,t={}){const n=document.createElement("div");n.className=Ln("gift-picker-hero");const i=this.#Lo(t);i&&n.appendChild(i);const r=document.createElement("div");r.className=e.length<=1?`${Ln("gift-picker-fan")} ${Ln("gift-picker-fan--solo")}`:Ln("gift-picker-fan"),r.setAttribute("aria-hidden","true");const o=document.createElement("div");return o.className=Ln("gift-picker-fan-confetti"),o.innerHTML='<svg viewBox="0 0 240 104" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="24" cy="20" r="3" fill="#F5B93D"/><circle cx="118" cy="4" r="3" fill="#F5B93D"/><circle cx="30" cy="80" r="2.5" fill="currentColor"/><circle cx="73" cy="90" r="2.5" fill="#DE446A"/><circle cx="203" cy="32" r="3" fill="#DE446A"/><circle cx="194" cy="87" r="3" fill="#86C85C"/></svg>',r.appendChild(o),e.slice(0,3).forEach((e,t)=>{const n=Tl[t];n&&r.appendChild(this.#Mr(e,n))}),n.appendChild(r),this.#oi=n,this.#Ao=r,n}updateTiles(e){if(!this.#v&&this.#Ao)try{e.slice(0,3).forEach((e,t)=>{const n=Tl[t];if(!n)return;const i=this.#Ao?.querySelector(`.${Ln(`gift-picker-tile--${n}`)} .${Ln("gift-picker-tile-inner")}`);i instanceof HTMLElement&&(i.textContent="",this.#Ur(i,e))})}catch(e){u.debug("Gift hero could not refresh its tiles",e)}}#Lo({name:e,iconUrl:t}){const n=E(e);if(!n)return;const i=document.createElement("div");i.className=Ln("gift-picker-host");const r=We(t);if(r){const e=document.createElement("img");e.className=Ln("gift-picker-host-icon"),e.alt="",_t(e,r,zt),e.onerror=()=>e.remove(),i.appendChild(e)}const o=document.createElement("span");return o.className=Ln("gift-picker-host-name"),o.textContent=n,i.appendChild(o),i}#Mr(e,t){const n=document.createElement("div");n.className=`${Ln("gift-picker-tile")} ${Ln(`gift-picker-tile--${t}`)}`;const i=document.createElement("div");return i.className=Ln("gift-picker-tile-inner"),this.#Ur(i,e),n.appendChild(i),n}#Ur(e,t){const n=ua(t)??"",i=We(t.logoUrl);if(!i)return void e.appendChild(this.#Rr(n));const r=document.createElement("img");r.className=Ln("gift-picker-tile-image"),r.alt="",_t(r,i,zt),r.onerror=()=>{e.contains(r)&&(r.remove(),e.appendChild(this.#Rr(n)))},e.appendChild(r)}#Rr(e){const t=document.createElement("span");return t.className=Ln("gift-picker-tile-monogram"),t.textContent=(Array.from(e)[0]??"★").toUpperCase(),t}destroy(){this.#v=!0,this.#oi?.remove(),this.#oi=null,this.#Ao=null}}const Ll=e=>void 0!==e;class Nl{#kn;#ve;#$n=new Rt;#fo=new Al;#In=null;#mo=null;#dt=null;#v=!1;#go=new AbortController;#bo;#En=0;#wn;#Ln;#yo;constructor(e,t={}){this.#kn=e,this.#ve=t,this.#Ln=void 0===t.impressions,this.#wn=t.impressions??new js,this.#yo=new Hs(this.#wn),this.#bo=e.slice(0,3).map((e,t)=>t)}on(e,t){return this.#$n.on(e,t)}getTotalOffers(){return this.#kn.length}getCurrentIndex(){return this.#En}getSelectedOffer(){return this.#kn[this.#En]}hasMoreGifts(){return this.#kn.length>this.#bo.length}renderHero(){return this.#fo.render(this.#bo.map(e=>this.#kn[e]).filter(Ll),{...void 0!==this.#ve.hostName&&{name:this.#ve.hostName},...void 0!==this.#ve.hostIconUrl&&{iconUrl:this.#ve.hostIconUrl}})}render(){const e=document.createElement("div");e.className=Ln("gift-picker"),this.#In=e;const t=document.createElement("div");if(t.className=Ln("gift-picker-rows"),t.setAttribute("role","radiogroup"),t.setAttribute("aria-label",da.chooseLabel),this.#mo=t,e.appendChild(t),this.#vo(),this.hasMoreGifts()){const t=document.createElement("button");t.type="button",t.className=Ln("gift-picker-more"),t.textContent=da.moreGifts,t.addEventListener("click",()=>this.openSheet(t),{signal:this.#go.signal}),e.appendChild(t),e.appendChild(this.#wo())}return this.#xo(),e}#vo(){const e=this.#mo;e&&(e.textContent="",this.#yo.clear(),this.#bo.forEach((t,n)=>{const i=this.#kn[t];if(!i)return;const r=this.#ko(i,t,n);e.appendChild(r),this.#$o(r,t)}))}#ko(e,t,n){const i=document.createElement("button");i.type="button",i.className=Ln("gift-picker-row"),i.setAttribute("role","radio");const r=t===this.#En;i.setAttribute("aria-checked",String(r)),i.tabIndex=r?0:-1,i.setAttribute("aria-label",ba(e)),i.dataset.offerIndex=String(t),i.appendChild($l(e,"gift-picker-row-icon"));const o=document.createElement("span");o.className=Ln("gift-picker-row-text");const{brand:s,perk:a}=fa(e),l=document.createElement("span");if(l.className=Ln("gift-picker-row-primary"),l.textContent=s,o.appendChild(l),a){const e=document.createElement("small");e.className=`${Ln("gift-picker-row-secondary")} ${Ln("gift-picker-row-perk")}`,e.textContent=a,o.appendChild(e)}i.appendChild(o);const c=document.createElement("span");return c.className=Ln("gift-picker-row-radio"),c.setAttribute("aria-hidden","true"),i.appendChild(c),i.addEventListener("click",()=>this.selectOffer(t),{signal:this.#go.signal}),i.addEventListener("keydown",e=>this.#Co(e,n),{signal:this.#go.signal}),i}#Co(e,t){const n=this.#bo.length;if(0===n)return;let i=null;switch(Re(e.key,e.currentTarget)){case"ArrowDown":case"ArrowRight":i=(t+1)%n;break;case"ArrowUp":case"ArrowLeft":i=(t-1+n)%n;break;case"Home":i=0;break;case"End":i=n-1;break;default:return}e.preventDefault();const r=this.#bo[i];void 0!==r&&(this.selectOffer(r),this.#Io(i))}#Io(e){const t=this.#mo?.children[e];t instanceof HTMLElement&&t.focus()}selectOffer(e){!Number.isInteger(e)||e<0||e>=this.#kn.length?u.warn("Gift selection ignored — index out of range",{index:e}):e===this.#En&&this.#bo.includes(e)||(this.#bo.includes(e)||this.#Eo(e),this.#En=e,this.#So(),this.#xo())}next(){0!==this.#kn.length&&this.selectOffer((this.#En+1)%this.#kn.length)}#Eo(e){this.#bo.length<3?this.#bo.push(e):this.#bo[this.#bo.length-1]=e,this.#vo(),this.#dt?.renderList(),this.#fo.updateTiles(this.#bo.map(e=>this.#kn[e]).filter(Ll))}#So(){const e=this.#mo?.children;e&&this.#bo.forEach((t,n)=>{const i=e[n];if(!(i instanceof HTMLElement))return;const r=t===this.#En;i.setAttribute("aria-checked",String(r)),i.tabIndex=r?0:-1})}#xo(){const e=this.getSelectedOffer();e&&this.#$n.emit("offerSelect",{offer:e,index:this.#En})}#$o(e,t){const n=this.#kn[t];n&&this.#yo.register(e,n.id,()=>this.#To(t))}#To(e){const t=this.#kn[e];t&&this.#$n.emit("offerView",{offer:t,index:e})}claimSelected(){if(!1===this.#ve.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const e=this.getSelectedOffer();e?this.#$n.emit("offerClaim",{offer:e,index:this.#En}):u.warn("Claim requested with no selected gift — ignoring")}#wo(){const e=new Il({offers:this.#kn,listed:()=>this.#kn.map((e,t)=>t).filter(e=>!this.#bo.includes(e)),claimEnabled:!1!==this.#ve.claimEnabled,footer:()=>{const e=E(this.#ve.trustText)??ol.trustUnknown,t=document.createElement("p");return t.className=Ln("gift-sheet-fine"),t.textContent=e,t},onCommit:e=>{this.selectOffer(e),this.closeSheet(),this.claimSelected()},impressions:this.#wn,onShown:e=>this.#To(e),signal:this.#go.signal});return this.#dt=e,e.render()}openSheet(e){this.#v||this.#dt?.open(e)}closeSheet(){this.#dt?.close()}destroy(){this.#v=!0,this.#dt?.destroy(),this.#yo.clear(),this.#Ln&&this.#wn.destroy(),this.#go.abort(),this.#fo.destroy(),this.#$n.removeAllListeners(),this.#In?.remove(),this.#In=null,this.#mo=null,this.#dt=null}}function Ol(e={}){const t=document.createElement("p");return t.className=Ln("gift-terms"),t.append(...Le(e.template??da.termsLine,{link:Ul(e)})),t}function Ml(e,t){const n=e.querySelector(`.${Ln("gift-terms-link")}`),i=n?.textContent??void 0,r=Ul({...void 0!==t&&{termsUrl:t},...i&&{linkText:i}});n?n.replaceWith(r):e.appendChild(r)}function Ul({onOpen:e,termsUrl:t,linkText:n}){const i=We(t);let r;if(i){const e=document.createElement("a");e.href=i,e.target="_blank",e.rel="noopener noreferrer",r=e}else if(e){const t=document.createElement("button");t.type="button",t.addEventListener("click",()=>{try{e()}catch(e){u.error("Terms line opener failed",e)}}),r=t}else r=document.createElement("span");return r.className=Ln("gift-terms-link"),r.textContent=n??da.termsLink,r}let Rl=0;const Pl=(e,t)=>!!e&&!!t&&e.toLowerCase()===t.toLowerCase();class Fl{#kn;#ve;#$n=new Rt;#go=new AbortController;#In=null;#No=null;#mo=null;#dt=null;#v=!1;#bo;#En=0;#wn;#Ln;#yo;#Oo=void 0;#Mo=null;#Uo=new Set;#Ro=new Set;constructor(e,t={}){this.#kn=e,this.#ve=t,this.#Ln=void 0===t.impressions,this.#wn=t.impressions??new js,this.#yo=new Hs(this.#wn),this.#bo=e.slice(0,3).map((e,t)=>t)}on(e,t){return this.#$n.on(e,t)}getTotalOffers(){return this.#kn.length}getCurrentIndex(){return this.#En}getSelectedOffer(){return this.#kn[this.#En]}hasMoreGifts(){return this.#kn.length>this.#bo.length}renderHero(){try{const e=We(this.#ve.hostIconUrl);if(!e)return;const t=document.createElement("div");t.className=Ln("gift-list-presents");const n=document.createElement("img");n.className=Ln("gift-list-presents-icon"),n.alt=E(this.#ve.hostName)??"",_t(n,e,zt),n.onerror=()=>t.remove();const i=da.presents,r=i.includes("${logo}")?i:`\${logo} ${i}`;return t.append(...Le(r,{logo:n},void 0,e=>{const t=document.createElement("span");return t.textContent=e.trim(),t}).filter(e=>e===n||""!==e.textContent)),t}catch(e){return void u.error("Gift list presents row failed to render",e)}}render(){const e=document.createElement("div");e.className=Ln("gift-list"),this.#In=e;const t=document.createElement("div");t.className=Ln("gift-list-art"),t.setAttribute("aria-hidden","true"),t.hidden=!0,this.#No=t,e.appendChild(t);const n=document.createElement("div");if(n.className=Ln("gift-list-rows"),n.setAttribute("role","radiogroup"),n.setAttribute("aria-label",da.chooseLabel),this.#mo=n,e.appendChild(n),this.#vo(!0),this.#Po(!0),this.hasMoreGifts()){const t=document.createElement("button");t.type="button",t.className=Ln("gift-list-more"),t.textContent=da.showMore,t.addEventListener("click",()=>this.openSheet(t),{signal:this.#go.signal}),e.appendChild(t),e.appendChild(this.#wo())}return this.#xo(),e}#vo(e=!1){const t=this.#mo;t&&(t.textContent="",this.#yo.clear(),this.#bo.forEach((n,i)=>{const r=this.#kn[n];if(!r)return;const o=this.#ko(r,n,i,e);t.appendChild(o),this.#$o(o,n)}))}#ko(e,t,n,i){const r=document.createElement("button");r.type="button",r.className=i?`${Ln("gift-list-row")} ${Ln("gift-list-row--intro")}`:Ln("gift-list-row"),r.setAttribute("role","radio");const o=t===this.#En;r.setAttribute("aria-checked",String(o)),r.tabIndex=o?0:-1,r.setAttribute("aria-label",ba(e)),r.dataset.offerIndex=String(t),r.appendChild($l(e,"gift-list-logo"));const{brand:s,perk:a}=fa(e),l=document.createElement("span");l.className=Ln("gift-list-text");const c=document.createElement("span");if(c.className=Ln("gift-list-name"),c.textContent=s,l.appendChild(c),a){const e=document.createElement("span");e.className=Ln("gift-list-perk"),$a(e,a,Ln("gift-list-em")),l.appendChild(e)}r.appendChild(l);const d=document.createElement("span");d.className=Ln("gift-list-radio"),d.setAttribute("aria-hidden","true"),d.innerHTML='<svg viewBox="0 0 20 20" width="20" height="20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="19" height="19" rx="9.5" stroke="currentColor"/><circle cx="10" cy="10" r="6.4209" fill="currentColor"/></svg>',r.appendChild(d);const u=E(e.description);if(u&&!Pl(u,a)&&!Pl(u,s)){const e=document.createElement("span");e.className=Ln("gift-list-desc"),Rl+=1,e.id=Ln(`gift-list-desc-${Rl}`),e.textContent=u,e.hidden=!o,r.appendChild(e),o&&r.setAttribute("aria-describedby",e.id)}return r.addEventListener("click",()=>this.selectOffer(t),{signal:this.#go.signal}),r.addEventListener("keydown",e=>this.#Co(e,n),{signal:this.#go.signal}),r}#Co(e,t){const n=this.#bo.length;if(0===n)return;let i=null;switch(Re(e.key,e.currentTarget)){case"ArrowDown":case"ArrowRight":i=(t+1)%n;break;case"ArrowUp":case"ArrowLeft":i=(t-1+n)%n;break;case"Home":i=0;break;case"End":i=n-1;break;default:return}e.preventDefault();const r=this.#bo[i];if(void 0===r)return;this.selectOffer(r);const o=this.#mo?.children[i];o instanceof HTMLElement&&o.focus()}selectOffer(e){this.#v||(!Number.isInteger(e)||e<0||e>=this.#kn.length?u.warn("Gift selection ignored — index out of range",{index:e}):e===this.#En&&this.#bo.includes(e)||(this.#bo.includes(e)||this.#Eo(e),this.#En=e,this.#So(),this.#Po(!1),this.#xo()))}next(){0!==this.#kn.length&&this.selectOffer((this.#En+1)%this.#kn.length)}#Eo(e){this.#bo.length<3?this.#bo.push(e):this.#bo[this.#bo.length-1]=e,this.#vo(),this.#dt?.renderList()}#So(){const e=this.#mo?.children;e&&this.#bo.forEach((t,n)=>{const i=e[n];if(!(i instanceof HTMLElement))return;const r=t===this.#En;i.setAttribute("aria-checked",String(r)),i.tabIndex=r?0:-1;const o=i.querySelector(`.${Ln("gift-list-desc")}`);o&&(o.hidden=!r,r?i.setAttribute("aria-describedby",o.id):i.removeAttribute("aria-describedby"))})}#xo(){const e=this.getSelectedOffer();e&&this.#$n.emit("offerSelect",{offer:e,index:this.#En})}#$o(e,t){const n=this.#kn[t];n&&this.#yo.register(e,n.id,()=>this.#To(t))}#To(e){const t=this.#kn[e];t&&this.#$n.emit("offerView",{offer:t,index:e})}claimSelected(){if(!1===this.#ve.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const e=this.getSelectedOffer();e?this.#$n.emit("offerClaim",{offer:e,index:this.#En}):u.warn("Claim requested with no selected gift — ignoring")}#Fo(e){if(!e)return null;for(const t of[e.heroImageUrl,e.imageUrl]){const e=We(t);if(e&&!this.#Uo.has(e))return{kind:"image",src:e}}const t=We(e.logoUrl);return t&&!this.#Uo.has(t)?{kind:"logo",src:t}:null}#Po(e){const t=this.#No;if(t)try{const n=this.#Fo(this.getSelectedOffer()),i=n?`${n.kind}:${n.src}`:null;if(i===this.#Oo)return;if(this.#Oo=i,this.#zo(t),!n)return void(t.querySelector(`.${Ln("gift-list-art-layer--out")}`)||(t.hidden=!0));t.hidden=!1;const r=document.createElement("span");r.className=`${Ln("gift-list-art-layer")} ${Ln(e?"gift-list-art-layer--intro":"gift-list-art-layer--in")}`;const o=document.createElement("img");if(o.alt="",_t(o,n.src,"image"===n.kind?252:zt),o.onerror=()=>{this.#Uo.add(n.src),this.#Oo===i&&(this.#Oo=void 0,this.#Po(!1))},"image"===n.kind)o.className=Ln("gift-list-art-image"),r.appendChild(o);else{const e=document.createElement("span");e.className=Ln("gift-list-art-logo"),e.appendChild(o),r.appendChild(e)}t.appendChild(r)}catch(e){u.error("Gift list artwork failed to render",e)}}#zo(e){const t=Array.from(e.children).filter(e=>e instanceof HTMLElement&&!e.classList.contains(Ln("gift-list-art-layer--out")));if(0!==t.length)if(kl())for(const e of t)e.remove();else for(const n of t){n.classList.remove(Ln("gift-list-art-layer--intro"),Ln("gift-list-art-layer--in")),n.classList.add(Ln("gift-list-art-layer--out"));const t=setTimeout(()=>{this.#Ro.delete(t),n.remove(),null===this.#Oo&&0===e.childElementCount&&(e.hidden=!0)},200);this.#Ro.add(t)}}#wo(){const e=new Il({offers:this.#kn,listed:()=>this.#kn.map((e,t)=>t).filter(e=>!this.#bo.includes(e)),claimEnabled:!1!==this.#ve.claimEnabled,footer:()=>(this.#Mo=Ol(),this.#Mo),onPick:e=>{this.#Mo&&Ml(this.#Mo,e?.termsUrl)},onCommit:e=>{this.selectOffer(e),this.closeSheet(),this.claimSelected()},impressions:this.#wn,onShown:e=>this.#To(e),signal:this.#go.signal});return this.#dt=e,e.render()}openSheet(e){this.#v||this.#dt?.open(e)}closeSheet(){this.#dt?.close()}destroy(){this.#v=!0,this.#dt?.destroy(),this.#yo.clear(),this.#Ln&&this.#wn.destroy(),this.#go.abort();for(const e of this.#Ro)clearTimeout(e);this.#Ro.clear(),this.#$n.removeAllListeners(),this.#In?.remove(),this.#In=null,this.#No=null,this.#mo=null,this.#dt=null}}const zl=Ne("unwrap",{sheetTitle:"More gifts",closeSheetLabel:"Close more gifts",continue:"Continue",back:"Back",readyTitle:"Your gift is ready"}),Bl=Ne("share",{panelTitle:"Keep your gift for later",panelSubtitle:"Choose any offer below.\nShare the link to pick it later.",panelCloseLabel:"Close",copied:"Link copied",unavailable:"Couldn’t share the link"});function Dl(e){const t=e?ua(e):void 0;return t?Te("share.named","Share ${name}",{name:t}):Te("share.gift","Share this gift")}let jl=0;function Hl(){return jl+=1,`encore-unwrap-art-${jl}`}const _l='<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" overflow="visible" ';function Vl(){const e=Hl();return`${_l}viewBox="0 0 200 200"><defs><linearGradient id="${e}-l" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#F8DFA8"/><stop offset="1" stop-color="#F6B96A"/></linearGradient><linearGradient id="${e}-r" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#FAEBC0"/><stop offset="1" stop-color="#F7C882"/></linearGradient><linearGradient id="${e}-t" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#FCF3D6"/><stop offset="1" stop-color="#F6DB99"/></linearGradient><linearGradient id="${e}-b" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#F7A21A"/><stop offset="1" stop-color="#F08400"/></linearGradient></defs><g stroke-linejoin="round" stroke-width="3"><ellipse cx="100" cy="182" rx="62" ry="9" fill="#000" fill-opacity="0.06" stroke="none"/><path d="M32 90L100 116V176L32 150Z" fill="url(#${e}-l)" stroke="#F4BD72"/><path d="M100 116L168 90V150L100 176Z" fill="url(#${e}-r)" stroke="#F6C880"/><path d="M57 99.5L71 104.9V164.9L57 159.5Z" fill="url(#${e}-b)" stroke="none"/><path d="M129 104.9L143 99.5V159.5L129 164.9Z" fill="url(#${e}-b)" stroke="none"/><path d="M26 70L100 98V118L26 90Z" fill="#F6D08F" stroke="#F4C47E"/><path d="M100 98L174 70V90L100 118Z" fill="#F9DFA6" stroke="#F6D08F"/><path d="M57 81.7L71 87V107L57 101.7Z" fill="#F28A00" stroke="none"/><path d="M129 87L143 81.7V101.7L129 107Z" fill="#F59400" stroke="none"/><path d="M26 70L100 42L174 70L100 98Z" fill="url(#${e}-t)" stroke="#F8E3B0"/><path d="M57 81.7L71 87L145 59L131 53.7Z" fill="#F79A0C" stroke="none"/><path d="M143 81.7L129 87L55 59L69 53.7Z" fill="#F9A41E" stroke="none"/></g><path d="M100 64C86 42 56 22 46 38C38 52 62 70 100 64Z" fill="#F58A00"/><path d="M96 61C82 46 62 34 56 42C52 50 70 62 96 61Z" fill="#E25A00"/><path d="M100 64C114 42 144 22 154 38C162 52 138 70 100 64Z" fill="#F79200"/><path d="M104 61C118 46 138 34 144 42C148 50 130 62 104 61Z" fill="#E86400"/><rect x="90" y="53" width="20" height="17" rx="6" fill="#F8980C"/></svg>`}const ql=`${_l}width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M10 1.875C8.39303 1.875 6.82214 2.35152 5.48599 3.24431C4.14984 4.1371 3.10844 5.40605 2.49348 6.8907C1.87852 8.37535 1.71761 10.009 2.03112 11.5851C2.34462 13.1612 3.11846 14.6089 4.25476 15.7452C5.39106 16.8815 6.8388 17.6554 8.41489 17.9689C9.99099 18.2824 11.6247 18.1215 13.1093 17.5065C14.594 16.8916 15.8629 15.8502 16.7557 14.514C17.6485 13.1779 18.125 11.607 18.125 10C18.1227 7.84581 17.266 5.78051 15.7427 4.25727C14.2195 2.73403 12.1542 1.87727 10 1.875ZM13.5672 8.56719L9.19219 12.9422C9.13414 13.0003 9.06521 13.0464 8.98934 13.0779C8.91346 13.1093 8.83213 13.1255 8.75 13.1255C8.66787 13.1255 8.58654 13.1093 8.51066 13.0779C8.43479 13.0464 8.36586 13.0003 8.30781 12.9422L6.43281 11.0672C6.31554 10.9499 6.24965 10.7909 6.24965 10.625C6.24965 10.4591 6.31554 10.3001 6.43281 10.1828C6.55009 10.0655 6.70915 9.99965 6.875 9.99965C7.04085 9.99965 7.19991 10.0655 7.31719 10.1828L8.75 11.6164L12.6828 7.68281C12.7409 7.62474 12.8098 7.57868 12.8857 7.54725C12.9616 7.51583 13.0429 7.49965 13.125 7.49965C13.2071 7.49965 13.2884 7.51583 13.3643 7.54725C13.4402 7.57868 13.5091 7.62474 13.5672 7.68281C13.6253 7.74088 13.6713 7.80982 13.7027 7.88569C13.7342 7.96156 13.7503 8.04288 13.7503 8.125C13.7503 8.20712 13.7342 8.28844 13.7027 8.36431C13.6713 8.44018 13.6253 8.50912 13.5672 8.56719Z" fill="#17171A"/></svg>`,Wl=`${_l}width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="0.5" y="0.5" width="19" height="19" rx="9.5" stroke="#FF8800"/><circle cx="10" cy="10" r="6.4209" fill="#FF8800"/></svg>`,Gl=`${_l}width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M13.1625 15.5876C13.3386 15.7637 13.4375 16.0026 13.4375 16.2516C13.4375 16.5007 13.3386 16.7396 13.1625 16.9157C12.9863 17.0918 12.7475 17.1908 12.4984 17.1908C12.2493 17.1908 12.0105 17.0918 11.8343 16.9157L5.58433 10.6657C5.49693 10.5786 5.42759 10.4751 5.38027 10.3611C5.33295 10.2472 5.30859 10.125 5.30859 10.0016C5.30859 9.87824 5.33295 9.75606 5.38027 9.64211C5.42759 9.52815 5.49693 9.42466 5.58433 9.33756L11.8343 3.08756C12.0105 2.91144 12.2493 2.8125 12.4984 2.8125C12.7475 2.8125 12.9863 2.91144 13.1625 3.08756C13.3386 3.26368 13.4375 3.50255 13.4375 3.75163C13.4375 4.0007 13.3386 4.23957 13.1625 4.41569L7.5773 10.0008L13.1625 15.5876Z" fill="currentColor"/></svg>`,Kl=`${_l}width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M13.5 4.75 20.75 11.5 13.5 18.25v-3.9c-4.6 0-7.7 1.3-10.25 4.4.75-5.35 3.9-8.85 10.25-9.7V4.75Z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/></svg>`,Zl=Ln("unwrap-ready-title");class Yl{#kn;#ve;#$n=new Rt;#go=new AbortController;#In=null;#Bo=null;#Do=null;#fo=null;#jo=null;#mo=null;#dt=null;#Ho=null;#_o=null;#Vo=null;#qo=null;#Wo=null;#Go=null;#Ko=null;#Zo=null;#Yo=null;#Xo=null;#Qo=null;#bo;#En=0;#wn;#Ln;#yo;#Jo="pick";#es=null;#ts=null;#Ar=null;#ns=null;#is=null;#rs=!1;#v=!1;constructor(e,t={}){this.#kn=e,this.#ve=t,this.#Ln=void 0===t.impressions,this.#wn=t.impressions??new js,this.#yo=new Hs(this.#wn),this.#bo=e.slice(0,3).map((e,t)=>t)}on(e,t){return this.#$n.on(e,t)}onShareEvent(e,t){return this.#$n.on(e,t)}getTotalOffers(){return this.#kn.length}getCurrentIndex(){return this.#En}getSelectedOffer(){return this.#kn[this.#En]}hasMoreGifts(){return this.#kn.length>this.#bo.length}getScreen(){return this.#Jo}renderHero(){const e=document.createElement("div");e.className=Ln("unwrap-hero"),e.setAttribute("aria-hidden","true");const t=document.createElement("div");return t.className=Ln("unwrap-hero-box"),t.innerHTML=Vl(),e.appendChild(t),this.#fo=e,e}render(){const e=document.createElement("div");e.className=Ln("unwrap-body"),this.#jo=e;const t=document.createElement("div");if(t.className=Ln("unwrap-rows"),t.setAttribute("role","radiogroup"),t.setAttribute("aria-label",da.chooseLabel),this.#mo=t,e.appendChild(t),this.#vo(),this.hasMoreGifts()){const t=document.createElement("button");t.type="button",t.className=Ln("unwrap-more"),t.textContent=da.showMore,t.addEventListener("click",()=>this.openSheet(t),{signal:this.#go.signal}),e.appendChild(t),e.appendChild(this.#wo())}return this.#xo(),e}compose(e,t={}){this.#es=t.setLabelledBy??null,this.#Qo=t.onScreenChange??null;const n=document.createElement("div");n.className=Ln("unwrap"),this.#In=n;const i=document.createElement("div");i.className=`${Ln("unwrap-screen")} ${Ln("unwrap-screen--pick")}`,i.appendChild(e),this.#Bo=i,n.appendChild(i),n.appendChild(this.#os());const r=this.#ve.share;if("header"===r&&(n.prepend(this.#ss()),this.#as()),"forLater"===r&&n.appendChild(this.#ls()),r){const e=document.createElement("div");e.className=Ln("unwrap-notice"),e.setAttribute("role","status"),this.#Yo=e,n.appendChild(e)}return this.#cs(),n}#ss(){const e=document.createElement("button");return e.type="button",e.className=Ln("unwrap-share"),e.setAttribute("aria-label",Dl(this.getSelectedOffer())),e.innerHTML=Kl,e.addEventListener("click",()=>this.#ds(),{signal:this.#go.signal}),this.#Ko=e,e}#as(){const e=this.#Ko;e&&(e.hidden="ready"===this.#Jo||!Ql(this.getSelectedOffer()))}#ds(){const e=this.getSelectedOffer();e&&this.#$n.emit("offerShare",{offer:e,index:this.#En})}#ls(){const e=new Il({offers:this.#kn,listed:()=>this.#us(),footer:()=>null,onCommit:e=>{this.selectOffer(e),this.#ds()},signal:this.#go.signal,title:Bl.panelTitle,subtitle:Bl.panelSubtitle,closeLabel:Bl.panelCloseLabel,onClose:()=>this.#$n.emit("closeRequest",void 0),layerClass:"keep-panel",cardBody:Jl,cardLabel:ba,ctaLabel:Dl,ctaFor:Ql,tabs:!1,onClosed:()=>this.#hs()});return this.#Zo=e,e.render()}openKeepForLater(e){const t=this.#Zo;return!(!t||this.#v||"pick"!==this.#Jo||!this.#In?.isConnected||!this.#us().some(e=>Ql(this.#kn[e]))||(this.closeSheet(),t.renderList(),t.pick(this.#En),t.open(e),0))}isKeepForLaterOpen(){return this.#Zo?.isOpen()??!1}lockKeepForLater(){this.#Zo?.setInteractive(!1)}#us(){const e=this.#kn.slice(0,5).map((e,t)=>t),t=this.#En;return e.length>0&&!e.includes(t)&&(e[e.length-1]=t),e}showShareNotice(e){const t=this.#Yo;t&&!this.#v&&(t.textContent=e,t.classList.add(Ln("unwrap-notice--visible")),null!==this.#Xo&&clearTimeout(this.#Xo),this.#Xo=setTimeout(()=>{this.#Xo=null,t.classList.remove(Ln("unwrap-notice--visible")),t.textContent=""},1500))}#vo(){const e=this.#mo;e&&(e.textContent="",this.#yo.clear(),this.#bo.forEach((t,n)=>{const i=this.#kn[t];if(!i)return;const r=t===this.#En,o=document.createElement("button");o.type="button",o.className=Ln("unwrap-row"),o.setAttribute("role","radio"),o.setAttribute("aria-checked",String(r)),o.tabIndex=r?0:-1,o.setAttribute("aria-label",ba(i)),o.dataset.offerIndex=String(t),Xl(o,i),o.addEventListener("click",()=>this.selectOffer(t),{signal:this.#go.signal}),o.addEventListener("keydown",e=>this.#Co(e,n),{signal:this.#go.signal}),e.appendChild(o)}),this.#hs())}#hs(){if(this.#yo.clear(),this.#Zo?.isOpen())return;const e=this.#mo?.children;e&&this.#bo.forEach((t,n)=>{const i=e[n];i instanceof HTMLElement&&this.#$o(i,t)})}#Co(e,t){const n=function(e,t,n){if(0===n||t<0)return null;switch(e){case"ArrowDown":case"ArrowRight":return(t+1)%n;case"ArrowUp":case"ArrowLeft":return(t-1+n)%n;case"Home":return 0;case"End":return n-1;default:return null}}(Re(e.key,e.currentTarget),t,this.#bo.length);if(null===n)return;e.preventDefault();const i=this.#bo[n];if(void 0===i)return;this.selectOffer(i);const r=this.#mo?.children[n];r instanceof HTMLElement&&r.focus()}selectOffer(e){!Number.isInteger(e)||e<0||e>=this.#kn.length?u.warn("Gift selection ignored — index out of range",{index:e}):e===this.#En&&this.#bo.includes(e)||(this.#bo.includes(e)||this.#Eo(e),this.#En=e,this.#So(),this.#xo())}next(){0!==this.#kn.length&&this.selectOffer((this.#En+1)%this.#kn.length)}#Eo(e){this.#bo.length<3?this.#bo.push(e):this.#bo[this.#bo.length-1]=e,this.#vo(),this.#dt?.renderList()}#So(){const e=this.#mo?.children;e&&this.#bo.forEach((t,n)=>{const i=e[n];if(!(i instanceof HTMLElement))return;const r=t===this.#En;i.setAttribute("aria-checked",String(r)),i.tabIndex=r?0:-1})}#xo(){const e=this.getSelectedOffer();this.#Ko?.setAttribute("aria-label",Dl(e)),this.#as(),e&&this.#$n.emit("offerSelect",{offer:e,index:this.#En})}#$o(e,t){const n=this.#kn[t];n&&this.#yo.register(e,n.id,()=>this.#To(t))}#To(e){const t=this.#kn[e];t&&this.#$n.emit("offerView",{offer:t,index:e})}claimSelected(){if(!1===this.#ve.claimEnabled)return void u.warn("Claim requested while claiming is disabled — ignoring");const e=this.getSelectedOffer();e?this.#$n.emit("offerClaim",{offer:e,index:this.#En}):u.warn("Claim requested with no selected gift — ignoring")}showReady(){if(this.#v)return;const e=this.getSelectedOffer(),t=this.#Do,n=this.#Bo;if(!e||!t||!n)return void(t||u.warn("Gift unwrap has no ready screen — compose() was not called"));const i=document.activeElement;this.#ts=i instanceof HTMLElement&&n.contains(i)?i:null,this.closeSheet();try{this.#ps(e)}catch(e){u.debug("Gift unwrap could not fill the ready screen",e)}n.hidden=!0,t.hidden=!1,t.scrollTop=0,this.#Jo="ready",this.#fs(),this.#ms(),this.#gs(Zl),this.#Vo?.focus({preventScroll:!0})}showPick(){if(this.#v)return;const e=this.#Do,t=this.#Bo;if(!e||!t)return;e.hidden=!0,t.hidden=!1,this.#Jo="pick",this.#fs(),this.#Ho?.classList.remove(Ln("unwrap-reveal--play")),this.#gs(rl);const n=this.#ts;this.#ts=null;const i=n?.isConnected&&!n.closest('[aria-hidden="true"]')?n:this.#mo?.querySelector('[aria-checked="true"]');i?.focus({preventScroll:!0})}#fs(){this.#as();try{this.#Qo?.(this.#Jo)}catch(e){u.debug("Gift unwrap screen listener failed",e)}}#gs(e){try{this.#es?.(e)}catch(e){u.debug("Gift unwrap could not relabel the dialog",e)}}#ms(){const e=this.#Ho;if(!e)return;const t=Ln("unwrap-reveal--play");e.classList.remove(t),e.classList.add(t)}#os(){const e=this.#go.signal,t=document.createElement("div");t.className=`${Ln("unwrap-screen")} ${Ln("unwrap-screen--ready")}`,t.hidden=!0,this.#Do=t;const n=document.createElement("button");n.type="button",n.className=Ln("unwrap-back");const i=document.createElement("span");i.className=Ln("unwrap-back-icon"),i.setAttribute("aria-hidden","true"),i.innerHTML=Gl,n.appendChild(i),n.appendChild(document.createTextNode(zl.back)),n.addEventListener("click",()=>this.showPick(),{signal:e}),t.appendChild(n);const r=document.createElement("div");r.className=Ln("unwrap-stage-frame"),r.setAttribute("aria-hidden","true");const o=document.createElement("div");o.className=Ln("unwrap-reveal"),this.#Ho=o,o.appendChild(ec("unwrap-glow",function(){const e=Hl();return`${_l}width="437" height="303.092" viewBox="0 0 437 303.092" fill="none"><g filter="url(#${e})"><ellipse cx="218.5" cy="151.546" rx="104.5" ry="37.5459" fill="#016CEC"/></g><defs><filter id="${e}" x="0" y="0" width="437" height="303.092" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="57" result="effect1_foregroundBlur"/></filter></defs></svg>`}())),o.appendChild(ec("unwrap-closed",Vl()));const s=document.createElement("div");s.className=Ln("unwrap-open"),s.appendChild(ec("unwrap-open-layer",function(){const e=Hl();return`${_l}viewBox="0 0 200 200"><defs><linearGradient id="${e}-in" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#C95A22"/><stop offset="1" stop-color="#EE9A4E"/></linearGradient><linearGradient id="${e}-t" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#FFD7A2"/><stop offset="1" stop-color="#FFB870"/></linearGradient></defs><ellipse cx="100" cy="190" rx="60" ry="8" fill="#000" fill-opacity="0.06"/><path d="M38 104L100 82L162 104L100 126Z" fill="url(#${e}-in)" stroke="#FFD9A0" stroke-width="3" stroke-linejoin="round"/><g transform="translate(36 12) rotate(-9 62 30)" stroke-linejoin="round"><path d="M0 20L62 42V60L0 38Z" fill="#FFB266" stroke="#FFAA5C" stroke-width="2"/><path d="M62 42L124 20V38L62 60Z" fill="#FFC27E" stroke="#FFB870" stroke-width="2"/><path d="M22 27.8L34 32V50L22 45.8Z" fill="#FF8C00"/><path d="M90 32L102 27.8V45.8L90 50Z" fill="#FF9500"/><path d="M0 20L62 0L124 20L62 42Z" fill="url(#${e}-t)" stroke="#FFD29A" stroke-width="2"/><path d="M22 27.8L34 32L96 11.3L84 7Z" fill="#FF9A10"/><path d="M102 27.8L90 32L28 11.3L40 7Z" fill="#FFA21E"/><path d="M62 14C50 -4 26 -18 18 -6C12 6 32 20 62 14Z" fill="#FE8C00"/><path d="M59 12C48 0 32 -8 27 -2C24 4 38 13 59 12Z" fill="#E15100"/><path d="M62 14C74 -4 98 -18 106 -6C112 6 92 20 62 14Z" fill="#FF9300"/><path d="M65 12C76 0 92 -8 97 -2C100 4 86 13 65 12Z" fill="#E45C00"/><rect x="54" y="5" width="16" height="14" rx="5" fill="#FF9A10"/></g></svg>`}()));const a=document.createElement("div");a.className=Ln("unwrap-logo"),this.#_o=a,s.appendChild(a),s.appendChild(ec("unwrap-open-layer",function(){const e=Hl();return`${_l}viewBox="0 0 200 200"><defs><linearGradient id="${e}-l" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#FFE3B2"/><stop offset="1" stop-color="#FFC585"/></linearGradient><linearGradient id="${e}-r" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#FFCE92"/><stop offset="1" stop-color="#FFAE68"/></linearGradient></defs><g stroke-linejoin="round"><path d="M38 104L100 126V184L38 162Z" fill="url(#${e}-l)" stroke="#FFD49C" stroke-width="3"/><path d="M100 126L162 104V162L100 184Z" fill="url(#${e}-r)" stroke="#FFC080" stroke-width="3"/><path d="M61 112.2L77 117.8V175.8L61 170.2Z" fill="#FF9900"/><path d="M123 117.8L139 112.2V170.2L123 175.8Z" fill="#FF8C00"/><path d="M38 104L100 126L162 104" fill="none" stroke="#FFEACB" stroke-width="2.5" stroke-linecap="round"/></g></svg>`}())),o.appendChild(s),r.appendChild(o),t.appendChild(r);const l=document.createElement("h2");l.className=Ln("unwrap-ready-title"),l.id=Zl,l.tabIndex=-1,l.textContent=zl.readyTitle,this.#Vo=l,t.appendChild(l);const c=document.createElement("p");c.className=Ln("unwrap-ready-subline"),this.#Go=c,t.appendChild(c);const d=document.createElement("ul");d.className=Ln("unwrap-bullets"),this.#qo=d,t.appendChild(d);const u=document.createElement("div");u.className=Ln("unwrap-actions");const h=el({className:Ln("unwrap-cta"),label:zl.continue,onActivate:()=>this.claimSelected(),enabled:!1!==this.#ve.claimEnabled,useCase:"rewardUsers",...this.#ve.claimSlot&&{slot:this.#ve.claimSlot}});return this.#Wo=h,u.appendChild(h.element),t.appendChild(u),t}#ps(e){const t=this.#_o;t&&(t.textContent="",t.appendChild($l(e,"unwrap-logo-inner")));const n=this.#qo;if(n){n.textContent="";for(const t of function(e){const t=[],n=ha(e);n&&t.push(n);const i=ua(e);return Na(e)?(t.push(i?Te("unwrap.cardAskHost","${host} will ask for a card",{host:i}):Te("unwrap.cardAsk","You’ll be asked for a card")),t.push(i?Te("unwrap.trialHost","Cancel anytime, nothing is charged before the ${host} trial ends",{host:i}):Te("unwrap.trial","Cancel anytime, nothing is charged before the trial ends"))):t.push(i?Te("unwrap.finishOnHost","You’ll finish claiming on ${host}",{host:i}):Te("unwrap.finishNext","You’ll finish claiming on the next screen")),t}(e)){const e=document.createElement("li");e.className=Ln("unwrap-bullet");const i=document.createElement("span");i.className=Ln("unwrap-bullet-icon"),i.setAttribute("aria-hidden","true"),i.innerHTML=ql,e.appendChild(i);const r=document.createElement("span");r.textContent=t,e.appendChild(r),n.appendChild(e)}}this.#Go&&(this.#Go.textContent=function(e){const t=ua(e);return t?Te("unwrap.readySublineHost","Now we’ll take you to ${host}, where you can claim your offer.",{host:t}):Te("unwrap.readySubline","Next, you’ll finish claiming your offer.")}(e)),this.#Wo?.setLabel(function(e){const t=ua(e);return t?Te("unwrap.continueTo","Continue to ${host}",{host:t}):zl.continue}(e))}#wo(){const e=new Il({offers:this.#kn,listed:()=>this.#kn.map((e,t)=>t).filter(e=>!this.#bo.includes(e)),claimEnabled:!1!==this.#ve.claimEnabled,footer:()=>null,onCommit:e=>{this.selectOffer(e),this.showReady()},impressions:this.#wn,onShown:e=>this.#To(e),signal:this.#go.signal,title:zl.sheetTitle,closeLabel:zl.closeSheetLabel,cardBody:(e,t)=>Xl(e,t),cardLabel:ba,ctaLabel:()=>zl.continue});return this.#dt=e,e.render()}openSheet(e){this.#v||this.#dt?.open(e)}closeSheet(){this.#dt?.close()}#cs(){const e=()=>{if(this.#v||this.#rs)return;this.#rs=!0,this.#bs();const e=this.#Bo;if(e)try{const t=new Jo;this.#Ar=t,t.start(e)}catch(e){u.debug("Gift unwrap confetti unavailable",e)}};try{this.#ns=requestAnimationFrame(()=>{this.#ns=null,e()})}catch(e){u.debug("Gift unwrap could not schedule a frame for confetti",e)}try{this.#is=setTimeout(e,120)}catch(e){u.debug("Gift unwrap could not schedule its confetti fallback",e)}}#bs(){if(null!==this.#ns){try{cancelAnimationFrame(this.#ns)}catch{}this.#ns=null}null!==this.#is&&(clearTimeout(this.#is),this.#is=null)}destroy(){this.#v=!0,this.#dt?.destroy(),this.#Zo?.destroy(),null!==this.#Xo&&clearTimeout(this.#Xo),this.#Xo=null,this.#yo.clear(),this.#Ln&&this.#wn.destroy(),this.#Wo?.destroy(),this.#bs(),this.#go.abort(),this.#Ar?.destroy(),this.#Ar=null,this.#$n.removeAllListeners(),this.#In?.remove(),this.#fo?.remove(),this.#jo?.remove(),this.#In=null,this.#Bo=null,this.#Do=null,this.#fo=null,this.#jo=null,this.#mo=null,this.#dt=null,this.#Ho=null,this.#_o=null,this.#Vo=null,this.#qo=null,this.#Wo=null,this.#Go=null,this.#ts=null,this.#es=null,this.#Qo=null,this.#Ko=null,this.#Zo=null,this.#Yo=null}}function Xl(e,t){e.appendChild($l(t,"unwrap-row-logo"));const n=document.createElement("span");n.className=Ln("unwrap-row-text");const{brand:i,perk:r}=fa(t),o=document.createElement("span");if(o.className=Ln("unwrap-row-title"),o.textContent=i,n.appendChild(o),r){const e=document.createElement("span");e.className=Ln("unwrap-row-perk"),$a(e,r,Ln("unwrap-em")),n.appendChild(e)}e.appendChild(n);const s=document.createElement("span");s.className=Ln("unwrap-radio"),s.setAttribute("aria-hidden","true"),s.innerHTML=Wl,e.appendChild(s)}function Ql(e){return Boolean(e?.shareUrl)}function Jl(e,t){e.appendChild($l(t,"keep-card-logo"));const{brand:n,perk:i}=fa(t),r=document.createElement("span");if(r.className=Ln("keep-card-title"),r.textContent=n,e.appendChild(r),i){const t=document.createElement("span");t.className=Ln("keep-card-perk"),t.textContent=i,e.appendChild(t)}}function ec(e,t){const n=document.createElement("div");return n.className=Ln(e),n.innerHTML=t,n}function tc(e){return"string"!=typeof e?"":e.trim().slice(0,64)}function nc(e){if("string"!=typeof e)return null;const t=e.trim(),n=rc.exec(t);if(!n)return null;const i=Ee();if(!i)return t;const[,r,o,s,a,l,c]=n,d=r??c??"",u=s??l;try{return new Intl.NumberFormat(i,{style:"currency",currency:ic[d]??d,currencyDisplay:ic[d]?"narrowSymbol":"symbol",minimumFractionDigits:u?2:0,maximumFractionDigits:u?2:0}).format(Number(`${o??a}.${u??"0"}`))}catch{return t}}const ic={$:"USD","€":"EUR","£":"GBP"},rc=/^(?:([$€£]|USD|EUR|GBP|CAD|AUD)\s?(\d{1,5})(?:[.,](\d{2}))?|(\d{1,5})(?:[.,](\d{2}))?\s?([$€£]|USD|EUR|GBP|CAD|AUD))$/;function oc(e){return Promise.resolve(tc(e)?{ok:!0}:{ok:!1,reason:"empty"})}const sc=Ln("code-unlock-title");let ac=!1;const lc=Ln("code-unlock-input"),cc=Ln("code-unlock-error"),dc=Ne("codeUnlock",{title:"Your rewards are waiting",inputLabel:"Your code",inputPlaceholder:"Enter your code",cta:"Unlock my rewards",emptyError:"Enter your code to continue.",rejectedError:"That code didn’t work. Check it and try again.",unlocked:"Exclusive offers unlocked",cardFallback:"Rewards picked for you",previewTitle:"Rewards you can choose from",previewNote:"Unlock to pick yours.",howTitle:"How it works",step1Title:"Enter your code",step1Body:"It’s in the email we sent you.",step2Title:"Pick a reward",step2Body:"Choose the one you like best.",step3Title:"Enjoy it",step3Body:"Finish on the brand’s site.",cardAmount:"Up to ${amount} in rewards",offersHeadline:"Your exclusive offers",offersSubline:"Pick one, it’s on us"}),uc=`<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path class="${Ln("code-unlock-shackle")}" d="M15 22v-6a9 9 0 0 1 18 0v6" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round"/><rect x="10" y="21" width="28" height="21" rx="6" fill="currentColor"/><circle cx="24" cy="30" r="3" fill="#fff"/><path d="M24 31v5" stroke="#fff" stroke-width="3" stroke-linecap="round"/></svg>`;function hc(e){return"string"==typeof e?e:void 0}class pc{#ve;#go=new AbortController;#In=null;#ys=null;#vs=null;#ws=[];#xs=null;#ks=null;#$s=null;#uo=null;#Cs=null;#es=null;#Is=null;#Es="locked";#v=!1;#Ss=new Set;constructor(e={}){this.#ve=e}isUnlocked(){return"unlocked"===this.#Es}compose(e,t={}){this.#es=t.setLabelledBy??null;const n=document.createElement("div");n.className=Ln("code-unlock"),this.#In=n,this.#Ts(n);const i=document.createElement("div");i.className=Ln("code-unlock-page");const r=this.#As();r&&i.appendChild(r);const o=document.createElement("section");o.className=Ln("code-unlock-hero");const s=nc(this.#ve.valueLabel),a=this.#Ls(s)??this.#ro(s);this.#vs=a,o.appendChild(a);const l=document.createElement("div");l.className=Ln("code-unlock-copy"),l.appendChild(this.#Ns()),l.appendChild(this.#Os(e)),o.appendChild(l),i.appendChild(o);const c=ac,d=this.#Ms();d&&(this.#ws.push(d),i.appendChild(d));const u=this.#Us();return this.#ws.push(u),i.appendChild(u),n.appendChild(i),c?this.#Rs():(this.#gs(sc),this.#Ps()),n}#Ts(e){const t=this.#ve.appearance;try{for(const[n,i]of Object.entries(function(e){if(!e||"object"!=typeof e)return{};const t={},n=(e,n)=>{n&&(t[e]=n)};n("--encore-cu-font",yn(e.fontFamily)),n("--encore-cu-heading-font",yn(e.headingFontFamily)),n("--encore-cu-heading-weight",wn(e.headingFontWeight)),n("--encore-gp-ink",bn(e.textColor)),n("--encore-gp-muted",bn(e.mutedTextColor));const i=bn(e.accentColor);return n("--encore-gp-accent",i),n("--encore-gp-perk",i),n("--encore-gp-selected",bn(e.tintColor)),n("--encore-cu-bg",bn(e.backgroundColor)),n("--encore-cu-cta-bg",function(e){if(Array.isArray(e)){if(2!==e.length)return;const t=bn(e[0]),n=bn(e[1]);return t&&n?`linear-gradient(90deg, ${t}, ${n})`:void 0}return bn(e)}(e.ctaBackground)),n("--encore-cu-cta-ink",bn(e.ctaTextColor)),t}(t)))e.style.setProperty(n,i);"pill"===t?.shape&&e.classList.add(Ln("code-unlock--pill"))}catch(e){u.debug("Code unlock appearance not applied",e)}}#Rs(){const e=this.#ys,t=this.#xs;if(e&&t){this.#vs?.classList.add(Ln("code-unlock-card--open")),this.#In?.classList.add(Ln("code-unlock--unlocked"));for(const e of this.#ws)e.hidden=!0;e.hidden=!0,t.hidden=!1,this.#Es="unlocked",this.#gs(rl)}}#Os(e){const t=document.createElement("div");t.className=`${Ln("code-unlock-screen")} ${Ln("code-unlock-screen--offers")}`,t.hidden=!0,this.#xs=t;const n=document.createElement("div");n.className=Ln("code-unlock-badge"),n.setAttribute("role","status"),n.tabIndex=-1;const i=document.createElement("span");i.className=Ln("code-unlock-badge-icon"),i.innerHTML='<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M5 7V5a3 3 0 0 1 5.8-1" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/><rect x="3" y="7" width="10" height="7.5" rx="2" fill="currentColor"/></svg>',n.appendChild(i),n.appendChild(document.createTextNode(dc.unlocked)),this.#Cs=n,t.appendChild(n);const r=document.createElement("h2");if(r.className=Ln("thankyou-title"),r.id=rl,r.textContent=e.title,t.appendChild(r),e.subtitle){const n=document.createElement("p");n.className=Ln("thankyou-subtitle"),n.textContent=e.subtitle,t.appendChild(n)}const o=document.createElement("div");return o.className=`${Ln("thankyou")} ${Ln("thankyou--reward")} ${Ln("thankyou--gift-picker")} ${Ln("code-unlock-rewards")}`,o.appendChild(e.surface),e.actions&&o.appendChild(e.actions),t.appendChild(o),t}#Ps(){try{const e=window.visualViewport;if(!e)return;const t=()=>{const t=Math.max(0,Math.round(window.innerHeight-e.height-e.offsetTop));this.#In?.style.setProperty("--encore-cu-kb",`${t}px`)};e.addEventListener("resize",t),e.addEventListener("scroll",t),this.#Is=()=>{e.removeEventListener("resize",t),e.removeEventListener("scroll",t),this.#In?.style.removeProperty("--encore-cu-kb")},t()}catch(e){u.debug("Code unlock could not follow the on-screen keyboard",e)}}#Fs(){this.#Is?.(),this.#Is=null}#Ns(){const e=document.createElement("div");e.className=`${Ln("code-unlock-screen")} ${Ln("code-unlock-screen--lock")}`,this.#ys=e;const t=document.createElement("h2");t.className=Ln("code-unlock-title"),t.id=sc,t.textContent=dc.title,e.appendChild(t);const n=document.createElement("p");var i;return n.className=Ln("code-unlock-subline"),n.textContent=(i=nc(this.#ve.valueLabel))?Te("codeUnlock.sublineAmount","Unlock up to ${amount} in rewards with the code we sent you.",{amount:i}):Te("codeUnlock.subline","Unlock them with the code we sent you."),e.appendChild(n),e.appendChild(this.#zs()),e}#As(){const e=E(this.#ve.hostName);return this.#Bs(e)||this.#Ds(e)}#Bs(e){const t=this.#ve.appearance,n=We(hc(t?.logoUrl));if(!n)return null;const i=document.createElement("header");i.className=`${Ln("code-unlock-header")} ${Ln("code-unlock-header--logo")}`;const r=document.createElement("img");return r.className=Ln("code-unlock-logo"),r.alt=E(hc(t?.logoAlt))??e??"",r.onerror=()=>{if(this.#v)return;const t=this.#Ds(e);t?i.replaceWith(t):i.remove()},_t(r,n,220,!1),i.appendChild(r),i}#Ds(e){if(!e)return null;const t=document.createElement("header");t.className=Ln("code-unlock-header");const n=We(this.#ve.hostIconUrl);if(n){const e=document.createElement("img");e.className=Ln("code-unlock-header-icon"),e.alt="",_t(e,n,zt),e.onerror=()=>e.remove(),t.appendChild(e)}const i=document.createElement("span");return i.textContent=e,t.appendChild(i),t}#Ls(e){const t=We(this.#ve.cardImageUrl);if(!t)return null;const n=document.createElement("div");n.className=`${Ln("code-unlock-card")} ${Ln("code-unlock-card--image")}`;const i=document.createElement("img");return i.className=Ln("code-unlock-card-image"),i.alt=E(this.#ve.cardImageAlt)??(e?Te("codeUnlock.cardImageAlt","${amount} gift card",{amount:e}):Te("codeUnlock.cardImageAltUnnamed","Gift card")),i.onerror=()=>{if(this.#v||this.#vs!==n)return;const t=this.#ro(e);n.classList.contains(Ln("code-unlock-card--open"))&&t.classList.add(Ln("code-unlock-card--open")),n.replaceWith(t),this.#vs=t},_t(i,t,460,!1),n.appendChild(i),n}#ro(e){const t=document.createElement("div");t.className=Ln("code-unlock-card"),t.setAttribute("aria-hidden","true");const n=document.createElement("div");n.className=Ln("code-unlock-card-top");const i=document.createElement("span");i.className=Ln("code-unlock-card-brand");const r=We(this.#ve.hostIconUrl);if(r){const e=document.createElement("img");e.className=Ln("code-unlock-card-brand-icon"),e.alt="",_t(e,r,zt),e.onerror=()=>e.remove(),i.appendChild(e)}i.appendChild(document.createTextNode(E(this.#ve.hostName)??"")),n.appendChild(i);const o=document.createElement("span");o.className=Ln("code-unlock-lock"),o.innerHTML=uc,n.appendChild(o),t.appendChild(n);const s=document.createElement("div");if(s.className=Ln("code-unlock-card-value"),e){const t=document.createElement("span");t.className=Ln("code-unlock-card-amount"),t.textContent=e,s.append(...Le(dc.cardAmount,{amount:t},void 0,e=>{const t=document.createElement("span");return t.className=Ln("code-unlock-card-small"),t.textContent=e,t}))}else{const e=document.createElement("span");e.className=Ln("code-unlock-card-amount"),e.classList.add(Ln("code-unlock-card-amount--text")),e.textContent=dc.cardFallback,s.appendChild(e)}t.appendChild(s);const a=document.createElement("div");return a.className=Ln("code-unlock-card-box"),a.innerHTML=Vl(),t.appendChild(a),t}#zs(){const e=this.#go.signal,t=document.createElement("form");t.className=Ln("code-unlock-form"),t.noValidate=!0;const n=document.createElement("label");n.className=Ln("code-unlock-label"),n.htmlFor=lc,n.textContent=dc.inputLabel,t.appendChild(n);const i=document.createElement("div");i.className=Ln("code-unlock-field");const r=document.createElement("input");r.className=Ln("code-unlock-input"),r.id=lc,r.type="text",r.maxLength=64,r.setAttribute("autocomplete","off"),r.setAttribute("autocapitalize","characters"),r.setAttribute("autocorrect","off"),r.setAttribute("spellcheck","false"),r.setAttribute("enterkeyhint","go"),r.placeholder=dc.inputPlaceholder,r.value=tc(this.#ve.initialCode),r.addEventListener("input",()=>this.#js(null),{signal:e}),this.#ks=r,i.appendChild(r);const o=document.createElement("button");o.type="submit",o.className=Ln("code-unlock-cta"),o.textContent=E(hc(this.#ve.appearance?.ctaText))??dc.cta,this.#uo=o,i.appendChild(o),t.appendChild(i);const s=document.createElement("p");return s.className=Ln("code-unlock-error"),s.id=cc,s.setAttribute("role","alert"),this.#$s=s,t.appendChild(s),t.addEventListener("submit",e=>{e.preventDefault(),this.#Hs()},{signal:e}),t}#Ms(){const e=this.#ve.offers??[];if(0===e.length)return null;const t=document.createElement("section");t.className=Ln("code-unlock-preview");const n=Ln("code-unlock-preview-title");t.setAttribute("aria-labelledby",n);const i=document.createElement("h3");i.className=Ln("code-unlock-preview-title"),i.id=n,i.textContent=dc.previewTitle,t.appendChild(i);const r=document.createElement("p");r.className=Ln("code-unlock-preview-note"),r.textContent=dc.previewNote,t.appendChild(r);const o=document.createElement("ul");o.className=Ln("code-unlock-strip");for(const t of e){const e=document.createElement("li");e.className=Ln("code-unlock-tile"),e.appendChild($l(t,"code-unlock-tile-logo"));const n=document.createElement("span");n.className=Ln("code-unlock-tile-name"),n.textContent=ua(t)??"",e.appendChild(n),o.appendChild(e)}return t.appendChild(o),t}#Us(){const e=document.createElement("section");e.className=Ln("code-unlock-how");const t=Ln("code-unlock-how-title");e.setAttribute("aria-labelledby",t);const n=document.createElement("h3");n.className=Ln("code-unlock-how-title"),n.id=t,n.textContent=dc.howTitle,e.appendChild(n);const i=document.createElement("ol");i.className=Ln("code-unlock-steps");const r=[[dc.step1Title,dc.step1Body],[dc.step2Title,dc.step2Body],[dc.step3Title,dc.step3Body]],o=this.#ve.appearance?.stepIconUrls,s=r.map((e,t)=>Array.isArray(o)?We(hc(o[t])):void 0);return s.some(Boolean)&&i.classList.add(Ln("code-unlock-steps--icons")),r.forEach(([e,t],n)=>{const r=document.createElement("li");r.className=Ln("code-unlock-step");const o=document.createElement("span");o.className=Ln("code-unlock-step-num"),o.setAttribute("aria-hidden","true"),o.textContent=String(n+1);const a=s[n];if(a){const e=document.createElement("img");e.className=Ln("code-unlock-step-icon"),e.alt="",e.onerror=()=>{this.#v||e.replaceWith(o)},_t(e,a,zt),r.appendChild(e)}else r.appendChild(o);const l=document.createElement("span"),c=document.createElement("strong");c.textContent=e;const d=document.createElement("span");d.textContent=t,l.append(c,d),r.appendChild(l),i.appendChild(r)}),e.appendChild(i),e}async#Hs(){if(this.#v||"locked"!==this.#Es)return;const e=tc(this.#ks?.value);let t;this.#Es="checking",this.#uo?.setAttribute("aria-busy","true"),this.#ks&&(this.#ks.readOnly=!0);try{t=await(this.#ve.check??oc)(e)}catch(e){u.warn("Unlock code check failed; unlocking anyway",e),t={ok:!0}}if(!this.#v){if(this.#Es="locked",this.#uo?.removeAttribute("aria-busy"),this.#ks&&(this.#ks.readOnly=!1),!t.ok)return this.#js("empty"===t.reason?dc.emptyError:dc.rejectedError),void this.#ks?.focus({preventScroll:!0});this.#_s()}}#js(e){const t=this.#ks,n=this.#$s;t&&n&&(n.textContent=e??"",e?(t.setAttribute("aria-invalid","true"),t.setAttribute("aria-describedby",cc)):(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby")))}#_s(){this.#Es="opening",kl()?this.#Vs(!1):(this.#In?.classList.add(Ln("code-unlock--opening")),this.#qs(()=>this.#Vs(!0),450))}#Vs(e){const t=this.#ys,n=this.#xs;if(this.#v||!t||!n)return;this.#vs?.classList.add(Ln("code-unlock-card--open")),this.#In?.classList.add(Ln("code-unlock--unlocked")),this.#In?.classList.remove(Ln("code-unlock--opening"));for(const e of this.#ws)e.hidden=!0;const i=Ln("code-unlock-screen--entering"),r=Ln("code-unlock--swapping");e&&(n.classList.add(i),this.#qs(()=>n.classList.remove(i),500)),this.#Fs(),n.hidden=!1,e?(this.#In?.classList.add(r),this.#qs(()=>{t.hidden=!0,this.#In?.classList.remove(r)},220)):t.hidden=!0,this.#Es="unlocked",ac=!0,this.#gs(rl),this.#Cs?.focus({preventScroll:!0});try{this.#ve.onUnlock?.()}catch(e){u.debug("Code unlock callback failed",e)}}#qs(e,t){const n=setTimeout(()=>{this.#Ss.delete(n),e()},t);this.#Ss.add(n)}#gs(e){try{this.#es?.(e)}catch(e){u.debug("Code unlock could not relabel the dialog",e)}}destroy(){this.#v=!0;for(const e of this.#Ss)clearTimeout(e);this.#Ss.clear(),this.#Fs(),this.#go.abort(),this.#In?.remove(),this.#In=null,this.#ys=null,this.#xs=null,this.#vs=null,this.#ws.length=0,this.#ks=null,this.#$s=null,this.#uo=null,this.#Cs=null,this.#es=null}}const fc=Object.freeze({[I.giftsButton]:"rewardUsers",[I.claimReminder]:"rewardUsers",[C]:"rewardUsers"}),mc=new Set([I.giftsButton,C]),gc="thanks";function bc(e,t){return mc.has(e)&&"off"!==t.autoOpen&&void 0===t.layout}function yc(e){return"string"==typeof e?e.slice(0,64):typeof e}const vc=new Set;function wc(e,t){vc.has(e)||(vc.add(e),u.warn(t))}function xc(e,t){const n=t??{},i=void 0===n.useCase?fc[e]??"rewardUsers":n.useCase;if("reduceChurn"===i)return wc("churn","Encore.triggers: useCase reduceChurn is not supported by triggers yet; rendering nothing"),null;if(!a(i))return wc(`useCase|${e}|${yc(i)}`,`Encore.triggers.${e}: useCase "${yc(i)}" is not supported; rendering nothing`),null;let r,o;if(void 0!==n.layout){if("string"!=typeof n.layout||""===n.layout.trim())return wc(`layout|${e}|${yc(n.layout)}`,`Encore.triggers.${e}: layout "${yc(n.layout)}" is not a layout name; rendering nothing`),null;const t=n.layout.trim();if(t.toLowerCase()===gc)return wc(`layout|${e}|thanks`,`Encore.triggers.${e}: layout "thanks" cannot be pinned; Encore serves it after a completion. Rendering nothing`),null;r=t}return mc.has(e)&&void 0!==n.autoOpen&&("off"===n.autoOpen?o="off":"on"===n.autoOpen||"experiment"===n.autoOpen||!0===n.autoOpen?wc(`autoOpen|${e}|${yc(n.autoOpen)}`,`Encore.triggers.${e}: autoOpen "${yc(n.autoOpen)}" is not an option; only 'off' is, to stop Encore opening the sheet by itself. Encore decides`):(o="off",wc(`autoOpen|${e}|${yc(n.autoOpen)}`,`Encore.triggers.${e}: autoOpen "${yc(n.autoOpen)}" is not an option; only 'off' is. Reading it as 'off'`))),{useCase:i,...void 0!==r&&{layout:r},...o&&{autoOpen:o}}}function kc(e){const t=e;for(const e of["afterClaim","afterComplete"])void 0!==t?.[e]&&wc(`retired|${e}`,`Encore.claim: ${e} is no longer an option and is ignored; Encore decides what your view shows after a claim and after a completion`)}const $c="claim_log";function Cc(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ic(e){return"string"==typeof e&&""!==e.trim()?e:void 0}function Ec(e){if(!Cc(e))return null;const t=Ic(e.id),n=Ic(e.campaignId),i=Ic(e.useCase),r=e.claimedAt;if(!(t&&n&&i&&"number"==typeof r&&Number.isFinite(r)))return null;const o=Ic(e.transactionId),s=Ic(e.logoUrl),a=Ic(e.placement),l=Ic(e.perk),c="number"==typeof e.completedAt&&Number.isFinite(e.completedAt)?e.completedAt:void 0,d="number"==typeof e.thanksTappedAt&&Number.isFinite(e.thanksTappedAt)?e.thanksTappedAt:void 0;return{id:t,campaignId:n,advertiserName:"string"==typeof e.advertiserName?e.advertiserName:"",claimedAt:r,useCase:i,...o&&{transactionId:o},...s&&{logoUrl:s},...l&&{perk:l},...a&&{placement:a},...!0===e.finished&&{finished:!0},...!0===e.finished&&void 0!==c&&{completedAt:c},...!0===e.finished&&void 0!==c&&void 0!==d&&{thanksTappedAt:d}}}function Sc(e,t){const n=new Map;for(const t of e){const e=n.get(t.id);if(e){if(t.finished){const i=e.completedAt??t.completedAt,r=e.thanksTappedAt??t.thanksTappedAt;n.set(t.id,{...e,finished:!0,...void 0!==i&&{completedAt:i},...void 0!==r&&{thanksTappedAt:r}})}}else n.set(t.id,t)}return[...n.values()].filter(e=>t-e.claimedAt<=2592e6&&e.claimedAt<=t).sort((e,t)=>t.claimedAt-e.claimedAt).slice(0,50)}class Tc{#Ws;#Gs;#Ks=Object.create(null);constructor(e,t=()=>Date.now()){this.#Ws=e,this.#Gs=t}#Zs(){let e;try{e=function(e){const t=Object.create(null);if(!Cc(e)||!Cc(e.users))return t;for(const[n,i]of Object.entries(e.users)){if(!Array.isArray(i))continue;const e=i.map(Ec).filter(e=>null!==e);e.length>0&&(t[n]=e)}return t}(this.#Ws.get($c))}catch{e=Object.create(null)}const t=this.#Gs(),n=Object.create(null);for(const i of new Set([...Object.keys(e),...Object.keys(this.#Ks)])){const r=Sc([...e[i]??[],...this.#Ks[i]??[]],t);r.length>0&&(n[i]=r)}return n}#ke(e){this.#Ks=e;try{this.#Ws.set($c,{v:1,users:e})}catch{}}record(e,t){try{const n=this.#Zs(),i=t.transactionId??`campaign:${t.campaignId}`,r={...t,id:i,claimedAt:t.claimedAt??this.#Gs()},o=(n[e]??[]).filter(e=>e.id!==i);n[e]=Sc([r,...o],this.#Gs()),this.#ke(n)}catch{}}finish(e,t=!0){try{const n=this.#Zs(),i=this.#Gs();let r=!1;for(const o of Object.keys(n))n[o]=n[o].map(n=>{if(n.transactionId!==e)return n;const o=t&&void 0===n.completedAt;return n.finished&&!o?n:(r=!0,{...n,finished:!0,...o&&{completedAt:i}})});return r&&this.#ke(n),r}catch{return!1}}completedToday(e,t){try{return null!==this.#Ys(this.#Zs()[e]??[],t)}catch{return!1}}thanksDue(e,t){return null!==this.thanksFor(e,t)}thanksFor(e,t){try{const n=this.#Ys(this.#Zs()[e]??[],t);return null===n||void 0!==n.thanksTappedAt?null:n.transactionId??String(n.completedAt)}catch{return null}}thanksTapped(e){try{const t=this.#Zs(),n=t[e]??[],i=this.#Ys(n,this.#Gs());if(!i||void 0!==i.thanksTappedAt)return;const r=this.#Gs();t[e]=n.map(e=>e===i?{...e,thanksTappedAt:r}:e),this.#ke(t)}catch{}}#Ys(e,t){const n=new Date(t).toDateString();let i=null;for(const r of e){const e=r.completedAt;void 0===e||e>t||new Date(e).toDateString()!==n||(null===i||e>i.completedAt)&&(i=r)}if(null===i)return null;const r=i.completedAt;return e.some(e=>e.claimedAt>r)?null:i}open(e){try{return(this.#Zs()[e]??[]).filter(e=>!e.finished)}catch{return[]}}finished(e,t){try{return(this.#Zs()[e]??[]).some(e=>e.transactionId===t&&!0===e.finished)}catch{return!1}}carryOver(e,t){if(e!==t)try{const n=this.#Zs(),i=n[e];if(!i)return;delete n[e],n[t]=Sc([...i,...n[t]??[]],this.#Gs()),this.#ke(n)}catch{}}clear(){this.#Ks=Object.create(null);try{this.#Ws.remove($c)}catch{}}age(e,t){try{const n=this.#Zs(),i=n[e];if(!i)return;n[e]=i.map(e=>({...e,claimedAt:e.claimedAt-t})),this.#ke(n)}catch{}}}function Ac(e){return{transactionId:e.id,campaignId:e.campaignId,advertiserName:e.advertiserName,advertiserLogoUrl:e.logoUrl??null,...e.perk&&{perk:e.perk},claimedAt:new Date(e.claimedAt).toISOString(),availability:"available"}}const Lc=Object.freeze({maxPerCheck:3,cacheMs:3e5,windowMs:2592e6,rateLimitPauseMs:6e5}),Nc=new Set(["verified","final_granted"]),Oc=new Set(["expired","failed"]);function Mc(e){return"number"==typeof e&&Number.isFinite(e)}class Uc{#Xs;#Gs;#Qs;#Js;#ea=new Map;#L=new Map;#ta=0;#na=0;#Ws;onEnded=null;constructor(e,t=()=>Date.now(),n=()=>.8+.4*Math.random(),i=Lc,r=null){this.#Xs=e,this.#Gs=t,this.#Qs=n,this.#Js=i,this.#Ws=r}#Ve(){if(!this.#Ws)return;let e;try{e=function(e){const t=new Map;let n=0;if("object"!=typeof e||null===e)return{records:t,pausedUntil:n};const i=e;if(Mc(i.pausedUntil)&&(n=i.pausedUntil),"object"==typeof i.checks&&null!==i.checks)for(const[e,n]of Object.entries(i.checks))Array.isArray(n)&&Mc(n[0])&&Mc(n[1])&&t.set(e,{last:n[0],gap:n[1]});return{records:t,pausedUntil:n}}(this.#Ws.get())}catch{return}this.#ta=Math.max(this.#ta,e.pausedUntil);for(const[t,n]of e.records){const e=this.#ea.get(t);(!e||n.last>e.last)&&this.#ea.set(t,n)}}#qe(){if(!this.#Ws)return;const e={};for(const[t,n]of this.#ea)e[t]=[n.last,n.gap];try{this.#Ws.set({v:1,checks:e,pausedUntil:this.#ta})}catch{}}async run(e,t,n){try{const i=this.#Gs(),r=e.open(t).filter(e=>void 0!==e.transactionId&&!0!==n?.(e.transactionId)).slice(0,this.#Js.maxPerCheck);this.#Ve(),this.#Ie(i);const o=this.#na;let s=!1;for(const t of r){if(o!==this.#na)break;const n=t.transactionId,i=this.#L.get(n);if(i?s=await i||s:this.#ia(n,t.claimedAt,this.#Gs())&&(s=await this.#ra(n,e)||s),this.#Gs()<this.#ta)break}return s}catch(e){return u.debug("Encore.claim: status check failed",e),!1}}beforeTap(e,t,n){try{if(t.finished(n,e))return!1;const i=t.open(n).find(t=>t.transactionId===e);return i&&!this.#L.has(e)&&this.#Ve(),i&&!this.#L.has(e)&&this.#ia(e,i.claimedAt,this.#Gs())&&this.#ra(e,t),!0}catch{return!0}}forget(){this.#na++,this.#ea.clear(),this.#L.clear(),this.#ta=0}#ia(e,t,n){if(n<this.#ta)return!1;if(n-t>=this.#Js.windowMs)return!1;const i=this.#ea.get(e);return!i||n-i.last>=i.gap}#ra(e,t){this.#ea.set(e,{last:this.#Gs(),gap:this.#Js.cacheMs*this.#Qs()}),this.#qe();const n=(async()=>{let n;try{n=await this.#Xs(e)}catch(e){return function(e){return"object"==typeof e&&null!==e&&429===e.statusCode}(e)?(this.#ta=this.#Gs()+this.#Js.rateLimitPauseMs,this.#qe(),u.debug("Encore.claim: status check rate limited; pausing checks",e)):u.debug("Encore.claim: status check failed; the claim stays open",e),!1}if("string"!=typeof n)return!1;const i=Nc.has(n)?t.finish(e,!0):Oc.has(n)&&t.finish(e,!1);if(i)try{this.onEnded?.()}catch{}return i})().finally(()=>this.#L.delete(e));return this.#L.set(e,n),n}#Ie(e){for(const[t,n]of this.#ea)e-n.last>=this.#Js.windowMs&&this.#ea.delete(t)}}function Rc(e){try{const t=e.getBoundingClientRect();if(!(t.width>0&&t.height>0))return!1;const n=t.left+t.width/2,i=t.top+t.height/2,r=window.innerWidth||document.documentElement.clientWidth,o=window.innerHeight||document.documentElement.clientHeight;if(n<0||i<0||n>=r||i>=o)return!1;if("function"!=typeof document.elementFromPoint)return!1;let s=document.elementFromPoint(n,i);if(null===s)return!1;const a=[];if("undefined"!=typeof ShadowRoot)for(let t=e.getRootNode();t instanceof ShadowRoot;t=t.host.getRootNode())a.unshift(t);for(const e of a){const t=e.host;if(s!==t&&!t.contains(s))return!0;if("function"!=typeof e.elementFromPoint)return!1;if(s=e.elementFromPoint(n,i),null===s)return!1}return s!==e&&!e.contains(s)}catch{return!1}}const Pc=Object.freeze({kind:"hidden"}),Fc=Object.freeze({status:"unavailable"}),zc=new Map,Bc=new Set;let Dc=null;function jc(e){zc.delete(e),0===zc.size&&(Dc?.disconnect(),Dc=null)}class Hc{#Es=Pc;#Ke=new Set;#bo=new Map;#oa=0;#sa=new Set;#aa=new Map;#go=null;#v=!1;#la=new WeakSet;#ca=null;#da;constructor(e){this.#da=e}get state(){return this.#Es}get destroyed(){return this.#v}attach(e){this.#v?e.destroy():(this.#go=e,e.setVisible(this.#ua(),this.#ha))}setState(e){if(!this.#v&&(t=this.#Es,JSON.stringify(e)!==JSON.stringify(t))){var t;this.#Es=e;for(const t of[...this.#Ke])try{t(e)}catch(e){u.warn("Encore.claim: a state listener threw",e)}}}subscribe(e){if("function"!=typeof e||this.#v)return()=>{};this.#Ke.add(e),Bc.add(this);try{e(this.#Es)}catch(e){u.warn("Encore.claim: a state listener threw",e)}return()=>{this.#Ke.delete(e),0===this.#Ke.size&&Bc.delete(this)}}#ha=()=>{const e=[...this.#bo].filter(([,e])=>e>0).map(([e])=>e);return e.length>0&&e.every(e=>Rc(e))};#ua(){let e=this.#oa;for(const t of this.#bo.values())e=Math.max(e,t);return e}#pa(){try{this.#go?.setVisible(this.#ua(),this.#ha)}catch(e){u.warn("Encore.claim: visibility failed",e)}}setVisible(e){this.#v||(this.#oa="number"==typeof e&&Number.isFinite(e)?Math.min(Math.max(e,0),1):0,this.#pa())}tap(e){if(this.#v||!this.#go)return Promise.resolve(Fc);try{return this.#go.tap(e).catch(()=>Fc)}catch(e){return u.warn("Encore.claim: tap failed",e),Promise.resolve(Fc)}}dismiss(){if(!this.#v)try{this.#go?.dismiss()}catch(e){u.warn("Encore.claim: dismiss failed",e)}}bind(e,t){const n="undefined"!=typeof window?window.Element:void 0;if(this.#v||!n||!(e instanceof n))return()=>{};const i=this.#aa.get(e);if(i)return i;const r=t?.target,o=!1!==t?.tap,s=[],a=function(e){return e.matches("button, a[href], input, select, textarea, summary")}(e);!o||a||e.hasAttribute("role")||(e.setAttribute("role","button"),s.push("role")),!o||a||e.hasAttribute("tabindex")||(e.setAttribute("tabindex","0"),s.push("tabindex"));const l=t=>{const i=t.target instanceof n?t.target.closest('button, a[href], input, select, textarea, summary, [role="button"], [role="link"]'):null;return null!==i&&i!==e&&e.contains(i)},c=e=>{l(e)||this.tap(r)},d=e=>{a||l(e)||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.tap(r))};o&&(e.addEventListener("click",c),e.addEventListener("keydown",d)),this.#bo.set(e,0);let h=null;const p="undefined"!=typeof window?window.IntersectionObserver:void 0;if("function"==typeof p)try{h=new p(t=>{for(const n of t)n.target===e&&this.#bo.has(e)&&this.#bo.set(e,n.isIntersecting?Ds(n):0);this.#pa()},{threshold:[...zs]}),h.observe(e)}catch(e){u.warn("Encore.claim: IntersectionObserver unavailable",e)}let f=!0;const m=()=>{if(f){f=!1,this.#sa.delete(m),this.#aa.delete(e),h?.disconnect(),o&&(e.removeEventListener("click",c),e.removeEventListener("keydown",d));for(const t of s)e.removeAttribute(t);this.#bo.delete(e),this.#pa()}};return this.#sa.add(m),this.#aa.set(e,m),e.isConnected&&this.#la.add(e),function(e,t){if(zc.set(e,t),!Dc&&"function"==typeof MutationObserver&&"undefined"!=typeof document)try{Dc=new MutationObserver(e=>{if(0!==e.length)for(const e of[...zc.values()])e()}),Dc.observe(document.documentElement,{childList:!0,subtree:!0})}catch{Dc=null}}(this,()=>this.#fa()),m}#ma(){if(0===this.#aa.size||this.#Ke.size>0)return!1;let e=!0;for(const t of this.#aa.keys())t.isConnected?(this.#la.add(t),e=!1):this.#la.has(t)||(e=!1);return e}#fa(){this.#v||null!==this.#ca||(0!==this.#aa.size?this.#ma()&&(this.#ca=setTimeout(()=>{this.#ca=null,!this.#v&&this.#ma()&&this.destroy()},0)):jc(this))}destroy(){if(!this.#v){for(const e of[...this.#sa])e();this.#v=!0,Bc.delete(this),jc(this),null!==this.#ca&&clearTimeout(this.#ca),this.#ca=null,this.#Ke.clear();try{this.#go?.destroy()}catch{}this.#go=null;try{this.#da?.()}catch{}}}}class _c{#ga=new Map;#ba=new Set;constructor(e){for(const t of e){let e=null;this.#ga.set(t.id,{id:t.id,load:()=>(e??=t.load().catch(t=>{throw e=null,t}),e)})}}get(e){const t="string"==typeof e?e:String(e);return this.#ga.get(t)||(this.#ba.has(t)||(this.#ba.add(t),u.warn(`Encore.triggers: no trigger "${t}" in this SDK version; rendering nothing`)),null)}}class Vc{#ya=new Map;static key(e){return JSON.stringify([e.triggerId,e.useCase,e.placementId??"",e.userId,e.language??"",e.layout??"",e.autoOpen??"",e.state??""])}get(e,t){const n=this.#ya.get(e);if(n)return n;const i=t();return this.#ya.set(e,i),i.catch(()=>{this.#ya.get(e)===i&&this.#ya.delete(e)}),i}clear(){this.#ya.clear()}}class qc{#va=null;#wa=null;#xa=!1;start(e){this.#xa?u.warn("FocusDetector already active"):(this.#va=()=>{u.debug("Window focused"),e()},this.#wa=()=>{"visible"===document.visibilityState&&(u.debug("Document became visible"),e())},window.addEventListener("focus",this.#va),document.addEventListener("visibilitychange",this.#wa),this.#xa=!0,u.debug("FocusDetector started"))}stop(){this.#xa&&(this.#va&&(window.removeEventListener("focus",this.#va),this.#va=null),this.#wa&&(document.removeEventListener("visibilitychange",this.#wa),this.#wa=null),this.#xa=!1,u.debug("FocusDetector stopped"))}isActive(){return this.#xa}}const Wc={title:"titleText",subtitle:"subtitleText",offerDescription:"offerDescriptionText",instructionsTitle:"instructionsTitleText",lastStepHeader:"lastStepHeaderText",lastStepDescription:"lastStepDescriptionText",creditClaimedTitle:"creditClaimedTitleText",creditClaimedSubtitle:"creditClaimedSubtitleText",applyCreditsButton:"applyCreditsButtonText",accentTitle:"accentTitleText"};const Gc="user_id",Kc="user_id_named",Zc=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Yc="user_attributes";function Xc(e){const{age:t,...n}=e;return n}const Qc="language_override",Jc=Ne("rewardFallback",{headline:"Congrats! You’ve unlocked an exclusive gift",subheadline:"Choose one of our partner offers below"}),ed="claim_status";function td(e){const t=e.useCase;if(void 0===t||a(t))return e;const n="string"==typeof t?o(t):void 0,{useCase:i,...r}=e;return n?{...r,useCase:n}:r}function nd(e){const t=e?.values?.text;return!!t&&Object.keys(t).length>0}function id(e){const t=e?.experimentId;return"string"==typeof t&&""!==t?t:void 0}function rd(e){return"reduceChurn"===(e??"reduceChurn")}const od="function"==typeof FinalizationRegistry?new FinalizationRegistry(e=>{try{e.destroy()}catch{}}):null,sd=0,ad=120,ld=/^(\d{4})-(\d{2})-(\d{2})(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2}))?$/;function cd(e){if("string"!=typeof e)return null;const t=e.trim(),n=ld.exec(t);if(!n)return null;const i=Number(n[1]),r=Number(n[2]),o=Number(n[3]),s=new Date(Date.UTC(i,r-1,o));if(s.getUTCFullYear()!==i||s.getUTCMonth()!==r-1||s.getUTCDate()!==o)return null;if(10===t.length)return{year:i,month:r,day:o};const a=new Date(t);return Number.isNaN(a.getTime())?null:{year:a.getUTCFullYear(),month:a.getUTCMonth()+1,day:a.getUTCDate()}}let dd=!1;function ud(e){const{dateOfBirth:t,age:n,...i}=e,r={...i};return void 0!==t&&(cd(t)?r.dateOfBirth=t.trim():dd||(dd=!0,u.warn("setUserAttributes: dateOfBirth must be YYYY-MM-DD; it is not used"))),void 0===n?r:"number"==typeof n&&n>=sd&&n<=ad?(r.age=Math.floor(n),r):(u.warn("setUserAttributes: age must be a number of years from 0 to 120; it is not sent"),r)}function hd(e,t=new Date){const{dateOfBirth:n,...i}=e;if(void 0===n)return i;const r=function(e,t=new Date){const n=cd(e);if(!n)return null;const i=t.getUTCMonth()+1,r=t.getUTCDate(),o=i<n.month||i===n.month&&r<n.day,s=t.getUTCFullYear()-n.year-(o?1:0);return s>=sd&&s<=ad?s:null}(n,t);if(null===r)return i;const o=void 0===i.age?r:Math.min(i.age,r);return{...i,age:o}}class pd{#ka=new Set;#$a;#f;#m=null;#S=null;#Ca=null;#Ia=null;#Ea=null;#Sa=null;#Ta=null;#Aa=new Set;#Ze;#La=null;#g=null;#Na=!1;#Oa={};#Ma=!1;#Ua=!1;#Ra=[];#ti=!0;#Pa=null;#Fa=new Tc({get:e=>this.#f.get(e),set:(e,t)=>this.#f.set(e,t),remove:e=>this.#f.remove(e)});#za=new WeakMap;#Ba=new Uc(async e=>{const t=this.#m;return t?(await t.checkVerificationStatus(e,{quiet:!0})).raw:null},void 0,void 0,void 0,{get:()=>this.#f.get(ed),set:e=>this.#f.set(ed,e)});#Da=new _c([{id:I.claimReminder,load:()=>import("./ClaimReminder-DFyrm5bJ.js").then(e=>e.claimReminderPlugin(this.#ja()))},{id:I.giftsButton,load:()=>Promise.all([import("./GiftsButton-B0lVB463.js"),import("./ClaimReminder-DFyrm5bJ.js"),import("./spot-DkKMLpB-.js")]).then(([e,t,n])=>(this.#Ha=e,n.giftsSpotPlugin(e.giftsButtonPlugin({checkSheet:(e,t,n)=>this.#_a(e,t,n),storage:()=>"undefined"!=typeof window?window.localStorage:null,thanksTapped:()=>this.#Va()}),t.claimReminderPlugin(this.#ja()),{checkClaims:e=>this.#qa(e),thanksFor:()=>this.#Wa()})))}]);#ja(){return{source:()=>({openClaims:()=>this.#Ga()}),checkSheet:(e,t,n)=>this.#_a(e,t,n),claimTapped:e=>this.#Ka(e),thanksFor:()=>this.#Wa(),thanksTapped:()=>this.#Va(),storage:()=>"undefined"!=typeof window?window.localStorage:null}}triggers={mount:(e,t,n)=>this.#Za(e,t,n),claimReminder:{mount:(e,t)=>this.#Za(I.claimReminder,e,{...t,autoOpen:"off"})},giftsButton:{mount:(e,t)=>this.#Za(I.giftsButton,e,t)}};#Ya=null;#Ha=null;#Xa=null;claim(e){const t=new Hc(()=>{this.#Qa.delete(r)}),n={...e??{}};let i=!1;const r=()=>{if(i||t.destroyed)return;const e=this.#Ja();e&&(i=!0,this.#Qa.delete(r),import("./customClaim-B4uj-aOc.js").then(i=>{if(this.#Xa=i,t.destroyed)return;const r="function"==typeof WeakRef?new WeakRef(t):null,o=i.startCustomClaim(n,{checkSheet:(e,t,n)=>this.#_a(e,t,n),claims:()=>this.#Ga(),checkClaims:e=>this.#qa(e),completedToday:()=>this.#el(),thanksFor:()=>this.#Wa(),thanksTapped:()=>this.#Va(),claimTapped:e=>this.#Ka(e),host:e},r?e=>r.deref()?.setState(e):e=>t.setState(e));t.attach(o),od?.register(t,o,o)}).catch(e=>{u.warn("Encore.claim: failed to load; hiding",e)}))};try{this.#Qa.add(r),r()}catch(e){u.warn("Encore.claim: failed to start; hiding",e)}return t}#tl=new Set;#nl=new Vc;#Qa=new Set;#Za(e,t,n){try{const i=this.#Da.get(e);if(!i)return{unmount:()=>{},setAlignment:()=>{},setText:()=>{}};if(!xc(i.id,n))return{unmount:()=>{},setAlignment:()=>{},setText:()=>{}};const r=n;let o,s,a=null,l=!1,c=!1;const d=!0===t?.isConnected,h=()=>d&&!0!==t?.isConnected,p=()=>{if(l||c)return;if(h())return void f.unmount();const e=this.#Ja();e&&(c=!0,this.#Qa.delete(p),import("./TriggerHost-CNTiNrTH.js").then(function(e){return e.T}).then(n=>{this.#Ya=n,l||(h()?f.unmount():(a=n.mountTrigger(i,t,r,e,()=>{this.#tl.delete(f)}),a===n.NOOP_HANDLE?this.#tl.delete(f):(void 0!==o&&a.setAlignment(o),void 0!==s&&a.setText(s))))}).catch(e=>{this.#tl.delete(f),u.warn("Encore.triggers: failed to load; rendering nothing",e)}))},f={triggerId:i.id,unmount:()=>{l=!0,this.#Qa.delete(p),this.#tl.delete(f),a?.unmount()},reload:e=>a?.reload(e),refresh:()=>a?.refresh(),setAlignment:e=>{o=e,a?.setAlignment(e)},setText:e=>{s=e,a?.setText(e)}};return this.#tl.add(f),this.#Qa.add(p),p(),{unmount:()=>f.unmount(),setAlignment:e=>f.setAlignment(e),setText:e=>f.setText(e)}}catch(e){return u.warn("Encore.triggers: mount failed; rendering nothing",e),{unmount:()=>{},setAlignment:()=>{},setText:()=>{}}}}#il(e="identity"){this.#nl.clear();for(const t of this.#tl)t.reload(e);try{this.#Xa?.reloadCustom(e)}catch(e){u.warn("Encore.claim: could not start over",e)}}#Ja(){return this.#$a.isConfigured()&&this.#m&&this.#g?{fetchConfig:(e,t,n)=>{const i=this.#m,r=this.#g;if(!i||!r)return Promise.reject(new Error("SDK not configured"));const o=this.#rl(),s=S(t),a=Vc.key({triggerId:e,useCase:n.useCase,placementId:s,userId:r,language:o,layout:n.layout,autoOpen:n.autoOpen,...n.state&&{state:n.state}});return this.#nl.get(a,()=>i.fetchTriggerConfig(r,_e,e,{useCase:n.useCase,...s&&{placementId:s},...o&&{language:o},...n.layout&&{layout:n.layout},..."off"===n.autoOpen&&{autoOpen:"off"},...n.state&&{state:n.state}}).then(e=>{const t=e?.ui;if("object"!=typeof e||null===e||!0!==e.success||"object"!=typeof t||null===t||Array.isArray(t))throw new Error("trigger /config: not a success response");return e}))},track:e=>this.#ol(e),storage:()=>"undefined"!=typeof window?window.localStorage:null,presentSheet:({useCase:e,placement:t,presentationId:n,isCurrent:i,publisherReward:r,onPresented:o,automatic:s})=>this.#sl(e,t,n,i,r,o,!0===s),sheetBusy:()=>this.#Ua}:null}async#_a(e,t,n){try{const i=this.#Ia,r=this.#g;if(!i||!r||!this.#$a.isConfigured())return{status:"none"};const o=this.#rl(),s=await this.#al(e,t);if(this.#g!==r||this.#rl()!==o)return{status:"none"};if(!s)return{status:this.#ll.has(e)?"sheet_unavailable":"none"};const a=s.variantId,l=S(t),c=l&&this.#cl?.has(l)?l:void 0,d=this.#$a.getFilterOffersByVariant(),u="strict"===this.#$a.getUnlockMode(),h=await i.searchForTrigger(this.#dl(),t,{useCase:e,...a&&(d?{variantId:a}:{wireVariantId:a}),...c&&{ruledPlacementId:c},purpose:"prefetch"},u?15e3:void 0,n);return 0===h.length?{status:"none"}:{status:"offers",campaignIds:new Set(h.map(e=>e.campaignId)),offers:h.map(e=>({campaignId:e.campaignId,...e.merchantName&&{advertiserName:e.merchantName},...e.logoUrl&&{logoUrl:e.logoUrl}}))}}catch(e){return u.debug("Encore.triggers: no offers to show",e),{status:"none"}}}async#sl(e,t,n,i,r,o,s=!1){if(!a(e))return{status:"unavailable"};for(;this.#Ua;)await new Promise(e=>this.#Ra.push(e));if(!i())return{status:"unavailable"};const l={useCase:e,...r&&{publisherReward:r}},c=S(t),{result:d,aborted:u,...h}=await this.#ul(void 0,l,c,n,o,s?i:void 0);return u||this.#hl(d,h,l,c),d}async#Ga(){const e=this.#g;if(!e)return[];const t=this.#Fa.open(e),n=this.#Pa;let i=null;if(n)try{const e=await n.openClaims();i=Array.isArray(e)?e:null}catch(e){u.debug("Encore.triggers: claims read failed; using this browser's claims",e)}return function(e,t,n){if(null===t)return e.map(Ac);const i=new Set(t.map(e=>e.transactionId)),r=new Set(t.map(e=>e.campaignId)),o=e.filter(e=>!(e=>e.transactionId?i.has(e.transactionId):r.has(e.campaignId))(e)&&n-e.claimedAt<6e5);return[...t,...o.map(Ac)]}(t,i,Date.now())}#pl(e,t,n,i){if(!i)return;const{logoUrl:r,perk:o}=this.#za.get(e)??{};this.#Fa.record(i,{campaignId:e.campaignId,advertiserName:e.advertiserName,useCase:t,...e.transactionId&&{transactionId:e.transactionId},...r&&{logoUrl:r},...o&&{perk:o},...n&&{placement:n}}),this.#fl()}#qa(e){const t=this.#g;if(!t||!this.#m)return Promise.resolve();const n=this.#Ba.run(this.#Fa,t,e).then(()=>{});let i;const r=new Promise(e=>{i=setTimeout(e,1500)});return Promise.race([n,r]).finally(()=>clearTimeout(i))}#Ka(e){const t=this.#g;return!t||!this.#m||this.#Ba.beforeTap(e,this.#Fa,t)}#Wa(){const e=this.#g;return e?this.#Fa.thanksFor(e,Date.now()):null}#Va(){const e=this.#g;e&&this.#Fa.thanksTapped(e)}#el(){const e=this.#g;return Boolean(e)&&this.#Fa.completedToday(e,Date.now())}#fl(){try{this.#Ya?.claimsChanged(),this.#Xa?.claimsChangedForCustom()}catch(e){u.warn("Encore.triggers: could not update after a claim",e)}}static bindClaimReminderSource(e,t){e.#Pa=t;for(const t of e.#tl)t.triggerId===I.claimReminder&&t.reload("language");e.#fl()}#ml=null;#gl={};#bl;#yl;#vl={};#wl=new Set;#xl;#kl;#$l={};#Cl={};#ll=new Set;#Il=new Set;#El=new Map;#Sl=new Map;#Tl=null;#ze=null;#Al=null;#Ll=!1;#Nl=0;#Ol=null;#Ml;#Ul;constructor(){var e;this.#$a=new h,this.#f=new f,this.#Ml=new ye((e=this.#f,{read:()=>e.get(fe),write:t=>e.set(fe,t)})),this.#Ul=new ye(function(){let e=null;return{read:()=>e,write:t=>{e=t}}}()),this.#Ze=new Rt,this.#Ba.onEnded=()=>this.#fl()}configure(e){const t=this.#$a.configure(e);if(this.#Rl(e.demoVariant),t){let t=this.#f.get(Gc)??null;this.#Pl(),this.#Fl();const n="string"==typeof e.userId?e.userId.trim():"";t&&this.#zl(n,t)&&(this.#Bl(),t=null);const i=this.#Dl(e.userId,t),r=this.#$a.getBaseURL(),o=this.#$a.getAnalyticsBaseURL(),s=this.#$a.getApiKey()??"";if(r){if(this.#m=new lt(s,r),o){if(this.#S=new kt(s,o,this.#f),!this.#Ea){const e=new At(s,o,this.#f);this.#Ea=new Et(this.#f,()=>this.#g,e),e.flush()}this.#La||(this.#La=new Nt(s,o,this.#f),this.#La.flush())}this.#g&&(this.#Ca=new w(this.#f,this.#m,this.#g),this.#Ta="strict"===this.#$a.getUnlockMode()?new ce(this.#f,this.#m,this.#g):null,this.#Ia?.destroy(),this.#Ia=new ie(this.#m,this.#g,this.#S??void 0)),this.#Sa=new qc}if(this.#jl(),u.info("Encore SDK initialized successfully",{version:_e}),this.#S&&this.#g){const e="undefined"!=typeof window?window.location.hostname:"unknown";this.#S.track(function(e,t,n){return{name:"sdk_initialized",distinctId:e,properties:{sdkVersion:_e,appBundleId:n,platform:"web"}}}(this.#g,0,e))}i&&this.#g&&this.#Hl(i,this.#g),this.#g&&this.#_l(this.#g),this.#Vl(),this.#ql();for(const e of[...this.#Qa])e()}return t}#Pl(){const e=this.#f.get(Gc);e?(this.#g=e,this.#Na=!0===this.#f.get(Kc),u.debug("Loaded existing user ID:",e)):(this.#g=ne(),this.#f.set(Gc,this.#g),u.debug("Generated new user ID:",this.#g));const t=this.#f.get(Yc);t&&(this.#Oa=Xc(ud(t)),u.debug("Loaded user attributes"))}#Dl(e,t){if(void 0===e)return null;const n="string"==typeof e?e.trim():"";return""===n?(u.error("configure() ignored userId: it must be a non-empty string"),null):(this.#g=n,this.#Na=!0,this.#f.set(Kc,!0),this.#f.set(Gc,n),u.debug("User identified at configure:",n),t&&t!==n?t:null)}#_l(e,t){this.#m&&(t?this.#m.initUser(e,t):this.#m.initUser(e)).catch(e=>{u.warn("Failed to init user on backend (non-blocking)",e),this.#Wl("api_request",e)})}#zl(e,t){return""!==e&&e!==t&&!this.#Gl(t)}#Bl(){this.#Kl(e=>e===Tt||e===Lt||function(e){return e.endsWith(m)||e.endsWith(g)}(e),!1)}#Gl(e){return!this.#Na&&Zc.test(e)}#Zl(){return!!this.#$a.isConfigured()||(u.error("SDK not configured. Call Encore.configure() first."),!1)}#Fl(){const e=this.#f.get(Qc);let t=L(e);if(null!==e&&null===t&&this.#f.remove(Qc),Object.prototype.hasOwnProperty.call(this.#Oa,"language")){const{language:e,...n}=this.#Oa;this.#Oa=n,this.#f.set(Yc,Xc(n)),null===t&&(t=N(e),null!==t&&this.#f.set(Qc,t)),u.debug("Took language out of the stored attributes",{legacy:e,override:t})}this.#Al=t}#rl(){return this.#Al??void 0}#Yl(e){if(e===this.#Al)return;const t=this.#rl();this.#Al=e,null===e?this.#f.remove(Qc):this.#f.set(Qc,e),this.#Xl(t),this.#Vl(),this.#rl()!==t&&(this.#Ql(),this.#il("language"))}#Ql(){const e=this.#Tl,t=this.#g,n=this.#Nl;e&&t&&e.then(()=>{if(this.#g!==t||this.#Nl!==n)return;if(this.#Jl(t,this.#Oa),!this.#Ia||"strict"===this.#$a.getUnlockMode())return;const e=this.#ec("reduceChurn");this.#Ia.prefetchOffers(this.#dl(),{...e&&this.#$a.getFilterOffersByVariant()&&{variantId:e},useCase:"reduceChurn"})})}#dl(){const e=this.#rl(),t=hd(this.#Oa);return e?{...t,language:e}:t}#Xl(e){this.#rl()!==e&&(u.debug("Language changed; dropping cached copy and offers",{from:e,to:this.#rl()}),this.#tc())}#Rl(e){if(void 0===e)return;const t="string"==typeof e?e.trim():"";""!==t?t!==this.#ze&&(this.#ze=t,this.#nc(),this.#tc(),this.#jl()):u.warn("configure() ignored demoVariant: it must be a non-empty string")}#nc(){const e=this.#$a.getApiKey();if(!e)return;const t=function(e){return"string"!=typeof e?"unknown":e.startsWith("pk_test_")?"test":e.startsWith("pk_live_")?"live":"unknown"}(e);"test"!==t&&u.warn(`[DEMO] demoVariant '${this.#ze}' is set on ${function(e){switch(e){case"test":return"a test key (pk_test_*)";case"live":return"a live key (pk_live_*)";default:return"a key of unrecognised kind (expected pk_test_* or pk_live_*)"}}(t)}. The backend honours it on any test key (pk_test_*), and on a pk_live_* key only for Encore's own demo apps; for every other app it will be ignored.`)}#jl(){this.#S?.setDemoVariant(this.#ze),this.#La?.setDemoVariant(this.#ze)}#tc(){this.#cl=void 0,this.#gl={},this.#bl=void 0,this.#yl=void 0,this.#xl=void 0,this.#kl=void 0,this.#vl={},this.#$l={},this.#Cl={},this.#ll.clear(),this.#El=new Map,this.#Tl=null,this.#Nl+=1,this.#Ia?.clearCache(),Se()}#ic(e,t){this.#ze&&t!==this.#ze&&u.warn(`[DEMO] demoVariant '${this.#ze}' was not honoured for '${e}' — the server served ${null===t?"no variant":`'${t}'`}. Rendering what the server served.`)}identify(e,t){if(!this.#Zl())return;if(!e||"string"!=typeof e)return void u.error("identify() requires a valid user ID string");let n=this.#g;n&&this.#zl(e,n)&&(this.#Bl(),n=null),this.#g=e,this.#Na=!0,this.#f.set(Kc,!0),this.#f.set(Gc,e);const{language:i,...r}=t??{};t&&this.setUserAttributes(r),n!==e&&(this.#Hl(n,e,t),this.#il()),null===n&&(this.#_l(e,t?.email?{email:t.email}:void 0),this.#Ca?.processQueue(),this.#rc()),this.#oc(i)}#Hl(e,t,n){u.info("User identified:",t),e&&e!==t&&this.#Fa.carryOver(e,t),this.#Ca&&this.#Ca.setUserId(t),this.#Ia&&this.#Ia.setUserId(t),this.#Ta?.setUserId(t),this.#m&&e&&this.#m.identifyUser(e,t,n?.email?{email:n.email}:void 0).catch(e=>{u.warn("Failed to identify user on backend (non-blocking)",e),this.#Wl("api_request",e)}),this.#Jl(t,n)}#Jl(e,t){if(!this.#S)return;const n="undefined"!=typeof window?window.location.hostname:"unknown";this.#S.track(function(e,t,n,i){return{name:"user_identified",distinctId:e,properties:{userId:t,appBundleId:n,...i&&{attributes:i}}}}(e,e,n,function(e){const t=function(e){if(!e||!("language"in e))return e;const{language:t,...n}=e;return Object.keys(n).length>0?n:void 0}(e);if(!t)return;const n=hd(ud(t));return Object.keys(n).length>0?n:void 0}(t)))}getCurrentUserId(){return this.#g}getAppAccountId(){return this.#g}reset(){this.#Kl()}#Kl(e,t=!0){if(this.#Zl()){if(u.info("Resetting SDK"),this.#f.clear(e),this.#Fa.clear(),this.#Ba.forget(),!e){!function(){try{if("undefined"==typeof window||!window.localStorage)return;const e=window.localStorage,t=[];for(let n=0;n<e.length;n++){const i=e.key(n);i?.startsWith("encore.trigger.")&&t.push(i)}for(const n of t)e.removeItem(n)}catch{}}();try{this.#Ya?.forgetTriggerMemory(),this.#Ha?.forgetAutoPops()}catch(e){u.warn("Encore.triggers: could not forget trigger state on reset",e)}}null!==this.#Al&&this.#f.set(Qc,this.#Al);for(const e of Array.from(this.#ka))e();this.#ka.clear(),ac=!1,this.#g=ne(),this.#Na=!1,this.#f.set(Gc,this.#g),this.#Oa={},this.#gl={},this.#$l={},this.#cl=void 0,this.#vl={},this.#xl=void 0,this.#kl=void 0,this.#bl=void 0,this.#yl=void 0,this.#Ul.clear(),this.#Cl={},this.#ll.clear(),this.#El=new Map,this.#Sl.clear(),this.#Tl=null,this.#Nl+=1,Se(),this.#Ca&&(e||this.#Ca.clearQueue(),this.#Ca.destroy(),this.#m&&this.#g&&(this.#Ca=new w(this.#f,this.#m,this.#g))),this.#g&&this.#Ta?.setUserId(this.#g,!e),this.#Ia&&(this.#Ia.clearCache(),this.#Ia.destroy(),this.#m&&this.#g&&(this.#Ia=new ie(this.#m,this.#g,this.#S??void 0))),this.#Sa?.isActive()&&this.#Sa.stop(),this.#ql(),this.#Ol?.(),this.#Ol=null,t&&this.#il(),u.debug("SDK reset complete",{newUserId:this.#g})}}getVersion(){return _e}get isClaimEnabled(){return this.#ti}set isClaimEnabled(e){this.#ti=e,u.debug("Claim enablement changed",{isClaimEnabled:e})}isConfigured(){return this.#$a.isConfigured()}getConfiguration(){return this.#$a.isConfigured()?{apiKey:this.#$a.getApiKey()??"",environment:this.#$a.getEnvironment()??"",baseURL:this.#$a.getBaseURL()??"",analyticsBaseURL:this.#$a.getAnalyticsBaseURL()??"",logLevel:this.#$a.getConfig()?.logLevel??"none"}:null}async getExperimentState(){return this.#$a.isConfigured()&&this.#Ea?this.#Ea.getState():null}setLogLevel(e){u.setLogLevel(e)}async revokeEntitlements(){if(!this.#Zl())return!1;if(!this.#m||!this.#g)return!1;try{return await this.#m.revokeEntitlements(this.#g)}catch(e){return u.error("Failed to revoke entitlements",e),!1}}setUserAttributes(e){if(!this.#Zl())return;if(!e||"object"!=typeof e)return void u.error("setUserAttributes() requires a valid UserAttributes object");const{language:t,...n}=e,i=ud(n);this.#Oa={...this.#Oa,...i,custom:{...this.#Oa.custom,...i.custom}},this.#f.set(Yc,Xc(this.#Oa)),u.debug("User attributes updated",this.#Oa);for(const e of this.#tl)e.refresh();try{this.#Xa?.refreshCustom()}catch(e){u.warn("Encore.claim: could not refresh after a targeting change",e)}this.#oc(t)}#oc(e){void 0!==e&&(this.#Ll||(this.#Ll=!0,u.deprecated("UserAttributes.language is deprecated and will be removed in the next major version. Call Encore.setLanguage(tag) instead; it is kept on this device until Encore.clearLanguage().")),this.#Zl()&&this.#sc(N(e),e))}setLanguage(e){this.#Zl()&&this.#sc(L(e),e)}#sc(e,t){null!==e?this.#Yl(e):u.ignored(`setLanguage() ignored ${"string"==typeof t?JSON.stringify(t):String(t)}: expected a language tag such as 'fr' or 'pt-BR'`)}clearLanguage(){this.#Zl()&&this.#Yl(null)}getUserAttributes(){return{...this.#Oa}}async show(e,t,n){const{result:i,...r}=await this.#ul(e,t,n);return this.#hl(i,r,t,n),i}async#ul(t,n,r,o,l,c){const d=o??ne(),h=(p=n?.useCase,a(p)?p:"reduceChurn");var p;if(this.#ac(d,h,r),!this.#Zl()){const n="notConfigured";return t?.onNotGranted?.(n),t?.onError?.({code:e.INITIALIZATION_ERROR,message:"SDK not configured"}),this.#lc("not_configured",d,h,r),{result:{status:"dismissed",reason:n},presentationId:d}}const f=function(t){return void 0===t||i.includes(t)?null:{code:e.INVALID_REQUEST,message:`useCase ${s(t)} is not a recognised Encore use case — nothing was presented. Supported values: ${i.map(e=>`'${e}'`).join(", ")}.`,details:{useCase:t}}}(n?.useCase);if(f){u.error(`[Encore SDK] Integration error: ${f.message}`),this.#Wl("configuration",new Error(f.message));const e={type:"error",error:f};return t?.onNotGranted?.(e),t?.onError?.(f),{result:{status:"dismissed",reason:e},presentationId:d}}if(this.#Ua){u.warn("show() called while already presenting, ignoring duplicate request");const e="alreadyPresenting";return t?.onNotGranted?.(e),this.#lc("already_presenting",d,h,r),{result:{status:"dismissed",reason:e},presentationId:d}}this.#Ua=!0;const m=this.#g;try{const e=await this.#cc(d,n,r,void 0!==o,l,c),i=e.result;if("claimed"===i.status&&this.#pl(i,h,r,m),"claimed"===i.status&&void 0===o)try{this.#Ya?.appSheetClaimed()}catch(e){u.warn("Encore.triggers: could not drop held pops after a claim",e)}return"claimed"===i.status?t?.onGranted?.(void 0):"dismissed"===i.status&&i.reason&&t?.onNotGranted?.(i.reason),e}catch(n){u.error("Error during show",n),this.#Wl("present_offer_initialization",n);const i={type:"error",error:{code:e.UNKNOWN_ERROR,message:n instanceof Error?n.message:"Unknown error"}};return t?.onError?.(i.error),t?.onNotGranted?.(i),{result:{status:"dismissed",reason:i},presentationId:d,override:{notPresentedReason:"error.unknown_error"}}}finally{this.#Ua=!1;for(const e of this.#Ra.splice(0))e()}}#ac(e,t,n){var i;this.#La&&this.#g&&this.#La.enqueue({name:"sdk_show_entered",distinctId:this.#g,properties:{layer:"web",presentationId:(i={presentationId:e,useCase:t,...void 0!==n&&{placementId:n}}).presentationId,use_case:r(i.useCase),...z(i.placementId)}},ne())}#lc(e,t,n,i,o){var s;this.#La&&this.#g&&this.#La.enqueue({name:"sdk_show_aborted",distinctId:this.#g,properties:{layer:"web",reason:(s={reason:e,presentationId:t,useCase:n,...void 0!==i&&{placementId:i},...void 0!==o&&{variantId:o}}).reason,presentationId:s.presentationId,use_case:r(s.useCase),...z(s.placementId),...void 0!==s.variantId&&{variantId:s.variantId}}},ne())}#hl(e,t,n,i){if(!this.#La||!this.#g)return;const o=t.presentationId,s={...void 0!==i&&{placementId:i},presentationId:o,useCase:r(n?.useCase??"reduceChurn"),unlockMode:this.#$a.getUnlockMode(),...void 0!==t.variantId&&{variantId:t.variantId},...Ut(e,t.override)};this.#La.enqueue(function(e,t){const{placementId:n,...i}=t,r=S(n);return{name:"sdk_placement_resolved",distinctId:e,properties:{...i,...r&&{placementId:r}}}}(this.#g,s),o)}async presentOffer(e,t){const n=await this.show(e,t);switch(n.status){case"unavailable":return{granted:!1,reason:"noOffersAvailable"};case"dismissed":return{granted:!1,...n.reason&&{reason:n.reason}};case"claimed":return{granted:!0}}}async redeem(t){if(!this.#Zl())return{status:"dismissed",reason:{type:"error",error:{code:e.INITIALIZATION_ERROR,message:"SDK not configured"}}};const n=this.#dc(t?.placement);if(n&&"rewardUsers"!==n.transaction.useCase&&!t?.host?.name&&await this.#uc(),!n)return u.info("redeem(): nothing pending to redeem"),{status:"unavailable"};const{transaction:i,store:r}=n;let o=null;try{this.#Ma||(An({}),this.#Ma=!0),o=new Rn;const n=o;return await new Promise(o=>{let s=!1;const a=e=>{s||(s=!0,o(e))};n.on("close",()=>a({status:"dismissed"})),n.on("backdropClick",()=>{n.hide(),a({status:"dismissed"})}),n.on("hide",()=>a({status:"dismissed"})),n.show(),this.#hc(n,i,t?.host,()=>{const t=this.#pc(),o=this.#Sl.has(i.id)?this.#Sl.get(i.id):this.#ec(i.useCase),s=i.useCase??"reduceChurn";if(this.#ol(e=>ee(e,{...o&&{variantId:o},actionType:"claimOffer",presentationId:i.id,currentState:"redemption",useCase:s})),!this.#fc(i.offer,i.id,s,t,{campaignId:i.offer.campaignId,...i.offer.advertiserName&&{advertiserName:i.offer.advertiserName},...o&&{variantId:o},useCase:s}))return a({status:"dismissed",reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:"The advertiser could not be opened (the browser blocked the popup). The claim is still pending — call redeem() again from a user gesture."}}}),void n.hide();r.markRedeemed(i.id),a({status:"redeemed"}),n.hide()})})}catch(t){return u.error("Error during redeem",t),this.#Wl("present_offer_initialization",t),{status:"dismissed",reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:t instanceof Error?t.message:"Unknown error"}}}}finally{o?.destroy()}}getPendingTransaction(e){return this.#Zl()?this.#dc(e)?.transaction??null:null}isActive(e,t){return u.error("isActive() has been removed. Entitlement validation must be done server-side. See: https://docs.encorekit.com/server-side-validation"),!1}didGrant(e,t){this.#Zl()&&(this.#Ca?t&&"string"==typeof t?this.#Ca.sendGrantSignal(t,e):u.error("didGrant() requires a valid transaction ID"):u.error("SignalManager not initialized"))}async waitForVerification(e,t){if(!this.#Zl())return u.error("SDK not configured"),"failed";if(!this.#m)return u.error("API client not initialized"),"failed";if(!e)return u.error("waitForVerification() requires a transaction ID"),"failed";try{u.debug("Starting verification wait",{transactionId:e,timeout:t});const n={transactionId:e};void 0!==t&&(n.timeout=t);const i=new ae(this.#m,n);return await i.poll()}catch(t){return u.error("Error during verification wait",{transactionId:e,error:t}),"failed"}}on(e,t){return u.error("on() event listener has been removed. Entitlement validation must be done server-side. See: https://docs.encorekit.com/server-side-validation"),()=>{}}observeEntitlement(e,t){return u.error("observeEntitlement() has been removed. Entitlement validation must be done server-side. See: https://docs.encorekit.com/server-side-validation"),{subscribe:e=>()=>{}}}onStrictUnlockVerified(e){return this.#Ze.on("strictUnlockVerified",e)}placement(e,t){let n,i,r;return"string"==typeof e?(n=e,i=e,r=t):(n=`placement_${ne().slice(0,8)}`,r=e),new de(n,async e=>this.show(void 0,e,i),r,async()=>this.redeem(i?{placement:i}:void 0))}#Wl(t,n){if(!this.#m)return;const i=n instanceof Error?n.message:String(n),r=n instanceof Error?n.stack:void 0,o=se(n),s=function(t){if("object"!=typeof t||null===t)return{};const n=t,i=oe(n,"code"),r=n.statusCode;return{...i&&i!==String(e.API_ERROR)?{serverCode:i}:{},..."number"==typeof r?{statusCode:String(r)}:{}}}(n);this.#m.reportError({errorType:o,message:i,context:t,severity:"error",...r&&{stackTrace:r},...this.#g&&{userId:this.#g},...Object.keys(s).length>0&&{metadata:s}}).catch(()=>{}),this.#S&&this.#g&&this.#S.track(function(e,t,n,i){return{name:"sdk_error",distinctId:e,properties:{errorType:t,errorDescription:n,...i&&{context:i}}}}(this.#g,o,i,t))}async#mc(e,t,n,i){if("reduceChurn"!==t)return null;const r=this.#Ea?await this.#Ea.getCohort():"notEnrolled";return this.#Ea?.logExposure(r),"control"!==r?null:(this.#S&&this.#g&&this.#S.track(G(this.#g,"experiment_control",e,i.variantId,t,n,i.experimentId)),this.#lc("experiment_control",e,t,n,i.variantId),u.debug("NCL control cohort — ghost trigger, no UI shown"),{result:{status:"unavailable"},override:{notPresentedReason:"experiment_control"}})}#cl;#gc(e){Ie(e.locale,e.ui?.values);const t=e.ui?.useCase&&e.ui.useCase!==r("reduceChurn")?void 0:e.ui;if(t){if(t.values?.text){const e=t.values.text;this.#gl={...e},u.debug("Remote config loaded",e)}}else this.#gl={};this.#bl=t?.variantId??void 0,this.#yl=nd(t)?id(t):void 0,this.#xl=t?.values,this.#kl=t?.template??void 0,this.#vl={...e.ui?.values?.text?.appName&&{appName:e.ui.values.text.appName},...e.ui?.values?.media?.appstoreIcon&&{appIconUrl:e.ui.values.media.appstoreIcon},...e.entitlements?.native&&{entitlementValue:e.entitlements.native.value,entitlementUnit:e.entitlements.native.unit,trialDurationDays:e.entitlements.native.durationDays},...e.entitlements?.iap?.premiumTierName&&{premiumTierName:e.entitlements.iap.premiumTierName}};const n=e.useCases??{},i={};for(const[e,t]of Object.entries(n)){const n=o(e);n&&(i[n]=t)}const s={};for(const e of Object.keys(this.#Cl)){const t=this.#$l[e];t&&(s[e]=t)}this.#$l={...i,...s},this.#Ea?.setConfig(e.experiments?.ncl);const a=e.ruledPlacements;this.#cl=Array.isArray(a)?new Set(a.flatMap(e=>{const t="string"==typeof e?S(e):void 0;return t?[t]:[]})):void 0}#bc(e){if(this.#ll.has(e))return null;const t=this.#$l[e];return t&&nd(t)?{variantId:t.variantId??void 0,experimentId:id(t),variantName:t.variantName??null,...t.template?{template:t.template}:{},values:t.values}:null}async#al(e,t){this.#Tl||this.#Vl();const n=Date.now()+2500,i=this.#yc(e,t);await this.#uc();let r=i?await this.#vc(i,n):null;return r??=this.#bc(e),r||(await this.#wc(e),r=this.#bc(e)),this.#ic(e,r?.variantName??null),r}#wc(e){const t=this.#Cl[e];if(t)return t;if(!this.#m||!this.#g)return Promise.resolve();this.#xc(e);const n=this.#g,i=this.#rl(),o=this.#Nl,s=this.#m.fetchConfig(n,_e,e,this.#ze??void 0,void 0,i).then(t=>{if(this.#g!==n||this.#Nl!==o)return void(this.#Cl[e]===s&&delete this.#Cl[e]);Ie(t.locale,t.ui?.values);const i=t.ui,a=i?.useCase===r(e),l=i?.values;if(a&&nd({values:l})){this.#ll.delete(e);const t=id(i);this.#$l[e]={variantId:i.variantId??null,...t&&{experimentId:t},variantName:i.variantName??null,template:i.template??null,values:l}}else this.#ll.add(e),delete this.#$l[e]}).catch(t=>{u.warn(`Failed to fetch config for use case '${e}' (non-blocking)`,t),this.#Cl[e]===s&&delete this.#Cl[e]});return this.#Cl[e]=s,s}#yc(e,t){if("rewardUsers"!==e||!this.#$a.getResolveVariantsByPlacement())return null;const n=S(t);if(!n||!this.#m||!this.#g)return null;const i=function(e,t,n){return JSON.stringify([e,t,n])}(this.#g,e,n),o=this.#El.get(i);if(o)return o.task;const s=this.#El,a=this.#g,l={task:this.#m.fetchConfig(a,_e,e,this.#ze??void 0,n,this.#rl()).then(t=>{if(this.#g!==a||this.#El!==s)return s.get(i)===l&&s.delete(i),null;Ie(t.locale,t.ui?.values);const n=t.ui,o=n?.useCase===r(e)&&nd({values:n.values});return l.value=o?{variantId:n.variantId??void 0,experimentId:id(n),variantName:n.variantName??null,...n.template?{template:n.template}:{},values:n.values,fromPlacement:!0}:null,l.value}).catch(e=>(u.warn(`Failed to resolve the variant for placement '${n}' (non-blocking); presenting the prefetched variant`,e),s.get(i)===l&&s.delete(i),null))};return s.set(i,l),l.task}async#vc(e,t){let n;const i=await Promise.race([e,new Promise(e=>{n=setTimeout(()=>e(null),Math.max(0,t-Date.now()))})]);return clearTimeout(n),i}#xc(e){this.#Il.has(e)||(this.#Il.add(e),u.warn(`[INTEGRATION] Use case '${e}' was not prefetched, so it is being fetched on demand — this first presentation will be slower, then it is cached. Nothing has failed. To make it instant, ask Encore to enable '${e}' for this app.`))}#ec(e){return e&&"reduceChurn"!==e?this.#bc(e)?.variantId:this.#bl}#kc(e,t){u.warn(`SDUI variant cannot render on web: ${t}`);const n=`${e??"unknown"}:${t}`;this.#wl.has(n)||(this.#wl.add(n),this.#Wl("configuration",new Error(`SDUI variant ${e??"(no id)"} cannot render on web: ${t}`)))}#$c(e){const t=e.template;if(!t)return;const n=e.variantId,i=function(e,t=document){return"light"===e||"dark"===e?e:function(e){const t=e.querySelector('meta[name="color-scheme"]')?.content,n=e.defaultView;return[t,e.documentElement.style.colorScheme,n?.getComputedStyle(e.documentElement).colorScheme,e.body?n?.getComputedStyle(e.body).colorScheme:void 0].some(e=>(e??"").toLowerCase().split(/\s+/).includes("dark"))}(t)&&function(e){try{return!0===e.defaultView?.matchMedia("(prefers-color-scheme: dark)").matches}catch{return!1}}(t)?"dark":"light"}(e.values?.appearance?.mode),r=function(e){const t={};for(const[n,i]of Object.entries(e.text??{}))"string"==typeof i&&(t[n]=i);const n={...t};for(const[e,i]of Object.entries(Wc))void 0!==t[e]&&(n[i]=t[e]);for(const t of["accentColor","accentTitleColor"]){const i=e.appearance?.[t];"string"==typeof i&&(n[t]=i)}const i=t.customHeadline??t.title;void 0!==i&&(n.customHeadline=i);const r=t.customSubheadline??t.subtitle;void 0!==r&&(n.customSubheadline=r);const{entitlementValue:o,entitlementUnit:s}=e.host;return o&&(n.trialValue=o),s&&(n.trialUnit=function(e,t){const n=e.trim().toLowerCase().replace(/s$/,"");if(!["day","week","month","year"].includes(n))return e;const i=t?.trim()??"";return/^[+-]?\d+$/.test(i)?function(e,t){const n=we[e];return n&&"object"==typeof n?Ae(e,t,n):void 0}(`unitName.${n}`,Number(i))??e:e}(s,o)),e.host.premiumTierName?n.premiumTierName=e.host.premiumTierName:e.host.appName&&(n.premiumTierName=Te("premiumTier.name","${appName} Premium",{appName:e.host.appName})),e.headline&&(n[e.churn?"customHeadline":"rewardHeadline"]=e.headline),e.subheadline&&(n[e.churn?"customSubheadline":"rewardSubheadline"]=e.subheadline),n}({text:e.values?.text,appearance:e.values?.appearance,host:this.#vl,churn:"rewardUsers"!==e.useCase,headline:E(e.headline),subheadline:E(e.subheadline)}),o=E(this.#Cc().logoUrl,e.values?.media?.appstoreIcon??void 0);o&&(r.appIconUrl=o);const s=Js.create(e.offers,{template:t,color:na({...e.appearance?.accentColor&&{accent:e.appearance.accentColor},...e.appearance?.backgroundColor&&{background:e.appearance.backgroundColor},...e.appearance?.textColor&&{text:e.appearance.textColor},serverAccent:e.values?.appearance?.accentColor,serverAccentTitle:e.values?.appearance?.accentTitleColor,scheme:i}),scheme:i,variables:r,claimEnabled:this.#ti,impressions:e.impressions,analytics:t=>{const i={...n&&{variantId:n},presentationId:e.presentationId,...e.useCase&&{useCase:e.useCase},...e.placementId&&{placementId:e.placementId}};this.#ol(e=>"stateTransition"===t.kind?function(e,t){return{name:"sdk_sdui_state_transition",distinctId:e,properties:{...t.variantId&&{variantId:t.variantId},fromState:t.fromState,toState:t.toState,timeInPreviousStateMs:t.timeInPreviousStateMs,presentationId:t.presentationId,...F(t.useCase),...z(t.placementId)}}}(e,{...i,fromState:t.fromState,toState:t.toState,timeInPreviousStateMs:t.timeInPreviousStateMs}):"valueSet"===t.kind?function(e,t){return{name:"sdk_sdui_value_set",distinctId:e,properties:{...t.variantId&&{variantId:t.variantId},key:t.key,value:t.value,presentationId:t.presentationId,...F(t.useCase),...z(t.placementId)}}}(e,{...i,key:t.key,value:t.value}):ee(e,{...i,actionType:t.actionType,currentState:t.currentState}))}});if(s)return u.debug("Rendering the served SDUI variant"),s;u.warn("SDUI variant cannot render on web; using the built-in surface")}#Vl(){if(!this.#m||!this.#g)return;const e=Date.now(),t=this.#g,n=this.#rl(),i=this.#Nl,r=this.#m.fetchConfig(t,_e,void 0,this.#ze??void 0,void 0,n).then(n=>{this.#g===t&&this.#Nl===i?(this.#gc(n),this.#Ic("remote",Date.now()-e,n.ui?.variantId??void 0)):this.#Tl===r&&(this.#Tl=null)}).catch(t=>{u.warn("Failed to fetch remote config (non-blocking)",t),this.#Wl("configuration",t),this.#Tl===r&&(this.#Ic("fallback",Date.now()-e),this.#Tl=null)});this.#Tl=r}#Ic(e,t,n=this.#bl){var i;this.#S&&this.#g&&this.#S.track({name:"sdk_sdui_config_loaded",distinctId:this.#g,properties:{...(i={...n&&{variantId:n},loadSource:e,loadDurationMs:t}).variantId&&{variantId:i.variantId},loadSource:i.loadSource,loadDurationMs:i.loadDurationMs,...i.presentationId&&{presentationId:i.presentationId}}})}async#uc(){if(!this.#Tl)return;let e;await Promise.race([this.#Tl,new Promise(t=>{e=setTimeout(t,2500)})]),clearTimeout(e)}async#cc(t,n,i,r=!1,o,s){const a=n?.useCase??"reduceChurn";let l=null;if("reduceChurn"!==a&&(l=await this.#al(a,i),!l))return u.info(`[Encore SDK] No template for use case '${a}' on this app — no-op`),this.#S&&this.#g&&this.#S.track(G(this.#g,"no_template",t,void 0,a,i)),{result:{status:"unavailable"},presentationId:t,override:{notPresentedReason:"use_case_unavailable"}};if(!this.#Ia||!this.#m)return u.error("Managers not initialized"),{result:{status:"dismissed",reason:{type:"error",error:{code:e.INITIALIZATION_ERROR,message:"Managers not initialized"}}},presentationId:t};const c={title:E(n?.headline),subtitle:E(n?.subheadline)},{variantId:d,experimentId:h}=l??{variantId:this.#bl,experimentId:this.#yl},p="reduceChurn"===a?this.#kl:l?.template,f="rewardUsers"===a&&(null!==dl(l?.variantName)||ul(l?.variantName)),m=p&&!f?function(e){try{const t=to(e).presentation;Ls(t.initialValues,"initialValues"),Ns(t.textMaps),Os(t.offerDisplayOrder,"offerDisplayOrder"),null!=t.initialSelection&&As(t.initialSelection,1)}catch(e){return e instanceof Error?e.message:String(e)}const t=lo(e);return t?`needs "${t}", which web cannot run`:void 0}(p):void 0;m&&this.#kc(d,m);const g=m?void 0:h;this.#S&&this.#g&&this.#S.track(function(e,t,n,i,r,o){return{name:"sdk_offer_presentation_triggered",distinctId:e,properties:{presentationId:t,...n&&{variantId:n},...o&&{experimentId:o},...F(i),...z(r)}}}(this.#g,t,d,a,i,g));const b=await this.#mc(t,a,i,{variantId:d,experimentId:g});if(b)return{...b,presentationId:t,...void 0!==d&&{variantId:d}};const y=[],v=()=>{for(const e of y.splice(0))try{e()}catch{}};try{const h=n?.appearance,p={...h?.accentColor&&{primaryColor:h.accentColor},...h?.backgroundColor&&{backgroundColor:h.backgroundColor},...h?.textColor&&{textColor:h.textColor}};this.#Ma?h&&function(e){const t=document.documentElement,n=In(e);n.primaryColor&&t.style.setProperty("--encore-primary-color",n.primaryColor),n.backgroundColor&&t.style.setProperty("--encore-bg-color",n.backgroundColor),n.textColor&&t.style.setProperty("--encore-text-color",n.textColor),n.borderRadius&&t.style.setProperty("--encore-border-radius",n.borderRadius),n.fontFamily&&t.style.setProperty("--encore-font-family",n.fontFamily),u.debug("Theme variables updated",n)}(p):(An(p),this.#Ma=!0),u.debug("Fetching offers");const f="strict"===this.#$a.getUnlockMode(),b="reduceChurn"===a,w=this.#Ia,x=async e=>{b&&!this.#Tl&&this.#Vl();const t=e&&!b?this.#al(a,i):void 0,n=S(i),o=n&&this.#cl?.has(n)?n:void 0,[{offers:s}]=await Promise.all([w.fetchOffers(this.#dl(),!0,i,f?15e3:void 0,{...d&&this.#$a.getFilterOffersByVariant()&&{variantId:d},...a&&{useCase:a},...o&&{ruledPlacementId:o},...r&&{fromTrigger:!0}}),b?this.#uc():t]);return t&&(l=await t??l),s},k=this.#Nl,$=this.#g;let C=await x(!1);this.#Nl===k&&this.#g===$||(u.debug("Language or user changed while fetching offers; fetching again"),C=await x(!0));const I="rewardUsers"===a?dl(l?.variantName):null,T=null!==I||"rewardUsers"===a&&ul(l?.variantName);if(s&&!s())return u.debug("Trigger sheet no longer wanted; not shown"),{result:{status:"unavailable"},presentationId:t,aborted:!0};if(0===C.length)return u.info("No offers available"),this.#S&&this.#g&&this.#S.track(G(this.#g,"no_offer_available",t,d,a,i,g)),{result:{status:"unavailable"},presentationId:t,...void 0!==d&&{variantId:d},override:{notPresentedReason:"no_offer_available"}};const A={...this.#gl,...c.title&&{titleText:c.title,customHeadline:c.title},...c.subtitle&&{subtitleText:c.subtitle,customSubheadline:c.subtitle}};this.#Ia.beginPresentation(d,a,i,t,g);const L=new Map;C.forEach(e=>{L.set(e.id,ne())});const N=e=>{let t=L.get(e);return t||(t=ne(),L.set(e,t)),t};this.#S&&this.#g&&this.#S.track(function(e,t,n,i,r,o,s){return{name:"sdk_offer_presentation_success",distinctId:e,properties:{presentationId:t,offerCount:n,...i&&{variantId:i},...s&&{experimentId:s},...F(r),...z(o)}}}(this.#g,t,C.length,d,a,i,g));const R=(e,n)=>({campaignId:e.campaignId,...e.creativeId&&{creativeId:e.creativeId},...null!=e.merchantName&&{advertiserName:e.merchantName},impressionId:N(e.id),offerIndex:n,totalOffers:C.length,presentationId:t,...d&&{variantId:d},...a&&{useCase:a},...i&&{placementId:i}}),P=new js;y.push(()=>P.destroy());const B=b?this.#kl:l?.template,D=b?this.#xl:l?.values;let j=!1;const H=T?void 0:this.#$c({offers:C,impressions:P,template:B,values:D,useCase:a,placementId:i,presentationId:t,appearance:n?.appearance,headline:n?.headline,subheadline:n?.subheadline,variantId:d});T||!B||H||m||this.#kc(d,"it passed its checks but failed to mount");const _=I,V=()=>{const e=this.#Cc(),t=E(e.logoUrl,l?.values?.media?.appstoreIcon??void 0),n=E(e.appDisplayName,l?.values?.text?.appName??void 0);return{...t&&{hostIconUrl:t},...n&&{hostName:n}}};let q=null,W=null;switch(_){case"giftReveal":q={kind:_,surface:new Sl(C,{impressions:P,claimEnabled:this.#ti,trustText:ol.trustUnknown})};break;case"giftList":{const{hostIconUrl:e,hostName:t}=V();q={kind:_,surface:new Fl(C,{impressions:P,claimEnabled:this.#ti,...e&&{hostIconUrl:e},...t&&{hostName:t}})};break}case"giftUnwrap":case"shareFromHeader":case"shareForLater":{const e="shareFromHeader"===_?"header":"shareForLater"===_?"forLater":null;q={kind:"giftUnwrap",share:e,surface:new Yl(C,{impressions:P,claimEnabled:this.#ti,...h?.claimButton&&{claimSlot:h.claimButton},...e&&{share:e}})};break}case"giftPicker":case"codeUnlock":{const e=V();if(q={kind:"giftPicker",surface:new Nl(C,{impressions:P,claimEnabled:this.#ti,trustText:ol.trustUnknown,...e})},"codeUnlock"===_)try{const t=n?.unlockCode,i=n?.unlockValueLabel,r=n?.unlockCardImageUrl,o=n?.unlockCardImageAlt;W=new pc({..."string"==typeof t&&{initialCode:t},..."string"==typeof i&&{valueLabel:i},..."string"==typeof r&&{cardImageUrl:r},..."string"==typeof o&&{cardImageAlt:o},...h?.codeUnlock&&{appearance:h.codeUnlock},offers:C,...e.hostName&&{hostName:e.hostName},...e.hostIconUrl&&{hostIconUrl:e.hostIconUrl},onUnlock:()=>P.recheck()})}catch(e){u.warn("Code unlock screen unavailable; showing the gift picker",e)}break}}const K="giftReveal"===q?.kind&&q.surface.hasMoreGifts(),ie="giftPicker"===q?.kind&&q.surface.hasMoreGifts(),re="giftUnwrap"===q?.kind?q.share:null,oe="giftUnwrap"===q?.kind&&"forLater"===q.share?q.surface:null,se=e=>{if(!oe||oe.isKeepForLaterOpen())return!1;const n=document.activeElement,r=n instanceof HTMLElement&&n!==document.body?n:ae.getCloseButton()??void 0;return!!oe.openKeepForLater(r)&&("close"!==e||this.#ol(e=>ee(e,{...d&&{variantId:d},actionType:"setState",presentationId:t,currentState:"carousel",useCase:a,...i&&{placementId:i}})),!0)},ae=new Rn({},{...H?{sdui:!0}:{},...H&&{sheet:{detents:()=>j?null:function(e,t){if("object"!=typeof e||null===e)return null;const n=e;if("fullScreenCover"===n.presentationStyle)return null;const i=n.stateDetents,r=(i&&"object"==typeof i?Mn(i[t]):void 0)??Mn(n.presentationDetents)??[...On],o=[...new Set(r)].sort((e,t)=>e-t);return 0===o.length||o.every(e=>e>=1)?null:o}(B,H.currentState??""),...md(B)}},showCloseButton:!H&&("rewardUsers"!==a||K||ie||"giftList"===q?.kind||"giftUnwrap"===q?.kind||null!==W),...!1===n?.dismissible&&{dismissible:!1},..."header"===re&&{closePosition:"start"},...oe&&{interceptDismiss:se},...h?.modalBackgroundColor&&{backgroundColor:h.modalBackgroundColor},...this.#ml&&{mount:this.#ml.mount}}),le={rewardActions:null,confetti:null},ce=H??q?.surface??new Ua(C,A,"rewardUsers"===a?{impressions:P,mode:"paged",hideHeader:!0,selectable:!0,claimEnabled:this.#ti,...h?.dotColor&&{dotColor:h.dotColor},...h?.dotActiveColor&&{dotActiveColor:h.dotActiveColor}}:{impressions:P,claimEnabled:this.#ti});if(ae.onVisibilityChange(e=>P.setContainerVisible(e)),y.push(()=>ae.destroy()),y.push(()=>ce.destroy()),y.push(()=>le.rewardActions?.destroy()),y.push(()=>le.confetti?.destroy()),y.push(()=>W?.destroy()),this.#ti&&!this.#ml){const e=new ll;y.push(()=>e.destroy()),ce.on("offerSelect",t=>e.point(t.offer.advertiserUrl))}const de=await new Promise(r=>{let s=!1,p=null,f=null,m=!1;const g=(e,n)=>{if(s)return;p?.inFlight()&&p.cancel(),s=!0;const i=n??(!n&&m&&"dismissed"===e.status?{advertiserOutcome:"failed"}:void 0);"claimed"===e.status&&this.#Ia?.endPresentation(void 0,a),r({result:e,presentationId:t,...void 0!==d&&{variantId:d},...i&&{override:i}})};this.#ml&&(this.#ml.end=()=>{g({status:"dismissed",reason:"userClosedModal"}),ae.destroy(),v()});let b=null,w="carousel";ce.on("offerClaim",n=>{if(this.#ml)return;if(f&&!p?.abandoned()||p?.inFlight())return void u.debug("Claim tap ignored: a claim is already in flight");const r=Symbol("claim"),o=n.offer;u.debug("User claimed offer",{offerId:o.id});const s=R(o,n.index);this.#Ia?.trackOfferPresented(o,N(o.id),n.index,C.length,a,"claim",Jt(o)),this.#ol(e=>function(e,t){return{name:"sdk_offer_claim_tapped",distinctId:e,properties:Z(t)}}(e,s)),H||this.#ol(e=>ee(e,{...d&&{variantId:d},actionType:"claimOffer",presentationId:t,currentState:"carousel",useCase:a,...i&&{placementId:i}}));const c=this.#Ec(a,l?.fromPlacement?l.values:void 0),h=ue(c)?null:this.#pc(),v=!ue(c)&&"rewardUsers"===a&&(x=l?.variantName,"string"==typeof x&&hl.has(x))?this.#Sc(h,o,{onAbandon:()=>{m=!0,this.#ol(e=>Y(e,s,{reason:O,errorDescription:"claim screen closed before the transaction returned"}))},onCover:e=>P.setContainerVisible(!e),sheet:$.closest(`.${Ln("modal")}`)}):null;var x;v&&(p=v,y.push(()=>v.cancel())),f=r,(async()=>{try{const e=N(o.id),t=n.index,r=await this.#Tc(o,e,t,C.length,a,v?()=>v.abandoned():void 0);if(v?.abandoned())return void this.#Ac(h);const p=this.#Lc(o,r);if(b=p,ae.unlockClose(),ue(c)){const e=this.#Nc(c,o,r,a,i,o.perk);return l?.fromPlacement&&this.#Sl.set(e.id,d),this.#Ia?.endPresentation(void 0,a),w="primer",re&&ae.setCloseButtonHidden(!1),this.#Oc(ae,e,()=>{g(p),ae.hide()}),void(H&&(j=!0,ae.refreshSheet()))}if(this.#fc(o,r,a,h,s)?v?.handedOff():v&&(this.#Ac(h),v.remove()),H&&n.successState)return u.debug("Post-claim state authored; keeping the sheet up",{state:n.successState}),void H.applyTransition(n.successState);this.#Ia?.endPresentation(void 0,a),ae.hide(),g(p)}catch(t){if(v?.abandoned())return void this.#Ac(h);const n=!b&&te(t);n?u.info("Claim refused: offer already completed",{offerId:o.id}):(u.error("Error creating transaction",{offerId:o.id,error:t}),this.#Wl("start_transaction",t)),b||this.#ol(e=>Y(e,s,{reason:this.#Ia?O:"manager_unavailable",errorDescription:t instanceof Error?t.message:"Transaction failed"})),this.#Ac(h),v?.remove(),this.#Ia?.endPresentation("error",a),ae.hide(),b?g(b):g(n?{status:"dismissed",reason:"alreadyCompleted"}:{status:"dismissed",reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:t instanceof Error?t.message:"Transaction failed"}}},{advertiserOutcome:"failed",dismissal:"interrupted"})}finally{f===r&&(f=null)}})()}),ce.on("complete",e=>{e.claimed||this.#ml||(u.debug("User declined last offer"),this.#Ia?.endPresentation("userDeclinedLastOffer",a),ce.destroy(),ae.hide(),g({status:"dismissed",reason:"userDeclinedLastOffer"}))});const x=(e=!0)=>{if(e&&this.#ol(e=>ee(e,{...d&&{variantId:d},actionType:"close",presentationId:t,currentState:H&&!j?H.currentState??w:w,useCase:a,...i&&{placementId:i}})),b)return ce.destroy(),void g(b);u.debug("User closed modal"),this.#Ia?.endPresentation("userClosedModal",a),ce.destroy(),g({status:"dismissed",reason:"userClosedModal"})};if(ae.on("close",()=>x()),H?.onRequestClose(()=>{!1!==n?.dismissible||b?(x(!1),ae.hide()):u.debug("Close request ignored: the presentation is not dismissible")}),H?.onShare(e=>{const t=R(e.offer,e.index);this.#ol(n=>{switch(e.kind){case"tapped":return X(n,t);case"failed":return Q(n,t,{reason:e.reason});case"completed":return J(n,t,{completed:e.completed,...e.destination&&{shareDestination:e.destination}})}})}),ae.on("backdropClick",()=>{if(b)return ce.destroy(),ae.hide(),void g(b);u.debug("User clicked outside modal"),this.#Ia?.endPresentation("userClickedOutside",a),ce.destroy(),ae.hide(),g({status:"dismissed",reason:"userClickedOutside"})}),"giftUnwrap"===q?.kind&&q.share){const e=q.surface,n="forLater"===q.share,r=Fs({tapped:e=>this.#ol(t=>X(t,e)),failed:(e,t)=>this.#ol(n=>Q(n,e,{reason:t})),completed:(e,t,n)=>this.#ol(i=>J(i,e,{...t&&{shareDestination:t},completed:n}))}),o=()=>{if(!s){if(b)return ce.destroy(),g(b),void ae.hide();this.#Ia?.endPresentation("userClosedModal",a),ce.destroy(),g({status:"dismissed",reason:"userClosedModal"}),ae.hide()}};let l=null;y.push(()=>{null!==l&&clearTimeout(l)}),e.onShareEvent("offerShare",({offer:s,index:c})=>{if(this.#ml)return;const u=r.run(s.shareUrl,R(s,c));u&&(this.#ol(e=>ee(e,{...d&&{variantId:d},actionType:"share",presentationId:t,currentState:w,useCase:a,...i&&{placementId:i}})),u.then(t=>{if("failed"===t.status&&t.reason===M&&e.showShareNotice(Bl.unavailable),"shared"!==t.status)return;const i=t.destination===U;i&&e.showShareNotice(Bl.copied),n&&(r.lock(),i?(e.lockKeepForLater(),l=setTimeout(o,1500)):o())}))}),e.onShareEvent("closeRequest",()=>{x(),ae.hide()})}if(ce.on("offerView",e=>{const{offer:t}=e,n=N(t.id);this.#Ia&&this.#Ia.trackOfferPresented(t,n,e.index,C.length,a,void 0,Jt(t))}),ce.on("scroll",e=>{this.#ol(n=>function(e,t){return{name:"sdk_sdui_scroll",distinctId:e,properties:{...t.variantId&&{variantId:t.variantId},scrollAxis:t.scrollAxis,scrollPosition:t.scrollPosition,presentationId:t.presentationId,...F(t.useCase),...z(t.placementId)}}}(n,{...d&&{variantId:d},scrollAxis:e.axis,scrollPosition:e.position,presentationId:t,useCase:a,...i&&{placementId:i}}))}),ae.on("hide",()=>{g(b||{status:"dismissed",reason:"userClosedModal"})}),"rewardUsers"===a){const e=C[0]?.termsUrl,t="giftList"===q?.kind||"giftUnwrap"===q?.kind?Ol({...e&&{termsUrl:e}}):"giftPicker"===q?.kind?Ol({template:da.pickerTermsLine,linkText:da.pickerTermsLink,...e&&{termsUrl:e}}):null,i=new al({onClaim:()=>"giftUnwrap"===q?.kind?q.surface.showReady():ce.claimSelected(),onDecline:()=>{this.#ml||(x(),ae.hide())},claimEnabled:this.#ti,useCase:a,..."giftReveal"===q?.kind&&{...C[0]&&{primaryLabel:ma(C[0])},termsText:da.terms},..."giftList"===q?.kind&&{...C[0]&&{primaryLabel:ma(C[0])},showTrust:!1,...t&&{termsElement:t}},..."giftPicker"===q?.kind&&{...C[0]&&{primaryLabel:ma(C[0],"Get")},showTrust:!1,...t&&{termsElement:t}},..."giftUnwrap"===q?.kind&&{primaryLabel:zl.continue,showTrust:!1,...t&&{termsElement:t}},..."giftList"===q?.kind||"giftUnwrap"===q?.kind?{secondary:"none"}:"giftPicker"===q?.kind?ie||!1===n?.dismissible?{secondary:"none"}:{}:"giftReveal"===q?.kind?K?{secondary:"more",onMore:()=>q.surface.openSheet(i.getSecondaryElement())}:!1===n?.dismissible?{secondary:"none"}:{}:!1===n?.dismissible?{secondary:ce.getTotalOffers()>1?"next":"none",onNext:()=>ce.getCurrentIndex()>=ce.getTotalOffers()-1?ce.selectOffer(0):ce.next()}:{},...h?.claimButton&&"giftUnwrap"!==q?.kind&&{claimSlot:h.claimButton},...h?.declineButton&&{declineSlot:h.declineButton}});le.rewardActions=i,ce.on("offerSelect",e=>{"giftUnwrap"!==q?.kind&&i.setSelectedOffer(e.offer.merchantName),i.setTrustText(Na(e.offer)?"giftReveal"===q?.kind?da.finePrint:ol.trust:ol.trustUnknown),"giftReveal"!==q?.kind&&"giftList"!==q?.kind||i.setPrimaryLabel(ma(e.offer)),"giftPicker"===q?.kind&&i.setPrimaryLabel(ma(e.offer,"Get")),t&&Ml(t,e.offer.termsUrl)})}ae.show();try{o?.()}catch(e){u.warn("Encore.triggers: onPresented failed",e)}const k=W?void 0:"giftReveal"===q?.kind||"giftList"===q?.kind||"giftUnwrap"===q?.kind||"giftPicker"===q?.kind?q.surface.renderHero():void 0,$=ce.render();let I;if("rewardUsers"===a&&l&&!H){const e=l.values?.text,t=E(Ja(h?.headline),c.title,W?void 0:e?.rewardHeadline)??(W?dc.offersHeadline:q?da.headline:Jc.headline),i=E(Ja(h?.subheadline),c.subtitle,W?void 0:e?.rewardSubheadline)??(W?dc.offersSubline:q?da.subline:Jc.subheadline),r=()=>function(e,t={}){const{title:n,subtitle:i,statusIcon:r="none",actions:o,headlineSlot:s,subheadlineSlot:a,hero:l,giftMode:c=!1,rootModifier:d,emphasizeFree:h=c,useCase:p="rewardUsers"}=t,f=document.createElement("div");f.className=`${Ln("thankyou")} ${Ln("thankyou--reward")}${c?` ${Ln("thankyou--gift")}`:""}${d?` ${Ln(`thankyou--${d}`)}`:""}`,l&&f.appendChild(l);const m=document.createElement("div");if(m.className=Ln("thankyou-status"),"success"===r){const e=document.createElement("span");e.className=Ln("thankyou-check"),e.setAttribute("aria-hidden","true"),e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12.5l4.5 4.5L19 7.5" /></svg>',m.appendChild(e)}if(n){const e=document.createElement("h2");e.className=Ln("thankyou-title"),e.id=rl,e.textContent=n;const t=Qa(e,n,p,s);h&&t===e&&0===t.childElementCount&&xa(t,t.textContent??"",Ln("gift-em")),m.appendChild(t)}else u.warn("Reward layout rendered without a headline — the dialog has no accessible name");if(i||a){const e=document.createElement("p");e.className=Ln("thankyou-subtitle"),e.textContent=i??"";const t=Qa(e,i??"",p,a);(t.textContent?.trim()||t.childElementCount>0)&&m.appendChild(t)}return f.appendChild(m),f.appendChild(e),o&&f.appendChild(o),f}($,{...k&&{hero:k},..."giftReveal"===q?.kind&&{giftMode:!0},..."giftList"===q?.kind&&{rootModifier:"gift-list",emphasizeFree:t===da.headline},..."giftUnwrap"===q?.kind&&{rootModifier:"gift-unwrap",emphasizeFree:t===da.headline},..."giftPicker"===q?.kind&&{rootModifier:"gift-picker",emphasizeFree:!0},title:t,...i&&{subtitle:i},...n?.statusIcon&&{statusIcon:n.statusIcon},...le.rewardActions&&{actions:le.rewardActions.render()},useCase:a,...h?.headline&&{headlineSlot:h.headline},...h?.subheadline&&{subheadlineSlot:h.subheadline}});if(W)try{I=W.compose({title:t,...i&&{subtitle:i},surface:$,...le.rewardActions&&{actions:le.rewardActions.render()}},{setLabelledBy:e=>ae.setLabelledBy(e)})}catch(e){u.warn("Code unlock page failed to render; showing the gift picker",e),W.destroy(),W=null,I=r()}else I=r();W||ae.setLabelledBy(rl)}else I=$;if("giftUnwrap"===q?.kind&&(I=q.surface.compose(I,{setLabelledBy:e=>ae.setLabelledBy(e),...q.share&&{onScreenChange:e=>ae.setCloseButtonHidden("ready"===e)}})),ae.setContent(I),this.#ml?.mounted(),H){const e=H.frame();ae.setSduiFrame(e.background,e.scheme);const t=()=>{const e=H.canvasColor();e&&ae.setBackdropTint(e)};requestAnimationFrame(t),H.onStateChange(()=>{ae.refreshSheet(),setTimeout(t,300)})}if("rewardUsers"===a&&!q&&!H){const e=new Jo;le.confetti=e;const t=I;requestAnimationFrame(()=>e.start(t))}});return v(),de}catch(n){return u.error("Error in offer flow",n),this.#Wl("present_offer_initialization",n),v(),{result:{status:"dismissed",reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:n instanceof Error?n.message:"Unknown error"}}},presentationId:t,...void 0!==d&&{variantId:d},override:{advertiserOutcome:"not_attempted",dismissal:"interrupted"}}}}#Lc(e,t){t||u.warn("[Encore SDK] Claim resolved WITHOUT a transactionId — this conversion cannot be traced back to the user or app. The claim itself succeeded; the transaction record did not.");const n={status:"claimed",offerId:e.id,campaignId:e.campaignId,advertiserName:e.merchantName??"",...t&&{transactionId:t}};return this.#za.set(n,{...e.logoUrl&&{logoUrl:e.logoUrl},...e.perk&&{perk:e.perk}}),n}async#Tc(e,t,n,i,r,o){if(!this.#Ia)throw new Error("OfferManager not initialized");const s=await this.#Ia.startTransaction(e.campaignId,r);if(o?.())return u.debug("Transaction returned after the claim was abandoned",{transactionId:s}),s;const a=this.#Ia.placementId;return this.#Ta?.notePending(s,{grantsEntitlement:rd(r),...void 0!==r&&{useCase:r},...void 0!==a&&{placementId:a}}),this.#Ia.trackOfferClaimed(e,t,s,n,i,r),u.debug("Transaction created",{transactionId:s}),s}#fc(e,t,n,i,r){const o=this.#Mc(e.advertiserUrl,e.trackingParameters,t),s=this.#Uc(o);r&&this.#ol(e=>function(e,t,n){return{name:"sdk_offer_webview_attempting_open",distinctId:e,properties:{...Z(t),url:n.url,urlHost:n.urlHost}}}(e,r,{url:o,urlHost:s}));const a=this.#Rc(i,o);return a||u.warn("Failed to open advertiser URL (popup blocked?)"),r&&(a?(this.#ol(e=>function(e,t,n){return{name:"sdk_offer_webview_opened",distinctId:e,properties:{...Z(t),url:n.url,urlHost:n.urlHost,openedAt:n.openedAt}}}(e,r,{url:o,urlHost:s,openedAt:(new Date).toISOString()})),this.#Pc(r,t)):this.#ol(e=>function(e,t,n){return{name:"sdk_offer_webview_load_failed",distinctId:e,properties:{...Z(t),url:n.url,urlHost:n.urlHost,loadSuccess:!1,reason:n.reason}}}(e,r,{url:o,urlHost:s,reason:"popup_blocked"}))),a&&this.#Fc(t,r),rd(n)&&"strict"!==this.#$a.getUnlockMode()&&this.didGrant("provisional",t),a}#ql(){this.#Ta&&(this.#Sa?.start(()=>{this.#rc()}),this.#rc())}async#rc(){const e=this.#Ta;if(!e||this.#Ua)return;const t=e.getPending();if(t&&!this.#Aa.has(t.transactionId)){u.debug("Strict unlock: reconciling pending claim",{transactionId:t.transactionId}),this.#Aa.add(t.transactionId);try{"verified"===await e.verify(t.transactionId)&&this.#zc(t.transactionId)}finally{this.#Aa.delete(t.transactionId)}}}#Fc(e,t){const n=this.#Ta;n&&!this.#Aa.has(e)&&(this.#Aa.add(e),(async()=>{try{const i=await n.verify(e);if("verified"!==i)return void u.debug("Strict unlock: not verified in session, left pending",{transactionId:e,status:i});this.#zc(e,t)}finally{this.#Aa.delete(e)}})())}#zc(e,t){const n=this.#Ta?.getPending();n?.transactionId===e?(this.#Ta?.clearPending(),n.grantsEntitlement&&this.didGrant("final",e),this.#ol(i=>function(e,t,n){return{name:"sdk_offer_verified",distinctId:e,properties:{...n?Z(n):{},transactionId:t.transactionId,...F(t.useCase),...z(t.placementId)}}}(i,{transactionId:e,...void 0!==n.useCase&&{useCase:n.useCase},...void 0!==n.placementId&&{placementId:n.placementId}},t)),this.#Ze.emit("strictUnlockVerified",e),u.debug("Strict unlock: claim verified",{transactionId:e}),this.#Fa.finish(e),this.#fl()):u.debug("Strict unlock: verification superseded by a newer claim",{transactionId:e})}#Uc(e){try{return new URL(e).hostname}catch{return""}}#Pc(e,t){if("undefined"==typeof window||"undefined"==typeof document)return;const n=this.#g;if(this.#S&&n)try{this.#Ol?.();const i=Date.now();let r=!1;const o=()=>{window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",s),this.#Ol===o&&(this.#Ol=null)},s=()=>{if(r||"visible"!==document.visibilityState)return;r=!0,o();const s=(Date.now()-i)/1e3;this.#S?.track(function(e,t,n){return{name:"sdk_offer_claim_returned",distinctId:e,properties:{...Z(t),...n.transactionId&&{transactionId:n.transactionId}}}}(n,e,{transactionId:t})),this.#S?.track(function(e,t,n){return{name:"sdk_offer_webview_dismissed",distinctId:e,properties:{...Z(t),timeSpentSeconds:n.timeSpentSeconds}}}(n,e,{timeSpentSeconds:s}))};window.addEventListener("focus",s),document.addEventListener("visibilitychange",s),this.#Ol=o}catch{}}#ol(e){const t=this.#g;this.#S&&t&&this.#S.track(e(t))}#Mc(e,t,n){try{const i=new URL(e);t&&Object.entries(t).forEach(([e,t])=>{i.searchParams.append(e,String(t))});let r=i.toString();return r=r.replace(/TRANSACTION_ID/g,n),u.debug("Built final advertiser URL",{original:e,final:r,transactionId:n}),r}catch(t){return u.error("Failed to build advertiser URL",{url:e,error:t}),e.replace(/TRANSACTION_ID/g,n)}}#pc(){try{return window.open("","_blank")}catch(e){return u.error("Failed to open blank advertiser window",{error:e}),null}}#Rc(e,t){try{if(e)return e.location.href=t,e.focus(),!0;const n=window.open(t,"_blank","noopener,noreferrer");return!!n&&(n.focus(),!0)}catch(e){return u.error("Failed to navigate advertiser URL",{url:t,error:e}),!1}}#Sc(e,t,n){const{onAbandon:i,onCover:r,sheet:o}=n;try{const s=function(e){if(!e)return null;try{const t=e.document;return"object"!=typeof t||null===t?null:"function"==typeof t.createElement&&t.body?t:null}catch{return null}}(e);if(s&&e){yl(s,t,"tab");let C=!1,I=!1,E=!1;const S=setInterval(()=>{e.closed&&A()},500),T=()=>clearInterval(S),A=()=>(C||I||E||!e.closed||(C=!0,T(),i()),C);return{inFlight:()=>!I&&!E&&!A(),handedOff:()=>{I=!0,T()},remove:()=>{E=!0,T()},cancel:()=>{if(T(),!(I||E||C)){C=!0;try{e.close()}catch{}i()}},abandoned:A}}const a=document.activeElement,l=yl(document,t,"inPage",o??void 0),c=o?Array.from(o.children).filter(e=>e instanceof HTMLElement&&e!==l&&!e.hasAttribute("inert")):[];for(const L of c)L.toggleAttribute("inert",!0);const d=c.filter(e=>!e.hasAttribute("aria-hidden"));for(const N of d)N.setAttribute("aria-hidden","true");r(!0),l.tabIndex=-1,l.focus({preventScroll:!0});let h=null,p=!1,f=!1,m=!1,g=null;const b=()=>{for(const e of c)e.toggleAttribute("inert",!1);for(const e of d)e.removeAttribute("aria-hidden")},y=(e=!1)=>{m=!0,k(),null!==h&&clearTimeout(h),h=null,b();const t=l.contains(document.activeElement);l.remove(),e&&r(!1),t&&a instanceof HTMLElement&&a.isConnected&&a.focus({preventScroll:!0})},v=null!==e&&!vl(e),w=()=>{if(!v||f||m||p)return;let t=!1;try{t=e.closed}catch{}t&&(p=!0,y(!0),i())},x=v?setInterval(w,500):null;function k(){null!==x&&clearInterval(x)}function $(){if(v)try{e?.close()}catch{}}return h=setTimeout(()=>{h=null,g=function(e){const t=e.ownerDocument.createElement("button");return t.type="button",t.className=`${ml}close`,t.setAttribute("aria-label",Te("modal.close","Close modal")),t.textContent="×",t.addEventListener("click",()=>{f||(p=!0,y(!0),$(),i())}),e.appendChild(t),t.focus({preventScroll:!0}),t}(l)},8e3),{inFlight:()=>(w(),!f&&!m&&!p),handedOff:()=>{if(f=!0,k(),null!==h&&clearTimeout(h),h=null,g?.remove(),vl(e)&&o){b(),l.classList.remove(gl),document.body.appendChild(l);const e=()=>{clearTimeout(t),window.removeEventListener("pagehide",e),this.#ka.delete(e),l.remove()};this.#ka.add(e);const t=setTimeout(e,1e4);window.addEventListener("pagehide",e,{once:!0})}},remove:()=>y(),cancel:()=>{f||p||m||(p=!0,y(),$(),i())},abandoned:()=>(w(),p)}}catch(O){return u.warn("Claim screen could not be drawn",{error:O}),null}}#Ac(e){try{e?.close()}catch(e){u.error("Failed to close advertiser window",{error:e})}}#dc(e){const t=[this.#Ml,this.#Ul].map(t=>{const n=e?t.getByPlacement(e):t.getLatest();return n?{transaction:td(n),store:t}:null}).filter(e=>null!==e);return t.sort((e,t)=>me(t.transaction)-me(e.transaction))[0]??null}#Ec(e,t){return function(e,t){return function(e){if(!e||"object"!=typeof e)return;const t=e.claimBehavior;return pe.includes(t)?t:void 0}(t)??he[e]}(e,"reduceChurn"===e?this.#xl:t??this.#$l[e]?.values)}#Nc(e,t,n,i,r,o){const s=Date.now(),a={id:n,appAccountId:this.#g??"",...r&&{placementId:r},offer:{id:t.id,campaignId:t.campaignId,advertiserUrl:t.advertiserUrl,...t.trackingParameters&&{trackingParameters:t.trackingParameters},...t.merchantName&&{advertiserName:t.merchantName},...o&&{reward:o},...t.imageUrl&&{imageUrl:t.imageUrl},...t.logoUrl&&{logoUrl:t.logoUrl},freeTrial:Na(t)},useCase:i,status:"claimed",createdAt:new Date(s).toISOString(),expiresAt:new Date(s+6048e5).toISOString()};return("deferredWhileAlive"===e?this.#Ul:this.#Ml).save(a),a}#Cc(){return function(e){const t=Be(e.appName),n=function(e){const t=Be(e.entitlementValue),n=Be(e.entitlementUnit);if(!t||!n)return;const i=n.endsWith("s")?n.slice(0,-1):n,r=Number(t),o=i.toLowerCase(),s=ze[o];return s&&Number.isFinite(r)?Ae(`unit.${o}`,r,s):`${t} ${1===r?i:`${i}s`}`}(e),i=Be(e.appIconUrl);return{...t&&{appDisplayName:t},...n&&{trialPeriod:n},...i&&{logoUrl:i}}}(this.#vl)}#Oc(e,t,n){const i=this.#Cc();try{const r=new Ba({variant:i.appDisplayName?"activation":"holding",display:i,partner:{freeTrial:!0===t.offer.freeTrial,...t.offer.advertiserName&&{name:t.offer.advertiserName},...t.offer.logoUrl&&{logoUrl:t.offer.logoUrl},...t.offer.imageUrl&&{imageUrl:t.offer.imageUrl}}});r.on("continue",()=>{r.destroy(),n()}),e.setContent(r.render()),u.debug("Primer screen displayed",{transactionId:t.id})}catch(e){u.error("Failed to show the primer screen",e),n()}}#hc(e,t,n,i){try{const{reward:a,advertiserName:l,logoUrl:c,imageUrl:d,freeTrial:h}=t.offer,p=this.#Cc(),f=n?.name??p.appDisplayName;let m={};if("rewardUsers"!==t.useCase&&f){const e=this.#vl.trialDurationDays,t=e?(r=new Date(Date.now()+24*e*60*60*1e3),Te("redemption.freeUntil","Free until ${date}",{date:(o=r,s={month:"long",day:"numeric",year:"numeric"},new Intl.DateTimeFormat(Pe(),s).format(o))})):void 0,i=n?.logoUrl??p.logoUrl;m={host:{name:f,...p.trialPeriod&&{trialPeriod:p.trialPeriod},...n?.status&&{status:n.status},...t&&{detail:t},...i&&{logoUrl:i}}}}const g=new qa({variant:m.host?"activation":"reward",freeTrial:!0===h,...a&&{reward:a},...l&&{advertiserName:l},...c&&{logoUrl:c},...d&&{imageUrl:d},...m});g.on("continue",()=>{g.destroy(),i()}),e.setContent(g.render()),u.debug("Redemption screen displayed",{transactionId:t.id})}catch(e){u.error("Failed to show redemption screen",e),i()}var r,o,s}static runPreview(e,t,n){const i=new pd;i.#ml=e,i.#g="encore-preview",i.#m=t;const r=new ie(i.#m,i.#g,{track:()=>{}});return i.#Ia=r,{flow:i.#cc(ne(),{useCase:n}).finally(()=>r.destroy()),stop:()=>{i.#g=null,e.end?.(),r.destroy()}}}}const fd=new pd;function md(e){const t=e?.cornerRadius;return"number"==typeof t&&Number.isFinite(t)?{cornerRadius:t}:{}}export{Me as A,Ds as B,C,hi as D,Rc as E,fd as F,k as N,zs as O,I as T,gc as a,ia as b,$i as c,Ti as d,pi as e,ui as f,bi as g,Wn as h,ai as i,fi as j,Ts as k,u as l,bc as m,S as n,xc as o,H as p,W as q,Uo as r,We as s,Ho as t,ne as u,q as v,kc as w,V as x,_ as y,$ as z};
|
|
2
|
+
//# sourceMappingURL=index-CaBSqauy.js.map
|