var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e){var t={exports:{}};return e(t,t.exports),t.exports}var i=n((function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t=t.f?a():e.fonts.load(b(s=t.a)+" "+s.f+"00 300px "+I(s.c),t.h).then((function(e){1<=e.length?i():setTimeout(r,25)}),(function(){a()}))}()})),a=null;Promise.race([new Promise((function(e,n){a=setTimeout(n,t.f)})),i]).then((function(){a&&(clearTimeout(a),a=null),t.g(t.a)}),(function(){t.j(t.a)}))};var x={D:"serif",C:"sans-serif"},N=null;function D(){if(null===N){var e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);N=!!e&&(536>parseInt(e[1],10)||536===parseInt(e[1],10)&&11>=parseInt(e[2],10))}return N}function q(e,t,n){for(var i in x)if(x.hasOwnProperty(i)&&t===e.f[x[i]]&&n===e.f[x[i]])return!0;return!1}function U(e,t){setTimeout(i((function(){l(this.g.a),l(this.h.a),l(this.j.a),l(this.m.a),t(this.a)}),e),0)}function L(e,t,n){this.c=e,this.a=t,this.f=0,this.m=this.j=!1,this.s=n}T.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=o(),function e(t){var n,a=t.g.a.offsetWidth,r=t.h.a.offsetWidth;(n=a===t.f.serif&&r===t.f["sans-serif"])||(n=D()&&q(t,a,r)),n?o()-t.A>=t.w?D()&&q(t,a,r)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?U(t,t.v):U(t,t.B):setTimeout(i((function(){e(this)}),t),50):U(t,t.v)}(this)};var F=null;function V(e){0==--e.f&&e.j&&(e.m?((e=e.a).g&&d(e.f,[e.a.c("wf","active")],[e.a.c("wf","loading"),e.a.c("wf","inactive")]),E(e,"active")):O(e.a))}function j(e){this.j=e,this.a=new M,this.h=0,this.f=this.g=!0}function J(t,n,o,a,r){var s=0==--t.h;(t.f||t.g)&&setTimeout((function(){var t=r||null,c=a||{};if(0===o.length&&s)O(n.a);else{n.f+=o.length,s&&(n.j=s);var l,u=[];for(l=0;lhe(e),d=()=>OptiMonkRegistry.account,u=()=>OptiMonkRegistry.clientId,p=()=>OptiMonkRegistry.uuid,g=e=>OptiMonkRegistry.uuid+"-"+e,h=()=>OptiMonkRegistry.features,m=()=>OptiMonkEmbedded.CookieManager,f=()=>OptiMonkRegistry.isPreview,v=function(e,t){return void 0===t&&(t=10),parseInt(e,t)},y=e=>""+e,w=()=>v($.session.getItem("optiMonkSession")),I=()=>Math.trunc((new Date).getTime()/1e3),C=()=>OptiMonkEmbedded.RequestService,b=()=>OptiMonkEmbedded.Visitor,S=function(e,t){let n;for(n in e)e.hasOwnProperty(n)&&"length"!==n&&t(n,e[n])},k=[],O=function(e,t,n){e.addEventListener?(e.addEventListener(t,n,!1),k.push({obj:e,type:t,fn:n})):e.attachEvent?(e.attachEvent("on"+t,(function(){n.apply(e,new Array(window.event))})),k.push({obj:e,type:t,fn:n})):(e["on"+t]=n,k.push({obj:e,type:t,fn:n}))},E=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]&&delete e["on"+t]},M=function(){for(let e=0;enew Promise((i=>{let o=0;const a=()=>{if(o>=20)return OptiMonkRegistry.isDebug&&console.log("wait for element retries limit reached",e),void i(!1);let r=document.querySelector(e);if(!r&&n)for(let e=0;e{let{oldItems:t,newItems:n,idFieldName:i}=e;return{oldProductsIds:t.map((e=>""+e[i])),newProductsIds:n.map((e=>""+e[i]))}},q=e=>{let{type:t,oldItems:n,newItems:i}=e;const o="shoprenter"===t||"unas"===t||"woocommerce"===t?"id":"product_id",{oldProductsIds:a,newProductsIds:r}=D({oldItems:n,newItems:i,idFieldName:o}),s=new Set(a),c=new Set(r);return s.size!==c.size||new Set([...s,...c]).size!==s.size},U=e=>{let{type:t,oldItems:n,newItems:i}=e;const o="shoprenter"===t||"unas"===t||"woocommerce"===t?"id":"product_id",{oldProductsIds:a,newProductsIds:r}=D({oldItems:n,newItems:i,idFieldName:o});return n.length===i.length?(e=>{let{oldItems:t,newItems:n,oldProductsIds:i,newProductsIds:o,idFieldName:a}=e;if(!(e=>{let{oldProductsIds:t,newProductsIds:n}=e;return t.every((e=>n.some((t=>""+t==""+e))))})({oldProductsIds:i,newProductsIds:o}))return null;const r=(e=>{let{oldItems:t,newItems:n,idFieldName:i}=e;return n.find((e=>{var n;const o=null==(n=t.find((t=>t[i]===e[i])))?void 0:n.quantity;return e.quantity!==o&&e.quantity>o}))})({oldItems:t,newItems:n,idFieldName:a});return r?(e=>{let{oldItems:t,idFieldName:n,increasedQuantityProduct:i}=e;const{price:o,quantity:a,[n]:r}=i;return{price:o,productId:r,quantity:a-t.find((e=>""+e[n]==""+i[n])).quantity}})({oldItems:t,newItems:n,idFieldName:a,increasedQuantityProduct:r}):null})({oldItems:n,newItems:i,oldProductsIds:a,newProductsIds:r,idFieldName:o}):n.length>i.length?null:(e=>{let{newItems:t,idFieldName:n,oldProductsIds:i}=e;const o=t.find((e=>!i.includes(""+e[n]))),{price:a,quantity:r,[n]:s,sku:c}=o;return{sku:c,price:a,quantity:r,productId:s}})({newItems:i,idFieldName:o,oldProductsIds:a})},L=()=>{let e=[];try{const{fonts:t}=document,n=t.entries(),i=[];let o=!1;for(;!o;){const e=n.next();e.done?o=e.done:i.push(e.value[0].family)}e=[...new Set(i)]}catch(e){console.error("Error while getting used fonts")}return e},F=()=>!!h().FREQUENCY_RULE_V2,V=e=>e.reduce(((e,t)=>i({},e,{[t.id]:t})),{}),j=function(e){return"object"==typeof e&&(e=P(e)),navigator.userAgent.match(/^Opera.* Version\/12.*/)?encodeURIComponent(e):e},J={getItems(e){const t=new RegExp("("+e+"=([^;]+))","g"),n=document.cookie.matchAll(t),i={};for(const e of n){const[,t]=e,[n,o]=t.split("=");n&&o&&Object.assign(i,{[n]:decodeURIComponent(o)})}return i},getItem(e){const t=document.cookie.match(new RegExp(e+"=([^;]+)"));return t?decodeURIComponent(t[1]):null},getItemSlices(e,t){const n=new RegExp(e+"_"+OptiMonkRegistry.account+"_[0-9]+=([^;]+)\\;?","gm");let i,o=[];for(;i=n.exec(document.cookie);){const e="function"==typeof t?t(i[1]):i[1];o=o.concat(JSON.parse(decodeURIComponent(e)))}return o},getItemSlicesRaw(e){const t=new RegExp("("+e+"_"+OptiMonkRegistry.account+"_[0-9]+)=([^;]+)\\;?","gm"),n=[];let i;for(;i=t.exec(document.cookie);)n.push({key:i[1],value:i[2]});return n},removeItem:e=>!!J.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;",!0),hasItem:e=>!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie),setItem(e,t){const n=new Date;let i=j(t);n.setUTCFullYear(n.getUTCFullYear()+1),i+="; expires="+n.toUTCString(),document.cookie=e+"="+i+";path=/;"}},B={setItem(e,t){const n=j(t);document.cookie=e+"="+n+";path=/;"},getItem:e=>J.getItem(e),getItemSlices:e=>J.getItemSlices(e),hasItem:e=>J.hasItem(e),removeItem:e=>J.removeItem(e)},H={},$={local:J,session:B,CampaignCookieCollection:{add(e){H[e.getCampaignId()]=e},getByCampaignId:e=>H[e],getAllAsArray:()=>Object.keys(H).map((e=>H[e]))}};var W=String.fromCharCode,K="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",z={};const G={compressToBase64:function(e){if(null==e)return"";var t=G._compress(e,6,(function(e){return K.charAt(e)}));switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:G._decompress(e.length,32,(function(t){return function(e,t){if(!z[e]){z[e]={};for(var n=0;n>=1}else{for(o=1,i=0;i>=1}0==--u&&(u=Math.pow(2,g),g++),delete s[d]}else for(o=r[d],i=0;i>=1;0==--u&&(u=Math.pow(2,g),g++),r[l]=p++,d=String(c)}if(""!==d){if(Object.prototype.hasOwnProperty.call(s,d)){if(d.charCodeAt(0)<256){for(i=0;i>=1}else{for(o=1,i=0;i>=1}0==--u&&(u=Math.pow(2,g),g++),delete s[d]}else for(o=r[d],i=0;i>=1;0==--u&&(u=Math.pow(2,g),g++)}for(o=2,i=0;i>=1;for(;;){if(m<<=1,f==t-1){h.push(n(m));break}f++}return h.join("")},_decompress:function(e,t,n){var i,o,a,r,s,c,l,d=[],u=4,p=4,g=3,h="",m=[],f={val:n(0),position:t,index:1};for(i=0;i<3;i+=1)d[i]=i;for(a=0,s=Math.pow(2,2),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;switch(a){case 0:for(a=0,s=Math.pow(2,8),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;l=W(a);break;case 1:for(a=0,s=Math.pow(2,16),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;l=W(a);break;case 2:return""}for(d[3]=l,o=l,m.push(l);;){if(f.index>e)return"";for(a=0,s=Math.pow(2,g),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;switch(l=a){case 0:for(a=0,s=Math.pow(2,8),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;d[p++]=W(a),l=p-1,u--;break;case 1:for(a=0,s=Math.pow(2,16),c=1;c!=s;)r=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),a|=(r>0?1:0)*c,c<<=1;d[p++]=W(a),l=p-1,u--;break;case 2:return m.join("")}if(0==u&&(u=Math.pow(2,g),g++),d[l])h=d[l];else{if(l!==p)return null;h=o+o.charAt(0)}m.push(h),d[p++]=o+h.charAt(0),o=h,0==--u&&(u=Math.pow(2,g),g++)}}},X=window.OptiMonk||{},Y=function(e,t){return JSON.parse(e,t)},Q=function(e,t){if("string"!=typeof e)return decodeURIComponent(e);var n,i,o,a="",r=0;for(void 0===t&&(t=0),i=(n=e.split(/(%(?:d0|d1)%.{2})/)).length;r1?re(e,t.slice(1),n):void 0===e?n:e}var se=Object.freeze({__proto__:null,stringify:function(e,t,n){return JSON.stringify(e,t,n)},parse:Y,decodeURIComponentSafe:Q,parseHelper:function(e,t){return"object"!=typeof t?Q(t):t},trim:function(e){return null===e?"":(e+"").replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},setInterval:ee,setTimeout:ne,checkVariable:function(e,t,n){let i=0;return new Promise(((o,a)=>{let r=ee((function(){void 0!==window[e]&&(o(window[e]),clearInterval(r)),i++,i===t&&(clearInterval(r),a(!1))}),n=n||10)}))},assign:ie,debounce:function(e,t,n){var i;return function(){for(var o=arguments.length,a=new Array(o),r=0;r576)){t=!1;break}}return t},merge:ae,getProp:re});const ce={XMLHttpRequest:window.XMLHttpRequest,fetch:window.fetch,Promise:window.Promise,Date:window.Date};let le;function de(){const e=document.querySelector('iframe[id="__OM_native_iframe"]');if(e)le=e;else{const e=document.createElement("iframe");le=e,le.style.display="none",le.id="__OM_native_iframe",le.setAttribute("aria-hidden","true"),document.body.appendChild(le)}}try{de(),le&&(ce.XMLHttpRequest=function(){le&&"BODY"===le.parentNode.nodeName||de();let e=le.contentWindow.XMLHttpRequest;return"function"!=typeof e&&(e=window.XMLHttpRequest),new e(...arguments)},ce.fetch=function(){const e=le.contentWindow.fetch||window.fetch;return e(...arguments)},ce.Promise=le.contentWindow.Promise||window.Promise,ce.Date=le.contentWindow.Date||window.Date)}catch(e){}const ue=function(e,t){return t.split(".").reduce((function(e,t){return(e||{})[t]}),e)},pe=e=>G.compressToBase64(JSON.stringify(e)),ge=(e,t)=>{const n=t[e];if(Object.keys(n.ca).length<=14)$.local.setItem("optiMonkClient",pe(t)),(e=>{const t=$.local.getItemSlicesRaw("optiMonkClient");for(let n=e>0?e-1:0,i=t.length;n{n.forEach((function(e,n){0!==n&&$.local.setItem("optiMonkClient_"+t+"_"+n,pe(e))}));const i=JSON.parse(JSON.stringify(e));i[OptiMonkRegistry.account].ca=n[0],$.local.setItem("optiMonkClient",pe(i))})(t,e,((e,t)=>{const n=[];let i=[],o=1;for(const a in e)if(e.hasOwnProperty(a)){const r=e[a];r.caId=a,i.push(r),o%t==0&&(n.push(i),i=[]),o++}return n.push(i),n})(n.ca,14))}(()=>{const e=$.local.getItemSlicesRaw("optiMonkClient");for(let t=0,n=e.length;t30}catch(e){console.error("[OM] Multi account cookie deletion error",e)}n&&(delete t[e],console.log("delete account cookie",e))})),t[e]={},t;if(Array.isArray(t[e].ca)){const i=$.local.getItemSlicesRaw("optiMonkClient"),o=t[e].ca;for(let e=0,t=i.length;e{const i=he();i[e].ca||(i[e].ca={}),i[e].ca[t]=n,ge(e,i),OptiMonkRegistry.Cookie.ca[t]=n},fe=function(){const e=navigator.cookieEnabled;let t=!!e;return void 0!==e||t||(document.cookie="isCookie",t=-1!=document.cookie.indexOf("isCookie")),t},ve=function(){return!!document.webkitVisibilityState&&"prerender"===document.webkitVisibilityState},ye=function(){return fe()&&!1===ve()},we=function(e,t,n){let i;document.createEvent?(i=document.createEvent("HTMLEvents"),i.initEvent(t,!0,!0)):document.createEventObject&&(i=document.createEventObject(),i.eventType=t),i.eventName=t,i.parameters=n||{},e.dispatchEvent?e.dispatchEvent(i):e.fireEvent?e.fireEvent("on"+i.eventType,i):e[t]?e[t]():e["on"+t]&&e["on"+t]()},Ie=(e,t)=>{const n=document.querySelector("html");we(n,"optimonk#campaign-conversion",{campaignId:e,elementDetails:t})},Ce=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},be=function(e,t){t.frontend=!0,t.device=OptiMonkRegistry.isMobile?"mobile":"desktop",ce.fetch(OptiMonkRegistry.baseUrl+"/metrics",{method:"POST",mode:"cors",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:d(),event:"frontend-"+e,properties:t})})},Se=()=>{const e=document.querySelector('form[action^="/cart/add"][data-delm-is-primary-form="true"]')?document.querySelectorAll('form[action*="/cart/add"][data-delm-is-primary-form="true"]'):document.querySelectorAll('form[action*="/cart/add"]'),t=[...e].find((e=>e.getAttribute("data-product-id")||e.getAttribute("data-productid")));return null!=t?t:null==e?void 0:e[0]},ke=function(){if(window.ShopifyAnalytics){const e=Se();if(e){const t=e.querySelector('[name="id"], [name="variantId"][checked]');if(t)return t.value}if("undefined"!=typeof URLSearchParams){const e=new URLSearchParams(window.location.search).get("variant");if(e)return e}return ue(window.ShopifyAnalytics,"meta.selectedVariantId")||null}return window.ShopRenter&&ue(window.ShopRenter,"product.id")||null},Oe=()=>{var e;const t=Se(),n=(null==t||null==t.querySelectorAll?void 0:t.querySelectorAll('[name="id"] option, [name="variantId"]'))||[];return null==(e=Array.from(n))||null==e.map?void 0:e.map((e=>({id:e.value})))},Ee=function(){let e=null,t=ke();if(window.ShopifyAnalytics){e=ue(window.ShopifyAnalytics,"meta.product.id");const n=Oe(),i=n.length?n:ue(window.ShopifyAnalytics,"meta.product.variants");if(i){i.find((function(e){return""+e.id==""+t}))||(t=null)}}else window.ShopRenter?(t=ue(window.ShopRenter,"product.id"),e=ue(window.ShopRenter,"product.parent.id")||t):window.UNAS?(e=ue(window.UNAS,"shop.product_id"),t=e):window.WooDataForOM&&(e=ue(window.WooDataForOM,"product.id"),t=e);return e&&t?{productId:""+e,variantId:""+t}:null};X.loadScript=function(e,t){"/"!==e.charAt(0)&&(e="/"+e),OptiMonkEmbedded.AssetManager.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"js",t)};var Me=Object.freeze({__proto__:null,each:function(e,t){let n;for(n in e)e.hasOwnProperty(n)&&"length"!==n&&t(n,e[n])},getCookie:he,updateCampaignCookie:me,updateCampaignCookies:(e,t)=>{var n;const i=he();null!=(n=i[e])&&n.ca||(i[e].ca={}),Object.keys(t).forEach((n=>{window.OptiMonkEmbedded.campaigns[n]||(i[e].ca[n]=t[n])})),ge(e,i)},isCookieEnabled:fe,isPreRender:ve,shouldContinueLoading:ye,addResponseToHead:function(e){if(window.OMReloading)return;const t=document.createElement("script"),n=document.createTextNode(e);t.appendChild(n),t.type="text/javascript";const i=document.querySelector('script[src*="front.optimonk.com"][src$="preload.js"]');i&&i.nonce&&t.setAttribute("nonce",i.nonce);try{document.querySelector("head").appendChild(t)}catch(e){console.warn(e)}},triggerEvent:we,triggerConversion:Ie,uuid:Ce,requestIdleCallback:function(e,t){if(window.requestIdleCallback)return window.requestIdleCallback(e,t);const n=Date.now(),i=t&&"number"==typeof t.timeout?t.timeout:50;return setTimeout((function(){e({didTimeout:!1,timeRemaining:()=>Math.max(0,i-(Date.now()-n))})}),1)},cancelIdleCallback:function(e){if(window.cancelIdleCallback)return window.cancelIdleCallback(e);clearTimeout(e)},sendMetrics:be,getAddToCartForm:Se,getSelectedVariantId:ke,getShopifyVariantsFromDOM:Oe,getViewedProductIds:Ee,getExperimentalSetting:function(e){var t;return null==(t=X.experimentalSettings)?void 0:t[e]}});class _e{isEnabled(){return!1}sendNonInteractionEvent(e,t,n){}sendInteractionEvent(e,t,n){}}const Pe=function(e,t){var n;void 0===t&&(t={}),null==(n=OptiMonkRegistry.JFEvents)||n.push([e,t])},Ae=()=>{let e;for(;e=OptiMonkRegistry.JFEvents.shift();){if(!Array.isArray(e)||"string"!=typeof e[0])return void console.warn("invalid pre-registered event: must be a tuple: [eventType, props]");const[t,n={}]=e;window.JFClientSDK.v2.registerCustomEvent(t,n)}(()=>{if(OptiMonkRegistry.JFEvents.push!==Array.prototype.push)return;let e;OptiMonkRegistry.JFEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;i{if(!Array.isArray(e)||"string"!=typeof e[0])return void console.warn("invalid invocation: must be called with a tuple: [eventType, props]");const[t,n={}]=e;window.JFClientSDK.v2.registerCustomEvent(t,n||{})})),clearTimeout(e),e=setTimeout((()=>{window.JFClientSDK.v2.go()}),200)}})()},Re=e=>{switch(e){case"shown":return"impression";case"filled":return"conversion";case"no":return"rejected";case"close(x)":return"closex";default:return e}},Te=(e,t)=>{var n,i,o,a,r;const s=(null==(n=window.OptiMonkEmbedded)||null==(i=n.campaigns)?void 0:i[e])||(null==(o=window.OptiMonk)||null==(a=o.campaigns)?void 0:a[e]);return(null==s||null==(r=s.experiences)?void 0:r.find((e=>e.variants.includes(t))))||{name:""}};class xe{getJF(){return window.JFClientSDK&&window.JFClientSDK.v2}isEnabled(){return void 0!==this.getJF()}reportEvent(e,t){const n=Re(e),i=xe.reportEventMap[n];i&&Pe(i,{campaignId:""+t.getId(),variantId:t.getCreativeId(),deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"})}sendNonInteractionEvent(e,t,n,i){this.isEnabled()&&this.reportEvent(t,i)}sendInteractionEvent(e,t,n,i){this.isEnabled()&&this.reportEvent(t,i)}}xe.reportEventMap={closex:"eoc"};var Ne=Object.freeze({__proto__:null,TYPE_GTAG:"gtag",TYPE_GA:"ga",TYPE_CLASSIC:"classic",TYPE_UNIVERSAL:"universal",TYPE_TAG_MANAGER:"tag-manager",TYPE_GA4:"ga4",TYPE_TAG_MANAGER_GA4:"tag-manager-ga4",TYPE_JF:"jf"});class De{constructor(e){var t;this.fnName=e;const n=(null==X||null==(t=X.config)?void 0:t.analytics)||{};n.trackerName?this.trackerName=n.trackerName+".":this.trackerName=""}checkFnAvailability(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i{this.checkFnAvailability(e,...n)}),1e3)}ga(){for(var e=arguments.length,t=new Array(e),n=0;n{if(e())return t(e());setTimeout((()=>{je(e,t)}),500)};class Je{isEnabled(){return!0}sendNonInteractionEvent(e,t,n,i){this.report(t,i)}sendInteractionEvent(e,t,n,i){this.report(t,i)}report(e,t){je((()=>window.gtag),(n=>{const i=Re(e),o=Te(t.getId(),t.getVariantId());n("event","optimonk_campaign_event",{om_campaign_name:t.getName(),om_campaign_action:i,om_campaign_id:t.getId(),om_campaign_variant_name:t.getCreativeName(),om_campaign_experience_name:o.name})}))}}class Be{constructor(){this.items={}}get(e){if(this.has(e))return this.items[e]}has(e){return this.items.hasOwnProperty(e)}set(e,t){this.items[e]=t}remove(e){this.has(e)&&delete this.items[e]}forAll(e){S(this.items,e)}}class He{isEnabled(){return!0}sendNonInteractionEvent(e,t,n,i){this.sendTagManager(e,t,n,i)}sendInteractionEvent(e,t,n,i){this.sendTagManager(e,t,n,i)}sendTagManager(e,t,n,i){je((()=>{var e;const t=(null==X||null==(e=X.config)?void 0:e.tagManager)||{};return window[t.varName||"dataLayer"]}),(e=>{const n=Re(t),o=Te(i.getId(),i.getVariantId());e.push({campaign_id:i.getId(),campaign_name:i.getName(),variant_name:i.getCreativeName(),experience_name:o.name,action:n,event:"optimonk_campaign_event"})}))}}const $e=new Be,We={init(){$e.set("universal",new Fe),$e.set("tag-manager",new Ve),$e.set("tag-manager-ga4",new He),$e.set("ga4",new Je),$e.set("jf",new xe),$e.set("default",new _e)},create:e=>$e.get(e)||$e.get("default"),getAll(){We.init();const e=[];return $e.forAll(((t,n)=>{"default"!==t&&e.push(n)})),e}},Ke={OPERATION_FILLED:"filled",OPERATION_SHOWED:"showed",OPERATION_NO:"no",OPERATION_CLOSE_X:"closeX",report(e,t){if(!Ke.isEnabled(t))return;Ke.getEnabledAdapters().forEach((n=>{Ke.send(e,n,{campaign:t})}))},reportCustomEvent(e,t){const n=Ke.getEnabledAdapters(),i={getId:()=>"",getName:()=>"",getCreativeName:()=>"",getVariantId:()=>""};n.forEach((n=>{Ke.send(e,n,{label:t,campaign:i})}))},isEnabled:e=>1===e.getAnalytics().status,getEnabledAdapters:()=>We.getAll().filter((e=>e.isEnabled())),send(e,t,n){let{campaign:i,label:o=null}=n;o=o||(e=>e.getName()+" - "+e.getCreativeName())(i);const a=OptiMonkRegistry.brand;let r;switch(e){case Ke.OPERATION_FILLED:r="filled",t.sendInteractionEvent(a,r,o,i);break;case Ke.OPERATION_SHOWED:r="shown",t.sendNonInteractionEvent(a,r,o,i);break;case Ke.OPERATION_NO:r="no",t.sendNonInteractionEvent(a,r,o,i);break;case Ke.OPERATION_CLOSE_X:r="close(x)",t.sendNonInteractionEvent(a,r,o,i);break;default:t.sendNonInteractionEvent(a,e,o,i)}}},ze={init(){if(!OptiMonkRegistry.experimentsInitialized){let e=ze.readCookie();e&&(e=this.cleanupOldExperimentsFromCookie(e)),OptiMonkRegistry.experiments&&OptiMonkRegistry.experiments.length&&(this.setVisitorGroups(e),this.runJsSnippets()),this.reportToGA(),OptiMonkRegistry.experimentsInitialized=!0}},initSafe(){try{this.init()}catch(e){console.error("[frontend] Experiments error",e)}},sendToGA(e){let{experimentName:t,groupName:n}=e;window.dataLayer=window.dataLayer||[],window.dataLayer.push(function(){return arguments}("event","visitor_in_ab_test",{om_ab_test_name:t,om_ab_test_group:n})),window.dataLayer.push({om_ab_test_name:t,om_ab_test_group:n,event:"visitor_in_ab_test"})},reportToGA(){const e=ze.readCookie();e&&e.length&&e.forEach((e=>{const t=e.split("_"),n=t[1],i=OptiMonkRegistry.experiments.find((e=>e._id===n));if(i){var o;const e=t[3],n=null==(o=i.groups.find((t=>t._id.toString()===e.toString())))?void 0:o.name;n&&this.sendToGA({experimentName:i.name,groupName:n})}}))},readCookie(){const e=$.local.getItem("optiMonkExperiments");return e?JSON.parse(e):null},cleanupOldExperimentsFromCookie(e){const t=JSON.parse(JSON.stringify(e));return e.forEach(((e,n)=>{const i=e.split("_")[1];OptiMonkRegistry.experiments.some((e=>e._id===i))||t.splice(n,1)})),$.local.setItem("optiMonkExperiments",t),t},inVisitorGroupPerExperiment:(e,t)=>null==e?void 0:e.some((e=>e.startsWith("experiment_"+t._id))),sortToGroupByTrafficShare(e){const t=Math.floor(1e3*Math.random()*e.groups.length)+1;let n=0;for(const i of e.groups)if(n+=1e3*i.trafficShare,t<=n)return"experiment_"+e._id+"_group_"+i._id.toString()},runJsSnippet(e,t){try{new Function(t)(),console.log("[frontend] JS snippet run for experiment:",e)}catch(t){console.error("[frontend] Experiment JS snippet error.",e,t)}},runJsSnippets(){const e=ze.readCookie();null==e||e.forEach((e=>{var t,n;const i=e.split("_"),o=i[1],a=i[3],r=null==(t=OptiMonkRegistry.experiments)?void 0:t.find((e=>e._id===o)),s=null==r||null==(n=r.groups)?void 0:n.find((e=>e._id===a));null!=s&&s.jsSnippet&&this.runJsSnippet(e,s.jsSnippet)}))},setVisitorGroups(e){const t=[];OptiMonkRegistry.experiments.forEach((n=>{this.inVisitorGroupPerExperiment(e,n)||t.push(this.sortToGroupByTrafficShare(n))})),t.length&&$.local.setItem("optiMonkExperiments",[...e||[],...t])}},Ge=e=>{if(e){var t;return null==(t=ze.readCookie().find((t=>t.includes(e))))?void 0:t.split("_")[3]}return null},Xe=()=>{const e=ze.readCookie(),t=[];return e&&e.length&&e.forEach((e=>{const n=e.split("_");t.push({experimentId:n[1],groupId:n[3]})})),JSON.stringify(t)};class Ye{constructor(){this.type="custom",this._cookieNames=[]}getShopId(){return null}hasCookie(){let e=!1;for(let t=0;t-1)return!0}}return!1}}class at extends Ye{constructor(){super(...arguments),this.type="unas"}check(){return!!window.UNAS}getShopId(){return window.UNAS&&window.UNAS.shop.id.toString()||null}}class rt extends Ye{constructor(){super(...arguments),this.type="wordpress"}check(){const e=Array.from(document.querySelectorAll("link"));for(let t=0;t-1,t=n.href.indexOf("/wp-includes/")>-1;if(e||t)return!0}}return!1}}class st extends Ye{constructor(){super(...arguments),this.type="drupal"}check(){return!!window.Drupal}}let ct=!1;const lt=[];function dt(){if(!ct)try{lt.push(new Qe),lt.push(new Ze),lt.push(new et),lt.push(new tt),lt.push(new nt),lt.push(new it),lt.push(new ot),lt.push(new at),lt.push(new rt),lt.push(new st),ct=!0}catch(e){console.error("[Engine] Error occurred when instantiating detectors",e)}}function ut(){ct||dt();for(let e=0;e{var e,t;const n=$.local.getItem("__kla_id"),i=$.local.getItem("optiMonkClientId");return{account:"undefined"!=typeof OptiMonkRegistry?OptiMonkRegistry.account:null,isKlaviyoDetected:!!n||!(null==(e=window)||null==(t=e.klaviyo)||!t.identify),clientId:i,hostname:location.hostname}},ht={load:function(e){var t,n,o;if("undefined"!=typeof XMLHttpRequest)"withCredential"in(t=new XMLHttpRequest)&&(t.withCredentials=!0);else{var a=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"];for(n=0,o=a.length;o>n;n++)try{t=new ActiveXObject(a[n]);break}catch(e){}}return t.onreadystatechange=function(){if(4===t.readyState&&e){var n;const o=null==(n=t.getAllResponseHeaders())?void 0:n.trim().split(/[\r\n]+/).reduce(((e,t)=>{const n=t.split(": "),o=n.shift(),a=n.join(": ");return i({},e,{[o]:a})}),{});e(t.responseText,o)}},t},get:function(e,t){var n=ht.load(t);n.open("GET",e,!0),n.send("")},post:function(e,t,n){var i=ht.load(n);i.open("POST",t,!0),i.setRequestHeader("Content-type","application/x-www-form-urlencoded"),i.send(e)},postJSON:function(e,t,n){var i=ht.load(n);i.open("POST",t,!0),i.setRequestHeader("Content-type","application/json"),i.send(e)}},mt=e=>{if(!e)return e;let t=e.toLowerCase();return t.startsWith("m.")?t=t.substring(2):t.startsWith("www.")&&(t=t.substring(4)),t};function ft(e){if(OptiMonkRegistry&&OptiMonkRegistry.providerServiceIdOverrides){const e=window.location.hostname,t=mt(e),n=OptiMonkRegistry.providerServiceIdOverrides[t]||OptiMonkRegistry.providerServiceIdOverrides[e];if(n)return n}return e}let vt=!1;const yt={initialize(){vt||(pt.initialize(),vt=!0)},collect(e){void 0===e&&(e=!1);const t=pt.getInfo();let n=t.shopId;return e&&(n=ft(n)),{account:OptiMonkRegistry.account,platform:t.type,shopId:n,hostname:location.hostname}},getSiteStatus:async()=>await C().getSiteStatus(),getKlaviyoInfo:gt,sendIsKlaviyoDetected(){const e=gt();ht.post("data="+JSON.stringify(e),OptiMonkRegistry.baseUrl+"/analytics/klaviyo")},send(){if(!vt)throw new Error("[SiteInfo] Not initialized");const e=yt.collect();ht.post("data="+JSON.stringify(e),OptiMonkRegistry.baseUrl+"/analytics/siteinfo")},async checkSiteStatus(){const e=await yt.getSiteStatus();e&&!e.error?(e.site&&setTimeout((function(){yt.initialize(),yt.send()}),5e3),e.klaviyo&&yt.checkKlaviyo()):console.error("[OM] Site status check failed")},checkKlaviyo(){let e,t=10;setTimeout((function(){const n=setInterval((function(){e=yt.getKlaviyoInfo().isKlaviyoDetected,t--,(e||t<1)&&(yt.sendIsKlaviyoDetected(),clearInterval(n))}),1e3)}),5e3)}},wt={type:"shopify",isShop:()=>void 0!==window.ShopifyAnalytics&&void 0!==window.Shopify,isProductPage:()=>"product"===window.ShopifyAnalytics.meta.page.pageType,getProductId:()=>window.ShopifyAnalytics.meta.product.id,getVariantId:()=>window.ShopifyAnalytics.meta.selectedVariantId,getProductName(){var e,t,n,i,o;const a=null==(e=window.ShopifyAnalytics)||null==(t=e.meta)||null==(n=t.product)||null==(i=n.variants)||null==(o=i[0])?void 0:o.name,r=a.indexOf("-");return-1===r?a:a.substring(0,r).trim()},getProductPageData(){return{product_id:this.getProductId()}},getCustomerId:()=>wt.isShop()?ue(window.ShopifyAnalytics,"meta.page.customerId"):null,isCollectionPage:()=>"collection"===window.ShopifyAnalytics.meta.page.pageType,isCheckoutPage(){var e,t;return"show"===(null==(e=window.Shopify)||null==(t=e.Checkout)?void 0:t.page)},getResourceId:()=>window.ShopifyAnalytics.meta.page.resourceId,getResourceType:()=>window.ShopifyAnalytics.meta.page.resourceType,getShopName:()=>window.Shopify.shop||window.Shopify.Checkout.apiHost,getShopCurrency:()=>window.ShopifyAnalytics.meta.currency,getRootURL:()=>window.Shopify.routes.root,applyCheckoutDiscountCode:e=>new Promise((t=>{const n=document.querySelector('[data-discount-field], [name="reductions"]');n&&(n.value=e,n.dispatchEvent(new Event("input",{bubbles:!0})),n.form)?setTimeout((()=>{n.form.dispatchEvent(new Event("submit",{bubbles:!0})),t(!0)}),0):t(!1)}))};function It(){const e=pt.getInfo();let t=e.type,n=mt(e.shopId||window.location.host);const i=d();return 58417===i?(n="blendjet.myshopify.com",t="shopify"):88202===i&&(n="rugby-is-life.myshopify.com",t="shopify"),n=ft(n),{provider:t,providerServiceId:n}}function Ct(){let e;return wt.isShop()?e=wt.getCustomerId():window.ShopRenter&&(e=ue(window.ShopRenter,"customer.userId")),e?""+e:void 0}function bt(){const e="mobile";return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.navigator.userAgentData&&window.navigator.userAgentData.mobile||window.matchMedia("(max-width: 767px)").matches?e:"desktop"}function St(){var e,t,n;return null!=(e=null==(t=window.document)||null==t.querySelector||null==(n=t.querySelector('link[rel="canonical"]'))?void 0:n.getAttribute("href"))?e:null}const kt=()=>{const e=Xe(),t=bt();yt.initialize();const n=yt.collect(!0),i={accountId:OptiMonkRegistry.account,deviceId:OptiMonkRegistry.clientId,siteType:n.platform,siteId:n.shopId||n.hostname,shopifyY:$.local.getItem("_shopify_y"),userAgent:navigator.userAgent,url:location.href,canonicalUrl:St(),visitorInExperiment:e,deviceType:t};return window.btoa(unescape(encodeURIComponent(JSON.stringify(i))))},Ot="showed",Et="showed",Mt="filled",_t="rejected";let Pt=$.local.setItem,At=$.local.getItem,Rt=$.local.getItemSlices,Tt=$.local.removeItem,xt=$.local.hasItem,Nt=$.session.setItem,Dt=$.session.getItem,qt=$.session.getItemSlices,Ut=$.session.removeItem,Lt=$.session.hasItem;"object"==typeof localStorage&&(Pt=function(e,t){localStorage.setItem(e,P(t))},At=function(e){return A(localStorage.getItem(e),R)},Rt=function(e){return A(localStorage.getItemSlices(e),R)},Tt=function(e){return localStorage.removeItem(e),!0},xt=function(e){return null!==At(e)},Nt=function(e,t){sessionStorage.setItem(e,P(t))},Dt=function(e){return A(sessionStorage.getItem(e),R)},qt=function(e){return A(sessionStorage.getItemSlices(e),R)},Ut=function(e){return sessionStorage.removeItem(e),!0},Lt=function(e){return null!==Dt(e)});const Ft={getItem:e=>At(e),setItem(e,t){Pt(e,t)},getItemSlices:e=>Rt(e),removeItem:e=>Tt(e),hasItem:e=>xt(e)},Vt={local:Ft,session:{getItem:e=>Dt(e),setItem(e,t){Nt(e,t)},getItemSlices:e=>qt(e),removeItem:e=>Ut(e),hasItem:e=>Lt(e)},getPreviouslyViewedPages:()=>Ft.getItem("OptiMonkPreviouslyViewedPages")||{},setPreviouslyViewedPages:e=>{Ft.setItem("OptiMonkPreviouslyViewedPages",e)},deletePreviouslyViewedPages:()=>{Ft.removeItem("OptiMonkPreviouslyViewedPages")}};var jt=new class{setup(){this._setupDCPreview(),this._setupPopupPreview()}_setupDCPreview(){const e=new URLSearchParams(window.location.search).get("om-preview-v3-id");e&&Vt.session.setItem("om-preview-v3-id",e),this.getPreviewVariantId()&&(this._setIsPreview(),N("body",(()=>{this.hideBody()})))}_setupPopupPreview(){const e=new URLSearchParams(window.location.search).get("om-preview-id");e&&Vt.session.setItem("om-preview-id",e),this.getPopupPreviewVariantId()&&this._setIsPopupPreview()}hideBody(){document.body.style.display="none"}showBody(){document.body.style.display=""}_setIsPreview(){window.OptiMonkRegistry.isPreview=!0}_setIsPopupPreview(){window.OptiMonkRegistry.isPopupPreview=!0}getPreviewVariantId(){return Vt.session.getItem("om-preview-v3-id")}getPopupPreviewVariantId(){return Vt.session.getItem("om-preview-id")}isPreview(){return!!window.OptiMonkRegistry.isPreview}isPopupPreview(){return!!window.OptiMonkRegistry.isPopupPreview}handleError(e){alert(e)}exitPreview(){Vt.session.removeItem("om-preview-v3-id"),history.replaceState(null,null,window.location.pathname),window.location.reload()}};const Jt=e=>{const t=e.split("-");return t.forEach((function(e,n){n&&(t[n]=(e=>e.charAt(0).toUpperCase()+e.slice(1))(t[n]))})),t.join("")},Bt=e=>{var t;return e?null!=(t=e.dataset)?t:(e=>{const t={};if(e.hasAttributes())for(let n=0,i=e.attributes.length;n{this.element.removeAttribute("data-balloon"),this.element.removeAttribute("data-balloon-visible")},this.onMouseOver=()=>{this.element.setAttribute("data-balloon",this.message)},this.onFocus=()=>{this.onMouseOut()},this.init()}init(){this.message=this.input.getAttribute("data-error-text")||this.input.getAttribute("data-tooltip-text"),this.showImmediately&&this.element.setAttribute("data-balloon-visible","1"),this.showAlways?this.element.setAttribute("data-balloon",this.message):(this.element.setAttribute("data-balloon",this.message),this.element.setAttribute("data-balloon-pos",this.position),O(this.element,"mouseover",this.onMouseOver),O(this.element,"mouseout",this.onMouseOut),O(this.input,"focus",this.onFocus))}show(){this.element.setAttribute("data-balloon-visible","1")}hide(){this.element.removeAttribute("data-balloon-visible")}destroy(){this.element.removeAttribute("data-balloon"),this.element.removeAttribute("data-balloon-pos"),this.element.removeAttribute("data-balloon-visible"),E(this.element,"mouseover",this.onMouseOver),E(this.element,"mouseout",this.onMouseOut),E(this.input,"focus",this.onFocus)}}const Yt=function(){const e=document.createElement("div");return function(t){return t&&"string"==typeof t&&(t=(t=t.replace(/]*>([\S\s]*?)<\/script>/gim,"")).replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),e.innerHTML=t,t=e.textContent,e.textContent=""),t}}(),Qt=(e,t)=>{"string"==typeof e&&(e=e.replace(".",""));const n=/\{\{\s*(\w+)\s*\}\}/,i=Yt(t)||"{{amount}}";function o(e,t){return void 0===e?t:e}function a(e,t,n,i){if(t=o(t,2),n=o(n,","),i=o(i,"."),window.ShopRenter&&(t="HUF"===window.ShopRenter.shop.currency.code?0:t,n=".",i=","),isNaN(e)||null==e)return 0;const a=(e=(e/100).toFixed(t)).split(".");return a[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+n)+(a[1]?i+a[1]:"")}let r="";switch(i.match(n)[1]){case"amount":r=a(e,2);break;case"amount_no_decimals":r=a(e,0);break;case"amount_with_comma_separator":r=a(e,2,".",",");break;case"amount_no_decimals_with_comma_separator":r=a(e,0,".",",");break;case"amount_no_decimals_with_space_separator":r=a(e,0," ",",")}return i.replace(n,r)},Zt=e=>{let t=e;for(;t.hasChildNodes();)t=t.firstChild;return t},en=e=>new URL(e).pathname.toLowerCase().trim().replace(/(^\w+:|^)\/\//,"").replace(/[^a-z0-9 -]/g,"-").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/(?<=.)-$/,""),tn=()=>{var e;const t=(null==(e=document.querySelector('link[rel="canonical"]'))?void 0:e.href)||window.location.href;return en(t)},nn=()=>{var e,t,n,i,o,a,r,s,c,l,d,u;return(null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.product)?void 0:n.id)||(null==(i=window)||null==(o=i.ShopifyAnalytics)||null==(a=o.meta)||null==(r=a.product)?void 0:r.id)||(null==(s=window.UNAS)||null==(c=s.shop)?void 0:c.product_id)||(null==(l=window.WooDataForOM)||null==(d=l.product)||null==(u=d.id)?void 0:u.toString())};var on={StopNavigationDecorator:class{static async decorate(e){let{handler:t,campaign:n,buttonSettings:i,targetElement:o,logger:a,cookieManager:r}=e;a.debug("StopNavigationDecorator decorate"),((e,t)=>{const n=e,i=Zt(n);if(void 0!==i.classList)return;const o=i?i.parentNode:n,a=o.innerHTML;o.innerHTML=" "+a})(o,"om-animate-spin fa-spinner");const s=await t.handle({handler:t,campaign:n,buttonSettings:i,logger:a,cookieManager:r});return new Promise((e=>{if(!1===s){(e=>{const t=e,n=t.children[0].innerText,i=Zt(t);(i?i.parentNode:t).innerHTML=n})(o);const t=n.getCurrentStepInputs();Array.from(t).filter((e=>e.name===n.getInputTypes().EMAIL)).forEach((e=>{e.setAttribute("data-error-text","You are already subscribed with your email address."),new Xt(e,!0,"up")})),e(!1)}e(!0)}))}}};class an{static addRecartProperties(){var e;if(null!=(e=window._recart)&&e.isReady())return{sessionId:window._recart.getSessionId(),shopperId:window._recart.getShopperId(),siteId:window._recart.getSiteId()}}static getMetaData(e,t){const n=!0===h().STOP_ON_INTEGRATION_ERROR,i=Vt.local.getItem("OptiMonkVisitorAttributes"),o={page:e.getCurrentStepIndex(),converted:e.isConverted()||!1,language:navigator.language,country:i._country_en};t.action&&(o.action=t.action),t.reportAs&&(o.report=t.reportAs),t.isConversion&&(o.filled=t.isConversion),t.syncToIntegration&&(o.syncToIntegration=t.syncToIntegration),n&&(o.needsSyncResponse=!0);const a=this.getNextPageNumber(e,t);return o.allInputFilled=!e.hasInputOn(a)&&!e.hasButtonOnStepForMetadata(a),o.recartProperties=this.addRecartProperties(),JSON.stringify(o)}static getNextPageNumber(e,t){return t.action===zt.NEXT_POPUP?e.getCurrentStepIndex()+1:t.action===zt.JUMP_TO_PAGE?t.jumpTo-1:null}static canHandle(){throw new Error("Not implemented: "+this.name)}}const rn={};class sn{static setCampaignDataState(e,t,n,o){let{variantId:a,pageUserId:r}=t;this.setBaseConversionData(e,a,r,o),rn[e]=i({},rn[e],n)}static getCampaignDataStateByUid(e){return rn[e]||null}static setBaseConversionData(e,t,n,i){const o=Ge(i.campaignData.currentExperimentId),a=Xe();yt.initialize(),rn[e]={final:!1,needSetConverted:!1,converted:i.isConverted()||!1,"visitor[url]":encodeURIComponent(window.location.href),"visitor[canonicalUrl]":encodeURIComponent(St()),deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop",creative:t,clientId:OptiMonkRegistry.clientId,siteInfo:JSON.stringify(yt.collect()),pageUserId:n,experimentGroupId:o,visitorInExperiment:a}}static getCampaignBase(e){return{variantId:e.getVariantId(),pageUserId:e.getPageUserId()}}static collectDataForProduct(e,t){const n=e.getUid(),i=this.getCampaignBase(e),o=t.getPayload(e);return this.setCampaignDataState(n,i,o,e),this.getCampaignDataStateByUid(n)}static getMetaDataForProduct(){return JSON.stringify({allInputFilled:!0})}static collectDataForButton(e){const t=e.getUid(),n=this.getCampaignBase(e);return this.setCampaignDataState(t,n,null,e),this.getCampaignDataStateByUid(t)}}class cn{static collectValues(e,t){const n=e.getInputs(),i={};return n.forEach((e=>{const{type:n,name:o,value:a,checked:r}=e;if("checkbox"===n&&r)i[o]=Array.isArray(i[o])?i[o]:[],i[o].push(a);else if(t.hasClass(e,"om-phone-input")&&!i[o]){const t=window.OptiMonkEmbedded.intlTelInput.getInstance(e);i[o]=t?t.getNumber():a}else"radio"===n&&r?i[o]=a:["checkbox","radio"].includes(n)||!a||i[o]||(i[o]=a)})),console.log("&&&&",i),i}}const ln=".om-countdown",dn="om-embedded-campaign-v2";class un{static getSelectionRange(){return document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0)}static setSelectionRange(e,t,n){e.setSelectionRange(t,n)}static getSelection(){return document.getSelection()}static select(e){e.select()}static selectNodeContents(e,t){e.selectNodeContents(t)}static createRange(){return document.createRange()}static removeAllRanges(){this.getSelection().removeAllRanges()}static addRange(e){this.getSelection().addRange(e)}}class pn{static getAllElement(e){return document.querySelectorAll(e)}static hideElement(e){e&&(e.style.display="none")}static getElement(e){return document.querySelector(e)}static getChildElement(e,t){return e.querySelector(this.getContainerSelector()+" "+t)}static createElement(e){return document.createElement(e)}static getParentElement(e){return e.parentElement}static getElementClassList(e){return e.classList}static appendChild(e,t){e.appendChild(t)}static insertBefore(e,t,n){e.insertBefore(t,n)}static setInnerHTML(e,t){e.innerHTML=t}static getInnerHTML(e){return e.innerHTML}static getAttribute(e,t){return e.getAttribute(t)}static setAttribute(e,t,n){e.setAttribute(t,n)}static removeAttribute(e,t){e.removeAttribute(t)}static getInnerText(e){return e.innerText}static setStyle(e,t,n){e.style[t]=n}static setValue(e,t){e.value=t}static getNavigatorLanguage(){return navigator.language||navigator.userLanguage}static getDocumentBody(){return document.body}static getDocument(){return document}static userAgentMatch(e){return navigator.userAgent.match(e)}static execCommand(e){document.execCommand(e)}static addEventListener(e,t,n){e.addEventListener(t,n)}}const gn=e=>[...e].find((e=>""!==e.value));class hn{constructor(e,t,n){this.campaignId=e,this.variantId=t,this.elementId=n}_getCouponSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] #'+this.elementId}_getCouponWrapperSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] #'+this.elementId+"_wrapper"}_getCampaignEmailInputSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] input[name="visitor[email]"]'}_getCouponTextSelector(){return this._getCouponSelector()+" .om-coupon-text"}getCouponHTML(){var e;return null==(e=pn.getElement(this._getCouponTextSelector()))?void 0:e.innerHTML}replace(e){pn.getAllElement(this._getCouponTextSelector()).forEach((t=>{pn.setInnerHTML(t,e)}))}getPage(){const e=pn.getElement(this._getCouponSelector()),t=null==e?void 0:e.closest("[data-om-step]");if(!t)throw new Error("No page for coupon");return Number(t.getAttribute("data-om-step"))}getCampaignFilledEmailInput(){const e=pn.getAllElement(this._getCampaignEmailInputSelector());return gn(e)||null}getCouponCopiedMessage(){return{hu:"Kimásolva",en:"Copied"}}getCopiedMessage(e){const t=pn.getAttribute(e,"data-custom-copy-text");if(t.length>0)return t;const n=pn.getNavigatorLanguage(),i=this.getCouponCopiedMessage();return n.includes("hu")?i.hu:i.en}copyToClipboard(e,t){void 0===t&&(t=!0);const n=pn.createElement("textarea");pn.setStyle(n,"cssText","position: absolute; left: -99999em"),pn.setAttribute(n,"readonly",!0),pn.setValue(n,e),pn.appendChild(pn.getDocumentBody(),n);const i=un.getSelectionRange();if(pn.userAgentMatch(new RegExp(/ipad|ipod|iphone/,"i"))){pn.setAttribute(n,"contentEditable",!0);const e=un.createRange();un.selectNodeContents(e,n),un.removeAllRanges(),un.addRange(e),un.setSelectionRange(n,0,999999)}else un.select(n);const o=pn.getElement(this._getCouponSelector());try{const e=pn.execCommand("copy");if(i&&(un.removeAllRanges(),un.addRange(i)),t){const e=this.getCopiedMessage(pn.getElement(this._getCouponWrapperSelector()));pn.setAttribute(o,"data-tooltip-text",e),new Xt(o,!0,"up")}return Ke.reportCustomEvent("discount-code-copy"),e}catch(e){return console.error(e),!1}}removeSettingsData(){pn.getAllElement(this._getCouponWrapperSelector()).forEach((e=>{pn.removeAttribute(e,"data-settings")}))}addLoading(){const e=pn.getElement(this._getCouponTextSelector()),t='';pn.setInnerHTML(e,t)}}class mn{constructor(e,t){this.coupon=t,this.visitorAdapter=e}_getCouponData(e){void 0===e&&(e=null);let t={type:this.coupon.getType(),shownAt:(new Date).getTime()};return e&&(t=i({},t,e)),t}async store(e){void 0===e&&(e=null);const t="coupon_code_"+this.coupon.getCampaignId()+"_"+this.coupon.getCouponId(),n=t+"_data",i=this.visitorAdapter.createAdapter();i.attr(t,await this.coupon.getCode()),i.attr(n,JSON.stringify(this._getCouponData(e)))}}class fn{constructor(){this.requestService=C(),this.visitorAdapter=b()}init(e,t,n,i){void 0===i&&(i={}),this.campaignId=e,this.variantId=t,this.elementId=n,this.settings=i,this.storage=new mn(this.visitorAdapter,this),this.loggedImpression=!1,this.code=null,this.couponDOM=new hn(e,t,n)}getCampaignId(){return this.campaignId}getVariantId(){return this.variantId}getElementId(){return this.elementId}getCouponId(){return this.getElementId().replace("ele_","")}getType(){throw new Error("Not implemented")}async hasCode(){return!0}getCode(){return this.code}getPage(){return this.couponDOM.getPage()}lock(){return!0}async unlock(){return!0}getFallback(){return null}removeSettingsData(){this.couponDOM.removeSettingsData()}async showCoupon(e,t){if(e!==this.campaignId)return!1;if(this.couponDOM.getPage()!==t)return!1;throw new Error("Show coupon not implemented")}async copyCouponToClipboard(){return this.couponDOM.copyToClipboard(await this.getCode())}handleAutoRedeem(){!1!=!!this.settings.autoRedeem&&!1!==wt.isShop()&&this.redeem()}async redeem(){const e=await this.getCode();wt.isCheckoutPage()?wt.applyCheckoutDiscountCode(e).then((e=>{e||console.warn("Failed to apply discount code on checkout page")})):await this.requestService.autoRedeem(e)}}const vn="fixed",yn="unique",wn="shopify_automatic",In="followup",Cn="shopify_followup",bn="gamification";class Sn extends fn{getType(){return vn}getCode(){return null===this.code&&(this.code=this.couponDOM.getCouponHTML()),this.code}async showCoupon(e,t){return e===this.campaignId&&(this.couponDOM.getPage()===t&&(this.storage.store(),this))}}class kn extends fn{getType(){return yn}async lock(){const e=u(),t=await this.requestService.lockCoupon({clientId:e,campaign:this.campaignId,creative:this.variantId});return null==t?void 0:t.success}async hasCode(){return!!this.hasFallback()||this.lock()}async unlock(){const e=u(),t=await this.requestService.unlockCoupon({clientId:e,campaign:this.campaignId,creative:this.variantId});return null==t?void 0:t.success}async showCoupon(e,t){if(e!==this.campaignId)return!1;if(this.couponDOM.getPage()!==t)return!1;const n=await this.getCode();return await this.storage.store(),this.couponDOM.replace(n),this}getFallback(){return this.settings.fallback}hasFallback(){return!!this.settings.fallback}async getCode(){if(f()&&(this.code="YOUR COUPON"),this.code)return this.code;try{const e=u(),t=await this.requestService.getUniqueCouponCode({clientId:e,campaign:this.campaignId,creative:this.variantId});return t.success?(this.code=t.code,this.code):(this.code=this.getFallback(),this.code)}catch(e){if(console.error("Cannot get coupon code",e.message),this.hasFallback())return this.code=this.getFallback(),this.code;throw new Error("Failed to get coupon code")}}}class On extends fn{constructor(){super(),this.couponConfig=null,this.pendingReq=null}getType(){return wn}async hasCode(){return!0}async showCoupon(e,t){return e===this.campaignId&&(this.couponDOM.getPage()===t&&(this.couponDOM.addLoading(),this.getCode().then((()=>{this.storage.store(this._getDataToStore()),this.couponDOM.replace(this.code)})),this))}_getDataToStore(){return{type:"automatic",generatedAt:new Date(this.couponConfig.generatedAt).getTime(),validUntil:this.couponConfig.validUntil?new Date(this.couponConfig.validUntil).getTime():null}}async getCode(){if(f())return this.code="YOUR COUPON",this.code;if(this.code)return this.code;try{const e=bt(),t={shopName:wt.getShopName(),databaseId:d(),variantId:this.variantId,elementId:this.getCouponId(),deviceType:e},n=this.couponDOM.getCampaignFilledEmailInput();return n&&(t.email=encodeURIComponent(n.value)),this.code=new Promise((e=>{this.requestService.generateShopifyCoupon(t).then((t=>{this.couponConfig=t,this.code=t.code,e(t.code)}))})),this.code}catch(e){throw console.error("Cannot generate Shopify coupon code",e.message),new Error("Failed to generate Shopify coupon code")}}}const En=new class{constructor(){this.couponsByCampMap={},this.couponInstancesByCamp={},this.couponLocksByCamp={},this.loggedImpressions={},this.addCouponCopyListener()}add(e){e.forEach((e=>{this.couponsByCampMap[e.campaignId]||(this.couponsByCampMap[e.campaignId]=[]),this.couponInstancesByCamp[e.campaignId]||(this.couponInstancesByCamp[e.campaignId]=[]);const t=class{static create(e){switch(e){case vn:case In:case Cn:case bn:return new Sn;case yn:return new kn;case wn:return new On}}}.create(e.type);t.init(e.campaignId,e.variantId,e.uid,e.settings),this.couponInstancesByCamp[e.campaignId].push(t),this.couponsByCampMap[e.campaignId].push(e)}))}async validateFor(e){return!1===this.couponInstancesByCamp[e]||this.lockCouponsForCampaign(e)}async lockCouponsForCampaign(e){if(!this.couponInstancesByCamp[e])return console.warn("No coupons for campaign "+e),!1;const t=await(async(e,t)=>{const n=await Promise.all(e.map(t));return e.filter(((e,t)=>n[t]))})(this.couponInstancesByCamp[e],(async e=>e.hasCode()));return t.length&&this.startLockCouponsForCampaign(e),t.length}startLockCouponsForCampaign(e){this.clearLockForCampaign(e),this.couponLocksByCamp[e]&&(this.couponLocksByCamp[e]={}),this.couponInstancesByCamp[e].forEach((t=>{this.couponLocksByCamp[e]=setInterval((()=>{t.lock()}),1e4)}))}clearLockForCampaign(e){this.couponLocksByCamp[e]&&clearInterval(this.couponLocksByCamp[e])}async showCoupon(e,t){var n;if(!this.couponInstancesByCamp[e])return null;const i=null==(n=this.couponInstancesByCamp[e])?void 0:n.filter((e=>e.getPage()===t));return await Promise.all(i.map((async n=>{await n.showCoupon(e,t),n.handleAutoRedeem(),clearInterval(this.couponLocksByCamp[e])}))),this.logImpression(i),i}getCouponsOnPage(e,t){var n;return this.couponInstancesByCamp[e]?null==(n=this.couponInstancesByCamp[e])?void 0:n.filter((e=>e.getPage()===t)):null}hasCouponOnPage(e,t){if(!this.couponInstancesByCamp[e])return!1;return!!this.couponInstancesByCamp[e].filter((e=>e.getPage()===t)).length}logImpression(e){e.forEach((e=>{if(e.getType()===vn)return;const t=e.getCampaignId()+"-"+e.getElementId();if(!this.loggedImpressions[t]&&e.code!==e.getFallback())try{Pe("couponImpression",{code:e.code,couponType:e.getType(),campaignId:e.getCampaignId(),variantId:e.getVariantId(),domain:window.location.hostname,deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),window.JFClientSDK.v2.go(),this.loggedImpressions[t]=!0}catch(e){console.warn("[OM-Coupon] Unable to log coupon impression:",e.message)}}))}addCouponCopyListener(){const e=this;pn.addEventListener(pn.getDocument(),"click",(function(t){const n=t.target,i=n.closest(".om-workspace-content");if(!i)return;const o=i.id.replace("om-campaign-","");if(!e.couponsByCampMap[o])return;const a=n.closest(".om-coupon");if(!a)return;const r=e.couponInstancesByCamp[o].find((e=>a.id===e.getElementId()+"_wrapper"));r&&r.copyCouponToClipboard()}))}clearSettingsData(e){this.couponInstancesByCamp[e]&&this.couponInstancesByCamp[e].forEach((e=>{e.removeSettingsData()}))}};var Mn=Object.freeze({__proto__:null,default:En});class _n{constructor(e,t,n){this.productComponent=e,this.productComponentHolderId=t,this.targetProductIndex=n}getPayload(e){let t={};if(this.productComponent.isStatic()){const e=this.productComponent.getProductByIndex(this.targetProductIndex);t.url=e.getUrl()}else t=this.productComponent.productIdentifiers[this.targetProductIndex];const n=i({},cn.collectValues(e,e.dom),{final:!0,["custom_fields[product_"+this.productComponentHolderId+"]"]:JSON.stringify(t)}),o=En.couponInstancesByCamp[e.getId()];return null!=o&&o.length&&(n["custom_fields[coupon_code]"]=o[0].getCode()),n}}class Pn{constructor(){if(this instanceof Pn)throw Error("A static class cannot be instantiated.")}static convertProductClick(e,t,n,i){const o=sn.collectDataForProduct(e,new _n(t,n,i));o.__META__=sn.getMetaDataForProduct(),e.sendConversion(o),e.sendFeedback()}static async convertClick(e,t,n){const o=void 0===t.needSetConverted||t.needSetConverted,a=sn.collectDataForButton(e);n.debug("conversionData",i({},a,t,{setConverted:o})),e.sendConversion(i({},a,t),o),e.sendFeedback()}}const An=(e,t,n)=>{const i=document.createElement("script");i.text=t,i.id="om-campaign-script-"+e+"-"+n,document.querySelector("head").appendChild(i)};class Rn{static runPageLoad(e){var t;null!=(t=e.customJS)&&t.pageLoad&&An(e.id,e.customJS.pageLoad,"pageLoad")}static runShow(e){var t;null!=(t=e.customJS)&&t.show&&An(e.id,e.customJS.show,"show")}static runFill(e){var t;null!=(t=e.getCustomJSes())&&t.fill&&An(e.getId(),e.getCustomJSes().fill,"fill")}}class Tn extends an{static async convertAfterCoupon(e){let{campaign:t,buttonSettings:n,coupons:o,logger:a,cookieManager:r}=e;const s=cn.collectValues(t,t.dom),c=await Pn.convertClick(t,i({},n.isConversion?{final:!0}:{final:!1,needSetConverted:!1},s,{"custom_fields[coupon_code]":await o[0].getCode(),__META__:this.getMetaData(t,n)}),a),l=!(c&&!1===c.success);return n.isConversion&&l&&(r.setFilled(t.getId()),Rn.runFill(t)),Promise.resolve(l)}}const xn=(e,t)=>{setTimeout((()=>{if("string"==typeof e.code)return t();xn(e,t)}),100)};var Nn={NoInputNoConversionHandler:class extends an{static async handle(){return Promise.resolve(!0)}static canHandle(e){let{campaign:t,logger:n,buttonSettings:i}=e;if(t.isConverted()){const e=t.getPageInputs().length>0,o=this.getNextPageNumber(t,i),a=t.hasCoupon(o);if(!e&&!a)return n.debug("canHandle: true"),!0}return!1}},CouponNextPageHandler:class extends Tn{static async handle(e){let{campaign:t,buttonSettings:n,logger:i,cookieManager:o}=e;const a=this.getNextPageNumber(t,n),r=await En.showCoupon(t.getId(),a),s=r.find((e=>e.getType()===wn));return s?new Promise((e=>{xn(s,(()=>{this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:r,logger:i,cookieManager:o})})),e(!0)})):this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:r,logger:i,cookieManager:o})}static canHandle(e){let{campaign:t,buttonSettings:n,logger:i}=e;const o=this.getNextPageNumber(t,n);return!!t.hasCoupon(o)&&(i.debug("canHandle: true"),!0)}},CouponFirstPageHandler:class extends Tn{static async handle(e){let{campaign:t,buttonSettings:n,logger:i,cookieManager:o}=e;const a=En.getCouponsOnPage(t.getId(),t.getCurrentStepIndex());i.debug("campaign has coupon in first page",{campaign:t,buttonSettings:n});const r=a.find((e=>e.getType()===wn));return r?new Promise((e=>{xn(r,(()=>{this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:a,logger:i,cookieManager:o})})),e(!0)})):this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:a,logger:i,cookieManager:o})}static canHandle(e){let{campaign:t,logger:n}=e;const i=t.getCurrentStepIndex(),o=En.hasCouponOnPage(t.getId(),t.getCurrentStepIndex());return!(0!==i||!o)&&(n.debug("canHandle: true"),!0)}},ConversionHandler:class extends an{static async handle(e){let t,{campaign:n,buttonSettings:o,logger:a,cookieManager:r}=e;const s=cn.collectValues(n,n.dom);return t=o.isConversion?{final:!0,__META__:this.getMetaData(n,o)}:{needSetConverted:!1,final:!1,__META__:this.getMetaData(n,o)},await Pn.convertClick(n,i({},s,t),a),o.isConversion&&(r.setFilled(n.getId()),a.debug("setFilled"),Rn.runFill(n)),Promise.resolve(!0)}static canHandle(e){let{logger:t}=e;return t.debug("canHandle: true"),!0}}};class Dn{constructor(e){let{service:t,handlerName:n}=e;this.service=t,this.handlerName=n,this.onlyDebug=OptiMonkRegistry.isDebug}debug(e,t){this.onlyDebug&&console.info("["+this.service+"]-["+this.handlerName+"]: "+e,t||null)}}const qn=[Nn.NoInputNoConversionHandler,Nn.CouponNextPageHandler,Nn.CouponFirstPageHandler,Nn.ConversionHandler];class Un{static async handle(e,t,n){const i=Gt.collectSettings(t),o=m();this.setCTAAttribute(i,t);const a=Gt.getCampaignData(n);if(!this.needValidation(i))return o.isFilled(a.getId())||Un.reportByButtonSettings(i,e,a),void a.doAction(i.action,i,e);if(!await a.validate())return!1;const r=h();await class{static async handle(e,t,n,i,o){let a;const r=qn.find((e=>{const i=this.createLogger(e.name);return e.canHandle({campaign:t,buttonSettings:n,logger:i})})),s=this.createLogger(r.name);return a=null!=e&&e.STOP_ON_INTEGRATION_ERROR?await on.StopNavigationDecorator.decorate({handler:r,campaign:t,buttonSettings:n,targetElement:i,logger:s,cookieManager:o}):await r.handle({campaign:t,buttonSettings:n,features:e,logger:s,cookieManager:o}),s.debug("result: ",a),a}static createLogger(e){return new Dn({service:"ButtonHandler",handlerName:e})}}.handle(r,a,i,e,o)&&(a.doAction(i.action,i,e),Un.reportByButtonSettings(i,e,a))}static needValidation(e){const t=e.action===zt.CLOSE,n=e.action===zt.REDIRECT;return!(e.action===zt.COPY_COUPON)&&!(!e.isConversion&&(t||n))}static setCTAAttribute(e,t){(-1!=="redirect|jumpToPage|nextPopup|dial|copyCoupon".indexOf(e.action)||e.action===zt.CLOSE&&e.isConversion)&&t.setAttribute("data-cta","1")}static reportByButtonSettings(e,t,n){if(F())e.isConversion&&$t.getInstance().reportConversion(t,n);else switch(e.reportAs){case Kt.CONVERSION:return $t.getInstance().reportConversion(t,n);case Kt.REJECTED:return $t.getInstance().reportRejected(n)}}}class Ln{static handle(e,t,n){const o=e.closest(".om-image-redirect");if(!o)return;n.preventDefault();const a=Gt.collectSettings(o,"data-om-settings"),r={reportAs:Ln.getReportType(a),keepQueryParams:!(null==a||!a.keepQueryParams),isConversion:F()?!(null==a||!a.isConversion):!(null==a||!a.goalReached),newTab:"_blank"===o.getAttribute("target"),url:o.href},s=Gt.getCampaignData(t),c=cn.collectValues(s,s.dom);Ln.sendReporting(r.reportAs,s),yt.initialize(),s.sendConversion(i({},sn.collectDataForButton(s),c,{final:r.isConversion})),r.isConversion&&(m().setFilled(s.getId()),Rn.runFill(s)),s.doAction(zt.REDIRECT,r)}static sendReporting(e,t){if(e===Kt.NONE)return;let n=Ke.OPERATION_FILLED;e===Kt.REJECTED&&(n=Ke.OPERATION_NO),OptiMonkRegistry.analyticsEvents.push({eventName:n,campaign:t})}static getReportType(e){return F()?e.isConversion?Kt.CONVERSION:Kt.NONE:(null==e?void 0:e.reportAs)||"conversion"}}const Fn={equals(e,t){return this.isSet(e)&&e==t},notEquals(e,t){return this.isSet(e)&&e!=t},contains(e,t){return this.isSet(e)&&y(e).indexOf(t)>-1},notContains(e,t){return this.isSet(e)&&!this.contains(e,t)},startsWith(e,t){return this.isSet(e)&&0===y(e).indexOf(t)},notStartsWith(e,t){return this.isSet(e)&&!this.startsWith(e,t)},endsWith(e,t){const n=e.length,i=t.length;return this.isSet(e)&&t===y(e).substr(n-i,n)},notEndsWith(e,t){return this.isSet(e)&&!this.endsWith(e,t)},greaterThan(e,t){return this.isSet(e)&&v(e)>v(t)},lessThan(e,t){return this.isSet(e)&&v(e)=v(t)},lessThanEquals(e,t){return this.isSet(e)&&v(e)<=v(t)},isSet:e=>null!=e,notSet(e){return!this.isSet(e)},interval(e,t){return t=t.split("-"),this.isSet(e)&&v(e)>=t[0]&&v(e)<=t[1]},between(e,t){return this.isSet(e)&&parseFloat(e)>=parseFloat(t[0])&&parseFloat(e)<=parseFloat(t[1])},matchRegex(e,t){const n=new RegExp(t);return this.isSet(e)&&n.test(e)},notMatchRegex(e,t){const n=new RegExp(t);return this.isSet(e)&&!n.test(e)},is(e,t){return this.equals(e,t)},isNot(e,t){return this.notEquals(e,t)},dateIsInLast:(e,t)=>new Date(e).getTime()>=Date.now()-t[0],dateIsAtLeast:(e,t)=>new Date(e).getTime()<=Date.now()-t[0],dateIsBetween(e,t){const n=new Date(e).getTime();return n<=Date.now()-t[0]&&n>=Date.now()-t[1]},dateIsBefore:(e,t)=>new Date(e).getTime()new Date(e).getTime()>t[0],dateIsBetweenDates(e,t){const n=new Date(e).getTime();return n>=t[0]&&n<=t[1]}},Vn="pageViewerType",jn="maximumPopupDisplay",Jn="minimumPageVisit",Bn="notViewedPageRecent",Hn="previouslyViewedPage",$n="viewedPage",Wn="timeBasedSession",Kn="source",zn="subscribers",Gn="loggedIn",Xn="klaviyoSegment",Yn="campaignProgressState",Qn="cookie",Zn="country",ei="ipBlock",ti="visitorAttribute";class ni{static getPageViewerType(e){return e.rules[Vn]}static getMaximumPopupDisplay(e){return e.rules[jn]}static getMinimumPageVisit(e){return e.rules[Jn]}static getNotViewedPageRecent(e){return e.rules[Bn]}static getPreviouslyViewedPage(e){return e.rules[Hn]}static getSubscribers(e){return e.rules[zn]}static getViewedPage(e){return e.rules[$n]}static getTimeBasedSession(e){return e.rules[Wn]}static getSource(e){return e.rules[Kn]}static getKlaviyoSegment(e){return e.rules[Xn]}static getLoggedIn(e){return e.rules[Gn]}static getCampaignProgressState(e){return e.rules[Yn]}static getCookie(e){return e.rules[Qn]}static getCountry(e){return e.rules[Zn]}static getIPs(e){return e.rules[ei]||[]}static getVisitorAttribute(e){return e.rules[ti]}}class ii{static get type(){throw Error("No type defined")}static validator(e){throw Error("Implement validator")}}const oi={HashGenerator:{generate:e=>(e=>{let t,n,i,o=0;if(0===e.length)return o;for(t=0,i=e.length;t(null===ri&&(ri=Vt.getPreviouslyViewedPages()),ri),setStoredRule(e){this.getStoredRules(),ri[e]=1,Vt.setPreviouslyViewedPages(ri)},storeRule(e){const t=oi.HashGenerator.generate(e);this.setStoredRule(t)},reset(){Vt.deletePreviouslyViewedPages(),ri=null},isEmpty(){const e=this.getStoredRules();return 0===Object.keys(e).length},hasRule(e){const t=oi.HashGenerator.generate(e);return this.getStoredRules().hasOwnProperty(t)},handle(e,t){let n;try{n=decodeURIComponent(e)}catch(t){n=e}si.currentPath=n,S(t,(function(e,t){si.handleGroups(t.rules.previouslyViewedPage)}))},handleGroups(e){S(e,(function(e,t){si.handleRules(t)}))},handleRules(e){S(e,(function(e,t){try{t.value=decodeURIComponent(t.value)}catch(e){}si.validateOne(t)&&si.storeRule(t)}))},validateOne:e=>Fn[e.operator](si.currentPath,e.value)},ci=(e,t)=>e.includes(t),li=(e,t)=>e.startsWith(t),di=(e,t)=>e.endsWith(t),ui=(e,t)=>{const n=new RegExp(t);return e.match(n)};var pi=Object.freeze({__proto__:null,containsOperator:ci,notContainsOperator:(e,t)=>!ci(e,t),equalsOperator:(e,t)=>e===t,notEqualsOperator:(e,t)=>e!==t,startsWithOperator:li,notStartsWithOperator:(e,t)=>!li(e,t),endsWithOperator:di,notEndsWithOperator:(e,t)=>!di(e,t),matchRegexOperator:ui,notMatchRegexOperator:(e,t)=>!ui(e,t)});const gi={currentPath:void 0,handle(e,t,n){let i;try{i=decodeURIComponent(e)}catch(t){i=e}gi.currentPath=i,S(t,(function(e,t){const i=n.getCampaignCookie(t.id);gi.handleGroups(ni.getNotViewedPageRecent(t),i)}))},handleGroups(e,t){S(e,(function(e,n){gi.handleRules(n,t)}))},handleRules(e,t){S(e,(function(e,n){try{n.value=decodeURIComponent(n.value)}catch(e){}gi.handleOne(n,t)}))},storeRule(e,t){e.timeUntilAvailable=t,window.OptiMonkEmbedded&&window.OptiMonkEmbedded.CookieManager.saveCampaignCookie(e)},handleOne(e,t){let n;try{n=decodeURIComponent(e.value)}catch(t){n=e.value}const i=I()+e.secondsToBlock;if(!1===pi[e.operator+"Operator"](gi.currentPath,n))return!1;0===e.secondsToBlock?gi.storeRule(t,99999999999):(99999999999===t.timeUntilAvailable||(t.timeUntilAvailable||0)vi.elements.has(e)?vi.elements.get(e).data:void 0,set(e,t,n){void 0===n&&(n=[]),vi.elements.set(e,new fi(t,n))},clear(e){vi.elements.remove(e)},clearByTag(e){vi.elements.forAll((function(t,n){n.tags.indexOf(e)>-1&&vi.clear(t)}))},apply(e,t,n,i){void 0===i&&(i=[]);const o=vi.get(n);if(void 0!==o)return o;const a=e.apply(e,t);return vi.set(n,a,i),a}},yi={call(e,t){switch(t.event){case"construct":case"addItem":case"removeItem":case"clear":yi.clear()}},clear(){vi.clearByTag("Tag.OptiMonk.Visitor.Cart")}},wi={call(e,t){switch(t.event){case"construct":wi.load(t);break;case"addItem":case"removeItem":case"clear":wi.save(t)}},load(e){S(Vt.session.getItem("OptiMonkVisitorCart")||{},(function(t,n){e.items[t]=n}))},save(e){Vt.session.setItem("OptiMonkVisitorCart",e.items)}},Ii=["remove","set","clear"],Ci=["construct"],bi={call(e,t){Ii.includes(t.event)?bi.save(t):Ci.includes(t.event)&&bi.load(t)},load(e){S(Vt.local.getItem("OptiMonkShopAttributes")||{},(function(t,n){e.params[t]=n}))},save(e){const t=this.escapeObjectValues(e.params);Vt.local.setItem("OptiMonkShopAttributes",t)},escapeObjectValues(e){const t={};for(const n in e)e.hasOwnProperty(n)&&(t[n]=encodeURIComponent(e[n]));return t}},Si={AttributesStorageHandler:mi,CartCacheClearer:yi,CartStorageHandler:wi,ShopAttributesStorageHandler:bi},ki=()=>Vt.local.getItem("OptiMonkVisitorAttributes")||{},Oi=new hi;Oi.attach(Si.AttributesStorageHandler);const Ei={get:e=>ki()[e],has:e=>ki().hasOwnProperty(e),set(e,t){const n=ki();n[e]=t,Oi.notify(Ei,{name:e,value:encodeURIComponent(t),event:"set",params:n})},all:()=>ki(),attach(e){Oi.attach(e)},remove(e){const t=ki();delete t[e],Oi.notify(Ei,{name:e,event:"removeItem",params:t})}};Oi.notify(Ei,{event:"construct",params:ki()});const Mi=function(){return"object"==typeof window.console&&"function"==typeof window.console.error&&"function"==typeof window.console.log&&"function"==typeof window.console.info},_i={log(e){!1!==Mi()&&window.console.log(e)},error(e,t){!1!==Mi()&&(t=t||{},window.console.error(e,t))},info(e){!1!==Mi()&&window.console.info(e)}},Pi=new hi;let Ai={};Pi.attach(Si.CartStorageHandler),Pi.attach(Si.CartCacheClearer);const Ri={addItem(e,t){var n;!function(e,t){return void 0!==e&&void 0!==t&&t.hasOwnProperty("quantity")&&t.hasOwnProperty("price")}(e,t)?(n="Invalid cart item. You need to specify the id, quantity and price of it.",_i.error(n)):(t.id=e,Ai[e]=t,Pi.notify(Ri,{id:e,data:t,event:"addItem",items:Ai}))},addItems(e){S(e,(function(e,t){Ri.addItem(t.id,t)}))},hasItem:e=>Ai.hasOwnProperty(e),getItem(e){if(Ri.hasItem(e))return Ai[e]},getItems:()=>Ai,removeItem(e){Ri.hasItem(e)&&(delete Ai[e],Pi.notify(Ri,{id:e,event:"removeItem",items:Ai}))},clear(){Ai={},Pi.notify(Ri,{event:"clear",items:Ai})},total:()=>(new at).check()?Ri.unasTotal():Ri.defaultTotal(),defaultTotal(){let e=0;return S(Ai,(function(t,n){e+=parseFloat(n.quantity)*parseFloat(n.price)})),e},unasTotal(){let e=0;return S(Ai,(function(t,n){e+=parseInt(n.price,10)})),e},totalLinePrice(){let e=0;return S(Ai,(function(t,n){e+=parseFloat(n.line_price)})),e},totalItems(){let e=0;return S(Ai,(function(t,n){e+=parseFloat(n.quantity)})),e},attach(e){Pi.attach(e)}};Pi.notify(Ri,{event:"construct",items:Ai});const Ti=new hi;let xi={};Ti.attach(Si.ShopAttributesStorageHandler);const Ni={get:e=>xi[e],has:e=>xi.hasOwnProperty(e),set(e,t){xi[e]=t,Ti.notify(Ni,{name:e,value:encodeURIComponent(t),event:"set",params:xi})},all:()=>xi,attach(e){Ti.attach(e)},remove(e){delete xi[e],Ti.notify(Ni,{name:e,event:"remove",params:xi})},clear(){xi={},Ti.notify(Ni,{event:"clear",params:xi})}};function Di(){return{attr:(e,t)=>void 0!==t?Ei.set(e,t):void 0!==e?Ei.get(e):Ei.all(),removeAttr(e){Ei.remove(e)},shop:(e,t)=>void 0!==t?Ni.set(e,t):void 0!==e?Ni.get(e):Ni.all(),removeShop(e){Ni.remove(e)},clearShop(){Ni.clear()},Cart:{add(e,t){e.constructor===Array?Ri.addItems(e):Ri.addItem(e,t)},get:e=>void 0===e?Ri.getItems():Ri.getItem(e),remove:Ri.removeItem,clear:Ri.clear}}}Ti.notify(Ni,{event:"construct",params:xi});const qi={OM_BUTTON:".om-button",OM_PRODUCT:".om-product",OM_FEEDBACK:".om-feedback-button",OM_IMAGE_LINK:".om-image-redirect",OM_SOCIAL:".om-social"},Ui=()=>Math.trunc((new Date).getTime()/1e3),Li=()=>({ca:{},fv:Ui(),lv:Ui(),nopv:0}),Fi=e=>({act:0,app:0,cr:e,nod:0});class Vi{constructor(e,t){this.campaignId=t,this.campaignCookie=(e=>(e&&0!==Object.keys(e).length||(e=Fi(null)),e))(e)}getId(){return this.campaignId}getVariantId(){return this.campaignCookie.cr}get numberOfDisplays(){return this.campaignCookie.nod}get timeUntilAvailable(){return this.campaignCookie.tua}set timeUntilAvailable(e){this.campaignCookie.tua=e}addImpression(){this.campaignCookie.nod++,this.campaignCookie.app=Math.trunc((new Date).getTime()/1e3),this.campaignCookie.s="showed"}setFilled(){this.campaignCookie.s="filled"}setClosed(){this.campaignCookie.s="closed"}isFilled(){return"filled"===this.campaignCookie.s}isClosed(){return"closed"===this.campaignCookie.s}isInitialized(){return!this.campaignCookie.s||"init"===this.campaignCookie.s}getAsString(){return this.campaignCookie}getCampaignId(){return this.getId()}getCreativeId(){return this.getVariantId()}getAppearance(){return this.campaignCookie.app}getState(){return this.campaignCookie.s}}class ji{constructor(e){this.accountCookie=null!=e?e:{ca:{}}}get firstPageVisit(){return this.accountCookie.fv}get lastPageVisit(){return this.accountCookie.lv}get numberOfPageViews(){return this.accountCookie.nopv}get campaigns(){return this.accountCookie.ca}getCampaignCookie(e){const t=this.accountCookie.ca,n=(null==t?void 0:t[e])||{};return new Vi(n,e)}getAccountCookieObject(){return this.accountCookie}}const Ji=e=>e.map((e=>({id:e.id,variantId:e.variantId})));class Bi{constructor(e){let{accountId:t,miniScriptLoaded:n=!1,campaignsData:i=[]}=e;this.accountId=t,this.campaignIdList=Ji(i)||[],this.originalCookies=null,this.miniScriptLoaded=n,this.init(i)}getOriginalCookies(){return this.originalCookies}addCampaigns(e){this.campaignIdList.push(...Ji(e))}getCookies(){return l()}init(){this.originalCookies=l();const e=this.createAccountCookie(this.accountId,JSON.parse(JSON.stringify(this.originalCookies)));this.updateAccountData(e),this.saveCookie(e)}createAccountCookie(e,t){return t[e].ca||(t[e]=Li()),t}hasCampaignCookie(e,t,n){var i;void 0===t&&(t=this.accountId),void 0===n&&(n=this.getCookies());const o=Number(e).toString(10);return Object.keys(null==(i=n[t])?void 0:i.ca).includes(o)}updateAccountData(e){e[this.accountId].lv=(new Date).getTime()/1e3,this.miniScriptLoaded||(e[this.accountId].nopv+=1)}saveCookie(e){ge(this.accountId,e),window.OptiMonkRegistry.Cookie=e[this.accountId]}getCampaignCookie(e){if(!1===this.hasCampaignCookie(e)){const t=this.campaignIdList.find((t=>t.id===e));if(t)return new Vi(Fi(t.variantId),e)}const t=this.getCookies();return new Vi(t[this.accountId].ca[e],e)}addImpression(e){const t=this.getCampaignCookie(e);t.addImpression(),this.saveCampaignCookie(t)}setFilled(e){const t=this.getCampaignCookie(e);t.setFilled(),this.saveCampaignCookie(t)}setClosed(e){const t=this.getCampaignCookie(e);t.setClosed(),this.saveCampaignCookie(t)}isFilled(e){return this.getCampaignCookie(e).isFilled()}saveCampaignCookie(e){const t=this.getCookies();t[this.accountId].ca[e.getId()]=e.getAsString(),this.saveCookie(t)}getCampaignCookies(){var e;const t=this.getCookies();return Object.keys(null==(e=t[this.accountId])?void 0:e.ca).map((e=>this.getCampaignCookie(e)))}getAccountCookie(){const e=this.getCookies()[this.accountId]||Li();return new ji(e)}isClosed(e){return this.getCampaignCookie(e).isClosed()}resetPreviewCampaign(e){if(!this.hasCampaignCookie(e))return;const t=this.getCampaignCookie(e);t.campaignCookie.s="showed",this.saveCampaignCookie(t)}}class Hi extends Bi{saveCookie(e){console.log("experience cannot save cookie in validation stage",e)}getCookies(){return this.originalCookies}init(e){this.originalCookies=l();const t=this.createNewCampaignCookies(e,JSON.parse(JSON.stringify(this.originalCookies)));this.updateAccountData(t)}createNewCampaignCookies(e,t){var n;return null!=(n=t[this.accountId])&&n.ca||(t[this.accountId]=Li()),e.forEach((e=>{this.hasCampaignCookie(e,this.accountId,t)||(t[this.accountId].ca[e]=Fi(this.creativeId))})),t}setCreative(e,t){this.variantId=t,!1===this.hasCampaignCookie(e,this.accountId,this.originalCookies)?this.originalCookies[this.accountId].ca[e]=Fi(t):this.originalCookies[this.accountId].ca[e].cr=t}getCampaignCookie(e){if(!this.hasCampaignCookie(e))return null;const t=this.getCookies();return new Vi(t[this.accountId].ca[e],e)}}const $i=()=>{OptiMonkRegistry.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})();const e=Di();e.attr("is_mobile",OptiMonkRegistry.isMobile),e.attr("is_mobile_text",OptiMonkRegistry.isMobile?"true":"false")},Wi=()=>OptiMonkRegistry.isMobile?"mobile":"desktop",Ki=()=>OptiMonkRegistry.isMobile;class zi{constructor(e,t,n){this.clientId=e,this.requestService=t,this.OptiMonkEmbedded=n,this.increaseUsageCounters=!0,this.accountCookie=null,this.noCampaignCaseType=null,this.isPreview=jt.isPopupPreview(),this._isNewVisitor=null}getPublicIF(){return{isNewVisitor:()=>(null===this._isNewVisitor&&console.log("isNewVisitor value has been read before got it from backend"),this._isNewVisitor),hasUsageUpdateHandled:()=>this.increaseUsageCounters}}unsetIncreaseUsageCounters(){this.increaseUsageCounters=!1}setAccountCookie(e){this.accountCookie=e}setNoCampaignCaseType(e){this.noCampaignCaseType=e}async request(){var e;Object.keys(null==(e=this.OptiMonkEmbedded)?void 0:e.campaigns).length||window.OptiMonk.campaigns.length||this.unsetIncreaseUsageCounters();const t=this.accountCookie[OptiMonkRegistry.account],n={accountCookie:this.accountCookie,fv:t.fv,lv:t.lv,increaseUsageCounters:this.increaseUsageCounters,clientId:this.clientId,noCampaignCaseType:this.noCampaignCaseType,referrer:window.location.href,isPreview:this.isPreview},i=G.compressToBase64(JSON.stringify(n)),o=this.requestService.getBackendRequestUrl(),a=await this.requestService.sendPostRequest(o,{data:i}),r=JSON.parse(G.decompressFromBase64(a));this.handleResponse(r)}handleResponse(e){this._isNewVisitor=e.isNewVisitor}}class Gi{constructor(e,t){let{type:n}=void 0===t?{}:t;this.campaigns=e,this.variantList={},this.variantListInCookies={},this.raffledVariantList={},this.campaignIdKey="inline"===n?"campaignId":"id",this.variantIdKey="inline"===n?"creativeId":"variantId",this.init()}isActiveVariant(e,t){return this.raffledVariantList[this.getVariantCookieKey(e,t)]===t}init(){const{variantList:e,experienceList:t}=this.getLists();this.variantList=e,this.experienceList=t,this.variantListInCookies=this.getVariantsFromCookies(),this.raffledVariantList=this.createFinalVariantList()}createFinalVariantList(){const e={};return Object.entries(this.variantList).forEach((t=>{var n;let[i,o]=t;const a=this.getVariantCookieKey(i,o[0]);if(1===o.length)return e[a]=o[0],void(this.hasVariantInCookies(i,o[0])&&this.removeCookie(i));if(this.hasActiveVariantInCookies(i,o[0]))return void(e[a]=this.getVariantFromCookie(i,o[0]));const r=this.raffleVariantId(o);this.hasVariantInCookies(i,r)&&this.removeCookie(i),this.saveCookie(i,r),e[a]=r,Pe("abTestVariantAssigned",{campaignId:i,variantId:r,experienceId:null!=(n=this.experienceList[r])?n:null})})),e}getLists(){const e={},t={};return this.campaigns.forEach((n=>{var i;const o=n[this.variantIdKey],a=n[this.campaignIdKey];e[a]||(e[a]=[]),e[a].push(o);const r=null==n||null==(i=n.experiences)||null==i.find?void 0:i.find((e=>e.variants.includes(o)));t[o]=null==r?void 0:r._id})),{variantList:e,experienceList:t}}getVariantsFromCookies(){const e={};return Object.keys(this.variantList).forEach((t=>{this.variantList[t].forEach((n=>{const i=this.getCookieKey(t,n);if(!1===$.local.hasItem(i))return;const o=this.getVariantCookieKey(t,n);e[o]=$.local.getItem(i)}))})),e}getExperienceCookieKeyPart(e){const t=this.experienceList[e];return t?"_"+t:""}getVariantCookieKey(e,t){return""+e+this.getExperienceCookieKeyPart(t)}raffleVariantId(e){return e[Math.trunc(Math.random()*e.length)]}getVariantFromCookie(e,t){return this.variantListInCookies[this.getVariantCookieKey(e,t)]}hasVariantInCookies(e,t){return!!this.variantListInCookies[this.getVariantCookieKey(e,t)]}hasActiveVariantInCookies(e,t){return!!this.hasVariantInCookies(e,t)&&this.hasVariant(e,this.getVariantFromCookie(e,t))}hasVariant(e,t){return this.variantList[e].includes(t)}removeCookie(e,t){$.local.removeItem(this.getCookieKey(e,t))}saveCookie(e,t){$.local.setItem(this.getCookieKey(e,t),t)}getCookieKey(e,t){return"omAbTest"+this.getVariantCookieKey(e,t)}}const Xi=e=>"smartAbTest_"+e,Yi="shop",Qi={BasicInput:{replace:e=>{const t=e.querySelector("input"),n=e.querySelector("textarea");if(!t&&!n)return;const i=t||n,o=i.getAttribute("data-error-text");if(o){const e=ao.replaceText(o);o!==e&&i.setAttribute("data-error-text",e)}const a=i.getAttribute("placeholder");if(a){const e=ao.replaceText(a);a!==e&&i.setAttribute("placeholder",e)}}},Dropdown:{replace:e=>{const t=e.querySelector("select");if(!t)return;const n=t.getAttribute("data-error-text");if(n){const e=ao.replaceText(n);n!==e&&t.setAttribute("data-error-text",e)}const i=t.querySelectorAll("option");for(let e=0;e{const t=e.querySelector(".om-picker-group");if(!t)return;const n=t.getAttribute("data-error-text");if(n){const e=ao.replaceText(n);n!==e&&t.setAttribute("data-error-text",e)}const i=t.querySelectorAll(".om-input-picker");for(let e=0;e{["name","sku","old-price","price","cta"].forEach((t=>{((e,t)=>{const n=e.querySelector(t);if(n){const e=n.innerHTML,t=ao.replaceText(n.innerHTML);e!==t&&(n.innerHTML=t)}})(e,".om-product-"+t)}))}},Social:{replace:e=>{const t=e.querySelectorAll(".om-social-icon");for(let e=0;e{const t=e.querySelectorAll(".om-dtr-content");if(t.length)for(let e=0;eao.replaceSmartTag(e)));const i=n.innerHTML,o=ao.replaceText(i);i!==o&&(n.innerHTML=o)}}}};var Zi=Object.freeze({__proto__:null,DTR:Qi});const eo={Attributes:Ei,Cart:Ri,Observable:hi,Observer:Si,createAdapter:Di,ShopAttributes:Ni},to=[60747,201540,206839],no={AI_EXPERIMENT:"aiExperiment",PPO:"sppo"};function io(e){return new Promise((t=>setTimeout(t,e)))}async function oo(){try{if(!0!==(null==(e=OptiMonkRegistry)||null==(t=e.features)?void 0:t.SMART_PRODUCT_TAG))return Promise.resolve();console.log("OM - PPO enabled");const n=Di(),i=n.attr(),o=no.AI_EXPERIMENT,a=no.PPO;Object.keys(i).filter((e=>e.startsWith(o)||e.startsWith(a))).forEach((e=>{n.removeAttr(e)}));const r=await async function(){const e=d();let t=nn();if(!to.includes(e))return console.log("OM - PPO product id "+t),Promise.resolve(t);let n=0;for(;null==t&&n<10;)await io(100),t=nn(),n++;return console.log("OM - PPO product id "+t+" after "+n+" tries"),Promise.resolve(t)}();if(null==r)return Promise.resolve();console.log("OM - PPO loading product",r);const s=await OptiMonkEmbedded.RequestService.loadProductSmartTags(r);Object.keys(s).forEach((e=>{let t=""+no.PPO+e;0===e.indexOf(no.AI_EXPERIMENT)&&(t=e),n.attr(t,s[e])}))}catch(e){console.error(e.message)}var e,t}const ao={visitorAdapter:eo.createAdapter(),patterns:{attribute:/\[\[(attribute)\:([\w\-.+=]+)(\|([^\]]+))?\]\]/gim,static:/\[\[(static)\:(current_url|[\w-.]+)(\|([^\]]+))?\]\]/gim,cart:/\[\[(cart)\:(total|number_of_items|number_of_item_kinds)\]\]/gim,shop:/\[\[(shop)\:([\w-.]+)(\|([^\]]+))?\]\]/gim,smart_product_tag:/\[\[(smart_product_tag):([\w-]+:\d+|[\w-]+)\]\]/gim},hasContentToReplace(e,t){const n=ao.patterns[t];if(!n)return!1;const i=n.exec(e);return n.lastIndex=0,!!i},init(e){e.length>0?e.forEach((e=>{this.replace(e)})):void 0===e.length&&this.replace(e)},replace(e){const t=e.getAttribute("type");if(t){const n=ao.determineSubModule(t.substr(2));n&&n.replace(e)}},replaceSmartTag(e){parseInt(e.getAttribute("replaced"),10)||(e.innerHTML=e.getAttribute("data-smart-tag"))},replaceText(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),!e)return e;let i;try{i=t?decodeURIComponent(e):e}catch(t){i=e}return Object.values(ao.patterns).forEach((e=>{let t;for(;null!==(t=e.exec(i));){let n;e.lastIndex=0;const o="[["+t[1]+":"+t[2]+(t[4]?"|"+t[4]:"")+"]]",a=t[1].toLowerCase();n="attribute"===a?ao.getAttributeValue(t[2])||t[4]||"":"cart"===a?ao.getCartValue(t[2]):"shop"===a?ao.getShopAttributeValue(t[2],t[4]||""):"smart_product_tag"===a?ao.getSPPOValue(t[2]):ao.getStaticValue(t[2],t[4]||""),i=i.replace(o,n.replace(/\$/g,"$"))}})),n?encodeURIComponent(i):i},getAttributeValue(e){const t=Vt.local.getItem("OptiMonkVisitorAttributes");return(null==t?void 0:t[e])||null},getCartValue:e=>"total"===e?""+eo.Cart.total():"number_of_items"===e?""+eo.Cart.totalItems():"number_of_item_kinds"===e?""+Object.keys(eo.Cart.getItems()).length:"",cleanseVariableName(e){const t=e.indexOf(":");return-1===t?e:e.substring(0,t)},getShopAttributeValue:(e,t)=>ao.visitorAdapter.shop(e)||t,getSPPOValue(e){const t=ao.cleanseVariableName(e);return ao.visitorAdapter.attr(""+no.PPO+t)||ao.visitorAdapter.attr(t)},getStaticValue:(e,t)=>"current_url"===e?window.location.href:t,determineSubModule(e){switch(e){case"Input":case"Inputs":case"Textarea":return Qi.BasicInput;case"Social":return Qi.Social;case"Dropdown":return Qi.Dropdown;case"Input-picker":return Qi.Picker;case"Product":return Qi.Product;default:return Qi.Text}}};function ro(e){const t=document.createElement("script");OptiMonkRegistry.nonce&&t.setAttribute("nonce",OptiMonkRegistry.nonce),t.text=e.innerHTML;let n=-1;const i=e.attributes;let o;for(;++n"sp_"+e,co="inline",lo="shadow",uo="embedded",po="dynamic_content",go="control-variant",ho="popup",mo="sidebar",fo="nanobar",vo="embedded",yo=["popup","sidebar","nanobar"],wo="optimonk#campaign-show",Io="optimonk#embedded-campaign-show",Co="om",bo={APPEARANCE:"appearance",HTML:"html",TEXT:"text",INSERT_TEXT:"insert-text",INSERT_HTML:"insert-html",SMART_PRODUCT_TAG:"smart-product-tag",SMART_AB_TEST:"smart-ab-test",SMART_PERSONALIZATION:"smart-personalization",EDIT_STYLE:"edit-style"};class So{constructor(e){this.campaign=e,this.type="dynamic_content"}getId(){return this.campaign.id}getVariantId(){return this.campaign.variantId}getName(){return this.campaign.name}getCreativeName(){return this.campaign.variantName}getChanges(){return this.campaign.changes||[]}getAnalytics(){return{status:this.campaign.analytics?1:0}}async applyChanges(){const e=this.getChanges().map((async e=>{if(!e.selector)return console.log("[OM-DEBUG] No selector for change",e),!1;try{return!0===await N(e.selector,(t=>this.applyDOMChanges(e,t)),e.alternativeSelectors)}catch(e){return console.error("[OM-DEBUG] Error applying change:",e),!1}}));return await Promise.all(e)}_hasAlreadyChanged(e){const t=e.getAttribute("om-dc");return!!(t&&Number(t)>=this.campaign.createdAt)}_replaceAppearance(e){return!this._hasAlreadyChanged(e)&&(e.style.display="none",e.setAttribute("om-dc",this.campaign.createdAt),!0)}_replaceHtml(e,t){if(this._hasAlreadyChanged(e))return!1;const n=document.createElement("div");n.innerHTML=ao.replaceText(t);const i=n.getElementsByTagName("script");if(i.length>0)for(let e=0;e([\s\S]*?)<\/script>/g,""),e.setAttribute("om-dc",this.campaign.createdAt),!0}_createStyleTag(e,t){const n=document.createElement("style");n.setAttribute("data-om-dc-id",e),n.type="text/css",n.textContent=t,document.head.appendChild(n)}_insertHTML(e,t,n,i,o){if(this._hasAlreadyChanged(e))return!1;if(document.querySelector('[data-insert-id="'+o+'"]'))return!1;const a=document.createElement("div");a.innerHTML=ao.replaceText(n),a.querySelectorAll("*").forEach(((e,t)=>{0===t&&(e.id=o),e.dataset.insertId=o}));const r=a.innerHTML;return e.insertAdjacentHTML(t,r),document.querySelectorAll('script[data-insert-id="'+o+'"]').forEach((e=>{e.parentNode.replaceChild(ro(e),e)})),i&&this._createStyleTag(o,i),!0}_replaceText(e,t){return OptiMonkRegistry.isDebug&&console.log("hasAlreadyChanged",this._hasAlreadyChanged(e)),!this._hasAlreadyChanged(e)&&(e.innerHTML=ao.replaceText(t),e.setAttribute("om-dc",this.campaign.createdAt),!0)}_replaceTextSetId(e,t,n){const i=this._replaceText(e,t);return i&&e.setAttribute("data-om-dc-id",n),i}_replaceSmartAbTest(e,t){if(jt.isPreview())return!1;const n=(e=>"[[attribute:"+Xi(e)+"]]")(t);return this._replaceTextSetId(e,n,t)}_replaceSmartPersonalization(e,t){if(jt.isPreview())return!1;if(!Di().attr(so(t)))return!1;const n=(e=>"[[attribute:"+so(e)+"]]")(t);return this._replaceTextSetId(e,n,t)}_handleEditStyle(e,t,n){return!this._hasAlreadyChanged(e)&&(!document.querySelector('[data-insert-id="'+t+'"]')&&(e.setAttribute("data-om-dc-id",t),n&&this._createStyleTag(t,n),!0))}applyDOMChanges(e,t){const{type:n,replaceTo:i,content:o,position:a,css:r,id:s}=e;switch(n){case bo.HTML:return this._replaceHtml(t,i);case bo.APPEARANCE:return this._replaceAppearance(t);case bo.INSERT_TEXT:case bo.INSERT_HTML:case bo.SMART_PRODUCT_TAG:return this._insertHTML(t,a,o,r,s);case bo.SMART_AB_TEST:return this._replaceSmartAbTest(t,s);case bo.SMART_PERSONALIZATION:return this._replaceSmartPersonalization(t,s);case bo.EDIT_STYLE:return this._handleEditStyle(t,s,r);case bo.TEXT:default:return this._replaceText(t,i)}}}class ko{constructor(e){this.campaign=e}getId(){return this.campaign.id}getVariantId(){return this.campaign.variantId}getName(){return this.campaign.name}getCreativeName(){return this.campaign.variantName}getAnalytics(){return{status:this.campaign.analytics?1:0}}}const Oo=e=>({query:{type:"qgql",gql:"segment"===e.type?'query { shopify { result: inKlaviyoSegment (klaviyoSegmentId: "'+e.id+'") } }':'query { shopify { result: inKlaviyoList (klaviyoListId: "'+e.id+'") } }'},path:"$.shopify.result"}),Eo=!!window.Shopify,Mo=!!window.ShopRenter,_o={equals:"=",notEquals:"=",lessThan:"<",lessThanEquals:"<",greaterThan:">",greaterThanEquals:">",contains:"re",notContains:"re",startsWith:"re",notStartsWith:"re",endsWith:"re",notEndsWith:"re"},Po=(e,t)=>{switch(t){case"contains":case"notContains":return{value:e,parameter:["g"]};case"startsWith":case"notStartsWith":return{value:"^"+e,parameter:["i"]};case"endsWith":case"notEndsWith":return{value:e+"$",parameter:["i"]};default:return{value:e,parameter:[]}}},Ao=Eo?{query:{type:"qcs"},path:"$.shopify.pageType"}:{query:{type:"qcs"},path:"$.shopRenter.pageType"},Ro=Eo?{query:{type:"qcs"},path:"$.shopify.i18n.locale"}:{query:{type:"qcs"},path:"$.shopRenter.locale"},To=["or",["=","category",Ao],["=","collection",Ao]],xo=["=","product",Ao],No=e=>{if("lessThanEquals"===e.operator&&(e.value=Number(e.value)+1),"greaterThanEquals"===e.operator&&(e.value=Number(e.value)-1),"category"===e.pageType){if(null===e.operand)return To;switch(e.operand){case"specificCategory":return(e=>{let t;if(Eo)t=["in",{query:{type:"qcs"},path:"$.shopify.collection.collectionId"},e.map((e=>{if(e.value&&e.value.startsWith("gid://")){const t=e.value.match(/\/(\d+)$/);if(t&&t[1])return parseInt(t[1],10)}return parseInt(e.value,10)}))];else{if(!Mo)return console.error("no shopify or shoprenter is active"),[];t=["in",{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n categoryId\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.categoryId"},e.map((e=>parseInt(e.value,10)))]}return["and",To,t]})(e.value);case"categoryHandle":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o=[_o[t],n,{query:{type:"qcs"},path:Eo?"$.shopify.collection.collectionHandle":"$.shopRenter.category.categoryHandle"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",To,o]})(e.value,e.operator);case"categoryName":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o=[_o[t],n,Mo?{query:{type:"qgql",gql:"query($categoryId: Int!, $locale: String!) {\n shoprenter {\n category(categoryId: $categoryId) {\n title(locale: $locale)\n }\n }\n }",values:{categoryId:{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n categoryId\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.categoryId"},locale:Ro}},path:"$.shoprenter.category.title"}:{query:{type:"qgql",gql:"query($collectionId: Float!) {\n shopify {\n collection(collectionId: $collectionId) {\n title\n }\n }\n }",values:{collectionId:{query:{type:"qcs"},path:"$.shopify.collection.collectionId"}}},path:"$.shopify.collection.title"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",To,o]})(e.value,e.operator);case"numberOfProductsInCategory":return t=e.value,n=e.operator,["and",To,[_o[n],Eo?{query:{type:"qgql",gql:"query($collectionId: Float!) {\n shopify {\n collection(collectionId: $collectionId) {\n availableProductCount\n }\n }\n }",values:{collectionId:{query:{type:"qcs"},path:"$.shopify.collection.collectionId"}}},path:"$.shopify.collection.availableProductCount"}:{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n availableProductCount\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.availableProductCount"},Number(t)]]}}var t,n;if("product"===e.pageType){if(null===e.operand)return xo;switch(e.operand){case"productName":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o=[_o[t],n,Mo?{query:{type:"qgql",gql:"query($productId: Int!, $locale: String!) {\n shoprenter {\n product(productId: $productId) {\n title(locale: $locale)\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"},locale:Ro}},path:"$.shoprenter.product.title"}:{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n title\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.title"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",xo,o]})(e.value,e.operator);case"productAvailability":return(e=>["and",xo,["=",Eo?{query:{type:"qgql",gql:"query($productId: Float!, $variantId: Float!) {\n shopify {\n product(productId: $productId) {\n variant(variantId: $variantId) {\n available\n }\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"},variantId:{query:{type:"qcs"},path:"$.shopify.product.variant.id"}}},path:"$.shopify.product.variant.available"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n available\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.available"},"is"===e]])(e.operator);case"productPrice":return((e,t)=>["and",xo,Eo?[_o[t],{query:{type:"qgql",gql:"query($productId: Float!, $variantId: Float!) {\n shopify {\n product(productId: $productId) {\n variant(variantId: $variantId) {\n price\n }\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"},variantId:{query:{type:"qcs"},path:"$.shopify.product.variant.variantId"}}},path:"$.shopify.product.variant.price"},Number(e)]:[_o[t],{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n price\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.price"},Number(e)]])(e.value,e.operator);case"productVendor":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o;if(Eo)o=[_o[t],n,{query:{type:"qcs"},path:"$.shopify.product.vendor"},...i];else{if(!Mo)return console.error("no shopify or shoprenter is active"),[];o=[_o[t],n,{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n vendor\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.vendor"},...i]}return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",xo,o]})(e.value,e.operator);case"productTag":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o=[_o[t],n,Eo?{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n tags\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.tags"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n tags\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.tags"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",xo,o]})(e.value,e.operator);case"productType":return((e,t)=>{const{value:n,parameter:i}="re"===_o[t]?Po(e,t):{value:e,parameter:[]};let o=[_o[t],n,{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n productType\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.productType"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",xo,o]})(e.value,e.operator);case"productCategory":return(e=>{return["and",xo,(t=e.map((e=>{if(e.value&&e.value.startsWith("gid://")){const t=e.value.match(/\/(\d+)$/);if(t&&t[1])return parseInt(t[1],10)}return parseInt(e.value,10)})),n=Eo?{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n collectionIds\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.collectionIds"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n categoryIds\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.categoryIds"},[">",["path","$.length",["intersect",t,n]],0])];var t,n})(e.value)}}},Do=function(e,t){this.type="indexedData",this.andOperators=e,this.orOperators=t,this.validate=function(e,t){if(0===e.length)return!0;const n=this.validateDataSetByCallback(e,t,this.orOperators,!0),i=this.validateDataSetByCallback(e,t,this.andOperators,!1);return n&&i},this.validateDataSetByCallback=function(e,t,n,i){let o,a,r,s=n.length,c=!1;for(;s--;)if(r=n[s],e.hasOwnProperty(r))for(c=!0,o=e[r],a=o.length;a--;)if(i===t(r,o[a]))return i;return!c||!i}},qo="contains",Uo="notContains",Lo="equals",Fo="notEquals",Vo="startsWith",jo="notStartsWith",Jo="endsWith",Bo="notEndsWith",Ho="matchRegex",$o="notMatchRegex",Wo=(e,t)=>{const n=new Do([Uo,Fo,jo,Bo,$o],[qo,Lo,Vo,Jo,Ho]),i=window.location.pathname+window.location.search+window.location.hash;let o;try{o=decodeURIComponent(i)}catch(e){o=i}return t&&(o=o.replace("#om","")),n.validate(e,(function(e,t){let n;try{n=decodeURIComponent(t.value.trim())}catch(e){n=t.value.trim()}return Fn[e](o,n)}))},Ko=e=>!e.expressions&&!e.includeExpressions&&!e.excludeExpressions,zo=e=>{if(Ko(e))return!0;if(e.expressions)return!1;const t=["page","homepage"],n=!!e.includeExpressions&&e.includeExpressions.every((e=>t.includes(e.pageType))),i=!!e.excludeExpressions&&e.excludeExpressions.every((e=>t.includes(e.pageType)));return n&&i},Go=e=>{if(Ko(e))return e;const t={};e.includeExpressions.forEach((e=>{if("homepage"===e.pageType)return t.equals=t.equals||[],t.equals.push({value:"/"}),t.startsWith=t.startsWith||[],void t.startsWith.push({value:"/?"});t[e.operator]=t[e.operator]||[],t[e.operator].push({value:e.value})}));const n={is:"isNot",equals:"notEquals",contains:"notContains",startsWith:"notStartsWith",endsWith:"notEndsWith",matchRegex:"notMatchRegex"};return e.excludeExpressions.forEach((e=>{if("homepage"===e.pageType)return t.notEquals=t.notEquals||[],t.notEquals.push({value:"/"}),t.notStartsWith=t.notStartsWith||[],void t.notStartsWith.push({value:"/?"});const i=n[e.operator];t[i]=t[i]||[],t[i].push({value:e.value})})),t},Xo={is:"isNot",equals:"notEquals",contains:"notContains",startsWith:"notStartsWith",endsWith:"notEndsWith",greaterThanEquals:"lessThan",greaterThan:"lessThanEquals",lessThanEquals:"greaterThan",lessThan:"greaterThanEquals"},Yo=["category","product"],Qo={equals:[{value:"/"}],startsWith:[{value:"/?"}]},Zo=e=>null!=e,ea=function(e,t){if(void 0===t&&(t=!1),"homepage"===e.pageType){const e=Wo(Qo,Ki());return t?!e:e}const n={[t?Xo[e.operator]:e.operator]:[{value:e.value}]};return Wo(n,Ki())},ta={},na={},ia={},oa={};let aa=window.JFClientSDK?window.JFClientSDK.v2:null;const ra=async()=>{if(aa=window.JFClientSDK?window.JFClientSDK.v2:null,!aa)return new window.Promise((e=>{O(document,"jetfabricLoaded",(()=>{aa=window.JFClientSDK?window.JFClientSDK.v2:null,e()}))}))},sa=e=>{const t={};var n,i;e&&(null!=e&&e.viewedPage&&!zo(null==e?void 0:e.viewedPage)&&(t.viewedPage=e.viewedPage),Array.isArray(null==e||null==(n=e.subscribers)?void 0:n.lists)&&(t.subscribers=e.subscribers),["groupMember","existingProfile"].includes(null==e||null==(i=e.klaviyoSegment)?void 0:i.condition)&&(t.klaviyoSegment=e.klaviyoSegment));return t};async function ca(e){const t=[],n=(e,t)=>t.then((t=>[e,!!t]));return Object.keys(e).forEach((o=>{const a=e[o];if("viewedPage"===o){let e;var r,s;if(a.includeExpressions||a.excludeExpressions)e=((e,t)=>{const n=[];e.forEach((e=>{if(Yo.includes(e.pageType)){const t=No(e);Zo(t)&&n.push(t)}else{const t=ea(e);n.push(t)}}));const i=[];t.forEach((e=>{if(Yo.includes(e.pageType)){const t=No(e);Zo(t)&&i.push((e=>["not",e])(t))}else{const t=ea(e,!0);i.push(t)}}));const o=0===n.length?null:1===n.length?n.pop():["or",...n],a=0===i.length?null:1===i.length?i.pop():["and",...i],r=[];return null!==o&&r.push(o),null!==a&&r.push(a),1===r.length?r.pop():["and",...r]})(null!=(r=a.includeExpressions)?r:[],null!=(s=a.excludeExpressions)?s:[]);else e=(e=>{const t=["or"];return e.forEach(((n,o)=>{let a=["and"];e[o].forEach(((t,n)=>{const r=i({},e[o][n]);if(!Yo.includes(r.pageType)||null!==r.operand||1===e[o].length)if(Yo.includes(r.pageType)){const e=No(r);Zo(e)&&a.push(e)}else a.push(ea(r))})),1!==a.length&&(2===a.length&&(a=a.pop()),t.push(a))})),1===t.length?null:2===t.length?t.pop():t})(a.expressions);if(null!==e){const i=aa.evaluateConditionalExpression({expression:e});t.push(n(o,i))}}else if("subscribers"===o){const{lists:e,type:i}=a,r=da(e,i),s=aa.evaluateConditionalExpression({expression:r});t.push(n(o,s))}else if("klaviyoSegment"===o)if("existingProfile"===a.condition){var c;const e=new URLSearchParams(window.location.search),i=$.local.getItem("__kla_id"),a=i?JSON.parse(window.atob(i)):null;t.push(n(o,Promise.resolve(!(null!=(c=e.get("_kx"))?c:null==a?void 0:a.$exchange_id))))}else{const e=(e=>{if("groupMember"===e.condition)return["and",["or",!1,...e.expression.in.length>0?e.expression.in.map((e=>Oo(e))):[!0]],["and",!0,!0,...e.expression.notIn.map((e=>["not",Oo(e)]))]]})(a),i=aa.evaluateConditionalExpression({expression:e});t.push(n(o,i))}})),Promise.all(t).then((e=>Object.fromEntries(e)))}const la=e=>{let{provider:t=null,providerServiceId:n=null,listId:i=null}=e;return{query:{type:"qgql",gql:"query {\n customer {\n optimonk {\n isSubscribed(\n provider: "+(t?'"'+t+'"':"null")+",\n providerServiceId: "+(n?'"'+n+'"':"null")+",\n listId: "+(i?'"'+i+'"':"null")+"\n )\n }\n }\n }"},path:"$.customer.optimonk.isSubscribed"}},da=(e,t)=>{if("all"===e[0].id)return"include"===t?la({}):["not",la({})];const n=[];return e.forEach((e=>{0===e.id.indexOf("default")&&(e.id="default")})),"include"===t?(n.push("or"),e.forEach((e=>{n.push(la({provider:e.type,providerServiceId:e.providerId,listId:e.id}))}))):(n.push("and"),e.forEach((e=>{n.push(["not",la({provider:e.type,providerServiceId:e.providerId,listId:e.id})])}))),2===n.length?n.pop():n},ua={addCampaignRules:e=>{const{campaignId:t,rules:n}=e;ia[t]=ia[t]||{},oa[t]=oa[t]||{};const i=sa(n);Object.keys(i).forEach((e=>{ia[t][e]=i[e],oa[t][e]=!1}))},addCampaignExperiencesRules:(e,t)=>{t.forEach((t=>{const{frontendRules:n,_id:i}=t;ta[e]=ta[e]||{},ta[e][i]={},na[e]=na[e]||{},na[e][i]={};const o=sa(n);Object.keys(o).forEach((t=>{ta[e][i][t]=o[t],na[e][i][t]=!1}))}))},getResult:(e,t)=>!oa[t]||"boolean"!=typeof oa[t][e]||oa[t][e],getJFRules:sa,hasRules:()=>!!Object.values(ia).some((e=>Object.keys(e).length)),hasExperienceRules:()=>!!Object.values(ta).some((e=>Object.keys(e).length)),evaluate:ca,evaluateAndGo:async function(e){await ra();const t=ca(sa(e));return aa.go(),t},run:async()=>{const e=!!Object.keys(ia).length;await ra();const t=Object.keys(ia).map((async e=>{const t=await ca(ia[e]);Object.assign(oa[e],t)}));return e?(await Promise.all([aa.go(),Promise.all(t)]),oa):null},runExperiences:async()=>{const e=!!Object.keys(ta).length;await ra();const t=Object.keys(ta).map((async e=>Object.keys(ta[e]).map((async t=>{const n=await ca(ta[e][t]);Object.assign(na[e][t],n)}))));return e?(await Promise.all([aa.go(),Promise.all(t)]),na):null}};function pa(e,t){let{maxAge:n,cache:i=new Map,cacheId:o,cacheRejectedPromise:a=!1,cacheFromContext:r}=void 0===t?{}:t;const s="function"==typeof i?i():i,c=function(){var t;const i=null!==(t=null==r?void 0:r.call(this))&&void 0!==t?t:s;for(var c=arguments.length,l=new Array(c),d=0;dn)))return null==e?void 0:e.value}const p=e.apply(this,l);return i.set(u,{value:p,timestamp:Date.now()}),p instanceof Promise?p.catch((e=>{throw a||i.delete(u),e})):p};return Object.defineProperty(c,"name",{value:e.name}),c}const ga={maxAge:30,cache:{set(e,t){null!=t&&t.value&&(t.value.then?t.value.then((n=>{t.value=n,Vt.local.setItem(e,t)})):Vt.local.setItem(e,t))},get:e=>Vt.local.getItem(e),has:e=>Vt.local.hasItem(e),delete:e=>Vt.local.removeItem(e)}};class ha{static async get(e,t){let{cacheId:n,maxAge:o}=t;const a={maxAge:1e3*o};n&&(a.cacheId=n);return pa(e,i({},ga,a))()}static async set(e,t){let{cacheId:n}=t,o={};n&&(o={cacheId:n});const a=i({},ga.cache);a.has=()=>!1;return pa(e,i({},ga,{cache:a},o))()}}const ma=async function(e,t){return void 0===t&&(t=200),Promise.race([e(),(n=t,new Promise(((e,t)=>{setTimeout((()=>{t(Error("timeout"))}),n)})))]);var n};const fa=new class{constructor(){this.cache=ha}async get(e,t){let{keyPrefix:n="om",key:i,ttl:o=30,timeout:a}=t;const r=()=>n+"-"+i;return ma((async()=>this.cache.get(e,{cacheId:r,maxAge:o})),a)}async set(e,t){let{keyPrefix:n="om",key:i}=t;return await this.cache.set(e,{cacheId:()=>n+"-"+i}),!0}},va={},ya=OptiMonkRegistry.baseUrl+"/error/log";function wa(e){ht.post("message="+encodeURIComponent(JSON.stringify(e)),ya)}function Ia(e){return!!va[e.message]}function Ca(e){va[e.message]=1}const ba={sendException(e){if(Ia(e))return;Ca(e);wa(function(e){var t,n,i;return{message:e.message,stack:e.stack,userAgent:navigator.userAgent,url:window.location.href,name:e.name,line:e.lineNumber||e.number,timezone:null==(t=window.Intl)||null==t.DateTimeFormat||null==(n=(i=t.DateTimeFormat()).resolvedOptions)?void 0:n.call(i).timeZone}}(e))},sendEventError(e){if(Ia(e))return;Ca(e);var t;wa({message:(t=e).message,stack:t.error?t.error.stack:"",userAgent:navigator.userAgent,url:window.location.href,errorEvent:t,file:t.filename})}},Sa=()=>{let e=new URLSearchParams(window.location.search).get("_kx");const t=$.local.getItem("__kla_id");try{var n;if(t){var i;const n=JSON.parse(window.atob(t));e=null!=(i=e)?i:n.$exchange_id}if(!e)return;const o=(null==(n=window._learnq)||null==n.account?void 0:n.account())||e.split(".").pop();o||console.error("OptiMonk: unable to acquire Klaviyo account id"),window.JFClientSDK.v2.registerCustomerAddress({provider:"klaviyo",providerServiceId:o,addressType:"customerId",customerAddress:e}),window.JFClientSDK.v2.addClientStateProperty("klaviyoExchangeId",e)}catch(e){ba.sendException(e)}},ka=()=>{var e,t,n,i,o,a;if(document.removeEventListener("jetfabricLoaded",ka),!d()||!window.JFClientSDK)return;const{provider:r,providerServiceId:s}=It(),c=Ct(),l=Xe(),p=bt(),g=(null==(e=OptiMonkRegistry)||null==(t=e.crossDomainParams)?void 0:t.optiMonkClientId)||u()||null,h=(null==(n=OptiMonkRegistry)||null==(i=n.crossDomainParams)?void 0:i.provider)||r||null,m=(null==(o=OptiMonkRegistry)||null==(a=o.crossDomainParams)?void 0:a.providerServiceId)||s;if(window.JFClientSDK.v2.setAppId("optimonk").registerCustomerAddress({provider:"optimonk",providerServiceId:""+d(),customerAddress:g,addressType:"deviceId"}).registerCustomerAddress({provider:h,providerServiceId:m,customerAddress:c||null,addressType:"customerId"}).setUserSessionSate({visitorInExperiment:l,deviceType:p}),"shopify"===r){const e=$.local.getItem("_shopify_y");e&&window.JFClientSDK.v2.registerCustomerAddress({provider:"shopify",providerServiceId:s,customerAddress:e,addressType:"deviceId"})}Sa()};function Oa(){OptiMonkRegistry.isDebug&&console.log("%c[OM:DEBUG]","color: #ed5a29",...arguments)}function Ea(e){if(!e||0===e.length)return;window.omdebug||(window.omdebug={});const t=e[0].campaign||e[0].campaignId;window.omdebug[t]=e}function Ma(){if(OptiMonkRegistry.isDebug){const e=arguments[0];Array.isArray(e)&&Ea(e)}}function _a(){console.log("%c[OM:ERROR]","color: red",...arguments)}const Pa=e=>{if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===e.toLowerCase())return!0;if("false"===e.toLowerCase())return!1}if("object"==typeof e&&null!==e){if(Array.isArray(e))return e.map((e=>Pa(e)));const t={};for(const[n,i]of Object.entries(e))t[n]=Pa(i);return t}return e};class Aa{static addCampaign(e){const t=e.id;ua.addCampaignRules(i({campaignId:t},e)),e.experiences.length&&ua.addCampaignExperiencesRules(t,e.experiences)}static hasJFRule(){return ua.hasRules()||ua.hasExperienceRules()}static addScript(){return new Promise((e=>{if(window.JFClientSDK)return e();x("jetfabric",OptiMonkRegistry.jfJsScriptUrl),document.addEventListener("jetfabricLoaded",(function(){ka(),e()}))}))}static async collectData(){Oa("JF rule collect data started"),await Aa.addScript(),Oa("JF SDK loaded");const e=[];return ua.hasRules()&&(Oa("Has campaign rules"),e.push(fa.set((async()=>{const e=await ua.run();return Oa("Embedded/DC results",e),e}),{key:"jfrule-result"}))),ua.hasExperienceRules()&&(Oa("Has experience rules"),e.push(fa.set((async()=>{const e=await ua.runExperiences();return Oa("Embedded/DC experience results",e),e}),{key:"jfrule-experiences-result"}))),Promise.all(e)}static async getCachedData(){let e=await ha.get((()=>{}),{cacheId:()=>"om-jfrule-result",maxAge:0});return e=Pa(e),e}static async getCachedExperienceData(){let e=await ha.get((()=>{}),{cacheId:()=>"om-jfrule-experiences-result",maxAge:0});return e=Pa(e),e}static evaluateRule(e){return ua.evaluateAndGo(e)}}const Ra={type:"shoprenter",isShop:()=>void 0!==window.ShopRenter,getResourceType(){var e,t,n,i,o;return void 0!==(null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.page)?void 0:n.categoryName)?"category":void 0!==(null==(i=window)||null==(o=i.ShopRenter)?void 0:o.product)?"product":null},getProductName(){var e,t,n;return null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.product)?void 0:n.name},getCategoryName(){var e,t,n;return null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.page)?void 0:n.categoryName}},Ta={shopify:{product:wt.getProductName},shoprenter:{product:Ra.getProductName,category:Ra.getCategoryName}},xa=[wt,Ra],Na=e=>{const t=xa.find((e=>e.isShop()));if(!t)return;const n=t.getResourceType();Object.keys(Ta[t.type]).includes(n)&&((e,t)=>{let{type:n,resourceType:i}=t;const o=Ta[n][i]();e.shop(i+"_name",o)})(e,{type:t.type,resourceType:n})};function Da(e){if(jt.isPreview())return;const t={};try{e.forEach((e=>{const{id:n,changes:o}=e,{cookieName:a,cookieParts:r}=(e=>{const t="optiMonkSmartAbTest_"+e,n=$.local.getItem(t);let o={};var a;return n&&(o=null==(a=n.split("_"))?void 0:a.reduce(((e,t)=>i({},e,{[t]:!0})),{})),{cookieName:t,cookieParts:o}})(n),s=[],c=[];let l=!1;o.forEach((e=>{if("smart-ab-test"!==e.type)return;l=!0,c.push(e);const t=((e,t)=>e.running.find((e=>t[e]))||e.running[Math.floor(Math.random()*e.running.length)])(e,r);s.push(t),((e,t)=>{const n=((e,t)=>e.tests.find((e=>e.id===t)))(e,t);OptiMonkEmbedded.Visitor.createAdapter().attr(Xi(e.id),n.value)})(e,t)})),l&&(t[n]=((e,t,n,i,o)=>{const a=i.join("_");return e.cookie=a,$.local.setItem(n,a),((e,t,n)=>({campaign:e,cookie:t,changes:n.map((e=>[{tests:e.tests,phased_out:e.phased_out,current_pair_start:e.current_pair_start,running:e.running}]))}))(t,a,o)})(e,n,a,s,c))}))}catch(e){console.log("smartAbTest could not load",e)}OptiMonkRegistry.smartAbTests=t}async function qa(){try{if(!0!==(null==(e=OptiMonkRegistry)||null==(t=e.features)?void 0:t.SMART_PAGE_TAG))return Promise.resolve();console.log("OM - Page Optimizer enabled");const n=Di(),i=n.attr();Object.keys(i).filter((e=>e.startsWith("sppo"))).forEach((e=>{n.removeAttr(e)}));const o=tn();console.log("OM - Page Optimizer using page slug",o);const a=await OptiMonkEmbedded.RequestService.loadPageSmartTags(o);Object.keys(a).forEach((e=>{const t="sppo"+e;n.attr(t,a[e])}))}catch(e){console.error(e.message)}var e,t}class Ua extends ii{static get type(){return"domain"}static validate(e){if(!e.domain)return console.warn("[OM] No domain for campaign: "+e.campaignId),!1;const t=mt(e.domain),n=mt(window.location.host);return"*"===t||t===n||((e,t)=>{if("*"!==e[0])return!1;const n=e.substring(e.indexOf(".")+1);return t===n||-1!==t.indexOf(".")&&n===t.substring(t.indexOf(".")+1)})(t,n)}}class La{constructor(){this.requestService=C(),this.adapter=Di()}static getInstance(){return this.instance||(this.instance=new La),this.instance}setSmartPersonalizationParameter(e){const{trackParams:t}=e;this.trySetFromParams(t),this.paramValue||this.tryLoadFromStorage()}trySetFromParams(e){const t=Object.keys(e).find((e=>Ua.validate({domain:e})));if(!t)return;OptiMonkRegistry.trackParams=e[t];const{params:n,domainId:i}=e[t];if(this.domainId=i,null==n||!n.length)return;const o=new URLSearchParams(window.location.search);for(const e of n){const t=o.get(e);if(t)return this.adapter.attr("om_track_param",e+"="+t),this.paramValue=t,void(this.paramName=e)}}tryLoadFromStorage(){const e=this.adapter.attr("om_track_param");if(!e)return;const[t,...n]=e.split("=");this.paramName=t,this.paramValue=n.join("=")}download(){this.content=this.requestService.loadSmartPersonalizerJson(this.paramName,this.domainId)}setup(e){if(!this.paramValue)return;e.some((e=>e.changes.some((e=>"smart-personalization"===e.type))))&&(this.clearExistingParams(),this.download())}clearExistingParams(){const e=this.adapter.attr();Object.keys(e).filter((e=>e.startsWith("sp_"))).forEach((e=>{this.adapter.removeAttr(e)}))}async setDTRs(e){if(!e.changes.some((e=>"smart-personalization"===e.type)))return;const t=await this.content;null!=t&&t[this.paramValue]&&Object.keys(t[this.paramValue]).forEach((e=>{let n="sp_"+e;0===e.indexOf("sp_")&&(n=e),this.adapter.attr(n,t[this.paramValue][e])}))}}class Fa{static init(){setTimeout((()=>{if(Fa.getAvailableAdapters().length)return Fa.processEvents(),void Fa.listenEvents();Fa.init()}),100)}static send(e){let{eventName:t,label:n,campaign:i}=e;const o=Fa.getAvailableAdapters();OptiMonkRegistry.isDebug&&(console.log("[Analytics Event Manager] sending"),console.table({eventName:t,label:n,campaign:i})),o.forEach((e=>{Ke.send(t,e,{campaign:i})}))}static processEvents(){(OptiMonkRegistry.analyticsEvents||[]).forEach((e=>{Fa.send(e)}))}static listenEvents(){const e=OptiMonkRegistry.analyticsEvents.push;OptiMonkRegistry.analyticsEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;ie.isEnabled()))}}class Va{constructor(e){let{requestService:t}=e;this.requestService=t}async getScraperInfoForSPPO(e){const t=this.requestService.getScraperInfoForSPPORequestUrl(e);return this._getRequestWithParsedResponse(t)}async _getRequestWithParsedResponse(e){const t=await this.requestService.sendGetRequest(e);try{return JSON.parse(t)}catch(e){return console.error(e),[]}}}class ja{getTextContentBySelector(e){var t,n;return null!=(t=null==(n=pn.getElement(e))?void 0:n.textContent)?t:""}getCannonicalUrl(){var e,t;return null!=(e=null==(t=pn.getElement("link[rel='canonical']"))?void 0:t.getAttribute("href"))?e:""}}class Ja{constructor(e){let{requestService:t,isMobile:n}=e;this.scraperDOM=new ja,this.requestService=t,this.isMobile=n}async setCurrentUrl(e){this.currentUrl=e}async runScraper(){}_getScraperSelectors(e){return new Va({requestService:this.requestService}).getScraperInfoForSPPO(e)}_getScrapedContent(e,t){return null!=e&&e.length?e.map((e=>{const n=this.scraperDOM.getTextContentBySelector(e.selector);return{url:this.currentUrl,cannonicalUrl:t,pageIdentifier:this._getPageIdentifier(null!=t?t:this.currentUrl),isMobile:this.isMobile?1:0,selectorId:e.selectorId,contentType:e.contentType,content:n}})).filter((e=>{var t;return null==(t=e.content)?void 0:t.length})):[]}_sendScrapedContents(e){null!=e&&e.length&&e.forEach((e=>{Pe("scrapedContentForSPPO",e)}))}_getPageIdentifier(e){return en(e)}}const Ba=()=>{let e;return[new Promise((t=>{let n=!1;e=e=>{if(n)throw new Error("Async value can only be set once");t(e),n=!0}})),e]},Ha=["browser_language","browser_name","browser_version","first_landing_page","first_visit_date","os_name","os_version","popup_last_seen","tz","tz_offset","utm_campaign","utm_content","utm_medium","utm_source","current_month_text_en"],$a=function(e){if(void 0===e&&(e="en-US"),!window.Intl){return(new Date).toLocaleString(e,{month:"long"})}return new Intl.DateTimeFormat(e,{month:"long"}).format()},Wa=e=>{Vt.local.setItem("OptiMonkVisitorAttributes",e)},Ka=()=>{const e=Vt.local.getItem("OptiMonkVisitorAttributes"),t=new Date,n=t.getTimezoneOffset()/60,o=i({browser_language:window.navigator.language},(()=>{const e=[{name:"Windows",regex:/Windows NT (\d+\.\d+)/},{name:"macOS",regex:/Mac OS X (\d+([_\.\d]+)?)/},{name:"iOS",regex:/iPhone; CPU iPhone OS (\d+[_\d]+)/},{name:"Android",regex:/Android (\d+(\.\d+)?)/},{name:"Linux",regex:/Linux/}],t=[{name:"Chrome",regex:/Chrome\/(\d+\.\d+)/},{name:"Firefox",regex:/Firefox\/(\d+\.\d+)/},{name:"Safari",regex:/Version\/(\d+\.\d+).*Safari/},{name:"Edge",regex:/Edg\/(\d+\.\d+)/},{name:"IE",regex:/Trident\/.*rv:(\d+\.\d+)/}],n=navigator.userAgent;return i({},(()=>{for(const t of e){const e=n.match(t.regex);if(e){const n=e[1]?e[1].replace(/_/g,"."):"No version";return{os_name:t.name,os_version:n}}}return{os_name:"Unknown",os_version:"Unknown"}})(),(()=>{for(const e of t){const t=n.match(e.regex);if(t)return{browser_name:e.name,browser_version:t[1]}}return{browser_name:"Unknown",browser_version:"Unknown"}})())})(),(e=>{const t=["utm_medium","utm_source","utm_campaign","utm_content"],n=window.location.search.substring(1),i=new URLSearchParams(n),o=Object.fromEntries(t.map((t=>{var n;return[t,null!=(n=null==e?void 0:e[t])?n:""]})));for(const n of i.keys()){const a=void 0===(null==e?void 0:e[n])||""===(null==e?void 0:e[n]);t.includes(n)&&a&&(o[n]=i.get(n))}return o})(e),{current_month_text_en:$a(),current_month_text_hu:$a("hu-HU"),tz:Intl.DateTimeFormat().resolvedOptions().timeZone,tz_offset:n<0?"UTC"+n:"UTC+"+n},(!e||void 0===e.first_landing_page)&&{first_landing_page:window.location.href},(!e||void 0===e.first_visit_date)&&{first_visit_date:t.toISOString()});Wa(i({},e,o))},za=()=>{const e=Vt.local.getItem("OptiMonkVisitorAttributes")||{};Wa(i({},e,{popup_last_seen:(new Date).toISOString()}))},Ga=["thank_you","checkout_one_thank_you"],Xa=()=>window.Shopify&&window.Shopify.Checkout&&Ga.includes(window.Shopify.Checkout.page);class Ya{track(){const e=Ee();if(!e)return;const t=this.getFromCookie(),n=[e,...t.filter((t=>t.productId!==e.productId||t.variantId!==e.variantId))].slice(0,10);$.local.setItem("optiMonkViewedProducts",JSON.stringify(n))}getFromCookie(){const e=$.local.getItem("optiMonkViewedProducts");try{return e?JSON.parse(e):[]}catch(e){return[]}}getViewedProducts(e){let{filterCurrent:t=!0,limit:n=10}=e,i=this.getFromCookie();if(t){const e=Ee();e&&(i=i.filter((t=>t.productId!==e.productId||t.variantId!==e.variantId)))}return i.slice(0,n)}}let Qa;const Za=()=>(Qa||(Qa=new Ya),Qa);let[er,tr]=Ba();const nr=()=>{var e;return null==(e=window)?void 0:e.JFClientSDK},ir=()=>{const e=nr();try{e&&tr(!0)}catch(t){er=Promise.resolve(!!e)}},or=async()=>(nr()||await er,nr()),ar=e=>Promise.race([or(),new Promise((t=>setTimeout((()=>t()),e)))]);function rr(e){const t=Ee();return t&&(window.JFClientSDK.v2.registerProductView(t),e)?window.JFClientSDK.v2.go().catch((function(e){console.log("An error occurred during JFClientSDK.v2.go():",e.message),console.log(e)})):null}function sr(){if(!window.woocommerce_params)return!1;const e=Vt.local.getItem("OptiMonkVisitorAttributes"),t=null==e?void 0:e["wp_order.order_id"];if(!t)return!1;const n=null==e?void 0:e.woo_last_order_id;return!(n&&n===t)}function cr(){const e=Vt.local.getItem("OptiMonkVisitorAttributes"),t=e["wp_order.order_id"];Pe("eoo",{orderId:t,total:parseFloat(e["wp_order.total"])||0,itemCount:parseInt(e["wp_order.item_count"]||0,10),currency:e["wp_order.currency"],platform:"woocommerce",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),e.woo_last_order_id=t,Vt.local.setItem("OptiMonkVisitorAttributes",e)}nr()&&ir();const lr=()=>{if(OptiMonkRegistry.ga4EventListenerRegistered)return;const e=bt();(e=>{window.dataLayer=window.dataLayer||[];const t=window.dataLayer.push;window.dataLayer.push=function(){for(var n=arguments.length,i=new Array(n),o=0;o{e(t)}))}catch(e){_a(e)}return t.apply(window.dataLayer,i)},window.dataLayer.forEach((t=>e(t)))})((t=>{if(!("purchase"===(null==t?void 0:t.event)||"event"===(null==t?void 0:t[0])&&"purchase"===(null==t?void 0:t[1])))return;const n=t.ecommerce||t[2],{transaction_id:i,items:o,value:a,currency:r,coupon:s}=n;if(!i||isNaN(parseFloat(a))||!r)return void Pe("ga4:nonstandard-purchase",{data:JSON.stringify(n)});const{totalDiscount:c,itemCount:l}=(o||[]).reduce(((e,t)=>{var n;let{totalDiscount:i,itemCount:o}=e;return{totalDiscount:i+(t.discount?parseFloat(t.discount):0),itemCount:o+(null!=(n=t.quantity)?n:1)}}),{totalDiscount:0,itemCount:0});Pe("ga4:purchase",{orderId:i,total:parseFloat(a),itemCount:l,currency:r,platform:OptiMonkEmbedded.Engine.getInfo().type,deviceType:e,total_discount:c,discount_code:s||void 0})})),OptiMonkRegistry.ga4EventListenerRegistered=!0},dr=()=>{var e,t;lr(),rr(),Za().track(),function(){var e;const t=(null==(e=document.querySelector("link[rel='canonical']"))?void 0:e.getAttribute("href"))||null;try{Pe("pageView",{title:document.title,referrer:document.referrer,userAgent:navigator.userAgent,url:window.location.href,host:window.location.host,path:window.location.pathname,query:window.location.search,hash:window.location.hash,viewportWidth:document.documentElement.clientWidth,viewportHeight:document.documentElement.clientHeight,canonicalUrl:t})}catch(e){console.log("unable to log page view:",e.message)}}(),function(){const e=Vt.local.getItem("OptiMonkVisitorAttributes"),t={};Ha.forEach((n=>{e&&void 0!==e[n]&&(t[n]=e[n])})),Pe("visitorData",t)}(),Xa()&&function(){if(window.Shopify.checkout){var e;const t=window.Shopify.checkout.line_items.reduce(((e,t)=>e+t.quantity),0),n=bt();Pe("eoo",i({orderId:window.Shopify.checkout.order_id.toString(),total:parseFloat(window.Shopify.checkout.total_price_set.shop_money.amount),itemCount:t,currency:window.Shopify.checkout.total_price_set.shop_money.currency_code,shopifyCurrency:window.Shopify.currency.active,platform:"shopify",deviceType:n},window.Shopify.checkout.discount&&{total_discount:parseFloat(window.Shopify.checkout.discount.amount)},(null==(e=window.Shopify.checkout.discount)?void 0:e.code)&&{discount_code:window.Shopify.checkout.discount.code}))}}(),window.ShopRenter&&window.ShopRenter.page&&"checkout/success"===window.ShopRenter.page.route&&function(){if(window.ShopRenter.lastOrder){const e=window.ShopRenter.lastOrder.products.reduce(((e,t)=>e+parseInt(t.quantity,10)),0);Pe("eoo",{orderId:window.ShopRenter.lastOrder.id,total:window.ShopRenter.lastOrder.total,itemCount:e,currency:window.ShopRenter.lastOrder.currency,platform:"shoprenter",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"})}}(),window.UNAS&&"order_send"===(null==(e=window.UNAS)||null==(t=e.design)?void 0:t.page)&&function(){var e,t,n,i,o,a;if(null==(e=window.UNAS)||!e.getOrder)return;const r=null!=(t=null==(n=window.UNAS)||null==(i=n.shop)?void 0:i.last_order_key)?t:null;if(!r)return;let s=Vt.local.getItem("OptiMonkVisitorAttributes");const c=null!=(o=null==(a=s)?void 0:a.unas_last_order_key)?o:null;c&&c===r||window.UNAS.getOrder((e=>{var t;if(null==e||!e.id||null==(t=e.items)||!t.item)return;const n=(Array.isArray(e.items.item)?e.items.item:[e.items.item]).reduce(((e,t)=>e+parseInt((null==t?void 0:t.quantity)||0,10)),0);Pe("eoo",{orderId:e.id,total:parseFloat(e.sum_price_gross)||0,itemCount:n,currency:e.currency,platform:"unas",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),s=Vt.local.getItem("OptiMonkVisitorAttributes"),s.unas_last_order_key=r,Vt.local.setItem("OptiMonkVisitorAttributes",s)}))}(),sr()&&cr(),Ae(),window.JFClientSDK.v2.go().catch((function(e){console.error("An error occurred during initial JFClientSDK request:",e.message),console.error(e)})),function(e){if(OptiMonkRegistry.productChangeInterval&&clearInterval(OptiMonkRegistry.productChangeInterval),!(e=e||Ee()))return;const t={productId:e.productId,variantId:e.variantId};window.ShopifyAnalytics&&(OptiMonkRegistry.productChangeInterval=setInterval((function(){const e=Ee();e&&e.variantId&&t.variantId!==e.variantId&&(t.productId=e.productId,t.variantId=e.variantId,console.log("Detected Shopify variant change."),rr(!0))}),1e3))}(),document.querySelector("html").addEventListener("optimonk#wc-attributes-updated",(()=>{var e;const t=Vt.local.getItem("OptiMonkVisitorAttributes"),n=null!=(e=null==t?void 0:t["wp_current_product.id"])?e:null;n&&window.JFClientSDK.v2.registerProductView({productId:n,variantId:n}),sr()&&cr(),window.JFClientSDK.v2.go().catch((function(e){console.error("An error occurred during initial JFClientSDK request:",e.message),console.error(e)}))}))};class ur{static init(){(ur.isWebSelectorEnabled()||jt.isPreview())&&(x("webSelector",OptiMonkRegistry.pncJsScriptUrl+"?t="+(new Date).getTime()),document.addEventListener("webSelectorLoaded",ur.handleWebSelectorLoaded))}static isWebSelectorEnabled(){const e=sessionStorage,t=performance.getEntriesByType("resource").filter((e=>"script"===e.initiatorType)).some((e=>e.startTime>performance.timeOrigin)),n="x-om-web-selector-restore-token",i="x-om-web-selector-token",o=e.getItem(n);o&&e.setItem(i,o),t&&e.removeItem(n);const a=new URLSearchParams(location.search).get(i),r=e.getItem(i)||e.getItem(n);return a||r}static removeListener(){document.removeEventListener("webSelectorLoaded",ur.handleWebSelectorLoaded)}static async handleWebSelectorLoaded(){try{ur.removeListener();const e=await C().loadPNCConfig();window.PNC.initPNC(e)}catch(e){console.error("Failed to initialize WebSelector:",e.message),console.error(e)}}}function pr(){console.log("%c[OM:DIAG]","color:rgb(192, 159, 11)",...arguments)}function gr(){console.warn("%c[OM:DIAG]","color:rgb(192, 159, 11)",...arguments)}const hr=e=>new Promise((t=>{setTimeout((()=>{t()}),e)})),mr=(e,t)=>{var n;const o=null!=(n=null==t?void 0:t.sort(((e,t)=>t.priority-e.priority)))?n:[];if(null==o||!o.length)return[];const a=o[0];return a.variants?a.variants.map((t=>{const n=e.find((e=>e.creativeId===t));return n?(n.rules=i({},n.rules,a.frontendRules),n):null})).filter((e=>!!e)):[]},fr=e=>new URLSearchParams(window.location.search).get(e)||null,vr=()=>{const e=Vt.session.getItem("om-diag");return e?JSON.parse(e):null};class yr{constructor(){this.ValidationService=null,this.UiService=null,this.type=null,this.campaignsMeta=[],this.diagCampaignsMeta=[],this.diagExperiences=null,this.diagCampaignMetaData=null,this.diagCampaign=null,this.diagFailed=!1,this.campaignDisplayed=!1,this.initIssues=[],this.failedValidations=[],this.triggeredEvents=[],this.dateInitStarted=null,this.dateInited=null,this.dateUpdated=null,this.init()}init(){var e,t;this.type=fr(r.POPUP)||(null==(e=vr())?void 0:e.type)===c.POPUP?c.POPUP:fr(r.EMBEDDED)||(null==(t=vr())?void 0:t.type)===c.EMBEDDED?c.EMBEDDED:null,import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolValidations-39bdba1e.js").then((e=>{let{DiagnosticToolValidations:t}=e;this.setValidationService(new t)})),import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolUI-2ba5d64a.js").then((e=>{let{DiagnosticToolUI:t}=e;this.setUiService(new t)})),import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolLogRocketService-ce14ea95.js").then((e=>{let{DiagnosticToolLogRocketService:t}=e;new t({campaignId:this.getDiagCampaignId()})}))}isPopupDiag(){return this.type===c.POPUP}isEmbeddedDiag(){return this.type===c.EMBEDDED}setValidationService(e){this.ValidationService=e}setUiService(e){this.UiService=e}saveSession(){(e=>{const t=fr(r.POPUP)||fr(r.EMBEDDED);t&&Vt.session.setItem("om-diag",JSON.stringify({type:e,campaignId:t}))})(this.type)}removeSession(){Vt.session.removeItem("om-diag")}setCampaignsMeta(e){var t,n;const i=this.getDiagCampaignId(),o=e.filter((e=>e.campaignId===i));o.forEach((e=>{e.diagnostic=!0})),this.campaignsMeta=e,this.diagCampaignsMeta=o,this.diagCampaignMetaData=o[0],this.diagExperiences=null!=(t=null==(n=o[0])?void 0:n.experiences)?t:[],pr("[Main-Service] campaigns: "+this.campaignsMeta.map((e=>e.campaignId)).join(", "))}reCreateCampaignsMetaAfterBeforeInit(e){e.filter((e=>e.diagnostic)).length!==this.diagCampaignsMeta.length?(this.handleInitIssue({type:s.BEFORE_INIT}),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...this.diagCampaignsMeta])):this.setCampaignsMeta(e)}reCreateCampaignsMetaAfterPreValidation(e){e.filter((e=>e.diagnostic)).length!==this.diagCampaignsMeta.length?(this.handleInitIssue({type:s.PRE_VALIDATION}),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...this.diagCampaignsMeta])):this.setCampaignsMeta(e)}reCreateCampaignsMetaAfterExperienceFilter(e){!e.filter((e=>e.diagnostic)).length&&this.diagExperiences.length?(this.handleInitIssue({type:s.NO_VALID_EXPERIENCE}),pr("[Main-Service] Select first experience for diagnostic"),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...mr(this.diagCampaignsMeta,this.diagExperiences)])):this.setCampaignsMeta(e)}setCampaign(e){this.diagCampaign=e}getCampaignsMeta(){return this.campaignsMeta}getDiagCampaignId(){return(e=>{var t,n;const i=null==(t=Object.entries(c).find((t=>{let[n,i]=t;return i===e})))?void 0:t[0];if(!i)return 0;const o=fr(r[i])||(null==(n=vr())?void 0:n.campaignId);return parseInt(o||0,10)})(this.type)}handleInitIssue(e){if(this.initIssues.push(e),pr("[Main-Service][initIssues] Init failed: "+(null==e?void 0:e.type)),(null==e?void 0:e.type)===s.MISSING_META)return this.diagFailed=!0,this.dateUpdated=new Date,void this.initUI();this.dateUpdated=new Date}handleTriggeredEvent(e){this.campaignDisplayed||this.triggeredEvents.includes(e)||(pr("[Main-Service][triggering] Triggered event: "+e),this.triggeredEvents.push(e),this.dateUpdated=new Date,this.rerunDiag({forcedUiUpdate:!0}))}handleDisplayCampaign(e,t){var n;if(e===(null==(n=this.diagCampaign)?void 0:n.campaignId))return pr("[Main-Service][triggering] Campaign displayed by event: "+t),this.campaignDisplayed=!0,this.dateUpdated=new Date,this.updateUI(),void clearInterval(this.autoRerun);this.rerunDiag()}hasInitIssue(){return this.initIssues.length}getCampaignInfo(){var e,t,n,i;return{campaignId:(null==(e=this.diagCampaign)?void 0:e.campaignId)||null,campaignName:(null==(t=this.diagCampaign)?void 0:t.campaignName)||"",variantName:(null==(n=this.diagCampaign)?void 0:n.creativeName)||"",isControlVariant:(null==(i=this.diagCampaign)?void 0:i.isControlVariant)||!1}}getDiagResult(){const e=(e=>{const t=window.OptiMonkRegistry.isMobile?"mobile":"desktop";return Object.keys((null==e?void 0:e.getEvents())||[]).filter((n=>{var i,o,a;return!(null==(i=null==(o=((null==e?void 0:e.getEvents())||{})[n])||null==(a=o.options)?void 0:a.find((e=>{var n;return null==(n=e.device)?void 0:n.includes(t)})))||!i)}))})(this.diagCampaign),t=e.filter((e=>!this.triggeredEvents.includes(e)));return{campaignDisplayed:this.campaignDisplayed,diagFailed:this.diagFailed,dateInitStarted:this.dateInitStarted,dateInited:this.dateInited,dateUpdated:this.dateUpdated,initIssues:this.initIssues,validations:{failedValidations:this.failedValidations},triggering:{hasTriggered:!!this.triggeredEvents.length,untriggeredEvents:t,triggeringEvents:e}}}async startDiag(e){if(void 0===e&&(e=1),pr("[Main-Service] Init and run validations (tries: "+e+")"),!this.ValidationService)return e>9?gr("[Main-Service] Validaton init failed"):(await hr(1e3),this.startDiag(e+1));this.diagCampaignMetaData?(this.ValidationService.setType(c.POPUP),this.ValidationService.setCampaign(this.diagCampaign),this.ValidationService.setCampaignMetaData(this.diagCampaignMetaData),await this.ValidationService.fullRun(),this.failedValidations=this.ValidationService.getResult(),this.dateUpdated=new Date,pr("[Main-Service][result]",JSON.parse(JSON.stringify(this.getDiagResult()))),this.ValidationService.hasSuccessRun()&&(await this.initUI(),this.autoRerun=setInterval((()=>{this.rerunDiag()}),1e3))):this.handleInitIssue({type:s.MISSING_META})}async rerunDiag(e){if(void 0===e&&(e={}),!this.ValidationService)return;if(!this.ValidationService.hasSuccessRun())return;const t=JSON.parse(JSON.stringify(this.failedValidations));await this.ValidationService.particularRun();const n=this.ValidationService.getResult();var i;if(i=t,!(n.map((e=>e.validatorType)).join()===i.map((e=>e.validatorType)).join()))return this.failedValidations=n,this.dateUpdated=new Date,pr("[Main-Service][result]",JSON.parse(JSON.stringify(this.getDiagResult()))),void this.updateUI();e.forcedUiUpdate&&this.updateUI()}async initUI(e){return void 0===e&&(e=1),pr("[Main-Service] Init UI (tries: "+e+")"),this.dateInitStarted=new Date,this.UiService?(await this.UiService.initUI({campaignInfo:this.getCampaignInfo(),diagResult:this.getDiagResult()}),this.dateInited=new Date,!0):e>9?gr("[Main-Service] UI Init failed"):(await hr(1e3),this.initUI(e+1))}updateUI(){hr(100).then((()=>{var e;null==(e=this.UiService)||e.updateDiagResult(this.getDiagResult())}))}setUIContent(e){this.UiService.setCurrentContent(e)}}const wr=async e=>{var t,n;let{limitData:i,campaignsData:o,cookieManager:a}=e;window.OptiMonk=window.OptiMonk||{},window.OptiMonk.campaigns=[];const r=document.querySelector("html");if(_(r,"optimonk#popup-init"),_(r,"optimonk#preload-initialized"),window.OMReloading=!1,(ur.isWebSelectorEnabled()||jt.isPreview())&&ur.init(),document.addEventListener("jetfabricLoaded",(function e(){try{var t,n,i,o,a,r;if(document.removeEventListener("jetfabricLoaded",e),!OptiMonkRegistry.account||!window.JFClientSDK)return;const{provider:s,providerServiceId:c}=It(),l=Ct(),d=Xe(),u=(null==(t=OptiMonkRegistry)||null==(n=t.crossDomainParams)?void 0:n.optiMonkClientId)||OptiMonkRegistry.clientId||null,p=(null==(i=OptiMonkRegistry)||null==(o=i.crossDomainParams)?void 0:o.provider)||s||null,g=(null==(a=OptiMonkRegistry)||null==(r=a.crossDomainParams)?void 0:r.providerServiceId)||c;if(window.JFClientSDK.v2.setAppId("optimonk").registerCustomerAddress({provider:"optimonk",providerServiceId:""+OptiMonkRegistry.account,customerAddress:u,addressType:"deviceId"}).registerCustomerAddress({provider:p,providerServiceId:g,customerAddress:l||null,addressType:"customerId"}).setUserSessionSate({visitorInExperiment:d}),"shopify"===s){const e=$.local.getItem("_shopify_y");e&&window.JFClientSDK.v2.registerCustomerAddress({provider:"shopify",providerServiceId:c,customerAddress:e,addressType:"deviceId"})}Sa(),ir(),dr()}catch(e){console.error("Failed to initialize JF:",e.message),console.error(e)}})),window.JFClientSDK?dr():x("jetfabric",OptiMonkRegistry.jfJsScriptUrl),null!=(t=window.OptiMonk.diagnosticTool)&&t.isEmbeddedDiag())return window.OptiMonk.campaigns=[],void _(r,"optimonk#campaigns-before-load",{type:"popup"});if(null!=(n=window.OptiMonk.diagnosticTool)&&n.isPopupDiag()&&(window.OptiMonk.diagnosticTool.setCampaignsMeta(o.campaigns),window.OptiMonk.diagnosticTool.saveSession(),o.campaigns=window.OptiMonk.diagnosticTool.getCampaignsMeta()),jt.isPopupPreview())return window.OptiMonk.campaigns=await C().getVariantDataForPreview(jt.getPopupPreviewVariantId()),_(r,"optimonk#campaigns-before-load",{type:"popup"}),a.resetPreviewCampaign(window.OptiMonk.campaigns[0].campaignId),void window.OptiMonkEmbedded.loadPopups();if(jt.isPreview())return void _(r,"optimonk#campaigns-before-load",{type:"popup"});if(!i.remaining){if(!window.OptiMonk.diagnosticTool)return void _(r,"optimonk#campaigns-before-load",{type:"popup"});window.OptiMonk.diagnosticTool.handleInitIssue({type:s.LIMIT_REACHED})}if(null==o||!o.campaigns.length){if(!window.OptiMonk.diagnosticTool)return void _(r,"optimonk#campaigns-before-load",{type:"popup"});window.OptiMonk.diagnosticTool.handleInitIssue({type:s.MISSING_META})}window.OptiMonkRegistry.variantsTypeByCampaign=o.typeByCampaign;const{Validators:c}=await import(OptiMonkRegistry.esmAssetPath+"/index-04798221.js").then((function(e){return e.i}));let l=await c.beforeInit.validate(o.campaigns,{cookieManager:a});l.length||window.OptiMonk.diagnosticTool?(window.OptiMonk.diagnosticTool&&(window.OptiMonk.diagnosticTool.reCreateCampaignsMetaAfterBeforeInit(l),l=window.OptiMonk.diagnosticTool.getCampaignsMeta()),window.OptiMonk.campaigns=l,a.addCampaigns(l.map((e=>e.campaignId))),_(r,"optimonk#campaigns-before-load",{type:"popup"}),window.OptiMonkEmbedded.loadPopups()):_(r,"optimonk#campaigns-before-load",{type:"popup"})},Ir=()=>"om-country";class Cr{static save(e){fa.set((()=>e),{key:"country"})}static async get(){return ha.get((()=>{}),{cacheId:Ir,maxAge:0})}}const br=()=>"om-ip_block";class Sr{static save(e){fa.set((()=>e),{key:"ip_block"})}static async get(){return ha.get((()=>{}),{cacheId:br,maxAge:0})}}const kr="campaign-show",Or="campaign-conversion",Er="campaign-rejected",Mr=(e,t,n)=>{switch(OptiMonkRegistry.isDebug&&(console.log("[Report Manager] sending"),console.table(i({eventType:t},n))),t){case Or:e.getInstance().reportConversion(n.element,n.campaign);break;case kr:e.getInstance().reportCampaignShow(n.campaign);break;case Er:e.getInstance().reportRejected(n.campaign);break;default:console.error("[OM:DEBUG] Event not handled: "+t)}},_r=async()=>{const{ReportManager:e}=await Promise.resolve().then((function(){return Wt}));let t;for(;t=OptiMonkRegistry.ReportEvents.shift();){if(!Array.isArray(t)||"string"!=typeof t[0])return void console.warn("invalid pre-registered event: must be a tuple: [eventType, props]");const[n,i={}]=t;Mr(e,n,i)}await(async()=>{if(OptiMonkRegistry.ReportEvents.push!==Array.prototype.push)return;const{ReportManager:e}=await Promise.resolve().then((function(){return Wt}));OptiMonkRegistry.ReportEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;i{if(!Array.isArray(t)||"string"!=typeof t[0])return void console.warn("invalid invocation: must be called with a tuple: [eventType, props]");const[n,i={}]=t;Mr(e,n,i)}))}})()},Pr=e=>{const t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp("^"+t+"$")},Ar=e=>{let t;try{t=decodeURIComponent(e)}catch(n){t=e}return t},Rr=e=>{if(!e.filter((e=>e.domain===window.location.hostname)).length)return null;const t=(e=>{const t=window.location.pathname+window.location.search+window.location.hash,n=Ar(t),i=new URLSearchParams(window.location.search);for(const t of e)if(Pr(Ar(t.controlVariant.url)).test(n)&&!i.has("splitTestRedirect")&&!t.excludeURLs.some((e=>Pr(Ar(e)).test(n))))return t;return null})(e.sort(((e,t)=>t.createdAt-e.createdAt)).map((e=>i({},e,{controlVariant:e.urlVariants.find((e=>!0===e.isControl))}))));return t||null},Tr=(e,t)=>{var n;let i=(()=>{const e=$.local.getItem("optiMonkSplitUrlTests");return e?JSON.parse(e):null})();i&&(i=((e,t)=>{const n=JSON.parse(JSON.stringify(e));return e.forEach(((e,i)=>{const o=e.split("_")[3];t.some((e=>e._id===o))||n.splice(i,1)})),$.local.setItem("optiMonkSplitUrlTests",n),n})(i,e));const o=null==(n=i)?void 0:n.find((e=>e.includes(t._id)));if(o){const e=o.split("_")[5];return t.urlVariants.find((t=>""+t._id===e))}const a=(e=>{const t=Math.floor(1e3*Math.random()*e.length)+1;let n=0;for(const i of e)if(n+=1e3*i.trafficShare,t<=n)return i;return null})(t.urlVariants);return((e,t,n)=>{const i=[];if(i.push("split_url_test_"+n+"_variant_"+t),i.length){const t=[...e||[],...i];$.local.setItem("optiMonkSplitUrlTests",t)}})(i,a._id,t._id),a},xr=(e,t)=>{try{new Function(t)(),console.log("[frontend] JS snippet run for split URL A/B test:",e)}catch(t){console.error("[frontend] Split URL A/B test JS snippet error.",e,t)}},Nr=(e,t)=>{const n=Ar(e),i=Ar(t),o=((e,t)=>{var n;const i=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"(.*)"),o=e.match(new RegExp("^"+i+"$"));return null!=(n=null==o?void 0:o.slice(1))?n:[]})(Ar(window.location.pathname+window.location.search),n);let a=i;return a=a.replace(/\*/g,(()=>o.shift()||"")),a=a.replace(/\?\?/g,"?").replace(/\&\&/g,"&").replace(/\?/g,((e,t)=>t===a.indexOf("?")?"?":"&")),window.location.hash&&(a+=window.location.hash),new URL(a,window.location.origin)},Dr=()=>{window.OptiMonkEmbedded.getCrossDomainTrackingParams=function(){const e=OptiMonkRegistry.clientId,t=$.local.getItem("optiMonkExperiments")||"[]",n=It(),i=St()||""+window.location.origin+window.location.pathname,o={optiMonkClientId:e,providerServiceId:n.providerServiceId,provider:n.provider,url:i,visitorInExperiment:t},a=Object.entries(o).map((e=>{let[t,n]=e;return encodeURIComponent(t)+"="+encodeURIComponent(n)})).join("&");return function(e,t){const n=window.location.hostname.split(".").slice(-2).join("."),i=new Date("9999-12-31T23:59:59.999Z");document.cookie=e+"="+t+"; Domain=."+n+"; path=/; expires="+i.toUTCString()}("optiMonkCrossPlatformParamsCookie",JSON.stringify(o)),a}},qr=e=>{const t=e.target;Object.entries(qi).forEach((n=>{let[o,a]=n;const r=t.closest(a),s=t.closest(".om-embedded-campaign-v2");if(r&&s)return class{static async handle(e){let{targetElement:t,actionComponent:n,campaignWrapper:o,component:a,event:r}=e;switch(a){case"OM_PRODUCT":await class{static async handle(e,t){const n=Gt.getCampaignData(t),i=Gt.getProductComponentId(e),o=n.getProductComponentById(i);let a;if(o.isStatic()){const t=Gt.getIndexOf(e);a=o.getProductByIndex(t)}else{const t=Gt.getProductId(e,o);a=o.getProductByProductId(t)}a.handleClick(),a.isConverted()||this.handleProductConvert(n,o,i,a),be("productClick",{type:o.getType(),mode:o.getMode(),filterType:o.getProductFilterType(),hasButton:!!a.getCTABtn(),action:a.getClickAction(),campaign:n.getId()})}static handleProductConvert(e,t,n,i){i.setConverted();const o=i.getProductNo();Pn.convertProductClick(e,t,n,o),F()&&(m().setFilled(e.getId()),Rn.runFill(e))}}.handle(t,o);break;case"OM_IMAGE_LINK":Ln.handle(t,o,r);break;case"OM_SOCIAL":(class{static handle(e){const t=Gt.getCampaignData(e);yt.initialize(),t.sendConversion(i({},sn.collectDataForButton(t),{final:!0}))}}).handle(o);break;default:await Un.handle(t,n,o)}}}.handle({targetElement:t,actionComponent:r,campaignWrapper:s,component:o,event:e})}))},Ur=async(e,t,n,i,o)=>{let a=0;return new Promise((r=>{import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaignDOMHtml-da4155ca.js").then((s=>{let{EmbeddedCampaignDOMHtml:c}=s;const l=setInterval((function(){if(a<5){let s=o.length||0;const d=document.querySelectorAll(n);if(null!=d&&d.length){console.log("embedded:debug","inserting embedded",n);const a="above"===i?"beforebegin":"afterend";d.forEach((i=>{if(((e,t)=>{const n=document.querySelectorAll(t+' ~ .om-embedded-campaign[data-campaign-id="'+e+'"]');let i=document.querySelector(t).previousSibling,o=!1;for(;i;){var a;if(1===i.nodeType&&(null==(a=i.dataset)?void 0:a.campaignId)===e.toString()){o=!0;break}i=i.previousSibling}return n.length>0||o})(e,n))return;const r=new c(e,t,s);r.insertWithWrapper(i,a),o.push(r),s++})),clearInterval(l),r()}else a++}5===a&&(console.log("embedded:debug","wait timeout reached no element found",n),clearInterval(l),r())}),10)}))}))},Lr=async(e,t)=>{let{id:n,positions:i}=e;const o=[];return await(async(e,t,n)=>new Promise((i=>{import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaignDOMHtml-da4155ca.js").then((o=>{let{EmbeddedCampaignDOMHtml:a}=o,r=0;document.querySelectorAll('.om-embedded-campaign[data-campaign-id="'+e+'"]').forEach((i=>{const o=new a(e,t,r);o.insertDirectly(i),n.push(o),r++})),i()}))})))(n,t,o),null!=i&&i.length&&await((e,t,n,i)=>{const{selector:o,position:a}=e[0];return Ur(t,n,o,a,i)})(i,n,t,o),o},Fr=async()=>{try{var e,t;const{response:n,headers:i}=await OptiMonkEmbedded.RequestService.loadAccountInfo();(e=>{const t=null==e?void 0:e[OptiMonkRegistry.countryHeaderName];if(Cr.save(t),"function"!=typeof Intl.DisplayNames||!t)return;const n=new Intl.DisplayNames(["en"],{type:"region"}),i=new Intl.DisplayNames(["hu"],{type:"region"}),o=new Intl.DisplayNames(["de"],{type:"region"}),a=Di();a.attr("_country_code",t),a.attr("_country_en",n.of(t)),a.attr("_country_hu",i.of(t)),a.attr("_country_de",o.of(t))})(i),(e=>{const t=null==e?void 0:e[OptiMonkRegistry.ipBlockHeaderName];Sr.save(t)})(i);const o=mt(window.location.hostname),a=n.settings.experiments.filter((e=>mt(e.domain)===o)),r=n.settings.spaDomains||[];return{features:n.settings.features,embeddedCampaigns:n.embeddedCampaigns,dynamicContentCampaigns:n.dynamicContentCampaigns||[],experiments:a,campaignMetaData:n.embeddedCampaigns,brand:n.settings.brand,trackParams:n.settings.trackParams||{},experimentalSettings:n.settings.experimentalSettings,spaDomain:r.find((e=>e===o)),poweredBy:n.settings.poweredBy||{},crossDomainTrackingRoles:(null==n||null==(e=n.settings)?void 0:e.crossDomainTrackingRoles)||{},providerServiceIdOverrides:(null==n||null==(t=n.settings)?void 0:t.providerServiceIdOverrides)||{},splitUrlABTests:n.splitUrlABTests||[]}}catch(e){return console.error(e.message),{features:[],embeddedCampaigns:[],dynamicContentCampaigns:[],experiments:{},campaignMetaData:[],brand:"OptiMonk",trackParams:{},experimentalSettings:{},spaDomain:null,poweredBy:{},crossDomainTrackingRoles:{},providerServiceIdOverrides:{},splitUrlABTests:[]}}},Vr=async()=>{try{const{response:e}=await C().loadCampaignsJson();return e.campaigns=e.campaigns.map((e=>i({},e,{id:e.campaignId}))),e}catch(e){return console.error(e.message),{campaigns:[]}}},jr=async()=>{var e,t;(()=>{let e=$.local.getItem("optiMonkClientId");e||(e=Ce(),$.local.setItem("optiMonkClientId",e)),OptiMonkRegistry.clientId=e})(),$i(),Ka(),(()=>{const e=Di(),{referrer:t}=document;if(""===t)e.attr("_source_referrer","direct"),e.attr("_source_url",document.URL);else{const n=t.replace(/https?:\/\/|\/.*/g,"");location.host!==n&&(e.attr("_source_referrer",t),e.attr("_source_url",document.URL))}})(),(async()=>{var e;const t=OptiMonkEmbedded.RequestService,n=window.location.href,i=!(null==(e=OptiMonkRegistry)||!e.isMobile),o=new Ja({requestService:t,isMobile:i});o.setCurrentUrl(n),o.runScraper()})(),$t.getInstance().resetCampaignStates(),await _r();const n=OptiMonkEmbedded.RequestService;OptiMonkEmbedded.campaigns=[];const i=Di();i.clearShop(),Na(i);const o=window.OptiMonkEmbedded.CookieManager||new Bi({accountId:d(),miniScriptLoaded:OptiMonkEmbedded.mini});OptiMonkEmbedded.CookieManager=o,((e,t)=>{window.OptiMonkRegistry.beforeLoadCampaigns={script:!1,popup:!1};const n=new zi(u(),e,OptiMonkEmbedded);OptiMonkEmbedded.BackendRequestAfterPreInit=n.getPublicIF(),O(document.querySelector("html"),"optimonk#campaigns-before-load",(e=>{window.OptiMonkRegistry.beforeLoadCampaigns[e.parameters.type]=!0;const{script:i,popup:o}=window.OptiMonkRegistry.beforeLoadCampaigns;!0===i&&!0===o&&(n.setAccountCookie(t.getOriginalCookies()),n.request())}))})(n,o);const[a,r,s]=await Promise.all([Fr(),n.getLimitData(),Vr()]);if((e=>{var t,n;const i=window.location.search;if(i.includes("om-preview"))return;if(i.includes("x-om-web-selector"))return;if(jt.isPreview())return;if(ur.isWebSelectorEnabled())return;if(null!=(t=navigator.userAgent)&&null!=(n=t.toLowerCase())&&n.includes("googlebot"))return;const o=new URLSearchParams(i).get("splitTestRedirect");if(o){const t=((e,t)=>{var n;return null==t||null==(n=t.flatMap((e=>e.urlVariants)))?void 0:n.find((t=>t._id===e))})(o,e);if(!t)return;if(Pe("splitURLTest",{isControl:t.isControl?"1":"0",variantId:o}),t.jsSnippet){const{_id:e,jsSnippet:n}=t;xr(e,n)}}else if(null!=e&&e.length){const t=Rr(e);if(!t)return null;const n=Tr(e,t);if(n){const{isControl:e,_id:i,jsSnippet:o}=n;if(!e){var a;const e=null==(a=t.urlVariants)?void 0:a.find((e=>e.isControl));if(n.isControl||!e)return;const i=Nr(e.url,n.url);return i.searchParams.set("splitTestRedirect",n._id),window.location.replace(i),!0}{const e=new URL(window.location.href);e.searchParams.set("splitTestRedirect",i),window.history.replaceState({},"",e),Pe("splitURLTest",{isControl:"1",variantId:i}),o&&xr(i,o)}}}})(a.splitUrlABTests))return;if(OptiMonkRegistry.features=a.features,OptiMonkRegistry.experiments=a.experiments,OptiMonkRegistry.brand=a.brand,OptiMonkRegistry.poweredBy=a.poweredBy,OptiMonkRegistry.experimentalSettings=a.experimentalSettings,OptiMonkRegistry.crossDomainTrackingRoles=a.crossDomainTrackingRoles,OptiMonkRegistry.providerServiceIdOverrides=a.providerServiceIdOverrides,null!=(c=OptiMonkRegistry.features)&&c.BLOCK_LINUX_VISITORS&&(null==(l=Vt.local.getItem("OptiMonkVisitorAttributes").os_name)?void 0:l.includes("Linux")))return;var c,l;ze.initSafe(),Aa.addScript(),(()=>{if(Dr(),OptiMonkRegistry.crossDomainTrackingRoles){const e=window.location.hostname,t=mt(e),n=OptiMonkRegistry.crossDomainTrackingRoles[t]||OptiMonkRegistry.crossDomainTrackingRoles[e];if("publisher"===n&&window.OptiMonkEmbedded.getCrossDomainTrackingParams(),"receiver"===n){const e=$.local.getItem("optiMonkCrossPlatformParamsCookie");if(e)try{const t=JSON.parse(e);t.optiMonkClientId&&t.providerServiceId&&t.provider&&(OptiMonkRegistry.crossDomainParams={optiMonkClientId:t.optiMonkClientId,providerServiceId:t.providerServiceId,provider:t.provider})}catch(e){console.error("Error parsing cross-domain cookie:",e)}}}})(),await Promise.all([oo(),qa()]);try{wr({limitData:r,campaignsData:s,cookieManager:o})}catch(e){console.error({message:"Error loading popups",e:e})}const p=$.local.getItem("optiMonkExperiments");if((!p||"[]"==p)&&222976==(null==(e=OptiMonkRegistry)?void 0:e.account)){var g,h;const e=$.local.getItem("optiMonkClient")||"{}";Pe("om_experiment",{clientId:null==(g=OptiMonkRegistry)?void 0:g.clientId,experiments:JSON.stringify(null==(h=OptiMonkRegistry)?void 0:h.experiments),experimentCookie:p,omCookie:G.decompressFromBase64(e)})}if(a.spaDomain&&(import(OptiMonkRegistry.esmAssetPath+"/preload-spa-ddb8e77e.js").then((e=>{let{initSPA:t}=e;t()})),window.OptiMonk.isSPA=!0,!window.OMHistoryOverriddenForEmbedded)){const e=()=>{window.OMCreateAntiFlicker&&window.OMCreateAntiFlicker(),window.OptiMonkEmbedded.loadEmbedded()};window.history.onpushstateEmbedded=e,window.addEventListener("popstate",e),window.OMHistoryOverriddenForEmbedded=!0,OptiMonkEmbedded.mini=!1}La.getInstance().setSmartPersonalizationParameter(a);let m=[...a.embeddedCampaigns,...a.dynamicContentCampaigns];if(jt.isPreview()){m=[];const{response:{success:e,campaign:t}}=await n.getPreview(jt.getPreviewVariantId());return e?(m.push(t),OptiMonkEmbedded.campaigns=V(m),o.resetPreviewCampaign(m.id),m):[]}const f=document.querySelector("html");if(jt.isPopupPreview())return _(f,"optimonk#campaigns-before-load",{type:"script"}),[];if(!r.remaining)return _(f,"optimonk#campaigns-before-load",{type:"script"}),[];if(null==(t=m)||!t.length)return _(f,"optimonk#campaigns-before-load",{type:"script"}),[];const{Validators:v}=await import(OptiMonkRegistry.esmAssetPath+"/index-04798221.js").then((function(e){return e.i}));if(m=await v.beforeInit.validate(m,{cookieManager:o}),!m.length)return void _(f,"optimonk#campaigns-before-load",{type:"script"});if(OptiMonkEmbedded.campaigns=V(m),o.addCampaigns(m),m.forEach((e=>{Aa.addCampaign(e)})),Oa("Has JF rule",Aa.hasJFRule()),Aa.hasJFRule())try{await ma(Aa.collectData,300)}catch(e){Oa("Cannot load JF data",e.message)}if(Oa("Campaigns before experience validation",m),m=await(async e=>{const t=e.map((e=>e.id)),n=[...new Set(t)],i=V(e),o=[];for(const t of n){var a;const s=i[t];if(null!=s&&null!=(a=s.experiences)&&a.length){var r;const{ExperienceManager:t}=await import(OptiMonkRegistry.esmAssetPath+"/ExperienceManager-b3f7b3c6.js"),i=await t.findValidExperience(s,n);null==i||null==(r=i.variants)||r.forEach((t=>{const n=e.find((e=>e.variantId===t));n&&o.push(n)}))}else{const n=e.filter((e=>e.id===t));o.push(...n)}}return o})(m),Oa("Campaigns after experience validation",m),!m.length)return OptiMonkEmbedded.campaigns=[],_(f,"optimonk#campaigns-before-load",{type:"script"}),[];var y;return m=((e,t)=>e.filter((e=>t.isActiveVariant(e.id,e.variantId))))(m,new Gi(m,{type:"embedded"})),y=m,si.handle(window.location.pathname+window.location.search+window.location.hash,y),((e,t)=>{gi.handle(window.location.pathname+window.location.search+window.location.hash,e,t.getAccountCookie())})(m,o),OptiMonkEmbedded.campaigns=V(m),_(f,"optimonk#embedded-campaigns-init",m),_(f,"optimonk#campaigns-before-load",{type:"script"}),m},Jr=e=>{let t=!1;if(e.length)return(async()=>{const{EmbeddedCampaign:n}=await import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaign-09124dac.js"),{default:i}=await Promise.resolve().then((function(){return Mn})),o=e.map((async e=>{const o=e.id;Rn.runPageLoad(e),e.coupons&&i.add(e.coupons);const{Validators:a}=await import(OptiMonkRegistry.esmAssetPath+"/index-04798221.js").then((function(e){return e.i}));return await a.embedded.validate(o)?(t||(OptiMonkEmbedded.AssetManager.loadAsset(OptiMonkRegistry.getAssetUrlFor("/assets/css/om.base.css"),"css",(()=>{})),document.querySelector("html").addEventListener("click",qr,!1),t=!0),OptiMonkEmbedded.RequestService.loadVariant(e.variantId,e.ts).then((async t=>{const r=navigator.language||navigator.userLanguage;if(!await a.embedded.postValidate(o,t))return Promise.resolve(!1);const s=await Lr(e,t);i.clearSettingsData(o),Rn.runShow(e);const c=s.map((async t=>{const o=new n({campaignData:e,requestService:OptiMonkEmbedded.RequestService,assetManager:OptiMonkEmbedded.AssetManager,cookieManager:OptiMonkEmbedded.CookieManager,couponManager:i,locale:r,instanceNum:t.getInstanceNumber(),embeddedCampaignDom:t});return OptiMonkEmbedded.CampaignRegistry.add(o),o.init(),OptiMonkEmbedded.CookieManager.addImpression(o.getId()),$t.getInstance().reportCampaignShow(o),Promise.resolve(o)}));return Promise.all(c)}))):Promise.resolve(!1)}));return Promise.all(o).catch(console.error)})()},Br=async e=>{const t=[],n=[],i=[];e.forEach((e=>{e.isControlVariant?i.push(e):"dynamic_content"===e.type?t.push(e):"embedded"===e.type&&n.push(e)})),OptiMonkRegistry.isDebug&&Oa("Campaigns to load",{dynamicContentCampaigns:t,embeddedCampaigns:n,controlVariantCampaigns:i}),(async e=>{Da(e),La.getInstance().setup(e);const t=e.map((async e=>{const{Validators:t}=await import(OptiMonkRegistry.esmAssetPath+"/index-04798221.js").then((function(e){return e.i}));if(!await t.embedded.validate(e.id))return;await La.getInstance().setDTRs(e);const n=new So(e),i=await n.applyChanges();(await Promise.all(i.map((async e=>e)))).find(Boolean)&&(OptiMonkEmbedded.CookieManager.addImpression(n.getId()),$t.getInstance().reportCampaignShow(n))}));await Promise.all(t),window.OMCustomAntiFlicker&&window.OMCustomAntiFlicker.show()})(t),Jr(n),(async e=>{const t=e.map((async e=>{const{Validators:t}=await import(OptiMonkRegistry.esmAssetPath+"/index-04798221.js").then((function(e){return e.i}));if(!await t.embedded.validate(e.id))return;const n=new ko(e);OptiMonkEmbedded.CookieManager.addImpression(n.getId()),$t.getInstance().reportCampaignShow(n)}));await Promise.all(t)})(i)};class Hr{constructor(){this.campaigns={}}add(e){this.campaigns[e.getId()+"-"+e.getInstanceNum()]=e}get(e,t){return this.campaigns[e+"-"+t]||null}getList(){return this.campaigns}}class $r{constructor(e){let{accountId:t,baseUrl:n,embeddedContentUrl:i,cdnUrl:o,aiCdnUrl:a,aiPPOCdnUrl:r,accountDataUrl:s,limitUrl:c}=e;this.accountId=t,this.baseUrl=n,this.embeddedContentUrl=i,this.cdnUrl=o,this.aiCdnUrl=a,this.aiPPOCdnUrl=r,this.accountDataUrl=s,this.limitUrl=c}baseUrlPath(){return this.baseUrl+"/public/"+this.accountId}baseVariantPath(e){return this.baseUrlPath()+"/creative/"+e}getNotExistsEmailValidatorUrl(){return this.baseUrlPath()+"/validate/email/notexist"}getSpamEmailValidatorUrl(){return this.baseUrlPath()+"/validate/email/spam"}getBackendRequestUrl(){return this.baseUrlPath()+"/embedded/after-pre-init"}getScraperInfoForSPPORequestUrl(e){return this.baseUrlPath()+"/embedded/scraper-info-for-sppo?url="+encodeURIComponent(e)}_getConversionUrl(e){return this.baseVariantPath(e)+"/conversionExtended"}_getFeedbackUrl(e){return this.baseVariantPath(e)+"/feedback"}_getSendSavedSubscriberUrl(e){return this.baseVariantPath(e)+"/send-saved-subscriber"}_getAccountInfoUrl(){return this.cdnUrl+"/"+this.accountId+"/accountInfo.json"}_getCampaignsJSONUrl(){return this.accountDataUrl+"/"+this.accountId+"/campaigns.json"}_getLimitUrl(){return this.limitUrl+"/"+this.accountId+"/limit.json"}_getPNCConfigUrl(){return this.baseUrl+"/config/pnc"}_getPreviewUrl(e){return this.baseUrl+"/preview-v3/"+this.accountId+"/"+e}_getPageSmartTagsUrl(e){const{providerServiceId:t}=It();return this.aiPPOCdnUrl+"/"+this.accountId+"/"+t+"/"+e+".json"}_getProductSmartTagsUrl(e){var t;if(null!=(t=OptiMonkRegistry.features)&&t.SPPO_RESEARCH_CDN)return this.aiCdnUrl+"/"+this.accountId+"/"+e+".json";const{providerServiceId:n}=It();return this.aiPPOCdnUrl+"/"+this.accountId+"/"+n+"/"+e+".json"}_getSmartPersonalizerJsonUrl(e,t){return this.cdnUrl+"/"+this.accountId+"/"+t+"/sp/"+e+".json"}_getVariantsTypeByCampaign(){return this.baseUrlPath()+"/variants-by-type"}_getLoadVariantUrl(e,t){const n=t?"?v="+t:"";return this.embeddedContentUrl+"/"+this.accountId+"/"+e+".html"+n}_getVariantDataForPreviewUrl(e){return this.baseUrl+"/preview-data/"+this.accountId+"/"+e+"?v="+(new Date).getTime()}_getProductDetailsUrl(){return this.baseUrl+"/product/details"}_getReportActivityUrl(e){return this.baseVariantPath(e)+"/report"}_shopifyAppStatusReportUrl(){return this.baseUrl+"/shopify/appStatus"}_getUniqueCouponUrl(e){return void 0===e&&(e=""),this.baseUrl+"/public/"+this.accountId+"/coupon/"+e}getUniqueCouponCode(e){const t=this._getUniqueCouponUrl(),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{ht.post(n,t,(t=>{e(JSON.parse(t))}))}))}lockCoupon(e){const t=this._getUniqueCouponUrl("lock"),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{ht.post(n,t,(t=>{e(JSON.parse(t))}))}))}unlockCoupon(e){const t=this._getUniqueCouponUrl("unlock"),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{ht.post(n,t,(t=>{e(JSON.parse(t))}))}))}sendSavedSubscriber(e,t){navigator.sendBeacon(this._getSendSavedSubscriberUrl(e),new URLSearchParams(oe(t)))}sendAppEmbedStatus(e){return new Promise((t=>{const n="shop="+encodeURIComponent(e)+"&databaseId="+this.accountId;ht.post(n,this._shopifyAppStatusReportUrl(),(e=>{t(e)}))}))}sendPostRequest(e,t){return t=oe(t),new Promise((n=>{ht.post(t,e,(e=>{n(e)}))}))}postJSON(e,t){return new Promise((n=>{ht.postJSON(JSON.stringify(t),e,(e=>{n(e)}))}))}loadAccountInfo(){return new Promise(((e,t)=>{ht.get(this._getAccountInfoUrl(),((n,i)=>{try{const t=JSON.parse(n);e({response:t,headers:i})}catch(e){t(e)}}))}))}loadCampaignsJson(){return new Promise(((e,t)=>{ht.get(this._getCampaignsJSONUrl(),((n,i)=>{try{const t=JSON.parse(n);e({response:t,headers:i})}catch(e){t(e)}}))}))}loadPNCConfig(){return new Promise(((e,t)=>{ht.get(this._getPNCConfigUrl(),(n=>{try{e(JSON.parse(n))}catch(e){t(e)}}))}))}getPreview(e){return new Promise(((t,n)=>{ht.get(this._getPreviewUrl(e),(e=>{try{const n=JSON.parse(e);t({response:n})}catch(e){n(e)}}))}))}getLimitData(){return new Promise(((e,t)=>{ht.get(this._getLimitUrl(),(n=>{try{e(JSON.parse(n))}catch(e){t(e)}}))}))}loadPageSmartTags(e){return new Promise((t=>{ht.get(this._getPageSmartTagsUrl(e),(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadProductSmartTags(e){return new Promise((t=>{ht.get(this._getProductSmartTagsUrl(e),(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadOptimonkRecommenderProducts(e){return new Promise((t=>{var n;const i=null==e||null==(n=e.campaign)?void 0:n.campaignId,o=window["om_reco_prefix_"+i],a=o?o+"/":"",r=nn()||tn(),{providerServiceId:s}=It(),c=this.aiPPOCdnUrl+"/"+this.accountId+"/"+s+"/recommender/"+a+r+".json";ht.get(c,(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadSmartPersonalizerJson(e,t){return new Promise((n=>{ht.get(this._getSmartPersonalizerJsonUrl(e,t),(e=>{try{n(JSON.parse(e))}catch(e){n({})}}))}))}loadVariant(e,t){return new Promise((n=>{ht.get(this._getLoadVariantUrl(e,t),(e=>{n(e)}))}))}getVariantDataForPreview(e){return new Promise((t=>{ht.get(this._getVariantDataForPreviewUrl(e),(e=>{t(JSON.parse(e))}))}))}getVariantsTypeByCampaign(){return new Promise((e=>{ht.get(this._getVariantsTypeByCampaign(),(t=>{e(t)}))}))}sendConversion(e,t){return this.sendPostRequest(this._getConversionUrl(e),t)}getProductData(e){return this.postJSON(this._getProductDetailsUrl(),e)}getSiteStatus(){return new Promise((e=>{ht.get(this.baseUrl+"/analytics/siteinfo/"+this.accountId,(t=>{e(JSON.parse(t))}))}))}reportActivity(e,t,n,i,o,a){return new Promise((r=>{var s,c,l;const d=this._getReportActivityUrl(t),u=new URL(d),h=(new Date).getTime()/1e3;u.searchParams.set("action",n),u.searchParams.set("campaign_id",e),u.searchParams.set("time",h.toString()),u.searchParams.set("uuid",p()),u.searchParams.set("puid",g(t)),o&&u.searchParams.set("experimentGroupId",o),a&&u.searchParams.set("isControlVariant",Number(!!a)),i&&u.searchParams.set("ctx",i);const m=null==(s=OptiMonkRegistry)||null==(c=s.smartAbTests)||null==(l=c[e])?void 0:l.cookie;m&&u.searchParams.set("smartAbTest",m),ht.get(u.toString(),(e=>{r(e)}))}))}async sendFeedback(e,t){if(e.length)return new Promise((n=>{ht.post("feedback="+encodeURIComponent(JSON.stringify(e)),this._getFeedbackUrl(t),(e=>{n(e)}))}))}getLogRocketProject(){return this.sendGetRequest(this.baseUrl+"/lrkt/project")}sendGetRequest(e){return new Promise((t=>{ht.get(e,(e=>{t(e)}))}))}_getShopifyCouponRedeemUrl(e){return"//"+window.location.hostname+"/discount/"+e}_getShopifyGenerateCouponUrl(){return this.baseUrl+"/generateShopifyCoupon"}autoRedeem(e){const t=this._getShopifyCouponRedeemUrl(e);return this.sendGetRequest(t)}async generateShopifyCoupon(e){const t=this._getShopifyGenerateCouponUrl(),n=await this.postJSON(t,e);return JSON.parse(n)}}class Wr{constructor(){this._assets={}}loadAsset(e,t,n){const i=t=>{let n;for(;n=this._assets[e].cbs.shift();)n&&n(t)};if(this._assets[e])return this._assets[e].loaded?void n():void this._assets[e].cbs.push(n);this._assets[e]={loaded:!1,cbs:[]},this._assets[e].cbs.push(n);try{let n=null,o=null;"js"===t?(n=document.createElement("script"),n.src=e,o=document.body):"css"===t&&(n=document.createElement("link"),n.href=e,n.rel="stylesheet",n.type="text/css",o=document.getElementsByTagName("head")[0]),n&&o&&(n.onload=()=>{this._assets[e].loaded=!0,i()},n.onerror=e=>{i(e)},o.appendChild(n))}catch(e){i(e)}}loadScript(e,t){"/"!==e.charAt(0)&&(e="/"+e),this.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"js",t)}loadCss(e,t){"/"!==e.charAt(0)&&(e="/"+e),this.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"css",t)}}const Kr={SHOPIFY:"shopify",SHOPRENTER:"shoprenter",UNAS:"unas",WOOCOMMERCE:"woocommerce"},zr=()=>window.JFClientSDK||null,Gr=(e,t)=>{e?console.warn("[CUSTOM-EVENT-ERROR] "+t+" (event: "+e+")"):console.warn("[CUSTOM-EVENT-ERROR] "+t)},Xr=()=>window.omEvents||null,Yr=e=>e.match(/^[a-zA-Z0-9_]*$/)?!(e.length>64)||(Gr(e,"Invalid length of event!"),!1):(Gr(e,"Invalid event name format!"),!1),Qr=(e,t)=>{if("object"!=typeof t)return Gr(e,"Invalid property object!"),!1;if(!t||0===Object.keys(t).length)return!0;return Object.entries(t).map((t=>{let[n,i]=t,o=0;return n.match(/^[a-zA-Z0-9_]*$/)||(Gr(e,"Invalid property format! [property: "+n+"]"),o++),n.length>128&&(Gr(e,"Invalid length of property! [property: "+n+"]"),o++),i.length>256&&(Gr(e,"Invalid value length of property! [property: "+n+"]"),o++),0===o})).every((e=>!!e))},Zr=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);const i=zr();return!!((e,t)=>e&&"string"==typeof e?[Yr(e),Qr(e,t)].every((e=>!!e)):(Gr(null,"Invalid input format!"),!1))(e,t)&&(i.v2.registerCustomEvent("custom:"+e,t||{}),n&&i.v2.go(),!0)},es=function e(t){void 0===t&&(t=1);const n=()=>Xr()&&Array.isArray(Xr())&&(()=>{const e=zr();return e&&e.v2&&"function"==typeof e.v2.go&&"function"==typeof e.v2.registerCustomEvent})();if(!n())return void(t<=30&&setTimeout((()=>{e(t+1)}),100*t));let i;const o=setInterval((()=>{try{if(!n())return clearInterval(o),void e(1);for(Xr().length&&(i=(e=>{const t=zr();return e&&clearTimeout(e),setTimeout((()=>{t.v2.go()}),200)})(i));Xr().length;){const[e,t,n]=Xr().shift();Zr(e,t,n),n&&!Xr().length&&clearTimeout(i)}}catch(e){Gr(null,"Something went wrong! - "+e.message),clearInterval(o)}}),100)};if("object"!=typeof window.OptiMonkEmbedded.CampaignRegistry){o.EmbeddedCampaign||ae(o,{prepare:jr,start:function(e){ur.isWebSelectorEnabled()||($.session.getItem("optiMonkSession")||$.session.setItem("optiMonkSession",I()),N("body",(()=>{Fa.init(),Br(e)})))},CampaignRegistry:Hr,RequestService:$r,AssetManager:Wr,ViewedPageStorageHandler:si,NotViewedPageRecentStorageHandler:gi,Engine:pt,native:ce,Visitor:eo,initWebfontLoader:a}),void 0===window.OptiMonkEmbedded&&(window.OptiMonkEmbedded=o),window.OptiMonkEmbedded=i({},window.OptiMonkEmbedded,{CampaignRegistry:new o.CampaignRegistry,RequestService:new o.RequestService({accountId:OptiMonkRegistry.account,baseUrl:OptiMonkRegistry.baseUrl,embeddedContentUrl:OptiMonkRegistry.embeddedContentUrl,cdnUrl:OptiMonkRegistry.cdnUrl,aiCdnUrl:OptiMonkRegistry.aiCdnUrl,aiPPOCdnUrl:OptiMonkRegistry.aiPPOCdnUrl,accountDataUrl:OptiMonkRegistry.accountDataUrl,limitUrl:OptiMonkRegistry.limitUrl}),PreviewService:jt,AssetManager:new o.AssetManager,loadEmbedded:()=>o.prepare().then((e=>(e&&o.start(e),Promise.resolve()))).catch((e=>(console.error(e),Promise.resolve()))),async loadPopups(){const{init:e}=await import(OptiMonkRegistry.esmAssetPath+"/popup-1c731bcb.js").then((function(e){return e.p}));e()}});const e=async()=>{if(window.Shopify&&null!==document.querySelector('script[src*="/script.js?account='+OptiMonkRegistry.account+'&origin=shopify-app-embed-block"]'))return C().sendAppEmbedStatus(window.Shopify.shop)},t=()=>new Promise((e=>{const{trackJsApiKey:t,account:n}=window.OptiMonkRegistry;if(!OptiMonkRegistry.features.TRACK_JS||!t)return e(1);const i=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.src="https://cdn.trackjs.com/agent/v3/latest/t.js",i.appendChild(o);let a=0;const r=()=>a>=10?e(1):window.TrackJS?(window.TrackJS.install({token:t}),window.TrackJS.addMetadata("account",n),e(1)):(a++,void setTimeout(r,50));r()})),{type:n}=o.Engine.getInfo();Object.values(Kr).includes(n)&&import(OptiMonkRegistry.esmAssetPath+"/CartIntegration-6107afbc.js").then((e=>{let{CartIntegration:t}=e;window.OptiMonkEmbedded.CartIntegration=new t(n),"shopify"===n?import(OptiMonkRegistry.esmAssetPath+"/shopify-eb6704bc.js").then((e=>{let{initShopify:t}=e;t(document,window.jQuery)})):"shoprenter"===n?import(OptiMonkRegistry.esmAssetPath+"/shoprenter-5e9f17a2.js").then((e=>{let{initShoprenter:t}=e;t()})):"unas"===n?import(OptiMonkRegistry.esmAssetPath+"/unas-72ae63de.js").then((e=>{let{initUnas:t}=e;t()})):"woocommerce"===n&&import(OptiMonkRegistry.esmAssetPath+"/woocommerce-660a713c.js").then((e=>{let{initWooCommerce:t}=e;t()}))})),"bigcommerce"===n&&import(OptiMonkRegistry.esmAssetPath+"/bigcommerce-1c82082a.js").then((e=>{let{initBigCommerce:t}=e;t(document,window.jQuery)})),window.OptiMonkRegistry.Cookie=l()[d()],ur.isWebSelectorEnabled()&&ur.init(),jt.setup();try{e()}catch(e){console.error("[OM] App embed status report error",e.message)}try{yt.checkSiteStatus()}catch(e){console.error("[OM] Site status check error",e.message)}("object"==typeof localStorage&&sessionStorage.getItem("om-diag")||window.location.search.match(/om-.*[a-z]-diag-id\=.*[1-9]/))&&(window.OptiMonk=window.OptiMonk||{},window.OptiMonk.diagnosticTool=new yr),window.OptiMonkEmbedded.loadEmbedded().then((()=>{es(),t()}))}export{uo as $,We as A,gn as B,$ as C,Co as D,ba as E,_e as F,za as G,ao as H,co as I,xe as J,Yi as K,_i as L,Ge as M,Xe as N,X as O,jt as P,bt as Q,Ke as R,Vt as S,Ve as T,Fe as U,eo as V,St as W,mo as X,fo as Y,ho as Z,i as _,pt as a,pr as a$,go as a0,lo as a1,he as a2,si as a3,gi as a4,m as a5,Gi as a6,vo as a7,yo as a8,pn as a9,_a as aA,Ma as aB,Ua as aC,Ba as aD,Ko as aE,zo as aF,Go as aG,Do as aH,e as aI,n as aJ,t as aK,ni as aL,Sr as aM,Kr as aN,b as aO,dn as aP,o as aQ,ln as aR,E as aS,Xt as aT,M as aU,T as aV,$r as aW,Qt as aX,be as aY,c as aZ,gr as a_,Ei as aa,Ri as ab,p as ac,g as ad,kt as ae,Zi as af,ur as ag,ye as ah,Na as ai,Fn as aj,vi as ak,Be as al,ua as am,a as an,ze as ao,ue as ap,Xa as aq,q as ar,we as as,O as at,wo as au,me as av,l as aw,Wi as ax,ii as ay,Oa as az,yt as b,s as b0,Hi as b1,Cr as b2,I as b3,w as b4,ai as b5,oi as b6,It as b7,ar as b8,Ra as b9,Za as ba,no as bb,S as bc,En as bd,Aa as be,po as bf,bo as bg,Di as bh,Wo as bi,Ki as bj,ht as c,G as d,wt as e,Io as f,U as g,Me as h,Ue as i,De as j,qe as k,Ne as l,ae as m,ce as n,ro as o,Fi as p,F as q,Pe as r,zt as s,Kt as t,se as u,ie as v,_ as w,d as x,L as y,re as z};