@syntrologie/runtime-sdk 2.8.0-canary.142 → 2.8.0-canary.144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in r?Fh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var qb=(r,e)=>{for(var t in e)Fh(r,t,{get:e[t],enumerable:!0})};var me=(r,e,t)=>zb(r,typeof e!="symbol"?e+"":e,t),Ul=(r,e,t)=>e.has(r)||Dh("Cannot "+t);var U=(r,e,t)=>(Ul(r,e,"read from private field"),t?t.call(r):e.get(r)),ge=(r,e,t)=>e.has(r)?Dh("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),ne=(r,e,t,n)=>(Ul(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),ye=(r,e,t)=>(Ul(r,e,"access private method"),t);var zl=(r,e,t,n)=>({set _(i){ne(r,e,i,t)},get _(){return U(r,e,n)}});function Hh(r,e,t,n){let i=n?.maxRetries??3,s=n?.debounceMs??50,o=r.parentElement??e.parentElement;if(!o)return()=>{};let a=0,l=null,c=!1,u=new MutationObserver(p=>{if(!c){for(let h of p)for(let f of h.removedNodes)if(f===r){if(a>=i){u.disconnect(),c=!0;return}l&&clearTimeout(l),l=setTimeout(()=>{if(!c){if(!e.isConnected){u.disconnect(),c=!0;return}a++;try{t()}catch{u.disconnect(),c=!0}}},s);return}}});return u.observe(o,{childList:!0,subtree:!0}),()=>{c=!0,u.disconnect(),l&&clearTimeout(l)}}var Zb=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button","svg","path","circle","line","polyline","polygon","rect","g"]);function ql(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!Zb.has(l)){s.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),v=(u==="href"||u==="src"||u==="formaction")&&(p.startsWith("javascript:")||p.startsWith("vbscript:")||p.startsWith("data:text/html"));(h||v)&&a.removeAttribute(c.name)}}let o=Array.from(n.querySelectorAll("svg"));for(let a of o)s.some(l=>a.contains(l)&&l.tagName.toLowerCase()==="script")&&s.push(a);for(let a of s){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML}var Bh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=ql(r.html),i="data-syntro-insert-label",s=r.label;if(s){let p=CSS.escape(s),f=(t.parentElement??t).querySelector(`[${i}="${p}"]`);f&&f.remove()}let o=document.createElement("div");o.setAttribute("data-syntro-action-id",e.generateId()),s&&o.setAttribute(i,s),o.innerHTML=n;let a=null;switch(r.position){case"before":t.insertAdjacentElement("beforebegin",o);break;case"after":t.insertAdjacentElement("afterend",o);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"append":t.appendChild(o);break;case"replace":a=t.innerHTML,t.replaceWith(o);break}let l=null;if(r.deepLink){let{tileId:p,itemId:h}=r.deepLink;l=()=>{let f=window.SynOS?.handle;f&&(f.open(),f.runtime?.events?.publish("notification.deep_link",{tileId:p,itemId:h}))},o.style.cursor="pointer",o.addEventListener("click",l)}e.publishEvent("action.applied",{id:e.generateId(),kind:"content:insertHtml",anchorId:r.anchorId,position:r.position});let u=Hh(o,t,()=>{switch(r.position){case"before":t.insertAdjacentElement("beforebegin",o);break;case"after":t.insertAdjacentElement("afterend",o);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"append":t.appendChild(o);break;case"replace":break}});return{cleanup:()=>{if(l&&o.removeEventListener("click",l),u(),!!o.isConnected)try{if(r.position==="replace"&&a!==null){let p=document.createElement(t.tagName);p.innerHTML=a,Array.from(t.attributes).forEach(h=>{p.setAttribute(h.name,h.value)}),o.replaceWith(p)}else o.remove()}catch{}},updateFn:p=>{"html"in p&&typeof p.html=="string"&&(o.innerHTML=ql(p.html))}}};function Vh(r){if(r.children.length===0)return r;let e=Array.from(r.children).filter(t=>t.textContent?.trim());if(e.length===1){let t=e[0];if(t.textContent?.trim()===r.textContent?.trim())return Vh(t)}return r}var jh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=Vh(t),i=n.textContent??"";return n.textContent=r.text,e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setText",anchorId:r.anchorId}),{cleanup:()=>{t.isConnected&&(n.textContent=i)},updateFn:s=>{"text"in s&&typeof s.text=="string"&&(n.textContent=s.text)}}},Wh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=r.attr.toLowerCase();if(n.startsWith("on"))throw new Error(`Dangerous attribute not allowed: ${r.attr}`);if(n==="href"||n==="src"||n==="formaction"){let a=r.value.trim().toLowerCase();if(a.startsWith("javascript:")||a.startsWith("vbscript:")||a.startsWith("data:text/html"))throw new Error(`Dangerous URL not allowed in ${r.attr}: ${r.value}`)}let s=t.getAttribute(r.attr),o=t.hasAttribute(r.attr);return t.setAttribute(r.attr,r.value),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setAttr",anchorId:r.anchorId,attr:r.attr}),{cleanup:()=>{t.isConnected&&(o&&s!==null?t.setAttribute(r.attr,s):t.removeAttribute(r.attr))},updateFn:a=>{"value"in a&&typeof a.value=="string"&&t.setAttribute(r.attr,a.value)}}},Uh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=t.classList.contains(r.className);return t.classList.add(r.className),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:addClass",anchorId:r.anchorId,className:r.className}),{cleanup:()=>{t.isConnected&&(n||t.classList.remove(r.className))}}},zh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=t.classList.contains(r.className);return t.classList.remove(r.className),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:removeClass",anchorId:r.anchorId,className:r.className}),{cleanup:()=>{t.isConnected&&n&&t.classList.add(r.className)}}},qh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=new Map;for(let i of Object.keys(r.styles)){let s=t.style.getPropertyValue(i);n.set(i,s)}for(let[i,s]of Object.entries(r.styles))t.style.setProperty(i,s);return e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setStyle",anchorId:r.anchorId,styles:Object.keys(r.styles)}),{cleanup:()=>{if(t.isConnected)for(let[i,s]of n)s?t.style.setProperty(i,s):t.style.removeProperty(i)},updateFn:i=>{if("styles"in i&&typeof i.styles=="object"&&i.styles)for(let[s,o]of Object.entries(i.styles))t.style.setProperty(s,o)}}},Zl=[{kind:"content:insertHtml",executor:Bh},{kind:"content:setText",executor:jh},{kind:"content:setAttr",executor:Wh},{kind:"content:addClass",executor:Uh},{kind:"content:removeClass",executor:zh},{kind:"content:setStyle",executor:qh}],Gl={id:"adaptive-content",version:"1.0.0",name:"Content",description:"DOM manipulation for text, attributes, and styles",executors:Zl};var Gb={light:50,medium:100,heavy:200},Kb=["#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#ff8800","#8800ff"],Zh={init(r,e,t){let n=Gb[t.intensity],i=t.colors.length>0?t.colors:Kb,s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*-e*.3,vx:(Math.random()-.5)*4,vy:Math.random()*2+1,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.2,size:Math.random()*6+4,color:i[Math.floor(Math.random()*i.length)],opacity:1,shape:Math.random()>.5?"rect":"circle"});return s},update(r,e,t){let n=!1;for(let i of r)i.vy+=.15,i.vx*=.99,i.x+=i.vx,i.y+=i.vy,i.rotation+=i.rotationSpeed,i.y>0&&i.opacity>0&&i.y>500&&(i.opacity-=.02,i.opacity<0&&(i.opacity=0)),i.opacity>.01&&(n=!0);return n},render(r,e){for(let t of e)t.opacity<.01||(r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.translate(t.x,t.y),r.rotate(t.rotation),t.shape==="circle"?(r.beginPath(),r.arc(0,0,t.size/2,0,Math.PI*2),r.fill()):r.fillRect(-t.size/2,-t.size/2,t.size,t.size*.6),r.restore())}};var Yb={light:20,medium:40,heavy:80},Xb="\u{1F389}",Gh={init(r,e,t){let n=Yb[t.intensity],i=typeof t.props?.emoji=="string"?t.props.emoji:Xb,s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*-200,vx:0,vy:Math.random()*1.5+1,rotation:0,rotationSpeed:0,size:Math.random()*12+16,color:"#000000",opacity:1,shape:"emoji",emoji:i,data:{wobblePhase:Math.random()*Math.PI*2,wobbleAmp:Math.random()*1.5+.5,originX:0}});for(let o of s)o.data&&(o.data.originX=o.x);return s},update(r,e,t){let n=!1;for(let i of r){i.y+=i.vy;let s=i.data?.wobblePhase??0,o=i.data?.wobbleAmp??1,a=i.data?.originX??i.x;i.x=a+Math.sin(t*.003+s)*o*20,i.y>600&&(i.opacity-=.02,i.opacity<0&&(i.opacity=0)),i.opacity>.01&&(n=!0)}return n},render(r,e){for(let t of e)t.opacity<.01||!t.emoji||(r.save(),r.globalAlpha=t.opacity,r.font=`${t.size}px serif`,r.textAlign="center",r.textBaseline="middle",r.fillText(t.emoji,t.x,t.y),r.restore())}};var Jb={light:20,medium:40,heavy:80},Qb={light:3,medium:4,heavy:5},Kh={init(r,e,t){let n=Jb[t.intensity],i=Qb[t.intensity],s=t.colors.length>0?t.colors:["#ff4444","#44ff44","#4444ff"],o=[];for(let a=0;a<i;a++){let l=Math.random()*r*.8+r*.1,c=Math.random()*e*.6,u=s[Math.floor(Math.random()*s.length)];for(let p=0;p<n;p++){let h=Math.PI*2*p/n+(Math.random()-.5)*.3,f=Math.random()*3+2;o.push({x:l,y:c,vx:Math.cos(h)*f,vy:Math.sin(h)*f,rotation:0,rotationSpeed:0,size:Math.random()*3+2,color:u,opacity:1,shape:"circle",data:{centerX:l,centerY:c}})}}return o},update(r,e,t){let n=!1;for(let i of r)i.vx*=.97,i.vy*=.97,i.vy+=.03,i.x+=i.vx,i.y+=i.vy,i.opacity-=.008,i.opacity<0&&(i.opacity=0),i.opacity>.01&&(n=!0);return n},render(r,e){for(let t of e)t.opacity<.01||(r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.shadowBlur=12,r.shadowColor=t.color,r.beginPath(),r.arc(t.x,t.y,t.size,0,Math.PI*2),r.fill(),r.restore())}};var e0={light:30,medium:60,heavy:120},Yh={init(r,e,t){let n=e0[t.intensity],i=t.colors.length>0?t.colors:["#ffd700","#ffffff","#fffacd"],s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*e,vx:(Math.random()-.5)*.3,vy:-(Math.random()*.5+.2),rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.1,size:Math.random()*4+2,color:i[Math.floor(Math.random()*i.length)],opacity:Math.random()*.5+.5,shape:"circle",data:{phase:Math.random()*Math.PI*2,baseOpacity:Math.random()*.5+.5}});return s},update(r,e,t){let n=!1;for(let i of r){i.x+=i.vx,i.y+=i.vy,i.rotation+=i.rotationSpeed,i.data&&(i.data.baseOpacity=(i.data.baseOpacity??1)-.001,i.data.baseOpacity<0&&(i.data.baseOpacity=0));let s=i.data?.phase??0,o=i.data?.baseOpacity??1;if(o<=.01)i.opacity=0;else{let a=Math.sin(t*.005+s)*.4+.6;i.opacity=o*a}i.opacity>.01&&(n=!0)}return n},render(r,e){for(let t of e){if(t.opacity<.01)continue;r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.translate(t.x,t.y),r.rotate(t.rotation);let n=t.size;r.beginPath(),r.moveTo(0,-n),r.lineTo(n*.3,-n*.3),r.lineTo(n,0),r.lineTo(n*.3,n*.3),r.lineTo(0,n),r.lineTo(-n*.3,n*.3),r.lineTo(-n,0),r.lineTo(-n*.3,-n*.3),r.closePath(),r.fill(),r.restore()}}};var xo=class{constructor(){this.canvas=null,this.ctx=null,this.rafId=null,this.particles=[],this.startTime=0,this.lastFrame=0,this.duration=0,this.effect=null,this.container=null}start(e,t,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;this.container=e,this.effect=t,this.duration=n.duration;let s=document.createElement("canvas");s.setAttribute("data-syntro-celebrate",""),Object.assign(s.style,{position:"fixed",inset:"0",pointerEvents:"none",zIndex:"2147483646"});let o=window.devicePixelRatio||1,a=window.innerWidth,l=window.innerHeight;s.width=a*o,s.height=l*o,s.style.width=`${a}px`,s.style.height=`${l}px`;let c=s.getContext("2d");c&&(c.scale(o,o),this.canvas=s,this.ctx=c,e.appendChild(s),this.particles=t.init(a,l,n),this.startTime=performance.now(),this.lastFrame=this.startTime,this.tick=this.tick.bind(this),this.rafId=requestAnimationFrame(this.tick))}stop(){this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.canvas&&this.container&&(this.canvas.remove(),this.canvas=null),this.ctx=null,this.effect=null,this.container=null,this.particles=[]}tick(e){if(!this.ctx||!this.canvas||!this.effect)return;let t=e-this.startTime,n=e-this.lastFrame;if(this.lastFrame=e,t>=this.duration){this.stop();return}let i=this.canvas.width/(window.devicePixelRatio||1),s=this.canvas.height/(window.devicePixelRatio||1);if(this.ctx.clearRect(0,0,i,s),!this.effect.update(this.particles,n,t)){this.stop();return}this.effect.render(this.ctx,this.particles),this.rafId=requestAnimationFrame(this.tick)}};var t0=["#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#ff8800","#8800ff"];function r0(r,e){return[r,e,`${r}cc`,`${e}cc`,"#ffffff",`${r}80`]}function n0(r){try{let e=getComputedStyle(r),t=e.getPropertyValue("--sc-color-primary")?.trim(),n=e.getPropertyValue("--sc-color-primary-hover")?.trim();if(t?.startsWith("#")&&t.length>=7)return r0(t,n||t)}catch{}return null}var Xh=new Map([["confetti",Zh],["fireworks",Kh],["sparkles",Yh],["emoji-rain",Gh]]),Jh=async(r,e)=>{let t=Xh.get(r.effect);if(!t)return console.warn(`[adaptive-overlays] Unknown celebration effect: "${r.effect}". Available: ${[...Xh.keys()].join(", ")}`),{cleanup:()=>{}};let n=r.colors??n0(e.overlayRoot)??t0,i={duration:r.duration??3e3,intensity:r.intensity??"medium",colors:n,props:r.props},s=new xo;return s.start(e.overlayRoot,t,i),e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:celebrate",effect:r.effect}),{cleanup:()=>{s.stop()}}};var Yl="syntro_active_tour",wo=new Map;function i0(r){try{let e=localStorage.getItem(Yl);if(!e)return null;let t=JSON.parse(e);return t.tourId!==r?null:t}catch{return null}}function Kl(r){try{localStorage.setItem(Yl,JSON.stringify(r))}catch{}}function s0(){try{localStorage.removeItem(Yl)}catch{}}function Ri(){return window.location.pathname}function o0(r){if(!r.route)return!0;let e=Ri();return r.route.includes("*")?new RegExp(`^${r.route.replace(/\*/g,".*")}$`).test(e):e===r.route}var Xl=async(r,e)=>{let{tourId:t,steps:n,startStep:i,autoStart:s=!0}=r;if(n.length===0)throw new Error(`Tour "${t}" has no steps`);if(wo.has(t))return{cleanup:async()=>{let k=wo.get(t);k&&await k.cleanup()}};if(!e.applyAction)throw new Error("Tour executor requires applyAction in context");let o=i0(t),a=!!o;if(!a&&!s)return{cleanup:()=>{}};o||(o={tourId:t,currentStepId:i||n[0].id,startedAt:Date.now()},Kl(o));let l=n.findIndex(k=>k.id===o.currentStepId);if(l===-1){let k=i||n[0].id;l=n.findIndex(_=>_.id===k),l===-1&&(l=0),o.currentStepId=n[l].id,Kl(o)}let c=n[l];if(!o0(c))return e.publishEvent("tour.waiting_for_route",{tourId:t,stepId:c.id,expectedRoute:c.route,currentRoute:Ri()}),{cleanup:()=>{}};let u=!1,p=null,h=null,f=null,v=async()=>{h&&(h(),h=null),p?.isApplied()&&(await p.revert(),p=null)},m=async k=>{if(u)return;if(await v(),k==="end"){s0(),e.publishEvent("tour.completed",{tourId:t,totalSteps:n.length}),u=!0;return}let _=n.find(w=>w.id===k);if(!_){console.error(`[Tour] Step "${k}" not found`);return}if(o.currentStepId=k,Kl(o),e.publishEvent("tour.step_changed",{tourId:t,previousStepId:c.id,nextStepId:k}),_.route&&_.route!==Ri()){e.publishEvent("tour.awaiting_navigation",{tourId:t,stepId:k,targetRoute:_.route});return}await g(_)},g=async k=>{if(!u){e.publishEvent("tour.step_started",{tourId:t,stepId:k.id,stepIndex:n.findIndex(_=>_.id===k.id),totalSteps:n.length});try{p=await e.applyAction(k.action)}catch(_){console.error(`[Tour] Failed to execute step "${k.id}":`,_),e.publishEvent("tour.step_failed",{tourId:t,stepId:k.id,error:String(_)});return}if(k.onAction&&e.subscribeEvent){h=e.subscribeEvent("action.modal_cta_clicked",R=>{let b=R?.actionId;if(b&&k.onAction){let A=k.onAction[b];A&&m(A)}});let _=e.subscribeEvent("action.tooltip_cta_clicked",R=>{let b=R?.actionId;if(b&&k.onAction){let A=k.onAction[b];A&&m(A)}}),w=h;h=()=>{w(),_()}}}};f=(()=>{let k=Ri(),_=()=>{let b=Ri();b!==k&&(k=b,e.publishEvent("tour.route_changed",{tourId:t,newRoute:b}))};if(e.subscribeNavigation)return e.subscribeNavigation(()=>_());window.addEventListener("popstate",_);let w=history.pushState.bind(history),R=history.replaceState.bind(history);return history.pushState=(...b)=>{w(...b),queueMicrotask(_)},history.replaceState=(...b)=>{R(...b),queueMicrotask(_)},()=>{window.removeEventListener("popstate",_),history.pushState=w,history.replaceState=R}})(),a?e.publishEvent("tour.resumed",{tourId:t,stepId:o.currentStepId}):e.publishEvent("tour.started",{tourId:t,totalSteps:n.length,startStepId:o.currentStepId}),await g(c);let x=async()=>{u=!0,wo.delete(t),await v(),f&&f(),e.publishEvent("tour.paused",{tourId:t,stepId:o.currentStepId})};return wo.set(t,{cleanup:x}),{cleanup:x}};var Et={white:"#ffffff",black:"#000000"},te={0:"#2c0b0a",1:"#5b1715",2:"#89221f",3:"#b72e2a",4:"#d44844",5:"#dd6d69",6:"#e5918f",7:"#eeb6b4",8:"#f6dada",9:"#faebea"},S={0:"#07080a",1:"#0f1318",2:"#0e1114",3:"#1c222a",4:"#2b333f",5:"#394454",6:"#475569",7:"#677384",8:"#87919f",9:"#a8afba",10:"#cbd0d7",11:"#e8eaee",12:"#f6f7f9"},_e={0:"#07230a",1:"#0e4514",2:"#16681e",3:"#1d8a28",4:"#24ad32",5:"#4fbd5a",6:"#7acd82",7:"#a5deab",8:"#d0eed3",9:"#e5f6e7"},Ve={0:"#301f09",1:"#5f3e12",2:"#8f5e1b",3:"#be7d24",4:"#ee9c2d",5:"#f1b057",6:"#f5c481",7:"#f8d7ab",8:"#fcebd5",9:"#fdf5ea"},Re={0:"#330707",1:"#660f0e",2:"#991616",3:"#cc1e1d",4:"#ff2524",5:"#ff5150",6:"#ff7c7c",7:"#ffa8a7",8:"#ffd3d3",9:"#ffe9e9"},ot={0:"#051533",1:"#0a2a66",2:"#0f3f98",3:"#1454cb",4:"#1969fe",5:"#4787fe",6:"#75a5fe",7:"#a3c3ff",8:"#d1e1ff",9:"#e8f0ff"},Ti={0:"#662500",1:"#993d00",2:"#cc5800",3:"#ff7700",4:"#fea85d",5:"#fec58f",6:"#ffd6ae",7:"#fee6cd",8:"#fff1e1",9:"#fff8f0"},pt={0:"#151229",1:"#2a2452",2:"#40357c",3:"#5547a5",4:"#6a59ce",5:"#887ad8",6:"#a69be2",7:"#c3bdeb",8:"#e1def5",9:"#f0eefa"},Ii={0:"#37091f",1:"#69123c",2:"#9b1c58",3:"#cd2575",4:"#ff2e92",5:"#ff58a8",6:"#ff82be",7:"#ffabd3",8:"#ffd5e9",9:"#ffeaf4"};var at={primary:S[10],secondary:S[9],tertiary:S[8]},SA={primary:S[2],secondary:S[0]},Jl={primary:S[4],secondary:S[3]},ko={primary:{text:Et.white,icon:Et.white,border:te[3],backgroundDefault:te[3],backgroundHover:te[2]},neutral:{text:S[10],textHover:Et.white,icon:S[10],iconHover:Et.white,border:S[4],background:S[2]},link:{text:Et.white,icon:Et.white,hover:te[5]},error:{text:Re[5],hover:Re[6]},success:{text:_e[5],hover:_e[6]}},EA={slateGrey:{content:S[10],pillOutline:S[10],borderPrimary:S[5],borderSecondary:S[5],background:S[3]},brand:{content:te[9],pillOutline:te[9],borderPrimary:te[6],borderSecondary:te[6],background:te[0]},red:{content:Re[8],pillOutline:Re[4],borderPrimary:Re[2],borderSecondary:Re[2],background:Re[0]},yellow:{content:Ve[8],pillOutline:Ve[4],borderPrimary:Ve[2],borderSecondary:Ve[2],background:Ve[0]},green:{content:_e[8],pillOutline:_e[4],borderPrimary:_e[2],borderSecondary:_e[2],background:_e[0]},purple:{content:pt[8],pillOutline:pt[4],borderPrimary:pt[2],borderSecondary:pt[2],background:pt[0]},blue:{content:ot[8],pillOutline:ot[4],borderPrimary:ot[2],borderSecondary:ot[2],background:ot[0]},orange:{content:Ti[8],pillOutline:Ti[4],borderPrimary:Ti[2],borderSecondary:Ti[2],background:Ti[0]},pink:{content:Ii[8],pillOutline:Ii[4],borderPrimary:Ii[2],borderSecondary:Ii[2],background:Ii[0]}},CA={green:{content:_e[8],border:_e[2],background:_e[0]},yellow:{content:Ve[8],border:Ve[2],background:Ve[0]},red:{content:Re[8],border:Re[2],background:Re[0]}},AA={green:{content:_e[1],background:_e[9]},yellow:{content:Ve[1],background:Ve[9]},red:{content:Re[1],background:Re[9]}},RA={content:S[10],border:S[4],background:S[3]},TA={backgroundDefault:S[2],backgroundHover:S[1],selected:S[3]},IA={background:S[2],icon:S[10],borderDefault:S[4],borderSelected:te[3],textLabel:S[9],textPlaceholder:S[8],textHint:S[8]},$A={backgroundDefault:S[2],backgroundDisabled:S[0],textLabel:S[9],textPlaceholder:S[8],textHint:S[8],textError:Re[5],iconDefault:S[9],iconPlaceholder:S[10],iconError:Re[5],borderDefault:S[4],borderSelected:te[3],borderError:Re[5]},MA={handleDefault:Et.white,handleDisabled:S[10],off:{backgroundDefault:S[4],backgroundHover:S[5],backgroundDisabled:S[4]},on:{backgroundDefault:_e[3],backgroundHover:_e[2],backgroundDisabled:S[4]}},OA={off:{backgroundDefault:"#00000000",backgroundHover:S[5],backgroundDisabled:S[2],border:S[6]},on:{backgroundDefault:_e[0],backgroundHover:_e[1],backgroundDisabled:S[2],border:_e[3]}},PA={content:S[10],background:S[4]},NA={background:S[4],active:_e[3]},LA={background:S[1],content:S[9],border:S[4]},FA={backgroundDefault:S[1],backgroundHover:S[3],backgroundActive:S[4],border:S[4],contentPrimary:S[10],contentSecondary:S[9],contentTertiary:S[8]},DA={background:S[1],content:S[9],border:S[4]},HA={activeBackground:S[3],activeContent:te[5],inactiveContent:S[9],border:S[4]},BA={header:{textDefault:S[9],textHover:S[8],backgroundDefault:S[1]},border:S[4],cell:{textPrimary:S[10],textSecondary:S[9],backgroundDefault:S[2],backgroundHover:S[1]}},VA={textPrimaryDefault:S[10],textPrimaryHover:S[10],textSecondaryDefault:S[8],textSecondaryHover:S[9],iconPrimary:S[10],iconSecondary:S[8]},jA={background:_e[1],active:_e[5]},WA={textDefault:S[10],textSelected:Et.white,textDisabled:S[7],backgroundDefault:S[2],backgroundMiddle:S[3],backgroundSelected:te[3],border:S[4]},UA=S[9];var GA={size:56,inset:12,background:Et.black,color:Et.white,border:`2px solid ${te[3]}`,shadowOpen:"0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)",shadowClosed:"0 4px 24px rgba(0,0,0,0.6)"};var Qh=typeof CSS<"u"&&CSS.supports?.("clip-path","path('M0 0 H1 V1 Z')");function ef(r,e,t){let n=t?.paddingPx??12,i=t?.radiusPx??12,s=Math.min(Math.max(t?.scrimOpacity??.55,0),1),o=t?.ringColor??`var(--syntro-ring, ${ot[5]})`,a=t?.blocking??!1,l=t?.onClickOutside??!0,c=t?.onEsc??!0,u=getComputedStyle(document.documentElement),p=u.getPropertyValue("--syntro-spotlight-backdrop").trim(),h=u.getPropertyValue("--syntro-ring").trim(),f=document.createElement("div");f.className="syntro-spotlight-scrim";let v=a||l;Object.assign(f.style,{position:"fixed",inset:"0",zIndex:"2147483646",pointerEvents:v?"auto":"none",background:p||`rgba(2, 6, 23, ${s})`,transition:"opacity 220ms ease",opacity:"0"}),e.appendChild(f),requestAnimationFrame(()=>f.style.opacity="1");let m=document.createElement("div");m.className="syntro-spotlight-ring",Object.assign(m.style,{position:"fixed",pointerEvents:"none",borderRadius:`${i}px`,border:`2px solid ${o||h||ot[5]}`,boxShadow:"0 0 0 4px rgba(255,255,255,0.35)",zIndex:"2147483647",transition:"all 220ms cubic-bezier(0.16,1,0.3,1)"}),e.appendChild(m);let g=[];if(!Qh)for(let $=0;$<4;$++){let N=document.createElement("div");N.style.position="fixed",N.style.background="inherit",g.push(N),f.appendChild(N)}let y=$=>{f.style.clipPath=$,f.style.webkitClipPath=$},x=()=>{if(!r.isConnected){A.destroy();return}let $=r.getBoundingClientRect(),N=$.left-n,M=$.top-n,K=$.width+n*2,L=$.height+n*2;if(Object.assign(m.style,{left:`${N}px`,top:`${M}px`,width:`${K}px`,height:`${L}px`}),Qh){let O=window.innerWidth,q=window.innerHeight,Y=Math.min(i,K/2,L/2),se=`M 0 0 L ${O} 0 L ${O} ${q} L 0 ${q} Z`,C=`M ${N+Y} ${M} A ${Y} ${Y} 0 0 0 ${N} ${M+Y} L ${N} ${M+L-Y} A ${Y} ${Y} 0 0 0 ${N+Y} ${M+L} L ${N+K-Y} ${M+L} A ${Y} ${Y} 0 0 0 ${N+K} ${M+L-Y} L ${N+K} ${M+Y} A ${Y} ${Y} 0 0 0 ${N+K-Y} ${M} L ${N+Y} ${M} Z`;y(`path('${se} ${C}')`)}else{let[O,q,Y,se]=g;Object.assign(O.style,{left:"0px",top:"0px",width:"100vw",height:`${M}px`}),Object.assign(Y.style,{left:"0px",top:`${M+L}px`,width:"100vw",height:`${Math.max(0,window.innerHeight-(M+L))}px`}),Object.assign(se.style,{left:"0px",top:`${M}px`,width:`${N}px`,height:`${L}px`}),Object.assign(q.style,{left:`${N+K}px`,top:`${M}px`,width:`${Math.max(0,window.innerWidth-(N+K))}px`,height:`${L}px`})}},k=new ResizeObserver(()=>requestAnimationFrame(x));k.observe(r);let _=()=>requestAnimationFrame(x),w=()=>requestAnimationFrame(x);window.addEventListener("scroll",_,!0),window.addEventListener("resize",w);let R=$=>{$.key==="Escape"&&c&&(t?.onDismiss?.(),A.destroy())};c&&window.addEventListener("keydown",R);let b=$=>{a?($.preventDefault(),$.stopPropagation()):l&&(t?.onDismiss?.(),A.destroy())};f.addEventListener("click",b);let A={destroy(){k.disconnect(),window.removeEventListener("scroll",_,!0),window.removeEventListener("resize",w),c&&window.removeEventListener("keydown",R),f.removeEventListener("click",b),f.style.pointerEvents="none",f.style.opacity="0",setTimeout(()=>{try{f.remove()}catch{}try{m.remove()}catch{}},220)}};return x(),A}var a0=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button","svg","path","circle","line","polyline","polygon","rect","g"]);function lt(r){if(typeof window.Sanitizer=="function")try{let a=new window.Sanitizer({}).sanitizeToFragment(r),l=document.createElement("div");return l.append(a),l.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=[];for(;i.nextNode();){let o=i.currentNode,a=o.tagName.toLowerCase();if(!a0.has(a)){s.push(o);continue}for(let l of Array.from(o.attributes)){let c=l.name.toLowerCase(),u=l.value.trim().toLowerCase(),p=c.startsWith("on"),h=(c==="href"||c==="src")&&u.startsWith("javascript:");(p||h)&&o.removeAttribute(l.name)}}for(let o of s){for(;o.firstChild;)o.parentNode?.insertBefore(o.firstChild,o);o.remove()}return t.innerHTML}var Ur={bg:"var(--sc-overlay-background, #ffffff)",title:"var(--sc-overlay-title-color, var(--sc-overlay-text-color, #111827))",text:"var(--sc-overlay-text-color, #4b5563)",accent:"var(--sc-color-primary, #4f46e5)",radius:"var(--sc-border-radius, 12px)"},Ql=async(r,e)=>{let{content:t,size:n="md",blocking:i=!1,scrim:s,dismiss:o,ctaButtons:a}=r,l=document.createElement("div");l.className="syntro-modal-scrim",l.style.cssText=`
1
+ var Dh=Object.defineProperty;var Hh=r=>{throw TypeError(r)};var Zb=(r,e,t)=>e in r?Dh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Gb=(r,e)=>{for(var t in e)Dh(r,t,{get:e[t],enumerable:!0})};var me=(r,e,t)=>Zb(r,typeof e!="symbol"?e+"":e,t),zl=(r,e,t)=>e.has(r)||Hh("Cannot "+t);var U=(r,e,t)=>(zl(r,e,"read from private field"),t?t.call(r):e.get(r)),ge=(r,e,t)=>e.has(r)?Hh("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),ne=(r,e,t,n)=>(zl(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),ye=(r,e,t)=>(zl(r,e,"access private method"),t);var ql=(r,e,t,n)=>({set _(i){ne(r,e,i,t)},get _(){return U(r,e,n)}});function Bh(r,e,t,n){let i=n?.maxRetries??3,s=n?.debounceMs??50,o=r.parentElement??e.parentElement;if(!o)return()=>{};let a=0,l=null,c=!1,u=new MutationObserver(p=>{if(!c){for(let h of p)for(let f of h.removedNodes)if(f===r){if(a>=i){u.disconnect(),c=!0;return}l&&clearTimeout(l),l=setTimeout(()=>{if(!c){if(!e.isConnected){u.disconnect(),c=!0;return}a++;try{t()}catch{u.disconnect(),c=!0}}},s);return}}});return u.observe(o,{childList:!0,subtree:!0}),()=>{c=!0,u.disconnect(),l&&clearTimeout(l)}}var Kb=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button","svg","path","circle","line","polyline","polygon","rect","g"]);function Zl(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!Kb.has(l)){s.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),v=(u==="href"||u==="src"||u==="formaction")&&(p.startsWith("javascript:")||p.startsWith("vbscript:")||p.startsWith("data:text/html"));(h||v)&&a.removeAttribute(c.name)}}let o=Array.from(n.querySelectorAll("svg"));for(let a of o)s.some(l=>a.contains(l)&&l.tagName.toLowerCase()==="script")&&s.push(a);for(let a of s){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML}var Vh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=Zl(r.html),i="data-syntro-insert-label",s=r.label;if(s){let p=CSS.escape(s),f=(t.parentElement??t).querySelector(`[${i}="${p}"]`);f&&f.remove()}let o=document.createElement("div");o.setAttribute("data-syntro-action-id",e.generateId()),s&&o.setAttribute(i,s),o.innerHTML=n;let a=null;switch(r.position){case"before":t.insertAdjacentElement("beforebegin",o);break;case"after":t.insertAdjacentElement("afterend",o);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"append":t.appendChild(o);break;case"replace":a=t.innerHTML,t.replaceWith(o);break}let l=null;if(r.deepLink){let{tileId:p,itemId:h}=r.deepLink;l=()=>{let f=window.SynOS?.handle;f&&(f.open(),f.runtime?.events?.publish("notification.deep_link",{tileId:p,itemId:h}))},o.style.cursor="pointer",o.addEventListener("click",l)}e.publishEvent("action.applied",{id:e.generateId(),kind:"content:insertHtml",anchorId:r.anchorId,position:r.position});let u=Bh(o,t,()=>{switch(r.position){case"before":t.insertAdjacentElement("beforebegin",o);break;case"after":t.insertAdjacentElement("afterend",o);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"append":t.appendChild(o);break;case"replace":break}});return{cleanup:()=>{if(l&&o.removeEventListener("click",l),u(),!!o.isConnected)try{if(r.position==="replace"&&a!==null){let p=document.createElement(t.tagName);p.innerHTML=a,Array.from(t.attributes).forEach(h=>{p.setAttribute(h.name,h.value)}),o.replaceWith(p)}else o.remove()}catch{}},updateFn:p=>{"html"in p&&typeof p.html=="string"&&(o.innerHTML=Zl(p.html))}}};function jh(r){if(r.children.length===0)return r;let e=Array.from(r.children).filter(t=>t.textContent?.trim());if(e.length===1){let t=e[0];if(t.textContent?.trim()===r.textContent?.trim())return jh(t)}return r}var Wh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=jh(t),i=n.textContent??"";return n.textContent=r.text,e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setText",anchorId:r.anchorId}),{cleanup:()=>{t.isConnected&&(n.textContent=i)},updateFn:s=>{"text"in s&&typeof s.text=="string"&&(n.textContent=s.text)}}},Uh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=r.attr.toLowerCase();if(n.startsWith("on"))throw new Error(`Dangerous attribute not allowed: ${r.attr}`);if(n==="href"||n==="src"||n==="formaction"){let a=r.value.trim().toLowerCase();if(a.startsWith("javascript:")||a.startsWith("vbscript:")||a.startsWith("data:text/html"))throw new Error(`Dangerous URL not allowed in ${r.attr}: ${r.value}`)}let s=t.getAttribute(r.attr),o=t.hasAttribute(r.attr);return t.setAttribute(r.attr,r.value),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setAttr",anchorId:r.anchorId,attr:r.attr}),{cleanup:()=>{t.isConnected&&(o&&s!==null?t.setAttribute(r.attr,s):t.removeAttribute(r.attr))},updateFn:a=>{"value"in a&&typeof a.value=="string"&&t.setAttribute(r.attr,a.value)}}},zh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=t.classList.contains(r.className);return t.classList.add(r.className),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:addClass",anchorId:r.anchorId,className:r.className}),{cleanup:()=>{t.isConnected&&(n||t.classList.remove(r.className))}}},qh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=t.classList.contains(r.className);return t.classList.remove(r.className),e.publishEvent("action.applied",{id:e.generateId(),kind:"content:removeClass",anchorId:r.anchorId,className:r.className}),{cleanup:()=>{t.isConnected&&n&&t.classList.add(r.className)}}},Zh=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-content] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=new Map;for(let i of Object.keys(r.styles)){let s=t.style.getPropertyValue(i);n.set(i,s)}for(let[i,s]of Object.entries(r.styles))t.style.setProperty(i,s);return e.publishEvent("action.applied",{id:e.generateId(),kind:"content:setStyle",anchorId:r.anchorId,styles:Object.keys(r.styles)}),{cleanup:()=>{if(t.isConnected)for(let[i,s]of n)s?t.style.setProperty(i,s):t.style.removeProperty(i)},updateFn:i=>{if("styles"in i&&typeof i.styles=="object"&&i.styles)for(let[s,o]of Object.entries(i.styles))t.style.setProperty(s,o)}}},Gl=[{kind:"content:insertHtml",executor:Vh},{kind:"content:setText",executor:Wh},{kind:"content:setAttr",executor:Uh},{kind:"content:addClass",executor:zh},{kind:"content:removeClass",executor:qh},{kind:"content:setStyle",executor:Zh}],Kl={id:"adaptive-content",version:"1.0.0",name:"Content",description:"DOM manipulation for text, attributes, and styles",executors:Gl};var Yb={light:50,medium:100,heavy:200},Xb=["#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#ff8800","#8800ff"],Gh={init(r,e,t){let n=Yb[t.intensity],i=t.colors.length>0?t.colors:Xb,s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*-e*.3,vx:(Math.random()-.5)*4,vy:Math.random()*2+1,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.2,size:Math.random()*6+4,color:i[Math.floor(Math.random()*i.length)],opacity:1,shape:Math.random()>.5?"rect":"circle"});return s},update(r,e,t){let n=!1;for(let i of r)i.vy+=.15,i.vx*=.99,i.x+=i.vx,i.y+=i.vy,i.rotation+=i.rotationSpeed,i.y>0&&i.opacity>0&&i.y>500&&(i.opacity-=.02,i.opacity<0&&(i.opacity=0)),i.opacity>.01&&(n=!0);return n},render(r,e){for(let t of e)t.opacity<.01||(r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.translate(t.x,t.y),r.rotate(t.rotation),t.shape==="circle"?(r.beginPath(),r.arc(0,0,t.size/2,0,Math.PI*2),r.fill()):r.fillRect(-t.size/2,-t.size/2,t.size,t.size*.6),r.restore())}};var Jb={light:20,medium:40,heavy:80},Qb="\u{1F389}",Kh={init(r,e,t){let n=Jb[t.intensity],i=typeof t.props?.emoji=="string"?t.props.emoji:Qb,s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*-200,vx:0,vy:Math.random()*1.5+1,rotation:0,rotationSpeed:0,size:Math.random()*12+16,color:"#000000",opacity:1,shape:"emoji",emoji:i,data:{wobblePhase:Math.random()*Math.PI*2,wobbleAmp:Math.random()*1.5+.5,originX:0}});for(let o of s)o.data&&(o.data.originX=o.x);return s},update(r,e,t){let n=!1;for(let i of r){i.y+=i.vy;let s=i.data?.wobblePhase??0,o=i.data?.wobbleAmp??1,a=i.data?.originX??i.x;i.x=a+Math.sin(t*.003+s)*o*20,i.y>600&&(i.opacity-=.02,i.opacity<0&&(i.opacity=0)),i.opacity>.01&&(n=!0)}return n},render(r,e){for(let t of e)t.opacity<.01||!t.emoji||(r.save(),r.globalAlpha=t.opacity,r.font=`${t.size}px serif`,r.textAlign="center",r.textBaseline="middle",r.fillText(t.emoji,t.x,t.y),r.restore())}};var e0={light:20,medium:40,heavy:80},t0={light:3,medium:4,heavy:5},Yh={init(r,e,t){let n=e0[t.intensity],i=t0[t.intensity],s=t.colors.length>0?t.colors:["#ff4444","#44ff44","#4444ff"],o=[];for(let a=0;a<i;a++){let l=Math.random()*r*.8+r*.1,c=Math.random()*e*.6,u=s[Math.floor(Math.random()*s.length)];for(let p=0;p<n;p++){let h=Math.PI*2*p/n+(Math.random()-.5)*.3,f=Math.random()*3+2;o.push({x:l,y:c,vx:Math.cos(h)*f,vy:Math.sin(h)*f,rotation:0,rotationSpeed:0,size:Math.random()*3+2,color:u,opacity:1,shape:"circle",data:{centerX:l,centerY:c}})}}return o},update(r,e,t){let n=!1;for(let i of r)i.vx*=.97,i.vy*=.97,i.vy+=.03,i.x+=i.vx,i.y+=i.vy,i.opacity-=.008,i.opacity<0&&(i.opacity=0),i.opacity>.01&&(n=!0);return n},render(r,e){for(let t of e)t.opacity<.01||(r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.shadowBlur=12,r.shadowColor=t.color,r.beginPath(),r.arc(t.x,t.y,t.size,0,Math.PI*2),r.fill(),r.restore())}};var r0={light:30,medium:60,heavy:120},Xh={init(r,e,t){let n=r0[t.intensity],i=t.colors.length>0?t.colors:["#ffd700","#ffffff","#fffacd"],s=[];for(let o=0;o<n;o++)s.push({x:Math.random()*r,y:Math.random()*e,vx:(Math.random()-.5)*.3,vy:-(Math.random()*.5+.2),rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.1,size:Math.random()*4+2,color:i[Math.floor(Math.random()*i.length)],opacity:Math.random()*.5+.5,shape:"circle",data:{phase:Math.random()*Math.PI*2,baseOpacity:Math.random()*.5+.5}});return s},update(r,e,t){let n=!1;for(let i of r){i.x+=i.vx,i.y+=i.vy,i.rotation+=i.rotationSpeed,i.data&&(i.data.baseOpacity=(i.data.baseOpacity??1)-.001,i.data.baseOpacity<0&&(i.data.baseOpacity=0));let s=i.data?.phase??0,o=i.data?.baseOpacity??1;if(o<=.01)i.opacity=0;else{let a=Math.sin(t*.005+s)*.4+.6;i.opacity=o*a}i.opacity>.01&&(n=!0)}return n},render(r,e){for(let t of e){if(t.opacity<.01)continue;r.save(),r.globalAlpha=t.opacity,r.fillStyle=t.color,r.translate(t.x,t.y),r.rotate(t.rotation);let n=t.size;r.beginPath(),r.moveTo(0,-n),r.lineTo(n*.3,-n*.3),r.lineTo(n,0),r.lineTo(n*.3,n*.3),r.lineTo(0,n),r.lineTo(-n*.3,n*.3),r.lineTo(-n,0),r.lineTo(-n*.3,-n*.3),r.closePath(),r.fill(),r.restore()}}};var wo=class{constructor(){this.canvas=null,this.ctx=null,this.rafId=null,this.particles=[],this.startTime=0,this.lastFrame=0,this.duration=0,this.effect=null,this.container=null}start(e,t,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;this.container=e,this.effect=t,this.duration=n.duration;let s=document.createElement("canvas");s.setAttribute("data-syntro-celebrate",""),Object.assign(s.style,{position:"fixed",inset:"0",pointerEvents:"none",zIndex:"2147483646"});let o=window.devicePixelRatio||1,a=window.innerWidth,l=window.innerHeight;s.width=a*o,s.height=l*o,s.style.width=`${a}px`,s.style.height=`${l}px`;let c=s.getContext("2d");c&&(c.scale(o,o),this.canvas=s,this.ctx=c,e.appendChild(s),this.particles=t.init(a,l,n),this.startTime=performance.now(),this.lastFrame=this.startTime,this.tick=this.tick.bind(this),this.rafId=requestAnimationFrame(this.tick))}stop(){this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.canvas&&this.container&&(this.canvas.remove(),this.canvas=null),this.ctx=null,this.effect=null,this.container=null,this.particles=[]}tick(e){if(!this.ctx||!this.canvas||!this.effect)return;let t=e-this.startTime,n=e-this.lastFrame;if(this.lastFrame=e,t>=this.duration){this.stop();return}let i=this.canvas.width/(window.devicePixelRatio||1),s=this.canvas.height/(window.devicePixelRatio||1);if(this.ctx.clearRect(0,0,i,s),!this.effect.update(this.particles,n,t)){this.stop();return}this.effect.render(this.ctx,this.particles),this.rafId=requestAnimationFrame(this.tick)}};var n0=["#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#ff8800","#8800ff"];function i0(r,e){return[r,e,`${r}cc`,`${e}cc`,"#ffffff",`${r}80`]}function s0(r){try{let e=getComputedStyle(r),t=e.getPropertyValue("--sc-color-primary")?.trim(),n=e.getPropertyValue("--sc-color-primary-hover")?.trim();if(t?.startsWith("#")&&t.length>=7)return i0(t,n||t)}catch{}return null}var Jh=new Map([["confetti",Gh],["fireworks",Yh],["sparkles",Xh],["emoji-rain",Kh]]),Qh=async(r,e)=>{let t=Jh.get(r.effect);if(!t)return console.warn(`[adaptive-overlays] Unknown celebration effect: "${r.effect}". Available: ${[...Jh.keys()].join(", ")}`),{cleanup:()=>{}};let n=r.colors??s0(e.overlayRoot)??n0,i={duration:r.duration??3e3,intensity:r.intensity??"medium",colors:n,props:r.props},s=new wo;return s.start(e.overlayRoot,t,i),e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:celebrate",effect:r.effect}),{cleanup:()=>{s.stop()}}};var Xl="syntro_active_tour",ko=new Map;function o0(r){try{let e=localStorage.getItem(Xl);if(!e)return null;let t=JSON.parse(e);return t.tourId!==r?null:t}catch{return null}}function Yl(r){try{localStorage.setItem(Xl,JSON.stringify(r))}catch{}}function a0(){try{localStorage.removeItem(Xl)}catch{}}function Ti(){return window.location.pathname}function l0(r){if(!r.route)return!0;let e=Ti();return r.route.includes("*")?new RegExp(`^${r.route.replace(/\*/g,".*")}$`).test(e):e===r.route}var Jl=async(r,e)=>{let{tourId:t,steps:n,startStep:i,autoStart:s=!0}=r;if(n.length===0)throw new Error(`Tour "${t}" has no steps`);if(ko.has(t))return{cleanup:async()=>{let k=ko.get(t);k&&await k.cleanup()}};if(!e.applyAction)throw new Error("Tour executor requires applyAction in context");let o=o0(t),a=!!o;if(!a&&!s)return{cleanup:()=>{}};o||(o={tourId:t,currentStepId:i||n[0].id,startedAt:Date.now()},Yl(o));let l=n.findIndex(k=>k.id===o.currentStepId);if(l===-1){let k=i||n[0].id;l=n.findIndex(_=>_.id===k),l===-1&&(l=0),o.currentStepId=n[l].id,Yl(o)}let c=n[l];if(!l0(c))return e.publishEvent("tour.waiting_for_route",{tourId:t,stepId:c.id,expectedRoute:c.route,currentRoute:Ti()}),{cleanup:()=>{}};let u=!1,p=null,h=null,f=null,v=async()=>{h&&(h(),h=null),p?.isApplied()&&(await p.revert(),p=null)},m=async k=>{if(u)return;if(await v(),k==="end"){a0(),e.publishEvent("tour.completed",{tourId:t,totalSteps:n.length}),u=!0;return}let _=n.find(w=>w.id===k);if(!_){console.error(`[Tour] Step "${k}" not found`);return}if(o.currentStepId=k,Yl(o),e.publishEvent("tour.step_changed",{tourId:t,previousStepId:c.id,nextStepId:k}),_.route&&_.route!==Ti()){e.publishEvent("tour.awaiting_navigation",{tourId:t,stepId:k,targetRoute:_.route});return}await g(_)},g=async k=>{if(!u){e.publishEvent("tour.step_started",{tourId:t,stepId:k.id,stepIndex:n.findIndex(_=>_.id===k.id),totalSteps:n.length});try{p=await e.applyAction(k.action)}catch(_){console.error(`[Tour] Failed to execute step "${k.id}":`,_),e.publishEvent("tour.step_failed",{tourId:t,stepId:k.id,error:String(_)});return}if(k.onAction&&e.subscribeEvent){h=e.subscribeEvent("action.modal_cta_clicked",R=>{let b=R?.actionId;if(b&&k.onAction){let A=k.onAction[b];A&&m(A)}});let _=e.subscribeEvent("action.tooltip_cta_clicked",R=>{let b=R?.actionId;if(b&&k.onAction){let A=k.onAction[b];A&&m(A)}}),w=h;h=()=>{w(),_()}}}};f=(()=>{let k=Ti(),_=()=>{let b=Ti();b!==k&&(k=b,e.publishEvent("tour.route_changed",{tourId:t,newRoute:b}))};if(e.subscribeNavigation)return e.subscribeNavigation(()=>_());window.addEventListener("popstate",_);let w=history.pushState.bind(history),R=history.replaceState.bind(history);return history.pushState=(...b)=>{w(...b),queueMicrotask(_)},history.replaceState=(...b)=>{R(...b),queueMicrotask(_)},()=>{window.removeEventListener("popstate",_),history.pushState=w,history.replaceState=R}})(),a?e.publishEvent("tour.resumed",{tourId:t,stepId:o.currentStepId}):e.publishEvent("tour.started",{tourId:t,totalSteps:n.length,startStepId:o.currentStepId}),await g(c);let x=async()=>{u=!0,ko.delete(t),await v(),f&&f(),e.publishEvent("tour.paused",{tourId:t,stepId:o.currentStepId})};return ko.set(t,{cleanup:x}),{cleanup:x}};var Et={white:"#ffffff",black:"#000000"},te={0:"#2c0b0a",1:"#5b1715",2:"#89221f",3:"#b72e2a",4:"#d44844",5:"#dd6d69",6:"#e5918f",7:"#eeb6b4",8:"#f6dada",9:"#faebea"},S={0:"#07080a",1:"#0f1318",2:"#0e1114",3:"#1c222a",4:"#2b333f",5:"#394454",6:"#475569",7:"#677384",8:"#87919f",9:"#a8afba",10:"#cbd0d7",11:"#e8eaee",12:"#f6f7f9"},_e={0:"#07230a",1:"#0e4514",2:"#16681e",3:"#1d8a28",4:"#24ad32",5:"#4fbd5a",6:"#7acd82",7:"#a5deab",8:"#d0eed3",9:"#e5f6e7"},Ve={0:"#301f09",1:"#5f3e12",2:"#8f5e1b",3:"#be7d24",4:"#ee9c2d",5:"#f1b057",6:"#f5c481",7:"#f8d7ab",8:"#fcebd5",9:"#fdf5ea"},Re={0:"#330707",1:"#660f0e",2:"#991616",3:"#cc1e1d",4:"#ff2524",5:"#ff5150",6:"#ff7c7c",7:"#ffa8a7",8:"#ffd3d3",9:"#ffe9e9"},ot={0:"#051533",1:"#0a2a66",2:"#0f3f98",3:"#1454cb",4:"#1969fe",5:"#4787fe",6:"#75a5fe",7:"#a3c3ff",8:"#d1e1ff",9:"#e8f0ff"},Ii={0:"#662500",1:"#993d00",2:"#cc5800",3:"#ff7700",4:"#fea85d",5:"#fec58f",6:"#ffd6ae",7:"#fee6cd",8:"#fff1e1",9:"#fff8f0"},pt={0:"#151229",1:"#2a2452",2:"#40357c",3:"#5547a5",4:"#6a59ce",5:"#887ad8",6:"#a69be2",7:"#c3bdeb",8:"#e1def5",9:"#f0eefa"},$i={0:"#37091f",1:"#69123c",2:"#9b1c58",3:"#cd2575",4:"#ff2e92",5:"#ff58a8",6:"#ff82be",7:"#ffabd3",8:"#ffd5e9",9:"#ffeaf4"};var at={primary:S[10],secondary:S[9],tertiary:S[8]},SA={primary:S[2],secondary:S[0]},Ql={primary:S[4],secondary:S[3]},So={primary:{text:Et.white,icon:Et.white,border:te[3],backgroundDefault:te[3],backgroundHover:te[2]},neutral:{text:S[10],textHover:Et.white,icon:S[10],iconHover:Et.white,border:S[4],background:S[2]},link:{text:Et.white,icon:Et.white,hover:te[5]},error:{text:Re[5],hover:Re[6]},success:{text:_e[5],hover:_e[6]}},EA={slateGrey:{content:S[10],pillOutline:S[10],borderPrimary:S[5],borderSecondary:S[5],background:S[3]},brand:{content:te[9],pillOutline:te[9],borderPrimary:te[6],borderSecondary:te[6],background:te[0]},red:{content:Re[8],pillOutline:Re[4],borderPrimary:Re[2],borderSecondary:Re[2],background:Re[0]},yellow:{content:Ve[8],pillOutline:Ve[4],borderPrimary:Ve[2],borderSecondary:Ve[2],background:Ve[0]},green:{content:_e[8],pillOutline:_e[4],borderPrimary:_e[2],borderSecondary:_e[2],background:_e[0]},purple:{content:pt[8],pillOutline:pt[4],borderPrimary:pt[2],borderSecondary:pt[2],background:pt[0]},blue:{content:ot[8],pillOutline:ot[4],borderPrimary:ot[2],borderSecondary:ot[2],background:ot[0]},orange:{content:Ii[8],pillOutline:Ii[4],borderPrimary:Ii[2],borderSecondary:Ii[2],background:Ii[0]},pink:{content:$i[8],pillOutline:$i[4],borderPrimary:$i[2],borderSecondary:$i[2],background:$i[0]}},CA={green:{content:_e[8],border:_e[2],background:_e[0]},yellow:{content:Ve[8],border:Ve[2],background:Ve[0]},red:{content:Re[8],border:Re[2],background:Re[0]}},AA={green:{content:_e[1],background:_e[9]},yellow:{content:Ve[1],background:Ve[9]},red:{content:Re[1],background:Re[9]}},RA={content:S[10],border:S[4],background:S[3]},TA={backgroundDefault:S[2],backgroundHover:S[1],selected:S[3]},IA={background:S[2],icon:S[10],borderDefault:S[4],borderSelected:te[3],textLabel:S[9],textPlaceholder:S[8],textHint:S[8]},$A={backgroundDefault:S[2],backgroundDisabled:S[0],textLabel:S[9],textPlaceholder:S[8],textHint:S[8],textError:Re[5],iconDefault:S[9],iconPlaceholder:S[10],iconError:Re[5],borderDefault:S[4],borderSelected:te[3],borderError:Re[5]},MA={handleDefault:Et.white,handleDisabled:S[10],off:{backgroundDefault:S[4],backgroundHover:S[5],backgroundDisabled:S[4]},on:{backgroundDefault:_e[3],backgroundHover:_e[2],backgroundDisabled:S[4]}},OA={off:{backgroundDefault:"#00000000",backgroundHover:S[5],backgroundDisabled:S[2],border:S[6]},on:{backgroundDefault:_e[0],backgroundHover:_e[1],backgroundDisabled:S[2],border:_e[3]}},PA={content:S[10],background:S[4]},NA={background:S[4],active:_e[3]},LA={background:S[1],content:S[9],border:S[4]},FA={backgroundDefault:S[1],backgroundHover:S[3],backgroundActive:S[4],border:S[4],contentPrimary:S[10],contentSecondary:S[9],contentTertiary:S[8]},DA={background:S[1],content:S[9],border:S[4]},HA={activeBackground:S[3],activeContent:te[5],inactiveContent:S[9],border:S[4]},BA={header:{textDefault:S[9],textHover:S[8],backgroundDefault:S[1]},border:S[4],cell:{textPrimary:S[10],textSecondary:S[9],backgroundDefault:S[2],backgroundHover:S[1]}},VA={textPrimaryDefault:S[10],textPrimaryHover:S[10],textSecondaryDefault:S[8],textSecondaryHover:S[9],iconPrimary:S[10],iconSecondary:S[8]},jA={background:_e[1],active:_e[5]},WA={textDefault:S[10],textSelected:Et.white,textDisabled:S[7],backgroundDefault:S[2],backgroundMiddle:S[3],backgroundSelected:te[3],border:S[4]},UA=S[9];var GA={size:56,inset:12,background:Et.black,color:Et.white,border:`2px solid ${te[3]}`,shadowOpen:"0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)",shadowClosed:"0 4px 24px rgba(0,0,0,0.6)"};var ef=typeof CSS<"u"&&CSS.supports?.("clip-path","path('M0 0 H1 V1 Z')");function tf(r,e,t){let n=t?.paddingPx??12,i=t?.radiusPx??12,s=Math.min(Math.max(t?.scrimOpacity??.55,0),1),o=t?.ringColor??`var(--syntro-ring, ${ot[5]})`,a=t?.blocking??!1,l=t?.onClickOutside??!0,c=t?.onEsc??!0,u=getComputedStyle(document.documentElement),p=u.getPropertyValue("--syntro-spotlight-backdrop").trim(),h=u.getPropertyValue("--syntro-ring").trim(),f=document.createElement("div");f.className="syntro-spotlight-scrim";let v=a||l;Object.assign(f.style,{position:"fixed",inset:"0",zIndex:"2147483646",pointerEvents:v?"auto":"none",background:p||`rgba(2, 6, 23, ${s})`,transition:"opacity 220ms ease",opacity:"0"}),e.appendChild(f),requestAnimationFrame(()=>f.style.opacity="1");let m=document.createElement("div");m.className="syntro-spotlight-ring",Object.assign(m.style,{position:"fixed",pointerEvents:"none",borderRadius:`${i}px`,border:`2px solid ${o||h||ot[5]}`,boxShadow:"0 0 0 4px rgba(255,255,255,0.35)",zIndex:"2147483647",transition:"all 220ms cubic-bezier(0.16,1,0.3,1)"}),e.appendChild(m);let g=[];if(!ef)for(let $=0;$<4;$++){let N=document.createElement("div");N.style.position="fixed",N.style.background="inherit",g.push(N),f.appendChild(N)}let y=$=>{f.style.clipPath=$,f.style.webkitClipPath=$},x=()=>{if(!r.isConnected){A.destroy();return}let $=r.getBoundingClientRect(),N=$.left-n,M=$.top-n,K=$.width+n*2,L=$.height+n*2;if(Object.assign(m.style,{left:`${N}px`,top:`${M}px`,width:`${K}px`,height:`${L}px`}),ef){let O=window.innerWidth,q=window.innerHeight,Y=Math.min(i,K/2,L/2),se=`M 0 0 L ${O} 0 L ${O} ${q} L 0 ${q} Z`,C=`M ${N+Y} ${M} A ${Y} ${Y} 0 0 0 ${N} ${M+Y} L ${N} ${M+L-Y} A ${Y} ${Y} 0 0 0 ${N+Y} ${M+L} L ${N+K-Y} ${M+L} A ${Y} ${Y} 0 0 0 ${N+K} ${M+L-Y} L ${N+K} ${M+Y} A ${Y} ${Y} 0 0 0 ${N+K-Y} ${M} L ${N+Y} ${M} Z`;y(`path('${se} ${C}')`)}else{let[O,q,Y,se]=g;Object.assign(O.style,{left:"0px",top:"0px",width:"100vw",height:`${M}px`}),Object.assign(Y.style,{left:"0px",top:`${M+L}px`,width:"100vw",height:`${Math.max(0,window.innerHeight-(M+L))}px`}),Object.assign(se.style,{left:"0px",top:`${M}px`,width:`${N}px`,height:`${L}px`}),Object.assign(q.style,{left:`${N+K}px`,top:`${M}px`,width:`${Math.max(0,window.innerWidth-(N+K))}px`,height:`${L}px`})}},k=new ResizeObserver(()=>requestAnimationFrame(x));k.observe(r);let _=()=>requestAnimationFrame(x),w=()=>requestAnimationFrame(x);window.addEventListener("scroll",_,!0),window.addEventListener("resize",w);let R=$=>{$.key==="Escape"&&c&&(t?.onDismiss?.(),A.destroy())};c&&window.addEventListener("keydown",R);let b=$=>{a?($.preventDefault(),$.stopPropagation()):l&&(t?.onDismiss?.(),A.destroy())};f.addEventListener("click",b);let A={destroy(){k.disconnect(),window.removeEventListener("scroll",_,!0),window.removeEventListener("resize",w),c&&window.removeEventListener("keydown",R),f.removeEventListener("click",b),f.style.pointerEvents="none",f.style.opacity="0",setTimeout(()=>{try{f.remove()}catch{}try{m.remove()}catch{}},220)}};return x(),A}var c0=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button","svg","path","circle","line","polyline","polygon","rect","g"]);function lt(r){if(typeof window.Sanitizer=="function")try{let a=new window.Sanitizer({}).sanitizeToFragment(r),l=document.createElement("div");return l.append(a),l.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=[];for(;i.nextNode();){let o=i.currentNode,a=o.tagName.toLowerCase();if(!c0.has(a)){s.push(o);continue}for(let l of Array.from(o.attributes)){let c=l.name.toLowerCase(),u=l.value.trim().toLowerCase(),p=c.startsWith("on"),h=(c==="href"||c==="src")&&u.startsWith("javascript:");(p||h)&&o.removeAttribute(l.name)}}for(let o of s){for(;o.firstChild;)o.parentNode?.insertBefore(o.firstChild,o);o.remove()}return t.innerHTML}var Ur={bg:"var(--sc-overlay-background, #ffffff)",title:"var(--sc-overlay-title-color, var(--sc-overlay-text-color, #111827))",text:"var(--sc-overlay-text-color, #4b5563)",accent:"var(--sc-color-primary, #4f46e5)",radius:"var(--sc-border-radius, 12px)"},ec=async(r,e)=>{let{content:t,size:n="md",blocking:i=!1,scrim:s,dismiss:o,ctaButtons:a}=r,l=document.createElement("div");l.className="syntro-modal-scrim",l.style.cssText=`
2
2
  position: fixed;
3
3
  inset: 0;
4
4
  background: rgba(0, 0, 0, ${s?.opacity??.6});
@@ -51,9 +51,9 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
51
51
  >
52
52
  ${lt(w.label)}
53
53
  </button>
54
- `}p+="</div>"}c.innerHTML=p,e.overlayRoot.appendChild(c);let h=null,f=c.querySelectorAll("[data-syntro-action]"),v=w=>{let b=w.currentTarget.getAttribute("data-syntro-action");b&&(h=b,e.publishEvent("action.modal_cta_clicked",{actionId:b}),_.destroy())};f.forEach(w=>w.addEventListener("click",v));let m=w=>{w.key==="Escape"&&o?.onEsc!==!1&&_.destroy()};window.addEventListener("keydown",m);let g=()=>{i||_.destroy()};l.addEventListener("click",g);let y=[];i&&Array.from(document.body.children).forEach(w=>{w!==e.overlayRoot&&w.getAttribute("inert")===null&&!w.querySelector("[data-syntro-editor-panel]")&&!w.hasAttribute("data-syntro-editor-panel")&&(w.setAttribute("inert",""),y.push(w))});let x;o?.timeoutMs&&(x=setTimeout(()=>{_.destroy()},o.timeoutMs));let k=c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');k.length>0&&requestAnimationFrame(()=>k[0].focus()),requestAnimationFrame(()=>{l.style.opacity="1",c.style.opacity="1",c.style.transform="translate(-50%, -50%) scale(1)"}),e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:modal",size:n,blocking:i});let _={destroy(){x&&clearTimeout(x),window.removeEventListener("keydown",m),l.removeEventListener("click",g),f.forEach(w=>w.removeEventListener("click",v)),y.forEach(w=>w.removeAttribute("inert")),c.style.pointerEvents="none",l.style.pointerEvents="none",c.style.opacity="0",c.style.transform="translate(-50%, -50%) scale(0.95)",l.style.opacity="0",setTimeout(()=>{try{c.remove()}catch{}try{l.remove()}catch{}},200),e.publishEvent("action.modal_dismissed",{actionClicked:h})}};return{cleanup:()=>{_.destroy()}}};var nf=["top","right","bottom","left"];var vr=Math.min,Zt=Math.max,Mi=Math.round,Oi=Math.floor,Ct=r=>({x:r,y:r}),l0={left:"right",right:"left",bottom:"top",top:"bottom"},c0={start:"end",end:"start"};function Eo(r,e,t){return Zt(r,vr(e,t))}function zr(r,e){return typeof r=="function"?r(e):r}function yr(r){return r.split("-")[0]}function Nn(r){return r.split("-")[1]}function ec(r){return r==="x"?"y":"x"}function Co(r){return r==="y"?"height":"width"}var u0=new Set(["top","bottom"]);function Gt(r){return u0.has(yr(r))?"y":"x"}function Ao(r){return ec(Gt(r))}function sf(r,e,t){t===void 0&&(t=!1);let n=Nn(r),i=Ao(r),s=Co(i),o=i==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(o=$i(o)),[o,$i(o)]}function of(r){let e=$i(r);return[So(r),e,So(e)]}function So(r){return r.replace(/start|end/g,e=>c0[e])}var tf=["left","right"],rf=["right","left"],d0=["top","bottom"],p0=["bottom","top"];function h0(r,e,t){switch(r){case"top":case"bottom":return t?e?rf:tf:e?tf:rf;case"left":case"right":return e?d0:p0;default:return[]}}function af(r,e,t,n){let i=Nn(r),s=h0(yr(r),t==="start",n);return i&&(s=s.map(o=>o+"-"+i),e&&(s=s.concat(s.map(So)))),s}function $i(r){return r.replace(/left|right|bottom|top/g,e=>l0[e])}function f0(r){return{top:0,right:0,bottom:0,left:0,...r}}function tc(r){return typeof r!="number"?f0(r):{top:r,right:r,bottom:r,left:r}}function qr(r){let{x:e,y:t,width:n,height:i}=r;return{width:n,height:i,top:t,left:e,right:e+n,bottom:t+i,x:e,y:t}}function lf(r,e,t){let{reference:n,floating:i}=r,s=Gt(e),o=Ao(e),a=Co(o),l=yr(e),c=s==="y",u=n.x+n.width/2-i.width/2,p=n.y+n.height/2-i.height/2,h=n[a]/2-i[a]/2,f;switch(l){case"top":f={x:u,y:n.y-i.height};break;case"bottom":f={x:u,y:n.y+n.height};break;case"right":f={x:n.x+n.width,y:p};break;case"left":f={x:n.x-i.width,y:p};break;default:f={x:n.x,y:n.y}}switch(Nn(e)){case"start":f[o]-=h*(t&&c?-1:1);break;case"end":f[o]+=h*(t&&c?-1:1);break}return f}async function df(r,e){var t;e===void 0&&(e={});let{x:n,y:i,platform:s,rects:o,elements:a,strategy:l}=r,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:h=!1,padding:f=0}=zr(e,r),v=tc(f),g=a[h?p==="floating"?"reference":"floating":p],y=qr(await s.getClippingRect({element:(t=await(s.isElement==null?void 0:s.isElement(g)))==null||t?g:g.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),_=await(s.isElement==null?void 0:s.isElement(k))?await(s.getScale==null?void 0:s.getScale(k))||{x:1,y:1}:{x:1,y:1},w=qr(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:x,offsetParent:k,strategy:l}):x);return{top:(y.top-w.top+v.top)/_.y,bottom:(w.bottom-y.bottom+v.bottom)/_.y,left:(y.left-w.left+v.left)/_.x,right:(w.right-y.right+v.right)/_.x}}var pf=async(r,e,t)=>{let{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:o}=t,a=s.filter(Boolean),l=await(o.isRTL==null?void 0:o.isRTL(e)),c=await o.getElementRects({reference:r,floating:e,strategy:i}),{x:u,y:p}=lf(c,n,l),h=n,f={},v=0;for(let g=0;g<a.length;g++){var m;let{name:y,fn:x}=a[g],{x:k,y:_,data:w,reset:R}=await x({x:u,y:p,initialPlacement:n,placement:h,strategy:i,middlewareData:f,rects:c,platform:{...o,detectOverflow:(m=o.detectOverflow)!=null?m:df},elements:{reference:r,floating:e}});u=k??u,p=_??p,f={...f,[y]:{...f[y],...w}},R&&v<=50&&(v++,typeof R=="object"&&(R.placement&&(h=R.placement),R.rects&&(c=R.rects===!0?await o.getElementRects({reference:r,floating:e,strategy:i}):R.rects),{x:u,y:p}=lf(c,h,l)),g=-1)}return{x:u,y:p,placement:h,strategy:i,middlewareData:f}},hf=r=>({name:"arrow",options:r,async fn(e){let{x:t,y:n,placement:i,rects:s,platform:o,elements:a,middlewareData:l}=e,{element:c,padding:u=0}=zr(r,e)||{};if(c==null)return{};let p=tc(u),h={x:t,y:n},f=Ao(i),v=Co(f),m=await o.getDimensions(c),g=f==="y",y=g?"top":"left",x=g?"bottom":"right",k=g?"clientHeight":"clientWidth",_=s.reference[v]+s.reference[f]-h[f]-s.floating[v],w=h[f]-s.reference[f],R=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c)),b=R?R[k]:0;(!b||!await(o.isElement==null?void 0:o.isElement(R)))&&(b=a.floating[k]||s.floating[v]);let A=_/2-w/2,$=b/2-m[v]/2-1,N=vr(p[y],$),M=vr(p[x],$),K=N,L=b-m[v]-M,O=b/2-m[v]/2+A,q=Eo(K,O,L),Y=!l.arrow&&Nn(i)!=null&&O!==q&&s.reference[v]/2-(O<K?N:M)-m[v]/2<0,se=Y?O<K?O-K:O-L:0;return{[f]:h[f]+se,data:{[f]:q,centerOffset:O-q-se,...Y&&{alignmentOffset:se}},reset:Y}}});var ff=function(r){return r===void 0&&(r={}),{name:"flip",options:r,async fn(e){var t,n;let{placement:i,middlewareData:s,rects:o,initialPlacement:a,platform:l,elements:c}=e,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:m=!0,...g}=zr(r,e);if((t=s.arrow)!=null&&t.alignmentOffset)return{};let y=yr(i),x=Gt(a),k=yr(a)===a,_=await(l.isRTL==null?void 0:l.isRTL(c.floating)),w=h||(k||!m?[$i(a)]:of(a)),R=v!=="none";!h&&R&&w.push(...af(a,m,v,_));let b=[a,...w],A=await l.detectOverflow(e,g),$=[],N=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&$.push(A[y]),p){let O=sf(i,o,_);$.push(A[O[0]],A[O[1]])}if(N=[...N,{placement:i,overflows:$}],!$.every(O=>O<=0)){var M,K;let O=(((M=s.flip)==null?void 0:M.index)||0)+1,q=b[O];if(q&&(!(p==="alignment"?x!==Gt(q):!1)||N.every(C=>Gt(C.placement)===x?C.overflows[0]>0:!0)))return{data:{index:O,overflows:N},reset:{placement:q}};let Y=(K=N.filter(se=>se.overflows[0]<=0).sort((se,C)=>se.overflows[1]-C.overflows[1])[0])==null?void 0:K.placement;if(!Y)switch(f){case"bestFit":{var L;let se=(L=N.filter(C=>{if(R){let P=Gt(C.placement);return P===x||P==="y"}return!0}).map(C=>[C.placement,C.overflows.filter(P=>P>0).reduce((P,G)=>P+G,0)]).sort((C,P)=>C[1]-P[1])[0])==null?void 0:L[0];se&&(Y=se);break}case"initialPlacement":Y=a;break}if(i!==Y)return{reset:{placement:Y}}}return{}}}};function cf(r,e){return{top:r.top-e.height,right:r.right-e.width,bottom:r.bottom-e.height,left:r.left-e.width}}function uf(r){return nf.some(e=>r[e]>=0)}var gf=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(e){let{rects:t,platform:n}=e,{strategy:i="referenceHidden",...s}=zr(r,e);switch(i){case"referenceHidden":{let o=await n.detectOverflow(e,{...s,elementContext:"reference"}),a=cf(o,t.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:uf(a)}}}case"escaped":{let o=await n.detectOverflow(e,{...s,altBoundary:!0}),a=cf(o,t.floating);return{data:{escapedOffsets:a,escaped:uf(a)}}}default:return{}}}}};var g0=new Set(["left","top"]);async function m0(r,e){let{placement:t,platform:n,elements:i}=r,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=yr(t),a=Nn(t),l=Gt(t)==="y",c=g0.has(o)?-1:1,u=s&&l?-1:1,p=zr(e,r),{mainAxis:h,crossAxis:f,alignmentAxis:v}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return a&&typeof v=="number"&&(f=a==="end"?v*-1:v),l?{x:f*u,y:h*c}:{x:h*c,y:f*u}}var mf=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(e){var t,n;let{x:i,y:s,placement:o,middlewareData:a}=e,l=await m0(e,r);return o===((t=a.offset)==null?void 0:t.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:o}}}}},vf=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(e){let{x:t,y:n,placement:i,platform:s}=e,{mainAxis:o=!0,crossAxis:a=!1,limiter:l={fn:y=>{let{x,y:k}=y;return{x,y:k}}},...c}=zr(r,e),u={x:t,y:n},p=await s.detectOverflow(e,c),h=Gt(yr(i)),f=ec(h),v=u[f],m=u[h];if(o){let y=f==="y"?"top":"left",x=f==="y"?"bottom":"right",k=v+p[y],_=v-p[x];v=Eo(k,v,_)}if(a){let y=h==="y"?"top":"left",x=h==="y"?"bottom":"right",k=m+p[y],_=m-p[x];m=Eo(k,m,_)}let g=l.fn({...e,[f]:v,[h]:m});return{...g,data:{x:g.x-t,y:g.y-n,enabled:{[f]:o,[h]:a}}}}}};function Ro(){return typeof window<"u"}function Zr(r){return _f(r)?(r.nodeName||"").toLowerCase():"#document"}function tt(r){var e;return(r==null||(e=r.ownerDocument)==null?void 0:e.defaultView)||window}function At(r){var e;return(e=(_f(r)?r.ownerDocument:r.document)||window.document)==null?void 0:e.documentElement}function _f(r){return Ro()?r instanceof Node||r instanceof tt(r).Node:!1}function ht(r){return Ro()?r instanceof Element||r instanceof tt(r).Element:!1}function Rt(r){return Ro()?r instanceof HTMLElement||r instanceof tt(r).HTMLElement:!1}function yf(r){return!Ro()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof tt(r).ShadowRoot}var v0=new Set(["inline","contents"]);function Fn(r){let{overflow:e,overflowX:t,overflowY:n,display:i}=ft(r);return/auto|scroll|overlay|hidden|clip/.test(e+n+t)&&!v0.has(i)}var y0=new Set(["table","td","th"]);function bf(r){return y0.has(Zr(r))}var _0=[":popover-open",":modal"];function Pi(r){return _0.some(e=>{try{return r.matches(e)}catch{return!1}})}var b0=["transform","translate","scale","rotate","perspective"],x0=["transform","translate","scale","rotate","perspective","filter"],w0=["paint","layout","strict","content"];function To(r){let e=Io(),t=ht(r)?ft(r):r;return b0.some(n=>t[n]?t[n]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||x0.some(n=>(t.willChange||"").includes(n))||w0.some(n=>(t.contain||"").includes(n))}function xf(r){let e=Kt(r);for(;Rt(e)&&!Gr(e);){if(To(e))return e;if(Pi(e))return null;e=Kt(e)}return null}function Io(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var k0=new Set(["html","body","#document"]);function Gr(r){return k0.has(Zr(r))}function ft(r){return tt(r).getComputedStyle(r)}function Ni(r){return ht(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function Kt(r){if(Zr(r)==="html")return r;let e=r.assignedSlot||r.parentNode||yf(r)&&r.host||At(r);return yf(e)?e.host:e}function wf(r){let e=Kt(r);return Gr(e)?r.ownerDocument?r.ownerDocument.body:r.body:Rt(e)&&Fn(e)?e:wf(e)}function Ln(r,e,t){var n;e===void 0&&(e=[]),t===void 0&&(t=!0);let i=wf(r),s=i===((n=r.ownerDocument)==null?void 0:n.body),o=tt(i);if(s){let a=$o(o);return e.concat(o,o.visualViewport||[],Fn(i)?i:[],a&&t?Ln(a):[])}return e.concat(i,Ln(i,[],t))}function $o(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function Cf(r){let e=ft(r),t=parseFloat(e.width)||0,n=parseFloat(e.height)||0,i=Rt(r),s=i?r.offsetWidth:t,o=i?r.offsetHeight:n,a=Mi(t)!==s||Mi(n)!==o;return a&&(t=s,n=o),{width:t,height:n,$:a}}function nc(r){return ht(r)?r:r.contextElement}function Dn(r){let e=nc(r);if(!Rt(e))return Ct(1);let t=e.getBoundingClientRect(),{width:n,height:i,$:s}=Cf(e),o=(s?Mi(t.width):t.width)/n,a=(s?Mi(t.height):t.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}var S0=Ct(0);function Af(r){let e=tt(r);return!Io()||!e.visualViewport?S0:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function E0(r,e,t){return e===void 0&&(e=!1),!t||e&&t!==tt(r)?!1:e}function Kr(r,e,t,n){e===void 0&&(e=!1),t===void 0&&(t=!1);let i=r.getBoundingClientRect(),s=nc(r),o=Ct(1);e&&(n?ht(n)&&(o=Dn(n)):o=Dn(r));let a=E0(s,t,n)?Af(s):Ct(0),l=(i.left+a.x)/o.x,c=(i.top+a.y)/o.y,u=i.width/o.x,p=i.height/o.y;if(s){let h=tt(s),f=n&&ht(n)?tt(n):n,v=h,m=$o(v);for(;m&&n&&f!==v;){let g=Dn(m),y=m.getBoundingClientRect(),x=ft(m),k=y.left+(m.clientLeft+parseFloat(x.paddingLeft))*g.x,_=y.top+(m.clientTop+parseFloat(x.paddingTop))*g.y;l*=g.x,c*=g.y,u*=g.x,p*=g.y,l+=k,c+=_,v=tt(m),m=$o(v)}}return qr({width:u,height:p,x:l,y:c})}function Mo(r,e){let t=Ni(r).scrollLeft;return e?e.left+t:Kr(At(r)).left+t}function Rf(r,e){let t=r.getBoundingClientRect(),n=t.left+e.scrollLeft-Mo(r,t),i=t.top+e.scrollTop;return{x:n,y:i}}function C0(r){let{elements:e,rect:t,offsetParent:n,strategy:i}=r,s=i==="fixed",o=At(n),a=e?Pi(e.floating):!1;if(n===o||a&&s)return t;let l={scrollLeft:0,scrollTop:0},c=Ct(1),u=Ct(0),p=Rt(n);if((p||!p&&!s)&&((Zr(n)!=="body"||Fn(o))&&(l=Ni(n)),Rt(n))){let f=Kr(n);c=Dn(n),u.x=f.x+n.clientLeft,u.y=f.y+n.clientTop}let h=o&&!p&&!s?Rf(o,l):Ct(0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-l.scrollLeft*c.x+u.x+h.x,y:t.y*c.y-l.scrollTop*c.y+u.y+h.y}}function A0(r){return Array.from(r.getClientRects())}function R0(r){let e=At(r),t=Ni(r),n=r.ownerDocument.body,i=Zt(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),s=Zt(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),o=-t.scrollLeft+Mo(r),a=-t.scrollTop;return ft(n).direction==="rtl"&&(o+=Zt(e.clientWidth,n.clientWidth)-i),{width:i,height:s,x:o,y:a}}var kf=25;function T0(r,e){let t=tt(r),n=At(r),i=t.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(i){s=i.width,o=i.height;let u=Io();(!u||u&&e==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}let c=Mo(n);if(c<=0){let u=n.ownerDocument,p=u.body,h=getComputedStyle(p),f=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,v=Math.abs(n.clientWidth-p.clientWidth-f);v<=kf&&(s-=v)}else c<=kf&&(s+=c);return{width:s,height:o,x:a,y:l}}var I0=new Set(["absolute","fixed"]);function $0(r,e){let t=Kr(r,!0,e==="fixed"),n=t.top+r.clientTop,i=t.left+r.clientLeft,s=Rt(r)?Dn(r):Ct(1),o=r.clientWidth*s.x,a=r.clientHeight*s.y,l=i*s.x,c=n*s.y;return{width:o,height:a,x:l,y:c}}function Sf(r,e,t){let n;if(e==="viewport")n=T0(r,t);else if(e==="document")n=R0(At(r));else if(ht(e))n=$0(e,t);else{let i=Af(r);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return qr(n)}function Tf(r,e){let t=Kt(r);return t===e||!ht(t)||Gr(t)?!1:ft(t).position==="fixed"||Tf(t,e)}function M0(r,e){let t=e.get(r);if(t)return t;let n=Ln(r,[],!1).filter(a=>ht(a)&&Zr(a)!=="body"),i=null,s=ft(r).position==="fixed",o=s?Kt(r):r;for(;ht(o)&&!Gr(o);){let a=ft(o),l=To(o);!l&&a.position==="fixed"&&(i=null),(s?!l&&!i:!l&&a.position==="static"&&!!i&&I0.has(i.position)||Fn(o)&&!l&&Tf(r,o))?n=n.filter(u=>u!==o):i=a,o=Kt(o)}return e.set(r,n),n}function O0(r){let{element:e,boundary:t,rootBoundary:n,strategy:i}=r,o=[...t==="clippingAncestors"?Pi(e)?[]:M0(e,this._c):[].concat(t),n],a=o[0],l=o.reduce((c,u)=>{let p=Sf(e,u,i);return c.top=Zt(p.top,c.top),c.right=vr(p.right,c.right),c.bottom=vr(p.bottom,c.bottom),c.left=Zt(p.left,c.left),c},Sf(e,a,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function P0(r){let{width:e,height:t}=Cf(r);return{width:e,height:t}}function N0(r,e,t){let n=Rt(e),i=At(e),s=t==="fixed",o=Kr(r,!0,s,e),a={scrollLeft:0,scrollTop:0},l=Ct(0);function c(){l.x=Mo(i)}if(n||!n&&!s)if((Zr(e)!=="body"||Fn(i))&&(a=Ni(e)),n){let f=Kr(e,!0,s,e);l.x=f.x+e.clientLeft,l.y=f.y+e.clientTop}else i&&c();s&&!n&&i&&c();let u=i&&!n&&!s?Rf(i,a):Ct(0),p=o.left+a.scrollLeft-l.x-u.x,h=o.top+a.scrollTop-l.y-u.y;return{x:p,y:h,width:o.width,height:o.height}}function rc(r){return ft(r).position==="static"}function Ef(r,e){if(!Rt(r)||ft(r).position==="fixed")return null;if(e)return e(r);let t=r.offsetParent;return At(r)===t&&(t=t.ownerDocument.body),t}function If(r,e){let t=tt(r);if(Pi(r))return t;if(!Rt(r)){let i=Kt(r);for(;i&&!Gr(i);){if(ht(i)&&!rc(i))return i;i=Kt(i)}return t}let n=Ef(r,e);for(;n&&bf(n)&&rc(n);)n=Ef(n,e);return n&&Gr(n)&&rc(n)&&!To(n)?t:n||xf(r)||t}var L0=async function(r){let e=this.getOffsetParent||If,t=this.getDimensions,n=await t(r.floating);return{reference:N0(r.reference,await e(r.floating),r.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function F0(r){return ft(r).direction==="rtl"}var D0={convertOffsetParentRelativeRectToViewportRelativeRect:C0,getDocumentElement:At,getClippingRect:O0,getOffsetParent:If,getElementRects:L0,getClientRects:A0,getDimensions:P0,getScale:Dn,isElement:ht,isRTL:F0};function $f(r,e){return r.x===e.x&&r.y===e.y&&r.width===e.width&&r.height===e.height}function H0(r,e){let t=null,n,i=At(r);function s(){var a;clearTimeout(n),(a=t)==null||a.disconnect(),t=null}function o(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),s();let c=r.getBoundingClientRect(),{left:u,top:p,width:h,height:f}=c;if(a||e(),!h||!f)return;let v=Oi(p),m=Oi(i.clientWidth-(u+h)),g=Oi(i.clientHeight-(p+f)),y=Oi(u),k={rootMargin:-v+"px "+-m+"px "+-g+"px "+-y+"px",threshold:Zt(0,vr(1,l))||1},_=!0;function w(R){let b=R[0].intersectionRatio;if(b!==l){if(!_)return o();b?o(!1,b):n=setTimeout(()=>{o(!1,1e-7)},1e3)}b===1&&!$f(c,r.getBoundingClientRect())&&o(),_=!1}try{t=new IntersectionObserver(w,{...k,root:i.ownerDocument})}catch{t=new IntersectionObserver(w,k)}t.observe(r)}return o(!0),s}function Oo(r,e,t,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,c=nc(r),u=i||s?[...c?Ln(c):[],...Ln(e)]:[];u.forEach(y=>{i&&y.addEventListener("scroll",t,{passive:!0}),s&&y.addEventListener("resize",t)});let p=c&&a?H0(c,t):null,h=-1,f=null;o&&(f=new ResizeObserver(y=>{let[x]=y;x&&x.target===c&&f&&(f.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var k;(k=f)==null||k.observe(e)})),t()}),c&&!l&&f.observe(c),f.observe(e));let v,m=l?Kr(r):null;l&&g();function g(){let y=Kr(r);m&&!$f(m,y)&&t(),m=y,v=requestAnimationFrame(g)}return t(),()=>{var y;u.forEach(x=>{i&&x.removeEventListener("scroll",t),s&&x.removeEventListener("resize",t)}),p?.(),(y=f)==null||y.disconnect(),f=null,l&&cancelAnimationFrame(v)}}var Po=mf;var No=vf,Lo=ff;var Mf=gf,Of=hf;var Fo=(r,e,t)=>{let n=new Map,i={platform:D0,...t},s={...i.platform,_c:n};return pf(r,e,{...i,platform:s})};function B0(r){let e=r.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight;if(!(e.width>t*.8||e.height>n*.8))return r;let s=Math.max(e.left,0),o=Math.max(e.top,0),a=Math.min(e.right,t),l=Math.min(e.bottom,n),c=(s+a)/2,u=(o+l)/2;return{getBoundingClientRect(){return{width:0,height:0,x:c,y:u,top:u,left:c,right:c,bottom:u}}}}function Pf(r,e,t){if(!t.trigger||t.trigger==="immediate"){let m=r.getBoundingClientRect();m.width>window.innerWidth*.8||m.height>window.innerHeight*.8||r.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}let n=document.createElement("div");if(n.className="syntro-tooltip",n.setAttribute("role","tooltip"),n.innerHTML=lt(t.html),!t.trigger||t.trigger==="immediate"){let m=document.createElement("button");m.className="syntro-tooltip-close",m.setAttribute("aria-label","Close"),m.textContent="\xD7",Object.assign(m.style,{position:"absolute",top:"4px",right:"4px",background:"none",border:"none",color:"inherit",fontSize:"16px",lineHeight:"1",cursor:"pointer",opacity:"0.6",padding:"2px 4px"}),m.addEventListener("mouseenter",()=>{m.style.opacity="1"}),m.addEventListener("mouseleave",()=>{m.style.opacity="0.6"}),m.addEventListener("click",()=>v.destroy()),n.style.position="relative",n.appendChild(m)}let i=n.querySelectorAll("[data-syntro-action]"),s=m=>{let y=m.currentTarget.getAttribute("data-syntro-action");y&&t.onAction&&t.onAction(y)};i.forEach(m=>m.addEventListener("click",s));let o=document.createElement("div");o.className="syntro-tooltip-arrow",n.appendChild(o),e.appendChild(n);let a=[Po(t.offsetPx??8),Lo(),No({padding:8}),Mf(),Of({element:o})],l=t.placement&&t.placement!=="auto"?t.placement:"top",c=Oo(r,n,async()=>{if(!r.isConnected){v.destroy();return}let m=B0(r),g=await Fo(m,n,{placement:l,strategy:"fixed",middleware:a}),{x:y,y:x,strategy:k,middlewareData:_,placement:w}=g;if(Object.assign(n.style,{left:`${y}px`,top:`${x}px`,position:k}),_.arrow){let{x:R,y:b}=_.arrow,A=w.split("-")[0],$={top:"bottom",right:"left",bottom:"top",left:"right"};Object.assign(o.style,{left:R!=null?`${R}px`:"",top:b!=null?`${b}px`:"",right:"",bottom:"",[$[A]]:"-4px"});let N={top:"0deg",right:"90deg",bottom:"180deg",left:"270deg"};o.style.transform=`rotate(${N[A]||"0deg"})`}}),u=m=>{m.key==="Escape"&&v.destroy()};window.addEventListener("keydown",u);let p=[];if(t.blocking){Array.from(document.body.children).forEach(g=>{g!==e&&g.getAttribute("inert")===null&&(g.setAttribute("inert",""),p.push(g.id||g.tagName))});let m=Array.from(n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));if(m.length>0){let g=m[0],y=m[m.length-1],x=k=>{k.key==="Tab"&&(k.shiftKey?document.activeElement===g&&(y.focus(),k.preventDefault()):document.activeElement===y&&(g.focus(),k.preventDefault()))};n.addEventListener("keydown",x),requestAnimationFrame(()=>g.focus())}}let f=(()=>{if(t.trigger==="hover"){let m=null,g=()=>{m&&(clearTimeout(m),m=null),n.style.visibility="visible",n.style.opacity="1"},y=()=>{m=setTimeout(()=>{n.style.visibility="hidden",n.style.opacity="0",m=null},100)};return n.style.visibility="hidden",n.style.opacity="0",n.style.transition="opacity 200ms ease, visibility 200ms",r.addEventListener("mouseenter",g),r.addEventListener("mouseleave",y),n.addEventListener("mouseenter",g),n.addEventListener("mouseleave",y),r.addEventListener("focus",g),r.addEventListener("blur",y),()=>{m&&clearTimeout(m),r.removeEventListener("mouseenter",g),r.removeEventListener("mouseleave",y),n.removeEventListener("mouseenter",g),n.removeEventListener("mouseleave",y),r.removeEventListener("focus",g),r.removeEventListener("blur",y)}}if(t.trigger==="click"){let m=()=>{n.style.visibility==="visible"?v.destroy():(n.style.visibility="visible",n.style.opacity="1")};return n.style.visibility="hidden",n.style.opacity="0",n.style.transition="opacity 200ms ease, visibility 200ms",r.addEventListener("click",m),()=>r.removeEventListener("click",m)}return n.style.opacity="0",n.style.transition="opacity 200ms ease",requestAnimationFrame(()=>{n.style.opacity="1"}),()=>{}})(),v={el:n,destroy(){c(),f(),window.removeEventListener("keydown",u),i.forEach(m=>m.removeEventListener("click",s)),t.blocking&&Array.from(document.body.children).forEach(m=>{m!==e&&m.removeAttribute("inert")}),n.style.pointerEvents="none",n.style.opacity="0",setTimeout(()=>{try{n.remove()}catch{}},200)}};return v}var Do=globalThis,Ho=Do.ShadowRoot&&(Do.ShadyCSS===void 0||Do.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ic=Symbol(),Nf=new WeakMap,Li=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==ic)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(Ho&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Nf.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Nf.set(t,e))}return e}toString(){return this.cssText}},Lf=r=>new Li(typeof r=="string"?r:r+"",void 0,ic),Yr=(r,...e)=>{let t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new Li(t,r,ic)},Ff=(r,e)=>{if(Ho)r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let n=document.createElement("style"),i=Do.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}},sc=Ho?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(let n of e.cssRules)t+=n.cssText;return Lf(t)})(r):r;var{is:V0,defineProperty:j0,getOwnPropertyDescriptor:W0,getOwnPropertyNames:U0,getOwnPropertySymbols:z0,getPrototypeOf:q0}=Object,_r=globalThis,Df=_r.trustedTypes,Z0=Df?Df.emptyScript:"",G0=_r.reactiveElementPolyfillSupport,Fi=(r,e)=>r,oc={toAttribute(r,e){switch(e){case Boolean:r=r?Z0:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},Bf=(r,e)=>!V0(r,e),Hf={attribute:!0,type:String,converter:oc,reflect:!1,useDefault:!1,hasChanged:Bf};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),_r.litPropertyMetadata??(_r.litPropertyMetadata=new WeakMap);var Yt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Hf){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&j0(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){let{get:i,set:s}=W0(this.prototype,e)??{get(){return this[t]},set(o){this[t]=o}};return{get:i,set(o){let a=i?.call(this);s?.call(this,o),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Hf}static _$Ei(){if(this.hasOwnProperty(Fi("elementProperties")))return;let e=q0(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Fi("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Fi("properties"))){let t=this.properties,n=[...U0(t),...z0(t)];for(let i of n)this.createProperty(i,t[i])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(let[t,n]of this.elementProperties){let i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let i of n)t.unshift(sc(i))}else e!==void 0&&t.push(sc(e));return t}static _$Eu(e,t){let n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ff(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){let s=(n.converter?.toAttribute!==void 0?n.converter:oc).toAttribute(t,n.type);this._$Em=e,s==null?this.removeAttribute(i):this.setAttribute(i,s),this._$Em=null}}_$AK(e,t){let n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){let s=n.getPropertyOptions(i),o=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:oc;this._$Em=i;let a=o.fromAttribute(t,s.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,t,n,i=!1,s){if(e!==void 0){let o=this.constructor;if(i===!1&&(s=this[e]),n??(n=o.getPropertyOptions(e)),!((n.hasChanged??Bf)(s,t)||n.useDefault&&n.reflect&&s===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:i,wrapped:s},o){n&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??t??this[e]),s!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),i===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[i,s]of this._$Ep)this[i]=s;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[i,s]of n){let{wrapped:o}=s,a=this[i];o!==!0||this._$AL.has(i)||a===void 0||this.C(i,void 0,s,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(t)):this._$EM()}catch(n){throw e=!1,this._$EM(),n}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};Yt.elementStyles=[],Yt.shadowRootOptions={mode:"open"},Yt[Fi("elementProperties")]=new Map,Yt[Fi("finalized")]=new Map,G0?.({ReactiveElement:Yt}),(_r.reactiveElementVersions??(_r.reactiveElementVersions=[])).push("2.1.2");var Hi=globalThis,Vf=r=>r,Bo=Hi.trustedTypes,jf=Bo?Bo.createPolicy("lit-html",{createHTML:r=>r}):void 0,Gf="$lit$",br=`lit$${Math.random().toFixed(9).slice(2)}$`,Kf="?"+br,K0=`<${Kf}>`,Qr=document,Bi=()=>Qr.createComment(""),Vi=r=>r===null||typeof r!="object"&&typeof r!="function",hc=Array.isArray,Y0=r=>hc(r)||typeof r?.[Symbol.iterator]=="function",ac=`[
55
- \f\r]`,Di=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Wf=/-->/g,Uf=/>/g,Xr=RegExp(`>|${ac}(?:([^\\s"'>=/]+)(${ac}*=${ac}*(?:[^
56
- \f\r"'\`<>=]|("|')|))|$)`,"g"),zf=/'/g,qf=/"/g,Yf=/^(?:script|style|textarea|title)$/i,fc=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),j=fc(1),MR=fc(2),OR=fc(3),Tt=Symbol.for("lit-noChange"),J=Symbol.for("lit-nothing"),Zf=new WeakMap,Jr=Qr.createTreeWalker(Qr,129);function Xf(r,e){if(!hc(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return jf!==void 0?jf.createHTML(e):e}var X0=(r,e)=>{let t=r.length-1,n=[],i,s=e===2?"<svg>":e===3?"<math>":"",o=Di;for(let a=0;a<t;a++){let l=r[a],c,u,p=-1,h=0;for(;h<l.length&&(o.lastIndex=h,u=o.exec(l),u!==null);)h=o.lastIndex,o===Di?u[1]==="!--"?o=Wf:u[1]!==void 0?o=Uf:u[2]!==void 0?(Yf.test(u[2])&&(i=RegExp("</"+u[2],"g")),o=Xr):u[3]!==void 0&&(o=Xr):o===Xr?u[0]===">"?(o=i??Di,p=-1):u[1]===void 0?p=-2:(p=o.lastIndex-u[2].length,c=u[1],o=u[3]===void 0?Xr:u[3]==='"'?qf:zf):o===qf||o===zf?o=Xr:o===Wf||o===Uf?o=Di:(o=Xr,i=void 0);let f=o===Xr&&r[a+1].startsWith("/>")?" ":"";s+=o===Di?l+K0:p>=0?(n.push(c),l.slice(0,p)+Gf+l.slice(p)+br+f):l+br+(p===-2?a:f)}return[Xf(r,s+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]},ji=class r{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0,a=e.length-1,l=this.parts,[c,u]=X0(e,t);if(this.el=r.createElement(c,n),Jr.currentNode=this.el.content,t===2||t===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(i=Jr.nextNode())!==null&&l.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let p of i.getAttributeNames())if(p.endsWith(Gf)){let h=u[o++],f=i.getAttribute(p).split(br),v=/([.?@])?(.*)/.exec(h);l.push({type:1,index:s,name:v[2],strings:f,ctor:v[1]==="."?cc:v[1]==="?"?uc:v[1]==="@"?dc:Bn}),i.removeAttribute(p)}else p.startsWith(br)&&(l.push({type:6,index:s}),i.removeAttribute(p));if(Yf.test(i.tagName)){let p=i.textContent.split(br),h=p.length-1;if(h>0){i.textContent=Bo?Bo.emptyScript:"";for(let f=0;f<h;f++)i.append(p[f],Bi()),Jr.nextNode(),l.push({type:2,index:++s});i.append(p[h],Bi())}}}else if(i.nodeType===8)if(i.data===Kf)l.push({type:2,index:s});else{let p=-1;for(;(p=i.data.indexOf(br,p+1))!==-1;)l.push({type:7,index:s}),p+=br.length-1}s++}}static createElement(e,t){let n=Qr.createElement("template");return n.innerHTML=e,n}};function Hn(r,e,t=r,n){if(e===Tt)return e;let i=n!==void 0?t._$Co?.[n]:t._$Cl,s=Vi(e)?void 0:e._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),s===void 0?i=void 0:(i=new s(r),i._$AT(r,t,n)),n!==void 0?(t._$Co??(t._$Co=[]))[n]=i:t._$Cl=i),i!==void 0&&(e=Hn(r,i._$AS(r,e.values),i,n)),e}var lc=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,i=(e?.creationScope??Qr).importNode(t,!0);Jr.currentNode=i;let s=Jr.nextNode(),o=0,a=0,l=n[0];for(;l!==void 0;){if(o===l.index){let c;l.type===2?c=new Wi(s,s.nextSibling,this,e):l.type===1?c=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(c=new pc(s,this,e)),this._$AV.push(c),l=n[++a]}o!==l?.index&&(s=Jr.nextNode(),o++)}return Jr.currentNode=Qr,i}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,t),t+=n.strings.length-2):n._$AI(e[t])),t++}},Wi=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,i){this.type=2,this._$AH=J,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Hn(this,e,t),Vi(e)?e===J||e==null||e===""?(this._$AH!==J&&this._$AR(),this._$AH=J):e!==this._$AH&&e!==Tt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Y0(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==J&&Vi(this._$AH)?this._$AA.nextSibling.data=e:this.T(Qr.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,i=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=ji.createElement(Xf(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(t);else{let s=new lc(i,this),o=s.u(this.options);s.p(t),this.T(o),this._$AH=s}}_$AC(e){let t=Zf.get(e.strings);return t===void 0&&Zf.set(e.strings,t=new ji(e)),t}k(e){hc(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,n,i=0;for(let s of e)i===t.length?t.push(n=new r(this.O(Bi()),this.O(Bi()),this,this.options)):n=t[i],n._$AI(s),i++;i<t.length&&(this._$AR(n&&n._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let n=Vf(e).nextSibling;Vf(e).remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Bn=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,i,s){this.type=1,this._$AH=J,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=s,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=J}_$AI(e,t=this,n,i){let s=this.strings,o=!1;if(s===void 0)e=Hn(this,e,t,0),o=!Vi(e)||e!==this._$AH&&e!==Tt,o&&(this._$AH=e);else{let a=e,l,c;for(e=s[0],l=0;l<s.length-1;l++)c=Hn(this,a[n+l],t,l),c===Tt&&(c=this._$AH[l]),o||(o=!Vi(c)||c!==this._$AH[l]),c===J?e=J:e!==J&&(e+=(c??"")+s[l+1]),this._$AH[l]=c}o&&!i&&this.j(e)}j(e){e===J?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},cc=class extends Bn{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===J?void 0:e}},uc=class extends Bn{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==J)}},dc=class extends Bn{constructor(e,t,n,i,s){super(e,t,n,i,s),this.type=5}_$AI(e,t=this){if((e=Hn(this,e,t,0)??J)===Tt)return;let n=this._$AH,i=e===J&&n!==J||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,s=e!==J&&(n===J||i);i&&this.element.removeEventListener(this.name,this,n),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},pc=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){Hn(this,e)}};var J0=Hi.litHtmlPolyfillSupport;J0?.(ji,Wi),(Hi.litHtmlVersions??(Hi.litHtmlVersions=[])).push("3.3.2");var Jf=(r,e,t)=>{let n=t?.renderBefore??e,i=n._$litPart$;if(i===void 0){let s=t?.renderBefore??null;n._$litPart$=i=new Wi(e.insertBefore(Bi(),s),s,void 0,t??{})}return i._$AI(r),i};var Ui=globalThis,he=class extends Yt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;let e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Jf(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Tt}};he._$litElement$=!0,he.finalized=!0,Ui.litElementHydrateSupport?.({LitElement:he});var Q0=Ui.litElementPolyfillSupport;Q0?.({LitElement:he});(Ui.litElementVersions??(Ui.litElementVersions=[])).push("4.2.2");var Vo={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},jo=r=>(...e)=>({_$litDirective$:r,values:e}),Vn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var Qf="important",ex=" !"+Qf,I=jo(class extends Vn{constructor(r){if(super(r),r.type!==Vo.ATTRIBUTE||r.name!=="style"||r.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(r){return Object.keys(r).reduce((e,t)=>{let n=r[t];return n==null?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`},"")}update(r,[e]){let{style:t}=r.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(let n of this.ft)e[n]==null&&(this.ft.delete(n),n.includes("-")?t.removeProperty(n):t[n]=null);for(let n in e){let i=e[n];if(i!=null){this.ft.add(n);let s=typeof i=="string"&&i.endsWith(ex);n.includes("-")||s?t.setProperty(n,s?i.slice(0,-11):i,s?Qf:""):t[n]=i}}return Tt}});var xr=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},Le=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},zi,qi,jn,Xt,Zi,Wo,Wn,eg="#1969fe",tx="#24ad32",rx="#0e1114",gc="#677384",nx="#a8afba",tg="#f6f7f9",ix="#ffffff";function rg(r){let e=document.createElement("div");e.setAttribute("data-testid","workflow-toast"),Object.assign(e.style,{position:"fixed",bottom:"16px",right:"16px",zIndex:"2147483646",padding:"12px 16px",borderRadius:"8px",backgroundColor:`var(--se-color-bg-surface, ${ix})`,color:`var(--se-color-text-primary, ${rx})`,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"320px",fontFamily:"var(--se-font-family, system-ui, sans-serif)",fontSize:"14px",lineHeight:"1.4",transition:"opacity 0.3s ease"});let t=document.createElement("div");if(t.style.fontWeight="600",t.textContent=r.title,e.appendChild(t),r.body){let s=document.createElement("div");s.style.marginTop="4px",s.style.fontSize="13px",s.style.color="var(--se-color-text-secondary, #666)",s.textContent=r.body,e.appendChild(s)}document.body.appendChild(e);let n,i=setTimeout(()=>{e.style.opacity="0",n=setTimeout(()=>{e.remove()},300)},4e3);return()=>{clearTimeout(i),clearTimeout(n),e.remove()}}function sx(r){let e=new Map;for(let t of r){let n=t.action;if(n.kind==="overlays:tour"&&n.workflow&&n.tourId){let i=n.workflow,o=(n.steps||[]).map(a=>({id:a.id,title:i.stepTitles?.[a.id]||a.id}));e.set(n.tourId,{meta:i,steps:o})}}return e}var Un="syntro-workflow-tracker",Gi=class extends he{constructor(){super(...arguments),this.runtimeRef=null,this._workflowEntries=[],this._actionVersion=0,zi.set(this,null),qi.set(this,null),jn.set(this,[]),Xt.set(this,new Set),Zi.set(this,{}),Wo.set(this,!1),Wn.set(this,new Map)}createRenderRoot(){return this}get _stateNs(){return this.runtimeRef?.state?.user?.ns?.("workflows")??null}_rescanWorkflows(){let e=this.runtimeRef?.actions?.getActive?.()??[],t=sx(e);if(xr(this,Wn,t,"f"),t.size===0)return;let n=this._stateNs,i=n?.get("dismissed")??[],s=n?.get("completed")??{};this._workflowEntries=(()=>{let o=new Set(this._workflowEntries.map(l=>l.tourId)),a=[];for(let[l,{meta:c,steps:u}]of t){if(o.has(l))continue;let p="active";i.includes(l)?p="dismissed":s[l]&&(p="completed"),a.push({tourId:l,meta:c,steps:u,currentStepId:null,completedSteps:[],status:p,completedAt:s[l]||void 0})}return a.length>0?[...this._workflowEntries,...a]:this._workflowEntries})();for(let[o,{meta:a}]of t){let l=n?.get("dismissed")??[],c=n?.get("completed")??{};if(!Le(this,Xt,"f").has(o)&&a.notification&&!l.includes(o)&&!c[o]){Le(this,Xt,"f").add(o),n?.set("notified",[...Le(this,Xt,"f")]);let u=rg(a.notification);Le(this,jn,"f").push(u)}}}connectedCallback(){super.connectedCallback(),this._initSubscriptions()}disconnectedCallback(){super.disconnectedCallback(),this._teardownSubscriptions();for(let e of Le(this,jn,"f"))e();xr(this,jn,[],"f")}updated(e){e.has("runtimeRef")&&(this._teardownSubscriptions(),this._initSubscriptions()),e.has("_actionVersion")&&this._rescanWorkflows()}_initSubscriptions(){if(this.runtimeRef?.events?.subscribe){if(!Le(this,Wo,"f")&&this._stateNs){let e=this._stateNs.get("notified")??[];for(let n of e)Le(this,Xt,"f").add(n);let t=this._stateNs.get("completed")??{};xr(this,Zi,{...t},"f"),xr(this,Wo,!0,"f")}xr(this,zi,this.runtimeRef.events.subscribe({names:["tour.started","tour.resumed"]},()=>{this._actionVersion+=1}),"f"),xr(this,qi,this.runtimeRef.events.subscribe({patterns:["^tour\\."]},e=>{this._handleTourEvent(e)}),"f"),this._rescanWorkflows()}}_teardownSubscriptions(){Le(this,zi,"f")?.call(this),xr(this,zi,null,"f"),Le(this,qi,"f")?.call(this),xr(this,qi,null,"f")}_handleTourEvent(e){let t=e.props?.tourId;if(!t)return;if(!Le(this,Wn,"f").has(t)&&e.name==="tour.started"){this._actionVersion+=1;return}if(!Le(this,Wn,"f").has(t))return;let n=this._stateNs;this._workflowEntries=this._workflowEntries.map(i=>{if(i.tourId!==t)return i;switch(e.name){case"tour.started":{let s=e.props?.startStepId||i.steps[0]?.id||null;if(!Le(this,Xt,"f").has(t)){Le(this,Xt,"f").add(t),n?.set("notified",[...Le(this,Xt,"f")]);let a=Le(this,Wn,"f").get(t);if(a?.meta.notification){let l=rg(a.meta.notification);Le(this,jn,"f").push(l)}}let o=this._workflowEntries.filter(a=>a.status==="active"||a.tourId===t).map(a=>a.tourId);return o.includes(t)||o.push(t),n?.set("active",[...new Set(o)]),{...i,status:"active",currentStepId:s,completedSteps:i.status==="active"?i.completedSteps:[]}}case"tour.step_started":{let s=e.props?.stepId;return{...i,currentStepId:s||i.currentStepId}}case"tour.step_changed":{let s=e.props?.previousStepId,o=e.props?.nextStepId,a=s&&!i.completedSteps.includes(s)?[...i.completedSteps,s]:i.completedSteps;return{...i,currentStepId:o||i.currentStepId,completedSteps:a}}case"tour.completed":{let s=Date.now();return Le(this,Zi,"f")[t]=s,n?.set("completed",{...Le(this,Zi,"f")}),{...i,status:"completed",currentStepId:null,completedSteps:i.steps.map(o=>o.id),completedAt:s}}case"tour.paused":return i;default:return i}})}_handleStepClick(e,t){this.runtimeRef?.events?.publish("workflow:jump_to_step",{tourId:e,stepId:t}),this.dispatchEvent(new CustomEvent("workflow-step-click",{bubbles:!0,detail:{tourId:e,stepId:t}}))}_handleDismiss(e){this._workflowEntries=this._workflowEntries.map(n=>n.tourId===e?{...n,status:"dismissed"}:n);let t=this._workflowEntries.filter(n=>n.status==="dismissed").map(n=>n.tourId);this._stateNs?.set("dismissed",t),this.dispatchEvent(new CustomEvent("workflow-dismissed",{bubbles:!0,detail:{tourId:e}}))}_renderProgressBar(e,t){let n=t>0?Math.round(e/t*100):0,i={width:"100%",height:"6px",borderRadius:"9999px",background:"rgba(255,255,255,0.08)",overflow:"hidden"},s={height:"100%",borderRadius:"9999px",background:`var(--se-color-primary, ${eg})`,transition:"width 0.3s ease",width:`${n}%`};return j`
54
+ `}p+="</div>"}c.innerHTML=p,e.overlayRoot.appendChild(c);let h=null,f=c.querySelectorAll("[data-syntro-action]"),v=w=>{let b=w.currentTarget.getAttribute("data-syntro-action");b&&(h=b,e.publishEvent("action.modal_cta_clicked",{actionId:b}),_.destroy())};f.forEach(w=>w.addEventListener("click",v));let m=w=>{w.key==="Escape"&&o?.onEsc!==!1&&_.destroy()};window.addEventListener("keydown",m);let g=()=>{i||_.destroy()};l.addEventListener("click",g);let y=[];i&&Array.from(document.body.children).forEach(w=>{w!==e.overlayRoot&&w.getAttribute("inert")===null&&!w.querySelector("[data-syntro-editor-panel]")&&!w.hasAttribute("data-syntro-editor-panel")&&(w.setAttribute("inert",""),y.push(w))});let x;o?.timeoutMs&&(x=setTimeout(()=>{_.destroy()},o.timeoutMs));let k=c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');k.length>0&&requestAnimationFrame(()=>k[0].focus()),requestAnimationFrame(()=>{l.style.opacity="1",c.style.opacity="1",c.style.transform="translate(-50%, -50%) scale(1)"}),e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:modal",size:n,blocking:i});let _={destroy(){x&&clearTimeout(x),window.removeEventListener("keydown",m),l.removeEventListener("click",g),f.forEach(w=>w.removeEventListener("click",v)),y.forEach(w=>w.removeAttribute("inert")),c.style.pointerEvents="none",l.style.pointerEvents="none",c.style.opacity="0",c.style.transform="translate(-50%, -50%) scale(0.95)",l.style.opacity="0",setTimeout(()=>{try{c.remove()}catch{}try{l.remove()}catch{}},200),e.publishEvent("action.modal_dismissed",{actionClicked:h})}};return{cleanup:()=>{_.destroy()}}};var sf=["top","right","bottom","left"];var vr=Math.min,Zt=Math.max,Oi=Math.round,Pi=Math.floor,Ct=r=>({x:r,y:r}),u0={left:"right",right:"left",bottom:"top",top:"bottom"},d0={start:"end",end:"start"};function Co(r,e,t){return Zt(r,vr(e,t))}function zr(r,e){return typeof r=="function"?r(e):r}function yr(r){return r.split("-")[0]}function Ln(r){return r.split("-")[1]}function tc(r){return r==="x"?"y":"x"}function Ao(r){return r==="y"?"height":"width"}var p0=new Set(["top","bottom"]);function Gt(r){return p0.has(yr(r))?"y":"x"}function Ro(r){return tc(Gt(r))}function of(r,e,t){t===void 0&&(t=!1);let n=Ln(r),i=Ro(r),s=Ao(i),o=i==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(o=Mi(o)),[o,Mi(o)]}function af(r){let e=Mi(r);return[Eo(r),e,Eo(e)]}function Eo(r){return r.replace(/start|end/g,e=>d0[e])}var rf=["left","right"],nf=["right","left"],h0=["top","bottom"],f0=["bottom","top"];function g0(r,e,t){switch(r){case"top":case"bottom":return t?e?nf:rf:e?rf:nf;case"left":case"right":return e?h0:f0;default:return[]}}function lf(r,e,t,n){let i=Ln(r),s=g0(yr(r),t==="start",n);return i&&(s=s.map(o=>o+"-"+i),e&&(s=s.concat(s.map(Eo)))),s}function Mi(r){return r.replace(/left|right|bottom|top/g,e=>u0[e])}function m0(r){return{top:0,right:0,bottom:0,left:0,...r}}function rc(r){return typeof r!="number"?m0(r):{top:r,right:r,bottom:r,left:r}}function qr(r){let{x:e,y:t,width:n,height:i}=r;return{width:n,height:i,top:t,left:e,right:e+n,bottom:t+i,x:e,y:t}}function cf(r,e,t){let{reference:n,floating:i}=r,s=Gt(e),o=Ro(e),a=Ao(o),l=yr(e),c=s==="y",u=n.x+n.width/2-i.width/2,p=n.y+n.height/2-i.height/2,h=n[a]/2-i[a]/2,f;switch(l){case"top":f={x:u,y:n.y-i.height};break;case"bottom":f={x:u,y:n.y+n.height};break;case"right":f={x:n.x+n.width,y:p};break;case"left":f={x:n.x-i.width,y:p};break;default:f={x:n.x,y:n.y}}switch(Ln(e)){case"start":f[o]-=h*(t&&c?-1:1);break;case"end":f[o]+=h*(t&&c?-1:1);break}return f}async function pf(r,e){var t;e===void 0&&(e={});let{x:n,y:i,platform:s,rects:o,elements:a,strategy:l}=r,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:h=!1,padding:f=0}=zr(e,r),v=rc(f),g=a[h?p==="floating"?"reference":"floating":p],y=qr(await s.getClippingRect({element:(t=await(s.isElement==null?void 0:s.isElement(g)))==null||t?g:g.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),_=await(s.isElement==null?void 0:s.isElement(k))?await(s.getScale==null?void 0:s.getScale(k))||{x:1,y:1}:{x:1,y:1},w=qr(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:x,offsetParent:k,strategy:l}):x);return{top:(y.top-w.top+v.top)/_.y,bottom:(w.bottom-y.bottom+v.bottom)/_.y,left:(y.left-w.left+v.left)/_.x,right:(w.right-y.right+v.right)/_.x}}var hf=async(r,e,t)=>{let{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:o}=t,a=s.filter(Boolean),l=await(o.isRTL==null?void 0:o.isRTL(e)),c=await o.getElementRects({reference:r,floating:e,strategy:i}),{x:u,y:p}=cf(c,n,l),h=n,f={},v=0;for(let g=0;g<a.length;g++){var m;let{name:y,fn:x}=a[g],{x:k,y:_,data:w,reset:R}=await x({x:u,y:p,initialPlacement:n,placement:h,strategy:i,middlewareData:f,rects:c,platform:{...o,detectOverflow:(m=o.detectOverflow)!=null?m:pf},elements:{reference:r,floating:e}});u=k??u,p=_??p,f={...f,[y]:{...f[y],...w}},R&&v<=50&&(v++,typeof R=="object"&&(R.placement&&(h=R.placement),R.rects&&(c=R.rects===!0?await o.getElementRects({reference:r,floating:e,strategy:i}):R.rects),{x:u,y:p}=cf(c,h,l)),g=-1)}return{x:u,y:p,placement:h,strategy:i,middlewareData:f}},ff=r=>({name:"arrow",options:r,async fn(e){let{x:t,y:n,placement:i,rects:s,platform:o,elements:a,middlewareData:l}=e,{element:c,padding:u=0}=zr(r,e)||{};if(c==null)return{};let p=rc(u),h={x:t,y:n},f=Ro(i),v=Ao(f),m=await o.getDimensions(c),g=f==="y",y=g?"top":"left",x=g?"bottom":"right",k=g?"clientHeight":"clientWidth",_=s.reference[v]+s.reference[f]-h[f]-s.floating[v],w=h[f]-s.reference[f],R=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c)),b=R?R[k]:0;(!b||!await(o.isElement==null?void 0:o.isElement(R)))&&(b=a.floating[k]||s.floating[v]);let A=_/2-w/2,$=b/2-m[v]/2-1,N=vr(p[y],$),M=vr(p[x],$),K=N,L=b-m[v]-M,O=b/2-m[v]/2+A,q=Co(K,O,L),Y=!l.arrow&&Ln(i)!=null&&O!==q&&s.reference[v]/2-(O<K?N:M)-m[v]/2<0,se=Y?O<K?O-K:O-L:0;return{[f]:h[f]+se,data:{[f]:q,centerOffset:O-q-se,...Y&&{alignmentOffset:se}},reset:Y}}});var gf=function(r){return r===void 0&&(r={}),{name:"flip",options:r,async fn(e){var t,n;let{placement:i,middlewareData:s,rects:o,initialPlacement:a,platform:l,elements:c}=e,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:m=!0,...g}=zr(r,e);if((t=s.arrow)!=null&&t.alignmentOffset)return{};let y=yr(i),x=Gt(a),k=yr(a)===a,_=await(l.isRTL==null?void 0:l.isRTL(c.floating)),w=h||(k||!m?[Mi(a)]:af(a)),R=v!=="none";!h&&R&&w.push(...lf(a,m,v,_));let b=[a,...w],A=await l.detectOverflow(e,g),$=[],N=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&$.push(A[y]),p){let O=of(i,o,_);$.push(A[O[0]],A[O[1]])}if(N=[...N,{placement:i,overflows:$}],!$.every(O=>O<=0)){var M,K;let O=(((M=s.flip)==null?void 0:M.index)||0)+1,q=b[O];if(q&&(!(p==="alignment"?x!==Gt(q):!1)||N.every(C=>Gt(C.placement)===x?C.overflows[0]>0:!0)))return{data:{index:O,overflows:N},reset:{placement:q}};let Y=(K=N.filter(se=>se.overflows[0]<=0).sort((se,C)=>se.overflows[1]-C.overflows[1])[0])==null?void 0:K.placement;if(!Y)switch(f){case"bestFit":{var L;let se=(L=N.filter(C=>{if(R){let P=Gt(C.placement);return P===x||P==="y"}return!0}).map(C=>[C.placement,C.overflows.filter(P=>P>0).reduce((P,G)=>P+G,0)]).sort((C,P)=>C[1]-P[1])[0])==null?void 0:L[0];se&&(Y=se);break}case"initialPlacement":Y=a;break}if(i!==Y)return{reset:{placement:Y}}}return{}}}};function uf(r,e){return{top:r.top-e.height,right:r.right-e.width,bottom:r.bottom-e.height,left:r.left-e.width}}function df(r){return sf.some(e=>r[e]>=0)}var mf=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(e){let{rects:t,platform:n}=e,{strategy:i="referenceHidden",...s}=zr(r,e);switch(i){case"referenceHidden":{let o=await n.detectOverflow(e,{...s,elementContext:"reference"}),a=uf(o,t.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:df(a)}}}case"escaped":{let o=await n.detectOverflow(e,{...s,altBoundary:!0}),a=uf(o,t.floating);return{data:{escapedOffsets:a,escaped:df(a)}}}default:return{}}}}};var v0=new Set(["left","top"]);async function y0(r,e){let{placement:t,platform:n,elements:i}=r,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=yr(t),a=Ln(t),l=Gt(t)==="y",c=v0.has(o)?-1:1,u=s&&l?-1:1,p=zr(e,r),{mainAxis:h,crossAxis:f,alignmentAxis:v}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return a&&typeof v=="number"&&(f=a==="end"?v*-1:v),l?{x:f*u,y:h*c}:{x:h*c,y:f*u}}var vf=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(e){var t,n;let{x:i,y:s,placement:o,middlewareData:a}=e,l=await y0(e,r);return o===((t=a.offset)==null?void 0:t.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:o}}}}},yf=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(e){let{x:t,y:n,placement:i,platform:s}=e,{mainAxis:o=!0,crossAxis:a=!1,limiter:l={fn:y=>{let{x,y:k}=y;return{x,y:k}}},...c}=zr(r,e),u={x:t,y:n},p=await s.detectOverflow(e,c),h=Gt(yr(i)),f=tc(h),v=u[f],m=u[h];if(o){let y=f==="y"?"top":"left",x=f==="y"?"bottom":"right",k=v+p[y],_=v-p[x];v=Co(k,v,_)}if(a){let y=h==="y"?"top":"left",x=h==="y"?"bottom":"right",k=m+p[y],_=m-p[x];m=Co(k,m,_)}let g=l.fn({...e,[f]:v,[h]:m});return{...g,data:{x:g.x-t,y:g.y-n,enabled:{[f]:o,[h]:a}}}}}};function To(){return typeof window<"u"}function Zr(r){return bf(r)?(r.nodeName||"").toLowerCase():"#document"}function tt(r){var e;return(r==null||(e=r.ownerDocument)==null?void 0:e.defaultView)||window}function At(r){var e;return(e=(bf(r)?r.ownerDocument:r.document)||window.document)==null?void 0:e.documentElement}function bf(r){return To()?r instanceof Node||r instanceof tt(r).Node:!1}function ht(r){return To()?r instanceof Element||r instanceof tt(r).Element:!1}function Rt(r){return To()?r instanceof HTMLElement||r instanceof tt(r).HTMLElement:!1}function _f(r){return!To()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof tt(r).ShadowRoot}var _0=new Set(["inline","contents"]);function Dn(r){let{overflow:e,overflowX:t,overflowY:n,display:i}=ft(r);return/auto|scroll|overlay|hidden|clip/.test(e+n+t)&&!_0.has(i)}var b0=new Set(["table","td","th"]);function xf(r){return b0.has(Zr(r))}var x0=[":popover-open",":modal"];function Ni(r){return x0.some(e=>{try{return r.matches(e)}catch{return!1}})}var w0=["transform","translate","scale","rotate","perspective"],k0=["transform","translate","scale","rotate","perspective","filter"],S0=["paint","layout","strict","content"];function Io(r){let e=$o(),t=ht(r)?ft(r):r;return w0.some(n=>t[n]?t[n]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||k0.some(n=>(t.willChange||"").includes(n))||S0.some(n=>(t.contain||"").includes(n))}function wf(r){let e=Kt(r);for(;Rt(e)&&!Gr(e);){if(Io(e))return e;if(Ni(e))return null;e=Kt(e)}return null}function $o(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var E0=new Set(["html","body","#document"]);function Gr(r){return E0.has(Zr(r))}function ft(r){return tt(r).getComputedStyle(r)}function Li(r){return ht(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function Kt(r){if(Zr(r)==="html")return r;let e=r.assignedSlot||r.parentNode||_f(r)&&r.host||At(r);return _f(e)?e.host:e}function kf(r){let e=Kt(r);return Gr(e)?r.ownerDocument?r.ownerDocument.body:r.body:Rt(e)&&Dn(e)?e:kf(e)}function Fn(r,e,t){var n;e===void 0&&(e=[]),t===void 0&&(t=!0);let i=kf(r),s=i===((n=r.ownerDocument)==null?void 0:n.body),o=tt(i);if(s){let a=Mo(o);return e.concat(o,o.visualViewport||[],Dn(i)?i:[],a&&t?Fn(a):[])}return e.concat(i,Fn(i,[],t))}function Mo(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function Af(r){let e=ft(r),t=parseFloat(e.width)||0,n=parseFloat(e.height)||0,i=Rt(r),s=i?r.offsetWidth:t,o=i?r.offsetHeight:n,a=Oi(t)!==s||Oi(n)!==o;return a&&(t=s,n=o),{width:t,height:n,$:a}}function ic(r){return ht(r)?r:r.contextElement}function Hn(r){let e=ic(r);if(!Rt(e))return Ct(1);let t=e.getBoundingClientRect(),{width:n,height:i,$:s}=Af(e),o=(s?Oi(t.width):t.width)/n,a=(s?Oi(t.height):t.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}var C0=Ct(0);function Rf(r){let e=tt(r);return!$o()||!e.visualViewport?C0:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function A0(r,e,t){return e===void 0&&(e=!1),!t||e&&t!==tt(r)?!1:e}function Kr(r,e,t,n){e===void 0&&(e=!1),t===void 0&&(t=!1);let i=r.getBoundingClientRect(),s=ic(r),o=Ct(1);e&&(n?ht(n)&&(o=Hn(n)):o=Hn(r));let a=A0(s,t,n)?Rf(s):Ct(0),l=(i.left+a.x)/o.x,c=(i.top+a.y)/o.y,u=i.width/o.x,p=i.height/o.y;if(s){let h=tt(s),f=n&&ht(n)?tt(n):n,v=h,m=Mo(v);for(;m&&n&&f!==v;){let g=Hn(m),y=m.getBoundingClientRect(),x=ft(m),k=y.left+(m.clientLeft+parseFloat(x.paddingLeft))*g.x,_=y.top+(m.clientTop+parseFloat(x.paddingTop))*g.y;l*=g.x,c*=g.y,u*=g.x,p*=g.y,l+=k,c+=_,v=tt(m),m=Mo(v)}}return qr({width:u,height:p,x:l,y:c})}function Oo(r,e){let t=Li(r).scrollLeft;return e?e.left+t:Kr(At(r)).left+t}function Tf(r,e){let t=r.getBoundingClientRect(),n=t.left+e.scrollLeft-Oo(r,t),i=t.top+e.scrollTop;return{x:n,y:i}}function R0(r){let{elements:e,rect:t,offsetParent:n,strategy:i}=r,s=i==="fixed",o=At(n),a=e?Ni(e.floating):!1;if(n===o||a&&s)return t;let l={scrollLeft:0,scrollTop:0},c=Ct(1),u=Ct(0),p=Rt(n);if((p||!p&&!s)&&((Zr(n)!=="body"||Dn(o))&&(l=Li(n)),Rt(n))){let f=Kr(n);c=Hn(n),u.x=f.x+n.clientLeft,u.y=f.y+n.clientTop}let h=o&&!p&&!s?Tf(o,l):Ct(0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-l.scrollLeft*c.x+u.x+h.x,y:t.y*c.y-l.scrollTop*c.y+u.y+h.y}}function T0(r){return Array.from(r.getClientRects())}function I0(r){let e=At(r),t=Li(r),n=r.ownerDocument.body,i=Zt(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),s=Zt(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),o=-t.scrollLeft+Oo(r),a=-t.scrollTop;return ft(n).direction==="rtl"&&(o+=Zt(e.clientWidth,n.clientWidth)-i),{width:i,height:s,x:o,y:a}}var Sf=25;function $0(r,e){let t=tt(r),n=At(r),i=t.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(i){s=i.width,o=i.height;let u=$o();(!u||u&&e==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}let c=Oo(n);if(c<=0){let u=n.ownerDocument,p=u.body,h=getComputedStyle(p),f=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,v=Math.abs(n.clientWidth-p.clientWidth-f);v<=Sf&&(s-=v)}else c<=Sf&&(s+=c);return{width:s,height:o,x:a,y:l}}var M0=new Set(["absolute","fixed"]);function O0(r,e){let t=Kr(r,!0,e==="fixed"),n=t.top+r.clientTop,i=t.left+r.clientLeft,s=Rt(r)?Hn(r):Ct(1),o=r.clientWidth*s.x,a=r.clientHeight*s.y,l=i*s.x,c=n*s.y;return{width:o,height:a,x:l,y:c}}function Ef(r,e,t){let n;if(e==="viewport")n=$0(r,t);else if(e==="document")n=I0(At(r));else if(ht(e))n=O0(e,t);else{let i=Rf(r);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return qr(n)}function If(r,e){let t=Kt(r);return t===e||!ht(t)||Gr(t)?!1:ft(t).position==="fixed"||If(t,e)}function P0(r,e){let t=e.get(r);if(t)return t;let n=Fn(r,[],!1).filter(a=>ht(a)&&Zr(a)!=="body"),i=null,s=ft(r).position==="fixed",o=s?Kt(r):r;for(;ht(o)&&!Gr(o);){let a=ft(o),l=Io(o);!l&&a.position==="fixed"&&(i=null),(s?!l&&!i:!l&&a.position==="static"&&!!i&&M0.has(i.position)||Dn(o)&&!l&&If(r,o))?n=n.filter(u=>u!==o):i=a,o=Kt(o)}return e.set(r,n),n}function N0(r){let{element:e,boundary:t,rootBoundary:n,strategy:i}=r,o=[...t==="clippingAncestors"?Ni(e)?[]:P0(e,this._c):[].concat(t),n],a=o[0],l=o.reduce((c,u)=>{let p=Ef(e,u,i);return c.top=Zt(p.top,c.top),c.right=vr(p.right,c.right),c.bottom=vr(p.bottom,c.bottom),c.left=Zt(p.left,c.left),c},Ef(e,a,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function L0(r){let{width:e,height:t}=Af(r);return{width:e,height:t}}function F0(r,e,t){let n=Rt(e),i=At(e),s=t==="fixed",o=Kr(r,!0,s,e),a={scrollLeft:0,scrollTop:0},l=Ct(0);function c(){l.x=Oo(i)}if(n||!n&&!s)if((Zr(e)!=="body"||Dn(i))&&(a=Li(e)),n){let f=Kr(e,!0,s,e);l.x=f.x+e.clientLeft,l.y=f.y+e.clientTop}else i&&c();s&&!n&&i&&c();let u=i&&!n&&!s?Tf(i,a):Ct(0),p=o.left+a.scrollLeft-l.x-u.x,h=o.top+a.scrollTop-l.y-u.y;return{x:p,y:h,width:o.width,height:o.height}}function nc(r){return ft(r).position==="static"}function Cf(r,e){if(!Rt(r)||ft(r).position==="fixed")return null;if(e)return e(r);let t=r.offsetParent;return At(r)===t&&(t=t.ownerDocument.body),t}function $f(r,e){let t=tt(r);if(Ni(r))return t;if(!Rt(r)){let i=Kt(r);for(;i&&!Gr(i);){if(ht(i)&&!nc(i))return i;i=Kt(i)}return t}let n=Cf(r,e);for(;n&&xf(n)&&nc(n);)n=Cf(n,e);return n&&Gr(n)&&nc(n)&&!Io(n)?t:n||wf(r)||t}var D0=async function(r){let e=this.getOffsetParent||$f,t=this.getDimensions,n=await t(r.floating);return{reference:F0(r.reference,await e(r.floating),r.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function H0(r){return ft(r).direction==="rtl"}var B0={convertOffsetParentRelativeRectToViewportRelativeRect:R0,getDocumentElement:At,getClippingRect:N0,getOffsetParent:$f,getElementRects:D0,getClientRects:T0,getDimensions:L0,getScale:Hn,isElement:ht,isRTL:H0};function Mf(r,e){return r.x===e.x&&r.y===e.y&&r.width===e.width&&r.height===e.height}function V0(r,e){let t=null,n,i=At(r);function s(){var a;clearTimeout(n),(a=t)==null||a.disconnect(),t=null}function o(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),s();let c=r.getBoundingClientRect(),{left:u,top:p,width:h,height:f}=c;if(a||e(),!h||!f)return;let v=Pi(p),m=Pi(i.clientWidth-(u+h)),g=Pi(i.clientHeight-(p+f)),y=Pi(u),k={rootMargin:-v+"px "+-m+"px "+-g+"px "+-y+"px",threshold:Zt(0,vr(1,l))||1},_=!0;function w(R){let b=R[0].intersectionRatio;if(b!==l){if(!_)return o();b?o(!1,b):n=setTimeout(()=>{o(!1,1e-7)},1e3)}b===1&&!Mf(c,r.getBoundingClientRect())&&o(),_=!1}try{t=new IntersectionObserver(w,{...k,root:i.ownerDocument})}catch{t=new IntersectionObserver(w,k)}t.observe(r)}return o(!0),s}function Po(r,e,t,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,c=ic(r),u=i||s?[...c?Fn(c):[],...Fn(e)]:[];u.forEach(y=>{i&&y.addEventListener("scroll",t,{passive:!0}),s&&y.addEventListener("resize",t)});let p=c&&a?V0(c,t):null,h=-1,f=null;o&&(f=new ResizeObserver(y=>{let[x]=y;x&&x.target===c&&f&&(f.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var k;(k=f)==null||k.observe(e)})),t()}),c&&!l&&f.observe(c),f.observe(e));let v,m=l?Kr(r):null;l&&g();function g(){let y=Kr(r);m&&!Mf(m,y)&&t(),m=y,v=requestAnimationFrame(g)}return t(),()=>{var y;u.forEach(x=>{i&&x.removeEventListener("scroll",t),s&&x.removeEventListener("resize",t)}),p?.(),(y=f)==null||y.disconnect(),f=null,l&&cancelAnimationFrame(v)}}var No=vf;var Lo=yf,Fo=gf;var Of=mf,Pf=ff;var Do=(r,e,t)=>{let n=new Map,i={platform:B0,...t},s={...i.platform,_c:n};return hf(r,e,{...i,platform:s})};function j0(r){let e=r.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight;if(!(e.width>t*.8||e.height>n*.8))return r;let s=Math.max(e.left,0),o=Math.max(e.top,0),a=Math.min(e.right,t),l=Math.min(e.bottom,n),c=(s+a)/2,u=(o+l)/2;return{getBoundingClientRect(){return{width:0,height:0,x:c,y:u,top:u,left:c,right:c,bottom:u}}}}function Nf(r,e,t){if(!t.trigger||t.trigger==="immediate"){let m=r.getBoundingClientRect();m.width>window.innerWidth*.8||m.height>window.innerHeight*.8||r.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}let n=document.createElement("div");if(n.className="syntro-tooltip",n.setAttribute("role","tooltip"),n.innerHTML=lt(t.html),!t.trigger||t.trigger==="immediate"){let m=document.createElement("button");m.className="syntro-tooltip-close",m.setAttribute("aria-label","Close"),m.textContent="\xD7",Object.assign(m.style,{position:"absolute",top:"4px",right:"4px",background:"none",border:"none",color:"inherit",fontSize:"16px",lineHeight:"1",cursor:"pointer",opacity:"0.6",padding:"2px 4px"}),m.addEventListener("mouseenter",()=>{m.style.opacity="1"}),m.addEventListener("mouseleave",()=>{m.style.opacity="0.6"}),m.addEventListener("click",()=>v.destroy()),n.style.position="relative",n.appendChild(m)}let i=n.querySelectorAll("[data-syntro-action]"),s=m=>{let y=m.currentTarget.getAttribute("data-syntro-action");y&&t.onAction&&t.onAction(y)};i.forEach(m=>m.addEventListener("click",s));let o=document.createElement("div");o.className="syntro-tooltip-arrow",n.appendChild(o),e.appendChild(n);let a=[No(t.offsetPx??8),Fo(),Lo({padding:8}),Of(),Pf({element:o})],l=t.placement&&t.placement!=="auto"?t.placement:"top",c=Po(r,n,async()=>{if(!r.isConnected){v.destroy();return}let m=j0(r),g=await Do(m,n,{placement:l,strategy:"fixed",middleware:a}),{x:y,y:x,strategy:k,middlewareData:_,placement:w}=g;if(Object.assign(n.style,{left:`${y}px`,top:`${x}px`,position:k}),_.arrow){let{x:R,y:b}=_.arrow,A=w.split("-")[0],$={top:"bottom",right:"left",bottom:"top",left:"right"};Object.assign(o.style,{left:R!=null?`${R}px`:"",top:b!=null?`${b}px`:"",right:"",bottom:"",[$[A]]:"-4px"});let N={top:"0deg",right:"90deg",bottom:"180deg",left:"270deg"};o.style.transform=`rotate(${N[A]||"0deg"})`}}),u=m=>{m.key==="Escape"&&v.destroy()};window.addEventListener("keydown",u);let p=[];if(t.blocking){Array.from(document.body.children).forEach(g=>{g!==e&&g.getAttribute("inert")===null&&(g.setAttribute("inert",""),p.push(g.id||g.tagName))});let m=Array.from(n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));if(m.length>0){let g=m[0],y=m[m.length-1],x=k=>{k.key==="Tab"&&(k.shiftKey?document.activeElement===g&&(y.focus(),k.preventDefault()):document.activeElement===y&&(g.focus(),k.preventDefault()))};n.addEventListener("keydown",x),requestAnimationFrame(()=>g.focus())}}let f=(()=>{if(t.trigger==="hover"){let m=null,g=()=>{m&&(clearTimeout(m),m=null),n.style.visibility="visible",n.style.opacity="1"},y=()=>{m=setTimeout(()=>{n.style.visibility="hidden",n.style.opacity="0",m=null},100)};return n.style.visibility="hidden",n.style.opacity="0",n.style.transition="opacity 200ms ease, visibility 200ms",r.addEventListener("mouseenter",g),r.addEventListener("mouseleave",y),n.addEventListener("mouseenter",g),n.addEventListener("mouseleave",y),r.addEventListener("focus",g),r.addEventListener("blur",y),()=>{m&&clearTimeout(m),r.removeEventListener("mouseenter",g),r.removeEventListener("mouseleave",y),n.removeEventListener("mouseenter",g),n.removeEventListener("mouseleave",y),r.removeEventListener("focus",g),r.removeEventListener("blur",y)}}if(t.trigger==="click"){let m=()=>{n.style.visibility==="visible"?v.destroy():(n.style.visibility="visible",n.style.opacity="1")};return n.style.visibility="hidden",n.style.opacity="0",n.style.transition="opacity 200ms ease, visibility 200ms",r.addEventListener("click",m),()=>r.removeEventListener("click",m)}return n.style.opacity="0",n.style.transition="opacity 200ms ease",requestAnimationFrame(()=>{n.style.opacity="1"}),()=>{}})(),v={el:n,destroy(){c(),f(),window.removeEventListener("keydown",u),i.forEach(m=>m.removeEventListener("click",s)),t.blocking&&Array.from(document.body.children).forEach(m=>{m!==e&&m.removeAttribute("inert")}),n.style.pointerEvents="none",n.style.opacity="0",setTimeout(()=>{try{n.remove()}catch{}},200)}};return v}var Ho=globalThis,Bo=Ho.ShadowRoot&&(Ho.ShadyCSS===void 0||Ho.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,sc=Symbol(),Lf=new WeakMap,Fi=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==sc)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(Bo&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Lf.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Lf.set(t,e))}return e}toString(){return this.cssText}},Ff=r=>new Fi(typeof r=="string"?r:r+"",void 0,sc),Yr=(r,...e)=>{let t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new Fi(t,r,sc)},Df=(r,e)=>{if(Bo)r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let n=document.createElement("style"),i=Ho.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}},oc=Bo?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(let n of e.cssRules)t+=n.cssText;return Ff(t)})(r):r;var{is:W0,defineProperty:U0,getOwnPropertyDescriptor:z0,getOwnPropertyNames:q0,getOwnPropertySymbols:Z0,getPrototypeOf:G0}=Object,_r=globalThis,Hf=_r.trustedTypes,K0=Hf?Hf.emptyScript:"",Y0=_r.reactiveElementPolyfillSupport,Di=(r,e)=>r,ac={toAttribute(r,e){switch(e){case Boolean:r=r?K0:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},Vf=(r,e)=>!W0(r,e),Bf={attribute:!0,type:String,converter:ac,reflect:!1,useDefault:!1,hasChanged:Vf};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),_r.litPropertyMetadata??(_r.litPropertyMetadata=new WeakMap);var Yt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Bf){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&U0(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){let{get:i,set:s}=z0(this.prototype,e)??{get(){return this[t]},set(o){this[t]=o}};return{get:i,set(o){let a=i?.call(this);s?.call(this,o),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Bf}static _$Ei(){if(this.hasOwnProperty(Di("elementProperties")))return;let e=G0(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Di("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Di("properties"))){let t=this.properties,n=[...q0(t),...Z0(t)];for(let i of n)this.createProperty(i,t[i])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(let[t,n]of this.elementProperties){let i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let i of n)t.unshift(oc(i))}else e!==void 0&&t.push(oc(e));return t}static _$Eu(e,t){let n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Df(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){let s=(n.converter?.toAttribute!==void 0?n.converter:ac).toAttribute(t,n.type);this._$Em=e,s==null?this.removeAttribute(i):this.setAttribute(i,s),this._$Em=null}}_$AK(e,t){let n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){let s=n.getPropertyOptions(i),o=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:ac;this._$Em=i;let a=o.fromAttribute(t,s.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,t,n,i=!1,s){if(e!==void 0){let o=this.constructor;if(i===!1&&(s=this[e]),n??(n=o.getPropertyOptions(e)),!((n.hasChanged??Vf)(s,t)||n.useDefault&&n.reflect&&s===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:i,wrapped:s},o){n&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??t??this[e]),s!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),i===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[i,s]of this._$Ep)this[i]=s;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[i,s]of n){let{wrapped:o}=s,a=this[i];o!==!0||this._$AL.has(i)||a===void 0||this.C(i,void 0,s,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(t)):this._$EM()}catch(n){throw e=!1,this._$EM(),n}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};Yt.elementStyles=[],Yt.shadowRootOptions={mode:"open"},Yt[Di("elementProperties")]=new Map,Yt[Di("finalized")]=new Map,Y0?.({ReactiveElement:Yt}),(_r.reactiveElementVersions??(_r.reactiveElementVersions=[])).push("2.1.2");var Bi=globalThis,jf=r=>r,Vo=Bi.trustedTypes,Wf=Vo?Vo.createPolicy("lit-html",{createHTML:r=>r}):void 0,Kf="$lit$",br=`lit$${Math.random().toFixed(9).slice(2)}$`,Yf="?"+br,X0=`<${Yf}>`,Qr=document,Vi=()=>Qr.createComment(""),ji=r=>r===null||typeof r!="object"&&typeof r!="function",fc=Array.isArray,J0=r=>fc(r)||typeof r?.[Symbol.iterator]=="function",lc=`[
55
+ \f\r]`,Hi=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Uf=/-->/g,zf=/>/g,Xr=RegExp(`>|${lc}(?:([^\\s"'>=/]+)(${lc}*=${lc}*(?:[^
56
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),qf=/'/g,Zf=/"/g,Xf=/^(?:script|style|textarea|title)$/i,gc=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),j=gc(1),MR=gc(2),OR=gc(3),Tt=Symbol.for("lit-noChange"),J=Symbol.for("lit-nothing"),Gf=new WeakMap,Jr=Qr.createTreeWalker(Qr,129);function Jf(r,e){if(!fc(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Wf!==void 0?Wf.createHTML(e):e}var Q0=(r,e)=>{let t=r.length-1,n=[],i,s=e===2?"<svg>":e===3?"<math>":"",o=Hi;for(let a=0;a<t;a++){let l=r[a],c,u,p=-1,h=0;for(;h<l.length&&(o.lastIndex=h,u=o.exec(l),u!==null);)h=o.lastIndex,o===Hi?u[1]==="!--"?o=Uf:u[1]!==void 0?o=zf:u[2]!==void 0?(Xf.test(u[2])&&(i=RegExp("</"+u[2],"g")),o=Xr):u[3]!==void 0&&(o=Xr):o===Xr?u[0]===">"?(o=i??Hi,p=-1):u[1]===void 0?p=-2:(p=o.lastIndex-u[2].length,c=u[1],o=u[3]===void 0?Xr:u[3]==='"'?Zf:qf):o===Zf||o===qf?o=Xr:o===Uf||o===zf?o=Hi:(o=Xr,i=void 0);let f=o===Xr&&r[a+1].startsWith("/>")?" ":"";s+=o===Hi?l+X0:p>=0?(n.push(c),l.slice(0,p)+Kf+l.slice(p)+br+f):l+br+(p===-2?a:f)}return[Jf(r,s+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]},Wi=class r{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0,a=e.length-1,l=this.parts,[c,u]=Q0(e,t);if(this.el=r.createElement(c,n),Jr.currentNode=this.el.content,t===2||t===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(i=Jr.nextNode())!==null&&l.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let p of i.getAttributeNames())if(p.endsWith(Kf)){let h=u[o++],f=i.getAttribute(p).split(br),v=/([.?@])?(.*)/.exec(h);l.push({type:1,index:s,name:v[2],strings:f,ctor:v[1]==="."?uc:v[1]==="?"?dc:v[1]==="@"?pc:Vn}),i.removeAttribute(p)}else p.startsWith(br)&&(l.push({type:6,index:s}),i.removeAttribute(p));if(Xf.test(i.tagName)){let p=i.textContent.split(br),h=p.length-1;if(h>0){i.textContent=Vo?Vo.emptyScript:"";for(let f=0;f<h;f++)i.append(p[f],Vi()),Jr.nextNode(),l.push({type:2,index:++s});i.append(p[h],Vi())}}}else if(i.nodeType===8)if(i.data===Yf)l.push({type:2,index:s});else{let p=-1;for(;(p=i.data.indexOf(br,p+1))!==-1;)l.push({type:7,index:s}),p+=br.length-1}s++}}static createElement(e,t){let n=Qr.createElement("template");return n.innerHTML=e,n}};function Bn(r,e,t=r,n){if(e===Tt)return e;let i=n!==void 0?t._$Co?.[n]:t._$Cl,s=ji(e)?void 0:e._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),s===void 0?i=void 0:(i=new s(r),i._$AT(r,t,n)),n!==void 0?(t._$Co??(t._$Co=[]))[n]=i:t._$Cl=i),i!==void 0&&(e=Bn(r,i._$AS(r,e.values),i,n)),e}var cc=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,i=(e?.creationScope??Qr).importNode(t,!0);Jr.currentNode=i;let s=Jr.nextNode(),o=0,a=0,l=n[0];for(;l!==void 0;){if(o===l.index){let c;l.type===2?c=new Ui(s,s.nextSibling,this,e):l.type===1?c=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(c=new hc(s,this,e)),this._$AV.push(c),l=n[++a]}o!==l?.index&&(s=Jr.nextNode(),o++)}return Jr.currentNode=Qr,i}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,t),t+=n.strings.length-2):n._$AI(e[t])),t++}},Ui=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,i){this.type=2,this._$AH=J,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Bn(this,e,t),ji(e)?e===J||e==null||e===""?(this._$AH!==J&&this._$AR(),this._$AH=J):e!==this._$AH&&e!==Tt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):J0(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==J&&ji(this._$AH)?this._$AA.nextSibling.data=e:this.T(Qr.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,i=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=Wi.createElement(Jf(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(t);else{let s=new cc(i,this),o=s.u(this.options);s.p(t),this.T(o),this._$AH=s}}_$AC(e){let t=Gf.get(e.strings);return t===void 0&&Gf.set(e.strings,t=new Wi(e)),t}k(e){fc(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,n,i=0;for(let s of e)i===t.length?t.push(n=new r(this.O(Vi()),this.O(Vi()),this,this.options)):n=t[i],n._$AI(s),i++;i<t.length&&(this._$AR(n&&n._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let n=jf(e).nextSibling;jf(e).remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Vn=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,i,s){this.type=1,this._$AH=J,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=s,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=J}_$AI(e,t=this,n,i){let s=this.strings,o=!1;if(s===void 0)e=Bn(this,e,t,0),o=!ji(e)||e!==this._$AH&&e!==Tt,o&&(this._$AH=e);else{let a=e,l,c;for(e=s[0],l=0;l<s.length-1;l++)c=Bn(this,a[n+l],t,l),c===Tt&&(c=this._$AH[l]),o||(o=!ji(c)||c!==this._$AH[l]),c===J?e=J:e!==J&&(e+=(c??"")+s[l+1]),this._$AH[l]=c}o&&!i&&this.j(e)}j(e){e===J?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},uc=class extends Vn{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===J?void 0:e}},dc=class extends Vn{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==J)}},pc=class extends Vn{constructor(e,t,n,i,s){super(e,t,n,i,s),this.type=5}_$AI(e,t=this){if((e=Bn(this,e,t,0)??J)===Tt)return;let n=this._$AH,i=e===J&&n!==J||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,s=e!==J&&(n===J||i);i&&this.element.removeEventListener(this.name,this,n),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},hc=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){Bn(this,e)}};var ex=Bi.litHtmlPolyfillSupport;ex?.(Wi,Ui),(Bi.litHtmlVersions??(Bi.litHtmlVersions=[])).push("3.3.2");var Qf=(r,e,t)=>{let n=t?.renderBefore??e,i=n._$litPart$;if(i===void 0){let s=t?.renderBefore??null;n._$litPart$=i=new Ui(e.insertBefore(Vi(),s),s,void 0,t??{})}return i._$AI(r),i};var zi=globalThis,he=class extends Yt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;let e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Qf(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Tt}};he._$litElement$=!0,he.finalized=!0,zi.litElementHydrateSupport?.({LitElement:he});var tx=zi.litElementPolyfillSupport;tx?.({LitElement:he});(zi.litElementVersions??(zi.litElementVersions=[])).push("4.2.2");var jo={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Wo=r=>(...e)=>({_$litDirective$:r,values:e}),jn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var eg="important",rx=" !"+eg,I=Wo(class extends jn{constructor(r){if(super(r),r.type!==jo.ATTRIBUTE||r.name!=="style"||r.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(r){return Object.keys(r).reduce((e,t)=>{let n=r[t];return n==null?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`},"")}update(r,[e]){let{style:t}=r.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(let n of this.ft)e[n]==null&&(this.ft.delete(n),n.includes("-")?t.removeProperty(n):t[n]=null);for(let n in e){let i=e[n];if(i!=null){this.ft.add(n);let s=typeof i=="string"&&i.endsWith(rx);n.includes("-")||s?t.setProperty(n,s?i.slice(0,-11):i,s?eg:""):t[n]=i}}return Tt}});var xr=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},Le=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},qi,Zi,Wn,Xt,Gi,Uo,Un,tg="#1969fe",nx="#24ad32",ix="#0e1114",mc="#677384",sx="#a8afba",rg="#f6f7f9",ox="#ffffff";function ng(r){let e=document.createElement("div");e.setAttribute("data-testid","workflow-toast"),Object.assign(e.style,{position:"fixed",bottom:"16px",right:"16px",zIndex:"2147483646",padding:"12px 16px",borderRadius:"8px",backgroundColor:`var(--se-color-bg-surface, ${ox})`,color:`var(--se-color-text-primary, ${ix})`,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"320px",fontFamily:"var(--se-font-family, system-ui, sans-serif)",fontSize:"14px",lineHeight:"1.4",transition:"opacity 0.3s ease"});let t=document.createElement("div");if(t.style.fontWeight="600",t.textContent=r.title,e.appendChild(t),r.body){let s=document.createElement("div");s.style.marginTop="4px",s.style.fontSize="13px",s.style.color="var(--se-color-text-secondary, #666)",s.textContent=r.body,e.appendChild(s)}document.body.appendChild(e);let n,i=setTimeout(()=>{e.style.opacity="0",n=setTimeout(()=>{e.remove()},300)},4e3);return()=>{clearTimeout(i),clearTimeout(n),e.remove()}}function ax(r){let e=new Map;for(let t of r){let n=t.action;if(n.kind==="overlays:tour"&&n.workflow&&n.tourId){let i=n.workflow,o=(n.steps||[]).map(a=>({id:a.id,title:i.stepTitles?.[a.id]||a.id}));e.set(n.tourId,{meta:i,steps:o})}}return e}var zn="syntro-workflow-tracker",Ki=class extends he{constructor(){super(...arguments),this.runtimeRef=null,this._workflowEntries=[],this._actionVersion=0,qi.set(this,null),Zi.set(this,null),Wn.set(this,[]),Xt.set(this,new Set),Gi.set(this,{}),Uo.set(this,!1),Un.set(this,new Map)}createRenderRoot(){return this}get _stateNs(){return this.runtimeRef?.state?.user?.ns?.("workflows")??null}_rescanWorkflows(){let e=this.runtimeRef?.actions?.getActive?.()??[],t=ax(e);if(xr(this,Un,t,"f"),t.size===0)return;let n=this._stateNs,i=n?.get("dismissed")??[],s=n?.get("completed")??{};this._workflowEntries=(()=>{let o=new Set(this._workflowEntries.map(l=>l.tourId)),a=[];for(let[l,{meta:c,steps:u}]of t){if(o.has(l))continue;let p="active";i.includes(l)?p="dismissed":s[l]&&(p="completed"),a.push({tourId:l,meta:c,steps:u,currentStepId:null,completedSteps:[],status:p,completedAt:s[l]||void 0})}return a.length>0?[...this._workflowEntries,...a]:this._workflowEntries})();for(let[o,{meta:a}]of t){let l=n?.get("dismissed")??[],c=n?.get("completed")??{};if(!Le(this,Xt,"f").has(o)&&a.notification&&!l.includes(o)&&!c[o]){Le(this,Xt,"f").add(o),n?.set("notified",[...Le(this,Xt,"f")]);let u=ng(a.notification);Le(this,Wn,"f").push(u)}}}connectedCallback(){super.connectedCallback(),this._initSubscriptions()}disconnectedCallback(){super.disconnectedCallback(),this._teardownSubscriptions();for(let e of Le(this,Wn,"f"))e();xr(this,Wn,[],"f")}updated(e){e.has("runtimeRef")&&(this._teardownSubscriptions(),this._initSubscriptions()),e.has("_actionVersion")&&this._rescanWorkflows()}_initSubscriptions(){if(this.runtimeRef?.events?.subscribe){if(!Le(this,Uo,"f")&&this._stateNs){let e=this._stateNs.get("notified")??[];for(let n of e)Le(this,Xt,"f").add(n);let t=this._stateNs.get("completed")??{};xr(this,Gi,{...t},"f"),xr(this,Uo,!0,"f")}xr(this,qi,this.runtimeRef.events.subscribe({names:["tour.started","tour.resumed"]},()=>{this._actionVersion+=1}),"f"),xr(this,Zi,this.runtimeRef.events.subscribe({patterns:["^tour\\."]},e=>{this._handleTourEvent(e)}),"f"),this._rescanWorkflows()}}_teardownSubscriptions(){Le(this,qi,"f")?.call(this),xr(this,qi,null,"f"),Le(this,Zi,"f")?.call(this),xr(this,Zi,null,"f")}_handleTourEvent(e){let t=e.props?.tourId;if(!t)return;if(!Le(this,Un,"f").has(t)&&e.name==="tour.started"){this._actionVersion+=1;return}if(!Le(this,Un,"f").has(t))return;let n=this._stateNs;this._workflowEntries=this._workflowEntries.map(i=>{if(i.tourId!==t)return i;switch(e.name){case"tour.started":{let s=e.props?.startStepId||i.steps[0]?.id||null;if(!Le(this,Xt,"f").has(t)){Le(this,Xt,"f").add(t),n?.set("notified",[...Le(this,Xt,"f")]);let a=Le(this,Un,"f").get(t);if(a?.meta.notification){let l=ng(a.meta.notification);Le(this,Wn,"f").push(l)}}let o=this._workflowEntries.filter(a=>a.status==="active"||a.tourId===t).map(a=>a.tourId);return o.includes(t)||o.push(t),n?.set("active",[...new Set(o)]),{...i,status:"active",currentStepId:s,completedSteps:i.status==="active"?i.completedSteps:[]}}case"tour.step_started":{let s=e.props?.stepId;return{...i,currentStepId:s||i.currentStepId}}case"tour.step_changed":{let s=e.props?.previousStepId,o=e.props?.nextStepId,a=s&&!i.completedSteps.includes(s)?[...i.completedSteps,s]:i.completedSteps;return{...i,currentStepId:o||i.currentStepId,completedSteps:a}}case"tour.completed":{let s=Date.now();return Le(this,Gi,"f")[t]=s,n?.set("completed",{...Le(this,Gi,"f")}),{...i,status:"completed",currentStepId:null,completedSteps:i.steps.map(o=>o.id),completedAt:s}}case"tour.paused":return i;default:return i}})}_handleStepClick(e,t){this.runtimeRef?.events?.publish("workflow:jump_to_step",{tourId:e,stepId:t}),this.dispatchEvent(new CustomEvent("workflow-step-click",{bubbles:!0,detail:{tourId:e,stepId:t}}))}_handleDismiss(e){this._workflowEntries=this._workflowEntries.map(n=>n.tourId===e?{...n,status:"dismissed"}:n);let t=this._workflowEntries.filter(n=>n.status==="dismissed").map(n=>n.tourId);this._stateNs?.set("dismissed",t),this.dispatchEvent(new CustomEvent("workflow-dismissed",{bubbles:!0,detail:{tourId:e}}))}_renderProgressBar(e,t){let n=t>0?Math.round(e/t*100):0,i={width:"100%",height:"6px",borderRadius:"9999px",background:"rgba(255,255,255,0.08)",overflow:"hidden"},s={height:"100%",borderRadius:"9999px",background:`var(--se-color-primary, ${tg})`,transition:"width 0.3s ease",width:`${n}%`};return j`
57
57
  <div style=${I(i)}>
58
58
  <div
59
59
  role="progressbar"
@@ -63,7 +63,7 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
63
63
  style=${I(s)}
64
64
  ></div>
65
65
  </div>
66
- `}_renderStepItem(e,t,n,i){let s={display:"flex",alignItems:"center",gap:"8px",width:"100%",padding:"6px 8px",borderRadius:"4px",border:"none",background:"transparent",cursor:"pointer",textAlign:"left",fontSize:"12px",lineHeight:"1.4",color:n?`var(--se-color-text-primary, ${tg})`:`var(--se-color-text-secondary, ${nx})`,fontWeight:n?"600":"400"},o={flexShrink:"0",width:"16px",textAlign:"center"},a={display:"inline-block",width:"6px",height:"6px",borderRadius:"50%",background:n?`var(--se-color-primary, ${eg})`:"rgba(255,255,255,0.12)"},l={color:`var(--se-color-success, ${tx})`},c={flex:"1",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},u=t?j`<span role="img" aria-label="completed" style=${I(l)}>&#10003;</span>`:n?j`<span style=${I(a)}></span>`:j`<span style=${I(a)}></span>`;return j`
66
+ `}_renderStepItem(e,t,n,i){let s={display:"flex",alignItems:"center",gap:"8px",width:"100%",padding:"6px 8px",borderRadius:"4px",border:"none",background:"transparent",cursor:"pointer",textAlign:"left",fontSize:"12px",lineHeight:"1.4",color:n?`var(--se-color-text-primary, ${rg})`:`var(--se-color-text-secondary, ${sx})`,fontWeight:n?"600":"400"},o={flexShrink:"0",width:"16px",textAlign:"center"},a={display:"inline-block",width:"6px",height:"6px",borderRadius:"50%",background:n?`var(--se-color-primary, ${tg})`:"rgba(255,255,255,0.12)"},l={color:`var(--se-color-success, ${nx})`},c={flex:"1",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},u=t?j`<span role="img" aria-label="completed" style=${I(l)}>&#10003;</span>`:n?j`<span style=${I(a)}></span>`:j`<span style=${I(a)}></span>`;return j`
67
67
  <button
68
68
  type="button"
69
69
  data-testid=${`step-${e.id}`}
@@ -76,7 +76,7 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
76
76
  <span style=${I(o)}>${u}</span>
77
77
  <span style=${I(c)}>${e.title}</span>
78
78
  </button>
79
- `}_renderWorkflowCard(e){let t=e.completedSteps.length,n=e.steps.length,i={padding:"12px",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.02)"},s={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},o={flex:"1",fontSize:"13px",fontWeight:"600",color:`var(--se-color-text-primary, ${tg})`,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},a={flexShrink:"0",padding:"2px 6px",border:"none",borderRadius:"4px",background:"transparent",color:`var(--se-color-text-tertiary, ${gc})`,fontSize:"12px",cursor:"pointer",lineHeight:"1"},l={marginBottom:"8px"},c={fontSize:"10px",color:`var(--se-color-text-tertiary, ${gc})`,marginTop:"4px"},u={display:"flex",flexDirection:"column"};return j`
79
+ `}_renderWorkflowCard(e){let t=e.completedSteps.length,n=e.steps.length,i={padding:"12px",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.02)"},s={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},o={flex:"1",fontSize:"13px",fontWeight:"600",color:`var(--se-color-text-primary, ${rg})`,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},a={flexShrink:"0",padding:"2px 6px",border:"none",borderRadius:"4px",background:"transparent",color:`var(--se-color-text-tertiary, ${mc})`,fontSize:"12px",cursor:"pointer",lineHeight:"1"},l={marginBottom:"8px"},c={fontSize:"10px",color:`var(--se-color-text-tertiary, ${mc})`,marginTop:"4px"},u={display:"flex",flexDirection:"column"};return j`
80
80
  <div style=${I(i)}>
81
81
  <!-- Header: icon + title + dismiss -->
82
82
  <div style=${I(s)}>
@@ -104,11 +104,11 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
104
104
  ${e.steps.map(p=>this._renderStepItem(p,e.completedSteps.includes(p.id),e.currentStepId===p.id,e.tourId))}
105
105
  </div>
106
106
  </div>
107
- `}render(){let e=this._workflowEntries.filter(n=>n.status==="active");if(e.length===0){let n={display:"flex",alignItems:"center",justifyContent:"center",padding:"24px 0",fontSize:"12px",color:`var(--se-color-text-tertiary, ${gc})`};return j`<div style=${I(n)}>No active workflows</div>`}return j`
107
+ `}render(){let e=this._workflowEntries.filter(n=>n.status==="active");if(e.length===0){let n={display:"flex",alignItems:"center",justifyContent:"center",padding:"24px 0",fontSize:"12px",color:`var(--se-color-text-tertiary, ${mc})`};return j`<div style=${I(n)}>No active workflows</div>`}return j`
108
108
  <div style=${I({display:"flex",flexDirection:"column",gap:"8px"})}>
109
109
  ${e.map(n=>this._renderWorkflowCard(n))}
110
110
  </div>
111
- `}};zi=new WeakMap,qi=new WeakMap,jn=new WeakMap,Xt=new WeakMap,Zi=new WeakMap,Wo=new WeakMap,Wn=new WeakMap;Gi.properties={runtimeRef:{attribute:!1},_workflowEntries:{state:!0},_actionVersion:{state:!0}};typeof window<"u"&&!customElements.get(Un)&&customElements.define(Un,Gi);var ng={mount(r,e){let t=e?.runtime??null;typeof window<"u"&&!customElements.get(Un)&&customElements.define(Un,Gi);let n=document.createElement(Un);return n.runtimeRef=t,r.appendChild(n),()=>{n.remove()}},update(r,e){let t=r.querySelector(Un);if(!t)return;let n=e?.runtime??null;t.runtimeRef=n}};var ig=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};if(t.getAttribute("data-syntro-highlight-dismissed"))return{cleanup:()=>{}};t.getAttribute("data-syntro-highlight")&&e.overlayRoot.querySelectorAll(".syntro-spotlight-scrim, .syntro-spotlight-ring").forEach(a=>a.remove()),t.setAttribute("data-syntro-highlight","true");let i=r.style?.color;if(!i)try{let o=getComputedStyle(e.overlayRoot).getPropertyValue("--sc-color-primary")?.trim();o&&(i=o)}catch{}let s=ef(t,e.overlayRoot,{paddingPx:r.style?.paddingPx??12,radiusPx:r.style?.radiusPx??12,scrimOpacity:r.style?.scrimOpacity??.55,ringColor:i,blocking:r.blocking??!1,onClickOutside:r.onClickOutside??!0,onEsc:r.onEsc??!0,onDismiss:()=>{t.setAttribute("data-syntro-highlight-dismissed","true")}});return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:highlight",anchorId:r.anchorId}),{cleanup:()=>{s.destroy(),t.removeAttribute("data-syntro-highlight"),t.removeAttribute("data-syntro-highlight-dismissed")}}},sg=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=r.duration??4e3;await new Promise(m=>requestAnimationFrame(m));let i=m=>({r:parseInt(m.slice(1,3),16),g:parseInt(m.slice(3,5),16),b:parseInt(m.slice(5,7),16)}),o={r:79,g:70,b:229},a=null;try{let m=getComputedStyle(e.overlayRoot),g=m.getPropertyValue("--sc-color-primary")?.trim(),y=m.getPropertyValue("--sc-color-primary-hover")?.trim();g?.startsWith("#")&&g.length>=7&&(o=i(g)),y?.startsWith("#")&&y.length>=7&&(a=i(y))}catch{}let l=document.querySelector("[data-syntro-pulse-styles]");l&&l.remove();let c=document.createElement("style");c.setAttribute("data-syntro-pulse-styles","");let{r:u,g:p,b:h}=o;if(a){let{r:m,g,b:y}=a;c.textContent=`
111
+ `}};qi=new WeakMap,Zi=new WeakMap,Wn=new WeakMap,Xt=new WeakMap,Gi=new WeakMap,Uo=new WeakMap,Un=new WeakMap;Ki.properties={runtimeRef:{attribute:!1},_workflowEntries:{state:!0},_actionVersion:{state:!0}};typeof window<"u"&&!customElements.get(zn)&&customElements.define(zn,Ki);var ig={mount(r,e){let t=e?.runtime??null;typeof window<"u"&&!customElements.get(zn)&&customElements.define(zn,Ki);let n=document.createElement(zn);return n.runtimeRef=t,r.appendChild(n),()=>{n.remove()}},update(r,e){let t=r.querySelector(zn);if(!t)return;let n=e?.runtime??null;t.runtimeRef=n}};var sg=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};if(t.getAttribute("data-syntro-highlight-dismissed"))return{cleanup:()=>{}};t.getAttribute("data-syntro-highlight")&&e.overlayRoot.querySelectorAll(".syntro-spotlight-scrim, .syntro-spotlight-ring").forEach(a=>a.remove()),t.setAttribute("data-syntro-highlight","true");let i=r.style?.color;if(!i)try{let o=getComputedStyle(e.overlayRoot).getPropertyValue("--sc-color-primary")?.trim();o&&(i=o)}catch{}let s=tf(t,e.overlayRoot,{paddingPx:r.style?.paddingPx??12,radiusPx:r.style?.radiusPx??12,scrimOpacity:r.style?.scrimOpacity??.55,ringColor:i,blocking:r.blocking??!1,onClickOutside:r.onClickOutside??!0,onEsc:r.onEsc??!0,onDismiss:()=>{t.setAttribute("data-syntro-highlight-dismissed","true")}});return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:highlight",anchorId:r.anchorId}),{cleanup:()=>{s.destroy(),t.removeAttribute("data-syntro-highlight"),t.removeAttribute("data-syntro-highlight-dismissed")}}},og=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n=r.duration??4e3;await new Promise(m=>requestAnimationFrame(m));let i=m=>({r:parseInt(m.slice(1,3),16),g:parseInt(m.slice(3,5),16),b:parseInt(m.slice(5,7),16)}),o={r:79,g:70,b:229},a=null;try{let m=getComputedStyle(e.overlayRoot),g=m.getPropertyValue("--sc-color-primary")?.trim(),y=m.getPropertyValue("--sc-color-primary-hover")?.trim();g?.startsWith("#")&&g.length>=7&&(o=i(g)),y?.startsWith("#")&&y.length>=7&&(a=i(y))}catch{}let l=document.querySelector("[data-syntro-pulse-styles]");l&&l.remove();let c=document.createElement("style");c.setAttribute("data-syntro-pulse-styles","");let{r:u,g:p,b:h}=o;if(a){let{r:m,g,b:y}=a;c.textContent=`
112
112
  @keyframes syntro-pulse-anim {
113
113
  0%, 100% {
114
114
  box-shadow: 0 0 0 0 rgba(${u}, ${p}, ${h}, 0.35);
@@ -132,7 +132,7 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
132
132
  box-shadow: 0 0 0 12px rgba(${u}, ${p}, ${h}, 0);
133
133
  }
134
134
  }
135
- `;document.head.appendChild(c);let f=t.style.animation;t.style.animation="syntro-pulse-anim 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite",t.setAttribute("data-syntro-pulse","true");let v=setTimeout(()=>{t.style.animation=f,t.removeAttribute("data-syntro-pulse")},n);return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:pulse",anchorId:r.anchorId,duration:n}),{cleanup:()=>{clearTimeout(v),t.isConnected&&(t.style.animation=f,t.removeAttribute("data-syntro-pulse"))}}},og=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n="#4f46e5";try{let a=getComputedStyle(e.overlayRoot).getPropertyValue("--sc-color-primary")?.trim();a?.startsWith("#")&&a.length>=7&&(n=a)}catch{}let i=document.createElement("div");i.textContent=r.content,i.setAttribute("data-syntro-badge",r.anchorId.selector),Object.assign(i.style,{position:"absolute",padding:"2px 6px",fontSize:"12px",fontWeight:"600",lineHeight:"1",color:"white",background:n,borderRadius:"9999px",pointerEvents:"none",zIndex:"2147483646",whiteSpace:"nowrap"});let s=r.position??"top-right",o=t.style.position;switch(getComputedStyle(t).position==="static"&&(t.style.position="relative"),t.appendChild(i),s){case"top-left":Object.assign(i.style,{top:"-8px",left:"-8px"});break;case"top-right":Object.assign(i.style,{top:"-8px",right:"-8px"});break;case"bottom-left":Object.assign(i.style,{bottom:"-8px",left:"-8px"});break;case"bottom-right":Object.assign(i.style,{bottom:"-8px",right:"-8px"});break}return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:badge",anchorId:r.anchorId,content:r.content,position:s}),{cleanup:()=>{try{i.remove()}catch{}t.isConnected&&o!==void 0&&(t.style.position=o)},updateFn:a=>{"content"in a&&typeof a.content=="string"&&(i.textContent=a.content)}}},ag=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let{content:n}=r,i="";if(n.title&&(i+=`<div class="syntro-tt-title">${lt(n.title)}</div>`),i+=`<div class="syntro-tt-body">${lt(n.body)}</div>`,n.ctaButtons&&n.ctaButtons.length>0){i+='<div class="syntro-tt-actions">';for(let o of n.ctaButtons){let a=o.primary??!1;i+=`
135
+ `;document.head.appendChild(c);let f=t.style.animation;t.style.animation="syntro-pulse-anim 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite",t.setAttribute("data-syntro-pulse","true");let v=setTimeout(()=>{t.style.animation=f,t.removeAttribute("data-syntro-pulse")},n);return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:pulse",anchorId:r.anchorId,duration:n}),{cleanup:()=>{clearTimeout(v),t.isConnected&&(t.style.animation=f,t.removeAttribute("data-syntro-pulse"))}}},ag=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let n="#4f46e5";try{let a=getComputedStyle(e.overlayRoot).getPropertyValue("--sc-color-primary")?.trim();a?.startsWith("#")&&a.length>=7&&(n=a)}catch{}let i=document.createElement("div");i.textContent=r.content,i.setAttribute("data-syntro-badge",r.anchorId.selector),Object.assign(i.style,{position:"absolute",padding:"2px 6px",fontSize:"12px",fontWeight:"600",lineHeight:"1",color:"white",background:n,borderRadius:"9999px",pointerEvents:"none",zIndex:"2147483646",whiteSpace:"nowrap"});let s=r.position??"top-right",o=t.style.position;switch(getComputedStyle(t).position==="static"&&(t.style.position="relative"),t.appendChild(i),s){case"top-left":Object.assign(i.style,{top:"-8px",left:"-8px"});break;case"top-right":Object.assign(i.style,{top:"-8px",right:"-8px"});break;case"bottom-left":Object.assign(i.style,{bottom:"-8px",left:"-8px"});break;case"bottom-right":Object.assign(i.style,{bottom:"-8px",right:"-8px"});break}return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:badge",anchorId:r.anchorId,content:r.content,position:s}),{cleanup:()=>{try{i.remove()}catch{}t.isConnected&&o!==void 0&&(t.style.position=o)},updateFn:a=>{"content"in a&&typeof a.content=="string"&&(i.textContent=a.content)}}},lg=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);if(!t&&e.waitForAnchor&&(t=await e.waitForAnchor(r.anchorId,3e3)),!t)return console.warn(`[adaptive-overlays] Anchor not found after waiting: ${r.anchorId.selector}`),{cleanup:()=>{}};let{content:n}=r,i="";if(n.title&&(i+=`<div class="syntro-tt-title">${lt(n.title)}</div>`),i+=`<div class="syntro-tt-body">${lt(n.body)}</div>`,n.ctaButtons&&n.ctaButtons.length>0){i+='<div class="syntro-tt-actions">';for(let o of n.ctaButtons){let a=o.primary??!1;i+=`
136
136
  <button
137
137
  class="syntro-tt-btn ${a?"syntro-tt-btn-primary":""}"
138
138
  data-syntro-action="${lt(o.actionId)}"
@@ -143,12 +143,12 @@ var Fh=Object.defineProperty;var Dh=r=>{throw TypeError(r)};var zb=(r,e,t)=>e in
143
143
  <button class="syntro-tt-btn syntro-tt-btn-primary" data-syntro-action="cta">
144
144
  ${lt(n.cta.label)}
145
145
  </button>
146
- </div>`);let s=Pf(t,e.overlayRoot,{html:i,placement:r.placement??"top",trigger:r.trigger??"immediate",onAction:o=>{if(o==="dismiss"){s.destroy();return}if(o==="cta"&&n.cta)e.publishEvent("action.cta_clicked",{anchorId:r.anchorId,ctaLabel:n.cta.label});else if(n.ctaButtons){let a=n.ctaButtons.find(l=>l.actionId===o);a&&e.publishEvent("action.tooltip_cta_clicked",{anchorId:r.anchorId,actionId:o,label:a.label})}s.destroy()}});return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:tooltip",anchorId:r.anchorId,trigger:r.trigger??"immediate"}),{cleanup:()=>{s.destroy()}}},mc=[{kind:"overlays:highlight",executor:ig},{kind:"overlays:pulse",executor:sg},{kind:"overlays:badge",executor:og},{kind:"overlays:tooltip",executor:ag},{kind:"overlays:modal",executor:Ql},{kind:"overlays:tour",executor:Xl},{kind:"overlays:celebrate",executor:Jh}],vc={id:"adaptive-overlays",version:"1.0.0",name:"Overlays",description:"Tooltips, highlights, badges, modals, celebrations, visual overlays, and workflow tracking",executors:mc,widgets:[{id:"adaptive-overlays:workflow-tracker",component:ng,metadata:{name:"Workflow Tracker",icon:"\u{1F4CB}",description:"Tracks multi-step workflow progress across tours"}}]};function yc(r){let{appId:e,runtime:t,isBuiltIn:n=!1}=r,i=`app:${e}:`,s=[],o=[],a=t.state.ns(`app:${e}`);return{appId:e,state:{get:c=>a.get(c),set:(c,u)=>a.set(c,u),remove:c=>a.remove(c)},telemetry:t.telemetry?{emit:(c,u)=>{t.events.publish(c,{...u,_appId:e})},getSessionId:()=>t.telemetry?.getSessionId?.()}:void 0,surfaces:{mount:(c,u,p)=>{let h=t.surfaces.mount(c,u,{...p,adaptiveId:e});return{unmount:()=>h.unmount(),update:f=>h.update(f)}},canMount:(c,u)=>t.surfaces.canMount(c,u)},events:{subscribe:c=>t.events.subscribe(u=>{c(u)}),publish:(c,u)=>{t.events.publish(c,{...u,_appId:e})}},registerAction:c=>{t.executors.register(c.kind,c.executor,c.schema,e,n),s.push(c.kind)},registerWidget:c=>{t.widgets.register(c.id,c.component,e,c.metadata),o.push(c.id)}}}function _c(r,e){e.executors.unregisterBySource(r),e.widgets.unregisterBySource(r)}var ox=new Set(["overlays:highlight","overlays:pulse","overlays:badge","overlays:tooltip","overlays:modal","content:insertHtml","content:setText","content:setAttr","content:addClass","content:removeClass","content:setStyle","core:mountWidget","core:wait","core:sequence","core:parallel","overlays:tour"]),ax=new Set(["adaptive-content","adaptive-faq","adaptive-gamification","adaptive-nav","adaptive-overlays"]),lx={faq:"adaptive-faq",nav:"adaptive-nav",gamification:"adaptive-gamification",overlays:"adaptive-overlays",content:"adaptive-content"};function lg(r){return lx[r]??r}function cg(r){return ox.has(r)}function ug(r){if(cg(r))return null;let e=r.indexOf(":");return e===-1?null:lg(r.slice(0,e))}function bc(r){let e=r.indexOf(":");return e===-1?null:lg(r.slice(0,e))}function xc(r){let{cdnBase:e,registry:t,timeout:n=1e4,onLoadStart:i,onLoadEnd:s}=r,o=new Map,a=new Set,l=new Map;function c(m){return`${e}/adaptives/${m}/index.js`}async function u(m){if(t.has(m))return{appId:m,success:!0,manifest:t.get(m)?.manifest};if(l.has(m))return l.get(m);if(o.has(m))return o.get(m);let g=(async()=>{i?.(m);try{let y=c(m);if(a.has(y)){let w=t.get(m);if(w)return s?.(m,!0),{appId:m,success:!0,manifest:w.manifest}}let x=new Promise((w,R)=>{setTimeout(()=>R(new Error(`Timeout loading app: ${m}`)),n)}),k=p(y,m);await Promise.race([k,x]),a.add(y);let _=t.get(m);if(!_)throw new Error(`App ${m} did not register after loading`);return s?.(m,!0),{appId:m,success:!0,manifest:_.manifest}}catch(y){let x=y instanceof Error?y.message:String(y);s?.(m,!1,x);let k={appId:m,success:!1,error:x};return l.set(m,k),k}finally{o.delete(m)}})();return o.set(m,g),g}async function p(m,g){if(typeof window<"u"){try{let y=await import(m);y.manifest?t.register(y.manifest):y.default?.manifest?t.register(y.default.manifest):y.default&&t.register(y.default);return}catch{}return new Promise((y,x)=>{let k=document.createElement("script");k.src=m,k.async=!0,k.onload=()=>{t.get(g)?y():x(new Error(`App ${g} did not self-register`))},k.onerror=()=>{x(new Error(`Failed to load app script: ${m}`))},document.head.appendChild(k)})}throw new Error("Dynamic app loading not supported in SSR")}function h(m){let g=new Set;if(m.apps)for(let y of m.apps)g.add(y);if(m.actions)for(let y of m.actions){let x=ug(y.kind);if(x&&g.add(x),y.kind==="core:mountWidget"){let k=y.widget?.widgetId;if(k){let _=bc(k);_&&g.add(_)}}}if(m.tiles){for(let y of m.tiles)if(y.widget){let x=bc(y.widget);x&&g.add(x)}}for(let y of ax)g.delete(y);return Array.from(g)}async function f(m){let g=h(m);return g.length===0?[]:await Promise.all(g.map(x=>u(x)))}async function v(m){return Promise.all(m.map(g=>u(g)))}return{loadApp:u,loadAppsForConfig:f,preloadApps:v,getRequiredApps:h,getAppUrl:c}}var Ki=class{constructor(){this.apps=new Map;this.eventListeners=new Set;this.runtime=null}bind(e){this.runtime=e}async unbind(){for(let[e,t]of this.apps)t.state==="active"&&await this.deactivate(e);this.runtime=null}register(e){if(!e.id||typeof e.id!="string")throw new Error("App manifest must have an 'id' property");if(!e.version||typeof e.version!="string")throw new Error("App manifest must have a 'version' property");if(!e.name||typeof e.name!="string")throw new Error("App manifest must have a 'name' property");if(this.apps.has(e.id)){if(this.apps.get(e.id).state==="active")throw new Error(`Cannot re-register active app: ${e.id}`);console.warn(`[AppRegistry] Overriding existing app registration: ${e.id}`)}let t={manifest:e,state:"registered",registeredAt:Date.now()};return this.apps.set(e.id,t),this.emit({type:"app:registered",appId:e.id,manifest:e}),t}async activate(e){let t=this.apps.get(e);if(!t)throw new Error(`App not registered: ${e}`);if(t.state==="active"||t.state==="activating"){console.warn(`[AppRegistry] App already ${t.state}: ${e}`);return}if(!this.runtime)throw new Error("AppRegistry not bound to a runtime. Call bind() first.");if(t.manifest.dependencies)for(let n of t.manifest.dependencies){let i=this.apps.get(n);if(!i||i.state!=="active")throw new Error(`App ${e} depends on ${n}, which is not active`)}t.state="activating";try{let n=t.manifest.metadata?.isBuiltIn===!0,i=yc({appId:e,runtime:this.runtime,isBuiltIn:n}),{runtime:s}=t.manifest,o=[];if(s){if(s.actions)for(let a of s.actions)i.registerAction(a);if(s.widgets)for(let a of s.widgets)i.registerWidget(a);if(s.events)for(let a of s.events){let l=this.runtime.events.subscribe(c=>{if(a.names.includes(c.name)){let u={appId:e,state:i.state,telemetry:i.telemetry,surfaces:i.surfaces};try{a.handler(c,u)}catch(p){console.error(`[AppRegistry] Event handler error in ${e}:`,p)}}});o.push(l)}}t.cleanup=async()=>{for(let a of o)try{await a()}catch(l){console.error(`[AppRegistry] Cleanup error in ${e}:`,l)}_c(e,this.runtime)},t.state="active",t.activatedAt=Date.now(),this.emit({type:"app:activated",appId:e})}catch(n){throw t.state="error",t.error=String(n),this.emit({type:"app:error",appId:e,error:String(n)}),n}}async deactivate(e){let t=this.apps.get(e);if(!t)throw new Error(`App not registered: ${e}`);if(t.state!=="active"){console.warn(`[AppRegistry] App not active: ${e}`);return}for(let[n,i]of this.apps)if(i.state==="active"&&i.manifest.dependencies?.includes(e))throw new Error(`Cannot deactivate ${e}: app ${n} depends on it`);t.state="deactivating";try{t.cleanup&&(await t.cleanup(),t.cleanup=void 0),t.state="inactive",this.emit({type:"app:deactivated",appId:e})}catch(n){throw t.state="error",t.error=String(n),this.emit({type:"app:error",appId:e,error:String(n)}),n}}async unregister(e){let t=this.apps.get(e);t&&(t.state==="active"&&await this.deactivate(e),this.apps.delete(e),this.emit({type:"app:unregistered",appId:e}))}get(e){return this.apps.get(e)}has(e){return this.apps.has(e)}isActive(e){return this.apps.get(e)?.state==="active"}list(){return Array.from(this.apps.values())}listActive(){return Array.from(this.apps.values()).filter(e=>e.state==="active")}listEditable(){return Array.from(this.apps.values()).filter(e=>e.manifest.editor!==void 0)}subscribe(e){return this.eventListeners.add(e),()=>{this.eventListeners.delete(e)}}emit(e){for(let t of this.eventListeners)try{t(e)}catch(n){console.error("[AppRegistry] Event listener error:",n)}}async destroy(){await this.unbind(),this.apps.clear(),this.eventListeners.clear()}},Yi=new Ki;function dg(r,e,t){if(e){let n=r.getState().items.find(i=>i.config.id===e);if(n)return n}if(t){let n=r.findByQuestion(t);if(n)return n}throw new Error("FAQ item not found")}async function cx(r,e,t){let n=dg(t,r.itemId,r.itemQuestion),{id:i}=n.config;r.expand!==!1&&t.expand(i);let s=document.querySelector(`[data-faq-item-id="${i}"]`);return s&&s.scrollIntoView({behavior:r.behavior??"smooth"}),e.publishEvent("faq:scroll_to",{itemId:i}),{cleanup:()=>{}}}async function ux(r,e,t){let n=dg(t,r.itemId,r.itemQuestion),{id:i}=n.config,s=r.state??"toggle",o;switch(s){case"open":t.expand(i),o="open";break;case"closed":t.collapse(i),o="closed";break;default:{let a=t.getState().expandedItems.has(i);t.toggle(i),o=a?"closed":"open";break}}return e.publishEvent("faq:toggle",{itemId:i,newState:o}),{cleanup:()=>{}}}async function dx(r,e,t){switch(r.operation){case"add":{let n=r.items??[],i=r.position==="prepend"?"prepend":"append";t.addItems(n,i);break}case"remove":{if(!r.itemId)throw new Error("FAQ item not found");if(!t.getState().items.some(i=>i.config.id===r.itemId))throw new Error("FAQ item not found");t.removeItem(r.itemId);break}case"reorder":{let n=r.order??[];t.reorderItems(n);break}case"replace":{let n=r.items??[];t.replaceItems(n);break}}return e.publishEvent("faq:update",{operation:r.operation}),{cleanup:()=>{}}}var pg=[{kind:"faq:scroll_to",executor:cx},{kind:"faq:toggle_item",executor:ux},{kind:"faq:update",executor:dx}];var Xi=class extends Vn{constructor(e){if(super(e),this.it=J,e.type!==Vo.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===J||e==null)return this._t=void 0,this.it=e;if(e===Tt)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Xi.directiveName="unsafeHTML",Xi.resultType=1;var Uo=jo(Xi);function Ec(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var rn=Ec();function _g(r){rn=r}var en={exec:()=>null};function de(r,e=""){let t=typeof r=="string"?r:r.source,n={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(Ye.caret,"$1"),t=t.replace(i,o),n},getRegex:()=>new RegExp(t,e)};return n}var px=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),Ye={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}>`)},hx=/^(?:[ \t]*(?:\n|$))+/,fx=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,gx=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ts=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,mx=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Cc=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,bg=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,xg=de(bg).replace(/bull/g,Cc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),vx=de(bg).replace(/bull/g,Cc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Ac=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,yx=/^[^\n]+/,Rc=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,_x=de(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Rc).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),bx=de(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Cc).getRegex(),Yo="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Tc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,xx=de("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Tc).replace("tag",Yo).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),wg=de(Ac).replace("hr",ts).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Yo).getRegex(),wx=de(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",wg).getRegex(),Ic={blockquote:wx,code:fx,def:_x,fences:gx,heading:mx,hr:ts,html:xx,lheading:xg,list:bx,newline:hx,paragraph:wg,table:en,text:yx},hg=de("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ts).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Yo).getRegex(),kx={...Ic,lheading:vx,table:hg,paragraph:de(Ac).replace("hr",ts).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",hg).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Yo).getRegex()},Sx={...Ic,html:de(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Tc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:en,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:de(Ac).replace("hr",ts).replace("heading",` *#{1,6} *[^
147
- ]`).replace("lheading",xg).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ex=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Cx=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,kg=/^( {2,}|\\)\n(?!\s*$)/,Ax=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Xo=/[\p{P}\p{S}]/u,$c=/[\s\p{P}\p{S}]/u,Sg=/[^\s\p{P}\p{S}]/u,Rx=de(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,$c).getRegex(),Eg=/(?!~)[\p{P}\p{S}]/u,Tx=/(?!~)[\s\p{P}\p{S}]/u,Ix=/(?:[^\s\p{P}\p{S}]|~)/u,Cg=/(?![*_])[\p{P}\p{S}]/u,$x=/(?![*_])[\s\p{P}\p{S}]/u,Mx=/(?:[^\s\p{P}\p{S}]|[*_])/u,Ox=de(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",px?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ag=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Px=de(Ag,"u").replace(/punct/g,Xo).getRegex(),Nx=de(Ag,"u").replace(/punct/g,Eg).getRegex(),Rg="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Lx=de(Rg,"gu").replace(/notPunctSpace/g,Sg).replace(/punctSpace/g,$c).replace(/punct/g,Xo).getRegex(),Fx=de(Rg,"gu").replace(/notPunctSpace/g,Ix).replace(/punctSpace/g,Tx).replace(/punct/g,Eg).getRegex(),Dx=de("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Sg).replace(/punctSpace/g,$c).replace(/punct/g,Xo).getRegex(),Hx=de(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Cg).getRegex(),Bx="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Vx=de(Bx,"gu").replace(/notPunctSpace/g,Mx).replace(/punctSpace/g,$x).replace(/punct/g,Cg).getRegex(),jx=de(/\\(punct)/,"gu").replace(/punct/g,Xo).getRegex(),Wx=de(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ux=de(Tc).replace("(?:-->|$)","-->").getRegex(),zx=de("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Ux).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Zo=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,qx=de(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Zo).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Tg=de(/^!?\[(label)\]\[(ref)\]/).replace("label",Zo).replace("ref",Rc).getRegex(),Ig=de(/^!?\[(ref)\](?:\[\])?/).replace("ref",Rc).getRegex(),Zx=de("reflink|nolink(?!\\()","g").replace("reflink",Tg).replace("nolink",Ig).getRegex(),fg=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Mc={_backpedal:en,anyPunctuation:jx,autolink:Wx,blockSkip:Ox,br:kg,code:Cx,del:en,delLDelim:en,delRDelim:en,emStrongLDelim:Px,emStrongRDelimAst:Lx,emStrongRDelimUnd:Dx,escape:Ex,link:qx,nolink:Ig,punctuation:Rx,reflink:Tg,reflinkSearch:Zx,tag:zx,text:Ax,url:en},Gx={...Mc,link:de(/^!?\[(label)\]\((.*?)\)/).replace("label",Zo).getRegex(),reflink:de(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Zo).getRegex()},wc={...Mc,emStrongRDelimAst:Fx,emStrongLDelim:Nx,delLDelim:Hx,delRDelim:Vx,url:de(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",fg).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:de(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",fg).getRegex()},Kx={...wc,br:de(kg).replace("{2,}","*").getRegex(),text:de(wc.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},zo={normal:Ic,gfm:kx,pedantic:Sx},Ji={normal:Mc,gfm:wc,breaks:Kx,pedantic:Gx},Yx={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},gg=r=>Yx[r];function Ft(r,e){if(e){if(Ye.escapeTest.test(r))return r.replace(Ye.escapeReplace,gg)}else if(Ye.escapeTestNoEncode.test(r))return r.replace(Ye.escapeReplaceNoEncode,gg);return r}function mg(r){try{r=encodeURI(r).replace(Ye.percentDecode,"%")}catch{return null}return r}function vg(r,e){let t=r.replace(Ye.findPipe,(s,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),n=t.split(Ye.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(Ye.slashPipe,"|");return n}function Qi(r,e,t){let n=r.length;if(n===0)return"";let i=0;for(;i<n;){let s=r.charAt(n-i-1);if(s===e&&!t)i++;else if(s!==e&&t)i++;else break}return r.slice(0,n-i)}function Xx(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===e[0])t++;else if(r[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function Jx(r,e=0){let t=e,n="";for(let i of r)if(i===" "){let s=4-t%4;n+=" ".repeat(s),t+=s}else n+=i,t++;return n}function yg(r,e,t,n,i){let s=e.href,o=e.title||null,a=r[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:r[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:o,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,l}function Qx(r,e,t){let n=r.match(t.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(`
146
+ </div>`);let s=Nf(t,e.overlayRoot,{html:i,placement:r.placement??"top",trigger:r.trigger??"immediate",onAction:o=>{if(o==="dismiss"){s.destroy();return}if(o==="cta"&&n.cta)e.publishEvent("action.cta_clicked",{anchorId:r.anchorId,ctaLabel:n.cta.label});else if(n.ctaButtons){let a=n.ctaButtons.find(l=>l.actionId===o);a&&e.publishEvent("action.tooltip_cta_clicked",{anchorId:r.anchorId,actionId:o,label:a.label})}s.destroy()}});return e.publishEvent("action.applied",{id:e.generateId(),kind:"overlays:tooltip",anchorId:r.anchorId,trigger:r.trigger??"immediate"}),{cleanup:()=>{s.destroy()}}},vc=[{kind:"overlays:highlight",executor:sg},{kind:"overlays:pulse",executor:og},{kind:"overlays:badge",executor:ag},{kind:"overlays:tooltip",executor:lg},{kind:"overlays:modal",executor:ec},{kind:"overlays:tour",executor:Jl},{kind:"overlays:celebrate",executor:Qh}],yc={id:"adaptive-overlays",version:"1.0.0",name:"Overlays",description:"Tooltips, highlights, badges, modals, celebrations, visual overlays, and workflow tracking",executors:vc,widgets:[{id:"adaptive-overlays:workflow-tracker",component:ig,metadata:{name:"Workflow Tracker",icon:"\u{1F4CB}",description:"Tracks multi-step workflow progress across tours"}}]};function _c(r){let{appId:e,runtime:t,isBuiltIn:n=!1}=r,i=`app:${e}:`,s=[],o=[],a=t.state.ns(`app:${e}`);return{appId:e,state:{get:c=>a.get(c),set:(c,u)=>a.set(c,u),remove:c=>a.remove(c)},telemetry:t.telemetry?{emit:(c,u)=>{t.events.publish(c,{...u,_appId:e})},getSessionId:()=>t.telemetry?.getSessionId?.()}:void 0,surfaces:{mount:(c,u,p)=>{let h=t.surfaces.mount(c,u,{...p,adaptiveId:e});return{unmount:()=>h.unmount(),update:f=>h.update(f)}},canMount:(c,u)=>t.surfaces.canMount(c,u)},events:{subscribe:c=>t.events.subscribe(u=>{c(u)}),publish:(c,u)=>{t.events.publish(c,{...u,_appId:e})}},registerAction:c=>{t.executors.register(c.kind,c.executor,c.schema,e,n),s.push(c.kind)},registerWidget:c=>{t.widgets.register(c.id,c.component,e,c.metadata),o.push(c.id)}}}function bc(r,e){e.executors.unregisterBySource(r),e.widgets.unregisterBySource(r)}var lx=new Set(["overlays:highlight","overlays:pulse","overlays:badge","overlays:tooltip","overlays:modal","content:insertHtml","content:setText","content:setAttr","content:addClass","content:removeClass","content:setStyle","core:mountWidget","core:wait","core:sequence","core:parallel","overlays:tour"]),cx=new Set(["adaptive-content","adaptive-faq","adaptive-gamification","adaptive-nav","adaptive-overlays"]),ux={faq:"adaptive-faq",nav:"adaptive-nav",gamification:"adaptive-gamification",overlays:"adaptive-overlays",content:"adaptive-content"};function cg(r){return ux[r]??r}function ug(r){return lx.has(r)}function dg(r){if(ug(r))return null;let e=r.indexOf(":");return e===-1?null:cg(r.slice(0,e))}function xc(r){let e=r.indexOf(":");return e===-1?null:cg(r.slice(0,e))}function wc(r){let{cdnBase:e,registry:t,timeout:n=1e4,onLoadStart:i,onLoadEnd:s}=r,o=new Map,a=new Set,l=new Map;function c(m){return`${e}/adaptives/${m}/index.js`}async function u(m){if(t.has(m))return{appId:m,success:!0,manifest:t.get(m)?.manifest};if(l.has(m))return l.get(m);if(o.has(m))return o.get(m);let g=(async()=>{i?.(m);try{let y=c(m);if(a.has(y)){let w=t.get(m);if(w)return s?.(m,!0),{appId:m,success:!0,manifest:w.manifest}}let x=new Promise((w,R)=>{setTimeout(()=>R(new Error(`Timeout loading app: ${m}`)),n)}),k=p(y,m);await Promise.race([k,x]),a.add(y);let _=t.get(m);if(!_)throw new Error(`App ${m} did not register after loading`);return s?.(m,!0),{appId:m,success:!0,manifest:_.manifest}}catch(y){let x=y instanceof Error?y.message:String(y);s?.(m,!1,x);let k={appId:m,success:!1,error:x};return l.set(m,k),k}finally{o.delete(m)}})();return o.set(m,g),g}async function p(m,g){if(typeof window<"u"){try{let y=await import(m);y.manifest?t.register(y.manifest):y.default?.manifest?t.register(y.default.manifest):y.default&&t.register(y.default);return}catch{}return new Promise((y,x)=>{let k=document.createElement("script");k.src=m,k.async=!0,k.onload=()=>{t.get(g)?y():x(new Error(`App ${g} did not self-register`))},k.onerror=()=>{x(new Error(`Failed to load app script: ${m}`))},document.head.appendChild(k)})}throw new Error("Dynamic app loading not supported in SSR")}function h(m){let g=new Set;if(m.apps)for(let y of m.apps)g.add(y);if(m.actions)for(let y of m.actions){let x=dg(y.kind);if(x&&g.add(x),y.kind==="core:mountWidget"){let k=y.widget?.widgetId;if(k){let _=xc(k);_&&g.add(_)}}}if(m.tiles){for(let y of m.tiles)if(y.widget){let x=xc(y.widget);x&&g.add(x)}}for(let y of cx)g.delete(y);return Array.from(g)}async function f(m){let g=h(m);return g.length===0?[]:await Promise.all(g.map(x=>u(x)))}async function v(m){return Promise.all(m.map(g=>u(g)))}return{loadApp:u,loadAppsForConfig:f,preloadApps:v,getRequiredApps:h,getAppUrl:c}}var Yi=class{constructor(){this.apps=new Map;this.eventListeners=new Set;this.runtime=null}bind(e){this.runtime=e}async unbind(){for(let[e,t]of this.apps)t.state==="active"&&await this.deactivate(e);this.runtime=null}register(e){if(!e.id||typeof e.id!="string")throw new Error("App manifest must have an 'id' property");if(!e.version||typeof e.version!="string")throw new Error("App manifest must have a 'version' property");if(!e.name||typeof e.name!="string")throw new Error("App manifest must have a 'name' property");if(this.apps.has(e.id)){if(this.apps.get(e.id).state==="active")throw new Error(`Cannot re-register active app: ${e.id}`);console.warn(`[AppRegistry] Overriding existing app registration: ${e.id}`)}let t={manifest:e,state:"registered",registeredAt:Date.now()};return this.apps.set(e.id,t),this.emit({type:"app:registered",appId:e.id,manifest:e}),t}async activate(e){let t=this.apps.get(e);if(!t)throw new Error(`App not registered: ${e}`);if(t.state==="active"||t.state==="activating"){console.warn(`[AppRegistry] App already ${t.state}: ${e}`);return}if(!this.runtime)throw new Error("AppRegistry not bound to a runtime. Call bind() first.");if(t.manifest.dependencies)for(let n of t.manifest.dependencies){let i=this.apps.get(n);if(!i||i.state!=="active")throw new Error(`App ${e} depends on ${n}, which is not active`)}t.state="activating";try{let n=t.manifest.metadata?.isBuiltIn===!0,i=_c({appId:e,runtime:this.runtime,isBuiltIn:n}),{runtime:s}=t.manifest,o=[];if(s){if(s.actions)for(let a of s.actions)i.registerAction(a);if(s.widgets)for(let a of s.widgets)i.registerWidget(a);if(s.events)for(let a of s.events){let l=this.runtime.events.subscribe(c=>{if(a.names.includes(c.name)){let u={appId:e,state:i.state,telemetry:i.telemetry,surfaces:i.surfaces};try{a.handler(c,u)}catch(p){console.error(`[AppRegistry] Event handler error in ${e}:`,p)}}});o.push(l)}}t.cleanup=async()=>{for(let a of o)try{await a()}catch(l){console.error(`[AppRegistry] Cleanup error in ${e}:`,l)}bc(e,this.runtime)},t.state="active",t.activatedAt=Date.now(),this.emit({type:"app:activated",appId:e})}catch(n){throw t.state="error",t.error=String(n),this.emit({type:"app:error",appId:e,error:String(n)}),n}}async deactivate(e){let t=this.apps.get(e);if(!t)throw new Error(`App not registered: ${e}`);if(t.state!=="active"){console.warn(`[AppRegistry] App not active: ${e}`);return}for(let[n,i]of this.apps)if(i.state==="active"&&i.manifest.dependencies?.includes(e))throw new Error(`Cannot deactivate ${e}: app ${n} depends on it`);t.state="deactivating";try{t.cleanup&&(await t.cleanup(),t.cleanup=void 0),t.state="inactive",this.emit({type:"app:deactivated",appId:e})}catch(n){throw t.state="error",t.error=String(n),this.emit({type:"app:error",appId:e,error:String(n)}),n}}async unregister(e){let t=this.apps.get(e);t&&(t.state==="active"&&await this.deactivate(e),this.apps.delete(e),this.emit({type:"app:unregistered",appId:e}))}get(e){return this.apps.get(e)}has(e){return this.apps.has(e)}isActive(e){return this.apps.get(e)?.state==="active"}list(){return Array.from(this.apps.values())}listActive(){return Array.from(this.apps.values()).filter(e=>e.state==="active")}listEditable(){return Array.from(this.apps.values()).filter(e=>e.manifest.editor!==void 0)}subscribe(e){return this.eventListeners.add(e),()=>{this.eventListeners.delete(e)}}emit(e){for(let t of this.eventListeners)try{t(e)}catch(n){console.error("[AppRegistry] Event listener error:",n)}}async destroy(){await this.unbind(),this.apps.clear(),this.eventListeners.clear()}},Xi=new Yi;function pg(r,e,t){if(e){let n=r.getState().items.find(i=>i.config.id===e);if(n)return n}if(t){let n=r.findByQuestion(t);if(n)return n}throw new Error("FAQ item not found")}async function dx(r,e,t){let n=pg(t,r.itemId,r.itemQuestion),{id:i}=n.config;r.expand!==!1&&t.expand(i);let s=document.querySelector(`[data-faq-item-id="${i}"]`);return s&&s.scrollIntoView({behavior:r.behavior??"smooth"}),e.publishEvent("faq:scroll_to",{itemId:i}),{cleanup:()=>{}}}async function px(r,e,t){let n=pg(t,r.itemId,r.itemQuestion),{id:i}=n.config,s=r.state??"toggle",o;switch(s){case"open":t.expand(i),o="open";break;case"closed":t.collapse(i),o="closed";break;default:{let a=t.getState().expandedItems.has(i);t.toggle(i),o=a?"closed":"open";break}}return e.publishEvent("faq:toggle",{itemId:i,newState:o}),{cleanup:()=>{}}}async function hx(r,e,t){switch(r.operation){case"add":{let n=r.items??[],i=r.position==="prepend"?"prepend":"append";t.addItems(n,i);break}case"remove":{if(!r.itemId)throw new Error("FAQ item not found");if(!t.getState().items.some(i=>i.config.id===r.itemId))throw new Error("FAQ item not found");t.removeItem(r.itemId);break}case"reorder":{let n=r.order??[];t.reorderItems(n);break}case"replace":{let n=r.items??[];t.replaceItems(n);break}}return e.publishEvent("faq:update",{operation:r.operation}),{cleanup:()=>{}}}var hg=[{kind:"faq:scroll_to",executor:dx},{kind:"faq:toggle_item",executor:px},{kind:"faq:update",executor:hx}];var Ji=class extends jn{constructor(e){if(super(e),this.it=J,e.type!==jo.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===J||e==null)return this._t=void 0,this.it=e;if(e===Tt)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Ji.directiveName="unsafeHTML",Ji.resultType=1;var zo=Wo(Ji);function Cc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var rn=Cc();function bg(r){rn=r}var en={exec:()=>null};function de(r,e=""){let t=typeof r=="string"?r:r.source,n={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(Ye.caret,"$1"),t=t.replace(i,o),n},getRegex:()=>new RegExp(t,e)};return n}var fx=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),Ye={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}>`)},gx=/^(?:[ \t]*(?:\n|$))+/,mx=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,vx=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,rs=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,yx=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ac=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,xg=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,wg=de(xg).replace(/bull/g,Ac).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),_x=de(xg).replace(/bull/g,Ac).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Rc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,bx=/^[^\n]+/,Tc=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,xx=de(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Tc).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),wx=de(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ac).getRegex(),Xo="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ic=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,kx=de("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Ic).replace("tag",Xo).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),kg=de(Rc).replace("hr",rs).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Xo).getRegex(),Sx=de(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",kg).getRegex(),$c={blockquote:Sx,code:mx,def:xx,fences:vx,heading:yx,hr:rs,html:kx,lheading:wg,list:wx,newline:gx,paragraph:kg,table:en,text:bx},fg=de("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",rs).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Xo).getRegex(),Ex={...$c,lheading:_x,table:fg,paragraph:de(Rc).replace("hr",rs).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",fg).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Xo).getRegex()},Cx={...$c,html:de(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ic).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:en,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:de(Rc).replace("hr",rs).replace("heading",` *#{1,6} *[^
147
+ ]`).replace("lheading",wg).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ax=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Rx=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Sg=/^( {2,}|\\)\n(?!\s*$)/,Tx=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Jo=/[\p{P}\p{S}]/u,Mc=/[\s\p{P}\p{S}]/u,Eg=/[^\s\p{P}\p{S}]/u,Ix=de(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Mc).getRegex(),Cg=/(?!~)[\p{P}\p{S}]/u,$x=/(?!~)[\s\p{P}\p{S}]/u,Mx=/(?:[^\s\p{P}\p{S}]|~)/u,Ag=/(?![*_])[\p{P}\p{S}]/u,Ox=/(?![*_])[\s\p{P}\p{S}]/u,Px=/(?:[^\s\p{P}\p{S}]|[*_])/u,Nx=de(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",fx?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Rg=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Lx=de(Rg,"u").replace(/punct/g,Jo).getRegex(),Fx=de(Rg,"u").replace(/punct/g,Cg).getRegex(),Tg="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Dx=de(Tg,"gu").replace(/notPunctSpace/g,Eg).replace(/punctSpace/g,Mc).replace(/punct/g,Jo).getRegex(),Hx=de(Tg,"gu").replace(/notPunctSpace/g,Mx).replace(/punctSpace/g,$x).replace(/punct/g,Cg).getRegex(),Bx=de("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Eg).replace(/punctSpace/g,Mc).replace(/punct/g,Jo).getRegex(),Vx=de(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Ag).getRegex(),jx="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Wx=de(jx,"gu").replace(/notPunctSpace/g,Px).replace(/punctSpace/g,Ox).replace(/punct/g,Ag).getRegex(),Ux=de(/\\(punct)/,"gu").replace(/punct/g,Jo).getRegex(),zx=de(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),qx=de(Ic).replace("(?:-->|$)","-->").getRegex(),Zx=de("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",qx).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Go=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Gx=de(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Go).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ig=de(/^!?\[(label)\]\[(ref)\]/).replace("label",Go).replace("ref",Tc).getRegex(),$g=de(/^!?\[(ref)\](?:\[\])?/).replace("ref",Tc).getRegex(),Kx=de("reflink|nolink(?!\\()","g").replace("reflink",Ig).replace("nolink",$g).getRegex(),gg=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Oc={_backpedal:en,anyPunctuation:Ux,autolink:zx,blockSkip:Nx,br:Sg,code:Rx,del:en,delLDelim:en,delRDelim:en,emStrongLDelim:Lx,emStrongRDelimAst:Dx,emStrongRDelimUnd:Bx,escape:Ax,link:Gx,nolink:$g,punctuation:Ix,reflink:Ig,reflinkSearch:Kx,tag:Zx,text:Tx,url:en},Yx={...Oc,link:de(/^!?\[(label)\]\((.*?)\)/).replace("label",Go).getRegex(),reflink:de(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Go).getRegex()},kc={...Oc,emStrongRDelimAst:Hx,emStrongLDelim:Fx,delLDelim:Vx,delRDelim:Wx,url:de(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",gg).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:de(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",gg).getRegex()},Xx={...kc,br:de(Sg).replace("{2,}","*").getRegex(),text:de(kc.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qo={normal:$c,gfm:Ex,pedantic:Cx},Qi={normal:Oc,gfm:kc,breaks:Xx,pedantic:Yx},Jx={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},mg=r=>Jx[r];function Ft(r,e){if(e){if(Ye.escapeTest.test(r))return r.replace(Ye.escapeReplace,mg)}else if(Ye.escapeTestNoEncode.test(r))return r.replace(Ye.escapeReplaceNoEncode,mg);return r}function vg(r){try{r=encodeURI(r).replace(Ye.percentDecode,"%")}catch{return null}return r}function yg(r,e){let t=r.replace(Ye.findPipe,(s,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),n=t.split(Ye.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(Ye.slashPipe,"|");return n}function es(r,e,t){let n=r.length;if(n===0)return"";let i=0;for(;i<n;){let s=r.charAt(n-i-1);if(s===e&&!t)i++;else if(s!==e&&t)i++;else break}return r.slice(0,n-i)}function Qx(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===e[0])t++;else if(r[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function ew(r,e=0){let t=e,n="";for(let i of r)if(i===" "){let s=4-t%4;n+=" ".repeat(s),t+=s}else n+=i,t++;return n}function _g(r,e,t,n,i){let s=e.href,o=e.title||null,a=r[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:r[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:o,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,l}function tw(r,e,t){let n=r.match(t.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(`
148
148
  `).map(s=>{let o=s.match(t.other.beginningSpace);if(o===null)return s;let[a]=o;return a.length>=i.length?s.slice(i.length):s}).join(`
149
- `)}var Go=class{constructor(r){me(this,"options");me(this,"rules");me(this,"lexer");this.options=r||rn}space(r){let e=this.rules.block.newline.exec(r);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(r){let e=this.rules.block.code.exec(r);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:Qi(t,`
150
- `)}}}fences(r){let e=this.rules.block.fences.exec(r);if(e){let t=e[0],n=Qx(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(r){let e=this.rules.block.heading.exec(r);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let n=Qi(t,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(t=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(r){let e=this.rules.block.hr.exec(r);if(e)return{type:"hr",raw:Qi(e[0],`
151
- `)}}blockquote(r){let e=this.rules.block.blockquote.exec(r);if(e){let t=Qi(e[0],`
149
+ `)}var Ko=class{constructor(r){me(this,"options");me(this,"rules");me(this,"lexer");this.options=r||rn}space(r){let e=this.rules.block.newline.exec(r);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(r){let e=this.rules.block.code.exec(r);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:es(t,`
150
+ `)}}}fences(r){let e=this.rules.block.fences.exec(r);if(e){let t=e[0],n=tw(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(r){let e=this.rules.block.heading.exec(r);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let n=es(t,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(t=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(r){let e=this.rules.block.hr.exec(r);if(e)return{type:"hr",raw:es(e[0],`
151
+ `)}}blockquote(r){let e=this.rules.block.blockquote.exec(r);if(e){let t=es(e[0],`
152
152
  `).split(`
153
153
  `),n="",i="",s=[];for(;t.length>0;){let o=!1,a=[],l;for(l=0;l<t.length;l++)if(this.rules.other.blockquoteStart.test(t[l]))a.push(t[l]),o=!0;else if(!o)a.push(t[l]);else break;t=t.slice(l);let c=a.join(`
154
154
  `),u=c.replace(this.rules.other.blockquoteSetextReplace,`
@@ -159,16 +159,16 @@ ${u}`:u;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
159
159
  `),m=this.blockquote(v);s[s.length-1]=m,n=n.substring(0,n.length-f.raw.length)+m.raw,i=i.substring(0,i.length-f.text.length)+m.text;break}else if(h?.type==="list"){let f=h,v=f.raw+`
160
160
  `+t.join(`
161
161
  `),m=this.list(v);s[s.length-1]=m,n=n.substring(0,n.length-h.raw.length)+m.raw,i=i.substring(0,i.length-f.raw.length)+m.raw,t=v.substring(s.at(-1).raw.length).split(`
162
- `);continue}}return{type:"blockquote",raw:n,tokens:s,text:i}}}list(r){let e=this.rules.block.list.exec(r);if(e){let t=e[1].trim(),n=t.length>1,i={type:"list",raw:"",ordered:n,start:n?+t.slice(0,-1):"",loose:!1,items:[]};t=n?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=n?t:"[*+-]");let s=this.rules.other.listItemRegex(t),o=!1;for(;r;){let l=!1,c="",u="";if(!(e=s.exec(r))||this.rules.block.hr.test(r))break;c=e[0],r=r.substring(c.length);let p=Jx(e[2].split(`
162
+ `);continue}}return{type:"blockquote",raw:n,tokens:s,text:i}}}list(r){let e=this.rules.block.list.exec(r);if(e){let t=e[1].trim(),n=t.length>1,i={type:"list",raw:"",ordered:n,start:n?+t.slice(0,-1):"",loose:!1,items:[]};t=n?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=n?t:"[*+-]");let s=this.rules.other.listItemRegex(t),o=!1;for(;r;){let l=!1,c="",u="";if(!(e=s.exec(r))||this.rules.block.hr.test(r))break;c=e[0],r=r.substring(c.length);let p=ew(e[2].split(`
163
163
  `,1)[0],e[1].length),h=r.split(`
164
164
  `,1)[0],f=!p.trim(),v=0;if(this.options.pedantic?(v=2,u=p.trimStart()):f?v=e[1].length+1:(v=p.search(this.rules.other.nonSpaceChar),v=v>4?1:v,u=p.slice(v),v+=e[1].length),f&&this.rules.other.blankLine.test(h)&&(c+=h+`
165
165
  `,r=r.substring(h.length+1),l=!0),!l){let m=this.rules.other.nextBulletRegex(v),g=this.rules.other.hrRegex(v),y=this.rules.other.fencesBeginRegex(v),x=this.rules.other.headingBeginRegex(v),k=this.rules.other.htmlBeginRegex(v),_=this.rules.other.blockquoteBeginRegex(v);for(;r;){let w=r.split(`
166
166
  `,1)[0],R;if(h=w,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting," "),R=h):R=h.replace(this.rules.other.tabCharGlobal," "),y.test(h)||x.test(h)||k.test(h)||_.test(h)||m.test(h)||g.test(h))break;if(R.search(this.rules.other.nonSpaceChar)>=v||!h.trim())u+=`
167
167
  `+R.slice(v);else{if(f||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||y.test(p)||x.test(p)||g.test(p))break;u+=`
168
168
  `+h}f=!h.trim(),c+=w+`
169
- `,r=r.substring(w.length+1),p=R.slice(v)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0)),i.items.push({type:"list_item",raw:c,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}),i.raw+=c}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,""),l.tokens[0]?.type==="text"||l.tokens[0]?.type==="paragraph"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let u=this.lexer.inlineQueue.length-1;u>=0;u--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[u].src)){this.lexer.inlineQueue[u].src=this.lexer.inlineQueue[u].src.replace(this.rules.other.listReplaceTask,"");break}}let c=this.rules.other.listTaskCheckbox.exec(l.raw);if(c){let u={type:"checkbox",raw:c[0]+" ",checked:c[0]!=="[ ]"};l.checked=u.checked,i.loose?l.tokens[0]&&["paragraph","text"].includes(l.tokens[0].type)&&"tokens"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=u.raw+l.tokens[0].raw,l.tokens[0].text=u.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(u)):l.tokens.unshift({type:"paragraph",raw:u.raw,text:u.raw,tokens:[u]}):l.tokens.unshift(u)}}if(!i.loose){let c=l.tokens.filter(p=>p.type==="space"),u=c.length>0&&c.some(p=>this.rules.other.anyLine.test(p.raw));i.loose=u}}if(i.loose)for(let l of i.items){l.loose=!0;for(let c of l.tokens)c.type==="text"&&(c.type="paragraph")}return i}}html(r){let e=this.rules.block.html.exec(r);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(r){let e=this.rules.block.def.exec(r);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:n,title:i}}}table(r){let e=this.rules.block.table.exec(r);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=vg(e[1]),n=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
170
- `):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===n.length){for(let o of n)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of i)s.rows.push(vg(o,s.header.length).map((a,l)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[l]})));return s}}lheading(r){let e=this.rules.block.lheading.exec(r);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(r){let e=this.rules.block.paragraph.exec(r);if(e){let t=e[1].charAt(e[1].length-1)===`
171
- `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules.inline.escape.exec(r);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(r){let e=this.rules.inline.tag.exec(r);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(r){let e=this.rules.inline.link.exec(r);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=Qi(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=Xx(e[2],"()");if(s===-2)return;if(s>-1){let o=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,o).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(n);s&&(n=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?n=n.slice(1):n=n.slice(1,-1)),yg(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(r,e){let t;if((t=this.rules.inline.reflink.exec(r))||(t=this.rules.inline.nolink.exec(r))){let n=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return yg(t,i,t[0],this.lexer,this.rules)}}emStrong(r,e,t=""){let n=this.rules.inline.emStrongLDelim.exec(r);if(!(!n||n[3]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!t||this.rules.inline.punctuation.exec(t))){let i=[...n[0]].length-1,s,o,a=i,l=0,c=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,e=e.slice(-1*r.length+i);(n=c.exec(e))!=null;){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s)continue;if(o=[...s].length,n[3]||n[4]){a+=o;continue}else if((n[5]||n[6])&&i%3&&!((i+o)%3)){l+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a+l);let u=[...n[0]][0].length,p=r.slice(0,i+n.index+u+o);if(Math.min(i,o)%2){let f=p.slice(1,-1);return{type:"em",raw:p,text:f,tokens:this.lexer.inlineTokens(f)}}let h=p.slice(2,-2);return{type:"strong",raw:p,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(r){let e=this.rules.inline.code.exec(r);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(t),i=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return n&&i&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(r){let e=this.rules.inline.br.exec(r);if(e)return{type:"br",raw:e[0]}}del(r,e,t=""){let n=this.rules.inline.delLDelim.exec(r);if(n&&(!n[1]||!t||this.rules.inline.punctuation.exec(t))){let i=[...n[0]].length-1,s,o,a=i,l=this.rules.inline.delRDelim;for(l.lastIndex=0,e=e.slice(-1*r.length+i);(n=l.exec(e))!=null;){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s||(o=[...s].length,o!==i))continue;if(n[3]||n[4]){a+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a);let c=[...n[0]][0].length,u=r.slice(0,i+n.index+c+o),p=u.slice(i,-i);return{type:"del",raw:u,text:p,tokens:this.lexer.inlineTokens(p)}}}}autolink(r){let e=this.rules.inline.autolink.exec(r);if(e){let t,n;return e[2]==="@"?(t=e[1],n="mailto:"+t):(t=e[1],n=t),{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}url(r){let e;if(e=this.rules.inline.url.exec(r)){let t,n;if(e[2]==="@")t=e[0],n="mailto:"+t;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);t=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(r){let e=this.rules.inline.text.exec(r);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},It=class kc{constructor(e){me(this,"tokens");me(this,"options");me(this,"state");me(this,"inlineQueue");me(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||rn,this.options.tokenizer=this.options.tokenizer||new Go,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:Ye,block:zo.normal,inline:Ji.normal};this.options.pedantic?(t.block=zo.pedantic,t.inline=Ji.pedantic):this.options.gfm&&(t.block=zo.gfm,this.options.breaks?t.inline=Ji.breaks:t.inline=Ji.gfm),this.tokenizer.rules=t}static get rules(){return{block:zo,inline:Ji}}static lex(e,t){return new kc(t).lex(e)}static lexInline(e,t){return new kc(t).inlineTokens(e)}lex(e){e=e.replace(Ye.carriageReturn,`
169
+ `,r=r.substring(w.length+1),p=R.slice(v)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0)),i.items.push({type:"list_item",raw:c,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}),i.raw+=c}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,""),l.tokens[0]?.type==="text"||l.tokens[0]?.type==="paragraph"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let u=this.lexer.inlineQueue.length-1;u>=0;u--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[u].src)){this.lexer.inlineQueue[u].src=this.lexer.inlineQueue[u].src.replace(this.rules.other.listReplaceTask,"");break}}let c=this.rules.other.listTaskCheckbox.exec(l.raw);if(c){let u={type:"checkbox",raw:c[0]+" ",checked:c[0]!=="[ ]"};l.checked=u.checked,i.loose?l.tokens[0]&&["paragraph","text"].includes(l.tokens[0].type)&&"tokens"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=u.raw+l.tokens[0].raw,l.tokens[0].text=u.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(u)):l.tokens.unshift({type:"paragraph",raw:u.raw,text:u.raw,tokens:[u]}):l.tokens.unshift(u)}}if(!i.loose){let c=l.tokens.filter(p=>p.type==="space"),u=c.length>0&&c.some(p=>this.rules.other.anyLine.test(p.raw));i.loose=u}}if(i.loose)for(let l of i.items){l.loose=!0;for(let c of l.tokens)c.type==="text"&&(c.type="paragraph")}return i}}html(r){let e=this.rules.block.html.exec(r);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(r){let e=this.rules.block.def.exec(r);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:n,title:i}}}table(r){let e=this.rules.block.table.exec(r);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=yg(e[1]),n=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
170
+ `):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===n.length){for(let o of n)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of i)s.rows.push(yg(o,s.header.length).map((a,l)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[l]})));return s}}lheading(r){let e=this.rules.block.lheading.exec(r);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(r){let e=this.rules.block.paragraph.exec(r);if(e){let t=e[1].charAt(e[1].length-1)===`
171
+ `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules.inline.escape.exec(r);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(r){let e=this.rules.inline.tag.exec(r);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(r){let e=this.rules.inline.link.exec(r);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=es(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=Qx(e[2],"()");if(s===-2)return;if(s>-1){let o=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,o).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(n);s&&(n=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?n=n.slice(1):n=n.slice(1,-1)),_g(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(r,e){let t;if((t=this.rules.inline.reflink.exec(r))||(t=this.rules.inline.nolink.exec(r))){let n=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return _g(t,i,t[0],this.lexer,this.rules)}}emStrong(r,e,t=""){let n=this.rules.inline.emStrongLDelim.exec(r);if(!(!n||n[3]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!t||this.rules.inline.punctuation.exec(t))){let i=[...n[0]].length-1,s,o,a=i,l=0,c=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,e=e.slice(-1*r.length+i);(n=c.exec(e))!=null;){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s)continue;if(o=[...s].length,n[3]||n[4]){a+=o;continue}else if((n[5]||n[6])&&i%3&&!((i+o)%3)){l+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a+l);let u=[...n[0]][0].length,p=r.slice(0,i+n.index+u+o);if(Math.min(i,o)%2){let f=p.slice(1,-1);return{type:"em",raw:p,text:f,tokens:this.lexer.inlineTokens(f)}}let h=p.slice(2,-2);return{type:"strong",raw:p,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(r){let e=this.rules.inline.code.exec(r);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(t),i=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return n&&i&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(r){let e=this.rules.inline.br.exec(r);if(e)return{type:"br",raw:e[0]}}del(r,e,t=""){let n=this.rules.inline.delLDelim.exec(r);if(n&&(!n[1]||!t||this.rules.inline.punctuation.exec(t))){let i=[...n[0]].length-1,s,o,a=i,l=this.rules.inline.delRDelim;for(l.lastIndex=0,e=e.slice(-1*r.length+i);(n=l.exec(e))!=null;){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s||(o=[...s].length,o!==i))continue;if(n[3]||n[4]){a+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a);let c=[...n[0]][0].length,u=r.slice(0,i+n.index+c+o),p=u.slice(i,-i);return{type:"del",raw:u,text:p,tokens:this.lexer.inlineTokens(p)}}}}autolink(r){let e=this.rules.inline.autolink.exec(r);if(e){let t,n;return e[2]==="@"?(t=e[1],n="mailto:"+t):(t=e[1],n=t),{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}url(r){let e;if(e=this.rules.inline.url.exec(r)){let t,n;if(e[2]==="@")t=e[0],n="mailto:"+t;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);t=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(r){let e=this.rules.inline.text.exec(r);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},It=class Sc{constructor(e){me(this,"tokens");me(this,"options");me(this,"state");me(this,"inlineQueue");me(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||rn,this.options.tokenizer=this.options.tokenizer||new Ko,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:Ye,block:qo.normal,inline:Qi.normal};this.options.pedantic?(t.block=qo.pedantic,t.inline=Qi.pedantic):this.options.gfm&&(t.block=qo.gfm,this.options.breaks?t.inline=Qi.breaks:t.inline=Qi.gfm),this.tokenizer.rules=t}static get rules(){return{block:qo,inline:Qi}}static lex(e,t){return new Sc(t).lex(e)}static lexInline(e,t){return new Sc(t).inlineTokens(e)}lex(e){e=e.replace(Ye.carriageReturn,`
172
172
  `),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(Ye.tabCharGlobal," ").replace(Ye.spaceLine,""));e;){let i;if(this.options.extensions?.block?.some(o=>(i=o.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let o=t.at(-1);i.raw.length===1&&o!==void 0?o.raw+=`
173
173
  `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let o=t.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(`
174
174
  `)?"":`
@@ -182,7 +182,7 @@ ${u}`:u;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
182
182
  `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(i),n=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let o=t.at(-1);o?.type==="text"?(o.raw+=(o.raw.endsWith(`
183
183
  `)?"":`
184
184
  `)+i.raw,o.text+=`
185
- `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(i);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)s=i[2]?i[2].length:0,n=n.slice(0,i.index+s)+"["+"a".repeat(i[0].length-s-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let o=!1,a="";for(;e;){o||(a=""),o=!1;let l;if(this.options.extensions?.inline?.some(u=>(l=u.call({lexer:this},e,t))?(e=e.substring(l.raw.length),t.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let u=t.at(-1);l.type==="text"&&u?.type==="text"?(u.raw+=l.raw,u.text+=l.text):t.push(l);continue}if(l=this.tokenizer.emStrong(e,n,a)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.del(e,n,a)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),t.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),t.push(l);continue}let c=e;if(this.options.extensions?.startInline){let u=1/0,p=e.slice(1),h;this.options.extensions.startInline.forEach(f=>{h=f.call({lexer:this},p),typeof h=="number"&&h>=0&&(u=Math.min(u,h))}),u<1/0&&u>=0&&(c=e.substring(0,u+1))}if(l=this.tokenizer.inlineText(c)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(a=l.raw.slice(-1)),o=!0;let u=t.at(-1);u?.type==="text"?(u.raw+=l.raw,u.text+=l.text):t.push(l);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}},Ko=class{constructor(r){me(this,"options");me(this,"parser");this.options=r||rn}space(r){return""}code({text:r,lang:e,escaped:t}){let n=(e||"").match(Ye.notSpaceStart)?.[0],i=r.replace(Ye.endingNewline,"")+`
185
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(i);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)s=i[2]?i[2].length:0,n=n.slice(0,i.index+s)+"["+"a".repeat(i[0].length-s-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let o=!1,a="";for(;e;){o||(a=""),o=!1;let l;if(this.options.extensions?.inline?.some(u=>(l=u.call({lexer:this},e,t))?(e=e.substring(l.raw.length),t.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let u=t.at(-1);l.type==="text"&&u?.type==="text"?(u.raw+=l.raw,u.text+=l.text):t.push(l);continue}if(l=this.tokenizer.emStrong(e,n,a)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.del(e,n,a)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),t.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),t.push(l);continue}let c=e;if(this.options.extensions?.startInline){let u=1/0,p=e.slice(1),h;this.options.extensions.startInline.forEach(f=>{h=f.call({lexer:this},p),typeof h=="number"&&h>=0&&(u=Math.min(u,h))}),u<1/0&&u>=0&&(c=e.substring(0,u+1))}if(l=this.tokenizer.inlineText(c)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(a=l.raw.slice(-1)),o=!0;let u=t.at(-1);u?.type==="text"?(u.raw+=l.raw,u.text+=l.text):t.push(l);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}},Yo=class{constructor(r){me(this,"options");me(this,"parser");this.options=r||rn}space(r){return""}code({text:r,lang:e,escaped:t}){let n=(e||"").match(Ye.notSpaceStart)?.[0],i=r.replace(Ye.endingNewline,"")+`
186
186
  `;return n?'<pre><code class="language-'+Ft(n)+'">'+(t?i:Ft(i,!0))+`</code></pre>
187
187
  `:"<pre><code>"+(t?i:Ft(i,!0))+`</code></pre>
188
188
  `}blockquote({tokens:r}){return`<blockquote>
@@ -200,10 +200,10 @@ ${this.parser.parse(r)}</blockquote>
200
200
  `}tablerow({text:r}){return`<tr>
201
201
  ${r}</tr>
202
202
  `}tablecell(r){let e=this.parser.parseInline(r.tokens),t=r.header?"th":"td";return(r.align?`<${t} align="${r.align}">`:`<${t}>`)+e+`</${t}>
203
- `}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Ft(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${this.parser.parseInline(r)}</del>`}link({href:r,title:e,tokens:t}){let n=this.parser.parseInline(t),i=mg(r);if(i===null)return n;r=i;let s='<a href="'+r+'"';return e&&(s+=' title="'+Ft(e)+'"'),s+=">"+n+"</a>",s}image({href:r,title:e,text:t,tokens:n}){n&&(t=this.parser.parseInline(n,this.parser.textRenderer));let i=mg(r);if(i===null)return Ft(t);r=i;let s=`<img src="${r}" alt="${Ft(t)}"`;return e&&(s+=` title="${Ft(e)}"`),s+=">",s}text(r){return"tokens"in r&&r.tokens?this.parser.parseInline(r.tokens):"escaped"in r&&r.escaped?r.text:Ft(r.text)}},Oc=class{strong({text:r}){return r}em({text:r}){return r}codespan({text:r}){return r}del({text:r}){return r}html({text:r}){return r}text({text:r}){return r}link({text:r}){return""+r}image({text:r}){return""+r}br(){return""}checkbox({raw:r}){return r}},$t=class Sc{constructor(e){me(this,"options");me(this,"renderer");me(this,"textRenderer");this.options=e||rn,this.options.renderer=this.options.renderer||new Ko,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Oc}static parse(e,t){return new Sc(t).parse(e)}static parseInline(e,t){return new Sc(t).parseInline(e)}parse(e){let t="";for(let n=0;n<e.length;n++){let i=e[n];if(this.options.extensions?.renderers?.[i.type]){let o=i,a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){t+=a||"";continue}}let s=i;switch(s.type){case"space":{t+=this.renderer.space(s);break}case"hr":{t+=this.renderer.hr(s);break}case"heading":{t+=this.renderer.heading(s);break}case"code":{t+=this.renderer.code(s);break}case"table":{t+=this.renderer.table(s);break}case"blockquote":{t+=this.renderer.blockquote(s);break}case"list":{t+=this.renderer.list(s);break}case"checkbox":{t+=this.renderer.checkbox(s);break}case"html":{t+=this.renderer.html(s);break}case"def":{t+=this.renderer.def(s);break}case"paragraph":{t+=this.renderer.paragraph(s);break}case"text":{t+=this.renderer.text(s);break}default:{let o='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return t}parseInline(e,t=this.renderer){let n="";for(let i=0;i<e.length;i++){let s=e[i];if(this.options.extensions?.renderers?.[s.type]){let a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=a||"";continue}}let o=s;switch(o.type){case"escape":{n+=t.text(o);break}case"html":{n+=t.html(o);break}case"link":{n+=t.link(o);break}case"image":{n+=t.image(o);break}case"checkbox":{n+=t.checkbox(o);break}case"strong":{n+=t.strong(o);break}case"em":{n+=t.em(o);break}case"codespan":{n+=t.codespan(o);break}case"br":{n+=t.br(o);break}case"del":{n+=t.del(o);break}case"text":{n+=t.text(o);break}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}},qo,es=(qo=class{constructor(r){me(this,"options");me(this,"block");this.options=r||rn}preprocess(r){return r}postprocess(r){return r}processAllTokens(r){return r}emStrongMask(r){return r}provideLexer(){return this.block?It.lex:It.lexInline}provideParser(){return this.block?$t.parse:$t.parseInline}},me(qo,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),me(qo,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),qo),Pc=class{constructor(...r){me(this,"defaults",Ec());me(this,"options",this.setOptions);me(this,"parse",this.parseMarkdown(!0));me(this,"parseInline",this.parseMarkdown(!1));me(this,"Parser",$t);me(this,"Renderer",Ko);me(this,"TextRenderer",Oc);me(this,"Lexer",It);me(this,"Tokenizer",Go);me(this,"Hooks",es);this.use(...r)}walkTokens(r,e){let t=[];for(let n of r)switch(t=t.concat(e.call(this,n)),n.type){case"table":{let i=n;for(let s of i.header)t=t.concat(this.walkTokens(s.tokens,e));for(let s of i.rows)for(let o of s)t=t.concat(this.walkTokens(o.tokens,e));break}case"list":{let i=n;t=t.concat(this.walkTokens(i.items,e));break}default:{let i=n;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let o=i[s].flat(1/0);t=t.concat(this.walkTokens(o,e))}):i.tokens&&(t=t.concat(this.walkTokens(i.tokens,e)))}}return t}use(...r){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(t=>{let n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=e.renderers[i.name];s?e.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),t.renderer){let i=this.defaults.renderer||new Ko(this.defaults);for(let s in t.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,a=t.renderer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u||""}}n.renderer=i}if(t.tokenizer){let i=this.defaults.tokenizer||new Go(this.defaults);for(let s in t.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,a=t.tokenizer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}n.tokenizer=i}if(t.hooks){let i=this.defaults.hooks||new es;for(let s in t.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,a=t.hooks[o],l=i[o];es.passThroughHooks.has(s)?i[o]=c=>{if(this.defaults.async&&es.passThroughHooksRespectAsync.has(s))return(async()=>{let p=await a.call(i,c);return l.call(i,p)})();let u=a.call(i,c);return l.call(i,u)}:i[o]=(...c)=>{if(this.defaults.async)return(async()=>{let p=await a.apply(i,c);return p===!1&&(p=await l.apply(i,c)),p})();let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}n.hooks=i}if(t.walkTokens){let i=this.defaults.walkTokens,s=t.walkTokens;n.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...n}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,e){return It.lex(r,e??this.defaults)}parser(r,e){return $t.parse(r,e??this.defaults)}parseMarkdown(r){return(e,t)=>{let n={...t},i={...this.defaults,...n},s=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=r),i.async)return(async()=>{let o=i.hooks?await i.hooks.preprocess(e):e,a=await(i.hooks?await i.hooks.provideLexer():r?It.lex:It.lexInline)(o,i),l=i.hooks?await i.hooks.processAllTokens(a):a;i.walkTokens&&await Promise.all(this.walkTokens(l,i.walkTokens));let c=await(i.hooks?await i.hooks.provideParser():r?$t.parse:$t.parseInline)(l,i);return i.hooks?await i.hooks.postprocess(c):c})().catch(s);try{i.hooks&&(e=i.hooks.preprocess(e));let o=(i.hooks?i.hooks.provideLexer():r?It.lex:It.lexInline)(e,i);i.hooks&&(o=i.hooks.processAllTokens(o)),i.walkTokens&&this.walkTokens(o,i.walkTokens);let a=(i.hooks?i.hooks.provideParser():r?$t.parse:$t.parseInline)(o,i);return i.hooks&&(a=i.hooks.postprocess(a)),a}catch(o){return s(o)}}}onError(r,e){return t=>{if(t.message+=`
204
- Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error occurred:</p><pre>"+Ft(t.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(t);throw t}}},tn=new Pc;function ve(r,e){return tn.parse(r,e)}ve.options=ve.setOptions=function(r){return tn.setOptions(r),ve.defaults=tn.defaults,_g(ve.defaults),ve};ve.getDefaults=Ec;ve.defaults=rn;ve.use=function(...r){return tn.use(...r),ve.defaults=tn.defaults,_g(ve.defaults),ve};ve.walkTokens=function(r,e){return tn.walkTokens(r,e)};ve.parseInline=tn.parseInline;ve.Parser=$t;ve.parser=$t.parse;ve.Renderer=Ko;ve.TextRenderer=Oc;ve.Lexer=It;ve.lexer=It.lex;ve.Tokenizer=Go;ve.Hooks=es;ve.parse=ve;var CT=ve.options,AT=ve.setOptions,RT=ve.use,TT=ve.walkTokens,IT=ve.parseInline;var $T=$t.parse,MT=It.lex;var je={container:{fontFamily:"var(--sc-font-family, system-ui, -apple-system, sans-serif)",maxWidth:"800px",margin:"0 auto"},searchWrapper:{marginBottom:"8px"},searchInput:{width:"100%",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",outline:"none",transition:"border-color 0.15s ease",backgroundColor:"var(--sc-content-search-background)",color:"var(--sc-content-search-color)"},accordion:{display:"flex",flexDirection:"column",gap:"var(--sc-content-item-gap, 6px)"},item:{borderRadius:"var(--sc-content-border-radius, 8px)",overflow:"hidden",transition:"box-shadow 0.15s ease"},question:{width:"100%",padding:"var(--sc-content-item-padding, 12px 16px)",display:"flex",alignItems:"center",justifyContent:"space-between",border:"none",cursor:"pointer",fontSize:"var(--sc-content-item-font-size, 15px)",fontWeight:500,textAlign:"left",transition:"background-color 0.15s ease"},chevron:{fontSize:"20px",transition:"transform 0.2s ease",color:"var(--sc-content-chevron-color, currentColor)"},answer:{padding:"var(--sc-content-body-padding, 0 16px 12px 16px)",fontSize:"var(--sc-content-body-font-size, 14px)",lineHeight:1.6,overflow:"hidden",transition:"max-height 0.2s ease, padding 0.2s ease"},category:{display:"inline-block",fontSize:"11px",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"4px 8px",borderRadius:"4px",marginBottom:"8px"},categoryHeader:{fontSize:"var(--sc-content-category-font-size, 12px)",fontWeight:700,textTransform:"uppercase",letterSpacing:"0.05em",padding:"var(--sc-content-category-padding, 8px 4px 4px 4px)",marginTop:"var(--sc-content-category-gap, 4px)"},feedback:{display:"flex",alignItems:"center",gap:"8px",marginTop:"12px",paddingTop:"10px",borderTop:"1px solid rgba(0, 0, 0, 0.08)",fontSize:"13px"},feedbackButton:{background:"none",border:"1px solid transparent",cursor:"pointer",fontSize:"16px",padding:"4px 8px",borderRadius:"4px",transition:"background-color 0.15s ease, border-color 0.15s ease"},feedbackButtonSelected:{borderColor:"rgba(0, 0, 0, 0.2)",backgroundColor:"rgba(0, 0, 0, 0.04)"},emptyState:{textAlign:"center",padding:"48px 24px",fontSize:"14px"},noResults:{textAlign:"center",padding:"32px 16px",fontSize:"14px"}},Jo={light:{container:{backgroundColor:"transparent",color:"inherit"},searchInput:{border:`1px solid ${S[11]}`},item:{backgroundColor:"var(--sc-content-background)",borderTop:"var(--sc-content-border)",borderRight:"var(--sc-content-border)",borderBottom:"var(--sc-content-border)",borderLeft:"var(--sc-content-border)"},itemExpanded:{boxShadow:"0 4px 12px rgba(0, 0, 0, 0.08)"},question:{backgroundColor:"transparent",color:"var(--sc-content-text-color)"},questionHover:{backgroundColor:"var(--sc-content-background-hover)"},answer:{color:"var(--sc-content-text-secondary-color)"},category:{backgroundColor:pt[8],color:pt[2]},categoryHeader:{color:S[7]},emptyState:{color:S[8]},feedbackPrompt:{color:S[7]}},dark:{container:{backgroundColor:"transparent",color:"inherit"},searchInput:{border:`1px solid ${S[5]}`},item:{backgroundColor:"var(--sc-content-background)",borderTop:"var(--sc-content-border)",borderRight:"var(--sc-content-border)",borderBottom:"var(--sc-content-border)",borderLeft:"var(--sc-content-border)"},itemExpanded:{boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)"},question:{backgroundColor:"transparent",color:"var(--sc-content-text-color)"},questionHover:{backgroundColor:"var(--sc-content-background-hover)"},answer:{color:"var(--sc-content-text-secondary-color)"},category:{backgroundColor:pt[0],color:pt[6]},categoryHeader:{color:S[8]},emptyState:{color:S[7]},feedbackPrompt:{color:S[8]}}};var $g=new Pc({async:!1,gfm:!0,breaks:!0});function ew(r){return typeof r=="string"?r:r.type==="rich"?r.html:r.content}function tw(r){return typeof r=="string"?$g.parse(r):r.type==="rich"?r.html:$g.parse(r.content)}function rw(r){return r?r===!0?{style:"thumbs"}:r:null}function nw(r){return r.prompt??"Was this helpful?"}function iw(r){return r&&r!=="auto"?r:typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}var Qo=class extends he{constructor(){super(...arguments),this.faqConfig={expandBehavior:"single",searchable:!1,theme:"auto",actions:[]},this.runtime=null,this.instanceId="faq-widget",this._expandedIds=new Set,this._highlightId=null,this._searchQuery="",this._feedbackState=new Map,this._hoveredId=null,this._unsubContext=null,this._unsubAccumulator=null,this._unsubCta=null,this._unsubDeepLink=null,this._unsubSessionMetrics=null,this._highlightTimer=null}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._subscribeAll()}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeAll(),this._highlightTimer!==null&&(clearTimeout(this._highlightTimer),this._highlightTimer=null)}updated(e){e.has("runtime")&&(this._unsubscribeAll(),this._subscribeAll())}_subscribeAll(){if(this.runtime){if(this._unsubContext=this.runtime.context.subscribe(()=>{this.requestUpdate()}),this.runtime.accumulator?.subscribe&&(this._unsubAccumulator=this.runtime.accumulator.subscribe(()=>{this.requestUpdate()})),this.runtime.sessionMetrics?.subscribe&&(this._unsubSessionMetrics=this.runtime.sessionMetrics.subscribe(()=>{this.requestUpdate()})),this.runtime.events.subscribe){if(this.runtime.events.getRecent){let t=this.runtime.events.getRecent({patterns:["^action\\.tooltip_cta_clicked$","^action\\.modal_cta_clicked$"]},10).filter(n=>{let i=n.props?.actionId;return typeof i=="string"&&i.startsWith("faq:open:")}).pop();if(t&&Date.now()-t.ts<1e4){let n=t.props.actionId.replace("faq:open:","");this._expandedIds=new Set([n]),requestAnimationFrame(()=>{let i=document.querySelector(`[data-faq-item-id="${n}"]`);i&&i.scrollIntoView({behavior:"smooth",block:"center"})})}}this._unsubCta=this.runtime.events.subscribe({patterns:["^action\\.tooltip_cta_clicked$","^action\\.modal_cta_clicked$"]},e=>{let t=e.props?.actionId;if(typeof t!="string"||!t.startsWith("faq:open:"))return;let n=t.replace("faq:open:","");this._expandedIds=new Set([n]),requestAnimationFrame(()=>{let i=document.querySelector(`[data-faq-item-id="${n}"]`);i&&i.scrollIntoView({behavior:"smooth",block:"center"})}),this.runtime?.events.publish("canvas.requestOpen")})}if(this.runtime.events.subscribe){let e=t=>{let n=t.props?.tileId,i=t.props?.itemId;n===this.instanceId&&i&&(this._expandedIds=new Set([i]),this._highlightId=i,this._highlightTimer!==null&&clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout(()=>{this._highlightId=null,this._highlightTimer=null},1500),requestAnimationFrame(()=>{let s=document.querySelector(`[data-faq-item-id="${i}"]`);s&&s.scrollIntoView({behavior:"smooth",block:"center"})}))};if(this.runtime.events.getRecent){let n=this.runtime.events.getRecent({names:["notification.deep_link"]},5).filter(i=>i.props?.tileId===this.instanceId&&i.props?.itemId).pop();n&&Date.now()-n.ts<1e4&&e(n)}this._unsubDeepLink=this.runtime.events.subscribe({names:["notification.deep_link"]},e)}}}_unsubscribeAll(){this._unsubContext?.(),this._unsubAccumulator?.(),this._unsubSessionMetrics?.(),this._unsubCta?.(),this._unsubDeepLink?.(),this._unsubContext=null,this._unsubAccumulator=null,this._unsubSessionMetrics=null,this._unsubCta=null,this._unsubDeepLink=null}_handleToggle(e){let t=this._expandedIds,n;this.faqConfig.expandBehavior==="single"?n=t.has(e)?new Set:new Set([e]):(n=new Set(t),t.has(e)?n.delete(e):n.add(e));let i=!t.has(e);this._expandedIds=n,this.runtime?.events.publish("faq:toggled",{instanceId:this.instanceId,questionId:e,expanded:i,timestamp:Date.now()})}_handleFeedback(e,t,n){let i=new Map(this._feedbackState);i.set(e,n),this._feedbackState=i,this.runtime?.events.publish("faq:feedback",{itemId:e,question:t,value:n})}_visibleQuestions(){return(this.faqConfig.actions??[]).filter(e=>!e.triggerWhen||!this.runtime?!0:this.runtime.evaluateSync(e.triggerWhen).value)}_orderedQuestions(e){return this.faqConfig.ordering==="priority"?[...e].sort((t,n)=>(n.config.priority??0)-(t.config.priority??0)):e}_filteredQuestions(e){let t=this._searchQuery.trim().toLowerCase();return!this.faqConfig.searchable||!t?e:e.filter(n=>n.config.question.toLowerCase().includes(t)||ew(n.config.answer).toLowerCase().includes(t)||n.config.category?.toLowerCase().includes(t))}_categoryGroups(e){let t=new Map;for(let n of e){let i=n.config.category;t.has(i)||t.set(i,[]),t.get(i).push(n)}return t}_renderAnswer(e){let t=tw(e);return j`<div style="margin:0" data-faq-markdown="">${Uo(t)}</div>`}_renderFeedback(e,t,n,i){let s=Jo[i],o={...je.feedback,...s.feedbackPrompt};return j`
203
+ `}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Ft(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${this.parser.parseInline(r)}</del>`}link({href:r,title:e,tokens:t}){let n=this.parser.parseInline(t),i=vg(r);if(i===null)return n;r=i;let s='<a href="'+r+'"';return e&&(s+=' title="'+Ft(e)+'"'),s+=">"+n+"</a>",s}image({href:r,title:e,text:t,tokens:n}){n&&(t=this.parser.parseInline(n,this.parser.textRenderer));let i=vg(r);if(i===null)return Ft(t);r=i;let s=`<img src="${r}" alt="${Ft(t)}"`;return e&&(s+=` title="${Ft(e)}"`),s+=">",s}text(r){return"tokens"in r&&r.tokens?this.parser.parseInline(r.tokens):"escaped"in r&&r.escaped?r.text:Ft(r.text)}},Pc=class{strong({text:r}){return r}em({text:r}){return r}codespan({text:r}){return r}del({text:r}){return r}html({text:r}){return r}text({text:r}){return r}link({text:r}){return""+r}image({text:r}){return""+r}br(){return""}checkbox({raw:r}){return r}},$t=class Ec{constructor(e){me(this,"options");me(this,"renderer");me(this,"textRenderer");this.options=e||rn,this.options.renderer=this.options.renderer||new Yo,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Pc}static parse(e,t){return new Ec(t).parse(e)}static parseInline(e,t){return new Ec(t).parseInline(e)}parse(e){let t="";for(let n=0;n<e.length;n++){let i=e[n];if(this.options.extensions?.renderers?.[i.type]){let o=i,a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){t+=a||"";continue}}let s=i;switch(s.type){case"space":{t+=this.renderer.space(s);break}case"hr":{t+=this.renderer.hr(s);break}case"heading":{t+=this.renderer.heading(s);break}case"code":{t+=this.renderer.code(s);break}case"table":{t+=this.renderer.table(s);break}case"blockquote":{t+=this.renderer.blockquote(s);break}case"list":{t+=this.renderer.list(s);break}case"checkbox":{t+=this.renderer.checkbox(s);break}case"html":{t+=this.renderer.html(s);break}case"def":{t+=this.renderer.def(s);break}case"paragraph":{t+=this.renderer.paragraph(s);break}case"text":{t+=this.renderer.text(s);break}default:{let o='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return t}parseInline(e,t=this.renderer){let n="";for(let i=0;i<e.length;i++){let s=e[i];if(this.options.extensions?.renderers?.[s.type]){let a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=a||"";continue}}let o=s;switch(o.type){case"escape":{n+=t.text(o);break}case"html":{n+=t.html(o);break}case"link":{n+=t.link(o);break}case"image":{n+=t.image(o);break}case"checkbox":{n+=t.checkbox(o);break}case"strong":{n+=t.strong(o);break}case"em":{n+=t.em(o);break}case"codespan":{n+=t.codespan(o);break}case"br":{n+=t.br(o);break}case"del":{n+=t.del(o);break}case"text":{n+=t.text(o);break}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}},Zo,ts=(Zo=class{constructor(r){me(this,"options");me(this,"block");this.options=r||rn}preprocess(r){return r}postprocess(r){return r}processAllTokens(r){return r}emStrongMask(r){return r}provideLexer(){return this.block?It.lex:It.lexInline}provideParser(){return this.block?$t.parse:$t.parseInline}},me(Zo,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),me(Zo,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Zo),Nc=class{constructor(...r){me(this,"defaults",Cc());me(this,"options",this.setOptions);me(this,"parse",this.parseMarkdown(!0));me(this,"parseInline",this.parseMarkdown(!1));me(this,"Parser",$t);me(this,"Renderer",Yo);me(this,"TextRenderer",Pc);me(this,"Lexer",It);me(this,"Tokenizer",Ko);me(this,"Hooks",ts);this.use(...r)}walkTokens(r,e){let t=[];for(let n of r)switch(t=t.concat(e.call(this,n)),n.type){case"table":{let i=n;for(let s of i.header)t=t.concat(this.walkTokens(s.tokens,e));for(let s of i.rows)for(let o of s)t=t.concat(this.walkTokens(o.tokens,e));break}case"list":{let i=n;t=t.concat(this.walkTokens(i.items,e));break}default:{let i=n;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let o=i[s].flat(1/0);t=t.concat(this.walkTokens(o,e))}):i.tokens&&(t=t.concat(this.walkTokens(i.tokens,e)))}}return t}use(...r){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(t=>{let n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=e.renderers[i.name];s?e.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),t.renderer){let i=this.defaults.renderer||new Yo(this.defaults);for(let s in t.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,a=t.renderer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u||""}}n.renderer=i}if(t.tokenizer){let i=this.defaults.tokenizer||new Ko(this.defaults);for(let s in t.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,a=t.tokenizer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}n.tokenizer=i}if(t.hooks){let i=this.defaults.hooks||new ts;for(let s in t.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,a=t.hooks[o],l=i[o];ts.passThroughHooks.has(s)?i[o]=c=>{if(this.defaults.async&&ts.passThroughHooksRespectAsync.has(s))return(async()=>{let p=await a.call(i,c);return l.call(i,p)})();let u=a.call(i,c);return l.call(i,u)}:i[o]=(...c)=>{if(this.defaults.async)return(async()=>{let p=await a.apply(i,c);return p===!1&&(p=await l.apply(i,c)),p})();let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}n.hooks=i}if(t.walkTokens){let i=this.defaults.walkTokens,s=t.walkTokens;n.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...n}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,e){return It.lex(r,e??this.defaults)}parser(r,e){return $t.parse(r,e??this.defaults)}parseMarkdown(r){return(e,t)=>{let n={...t},i={...this.defaults,...n},s=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=r),i.async)return(async()=>{let o=i.hooks?await i.hooks.preprocess(e):e,a=await(i.hooks?await i.hooks.provideLexer():r?It.lex:It.lexInline)(o,i),l=i.hooks?await i.hooks.processAllTokens(a):a;i.walkTokens&&await Promise.all(this.walkTokens(l,i.walkTokens));let c=await(i.hooks?await i.hooks.provideParser():r?$t.parse:$t.parseInline)(l,i);return i.hooks?await i.hooks.postprocess(c):c})().catch(s);try{i.hooks&&(e=i.hooks.preprocess(e));let o=(i.hooks?i.hooks.provideLexer():r?It.lex:It.lexInline)(e,i);i.hooks&&(o=i.hooks.processAllTokens(o)),i.walkTokens&&this.walkTokens(o,i.walkTokens);let a=(i.hooks?i.hooks.provideParser():r?$t.parse:$t.parseInline)(o,i);return i.hooks&&(a=i.hooks.postprocess(a)),a}catch(o){return s(o)}}}onError(r,e){return t=>{if(t.message+=`
204
+ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error occurred:</p><pre>"+Ft(t.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(t);throw t}}},tn=new Nc;function ve(r,e){return tn.parse(r,e)}ve.options=ve.setOptions=function(r){return tn.setOptions(r),ve.defaults=tn.defaults,bg(ve.defaults),ve};ve.getDefaults=Cc;ve.defaults=rn;ve.use=function(...r){return tn.use(...r),ve.defaults=tn.defaults,bg(ve.defaults),ve};ve.walkTokens=function(r,e){return tn.walkTokens(r,e)};ve.parseInline=tn.parseInline;ve.Parser=$t;ve.parser=$t.parse;ve.Renderer=Yo;ve.TextRenderer=Pc;ve.Lexer=It;ve.lexer=It.lex;ve.Tokenizer=Ko;ve.Hooks=ts;ve.parse=ve;var CT=ve.options,AT=ve.setOptions,RT=ve.use,TT=ve.walkTokens,IT=ve.parseInline;var $T=$t.parse,MT=It.lex;var je={container:{fontFamily:"var(--sc-font-family, system-ui, -apple-system, sans-serif)",maxWidth:"800px",margin:"0 auto"},searchWrapper:{marginBottom:"8px"},searchInput:{width:"100%",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",outline:"none",transition:"border-color 0.15s ease",backgroundColor:"var(--sc-content-search-background)",color:"var(--sc-content-search-color)"},accordion:{display:"flex",flexDirection:"column",gap:"var(--sc-content-item-gap, 6px)"},item:{borderRadius:"var(--sc-content-border-radius, 8px)",overflow:"hidden",transition:"box-shadow 0.15s ease"},question:{width:"100%",padding:"var(--sc-content-item-padding, 12px 16px)",display:"flex",alignItems:"center",justifyContent:"space-between",border:"none",cursor:"pointer",fontSize:"var(--sc-content-item-font-size, 15px)",fontWeight:500,textAlign:"left",transition:"background-color 0.15s ease"},chevron:{fontSize:"20px",transition:"transform 0.2s ease",color:"var(--sc-content-chevron-color, currentColor)"},answer:{padding:"var(--sc-content-body-padding, 0 16px 12px 16px)",fontSize:"var(--sc-content-body-font-size, 14px)",lineHeight:1.6,overflow:"hidden",transition:"max-height 0.2s ease, padding 0.2s ease"},category:{display:"inline-block",fontSize:"11px",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"4px 8px",borderRadius:"4px",marginBottom:"8px"},categoryHeader:{fontSize:"var(--sc-content-category-font-size, 12px)",fontWeight:700,textTransform:"uppercase",letterSpacing:"0.05em",padding:"var(--sc-content-category-padding, 8px 4px 4px 4px)",marginTop:"var(--sc-content-category-gap, 4px)"},feedback:{display:"flex",alignItems:"center",gap:"8px",marginTop:"12px",paddingTop:"10px",borderTop:"1px solid rgba(0, 0, 0, 0.08)",fontSize:"13px"},feedbackButton:{background:"none",border:"1px solid transparent",cursor:"pointer",fontSize:"16px",padding:"4px 8px",borderRadius:"4px",transition:"background-color 0.15s ease, border-color 0.15s ease"},feedbackButtonSelected:{borderColor:"rgba(0, 0, 0, 0.2)",backgroundColor:"rgba(0, 0, 0, 0.04)"},emptyState:{textAlign:"center",padding:"48px 24px",fontSize:"14px"},noResults:{textAlign:"center",padding:"32px 16px",fontSize:"14px"}},Qo={light:{container:{backgroundColor:"transparent",color:"inherit"},searchInput:{border:`1px solid ${S[11]}`},item:{backgroundColor:"var(--sc-content-background)",borderTop:"var(--sc-content-border)",borderRight:"var(--sc-content-border)",borderBottom:"var(--sc-content-border)",borderLeft:"var(--sc-content-border)"},itemExpanded:{boxShadow:"0 4px 12px rgba(0, 0, 0, 0.08)"},question:{backgroundColor:"transparent",color:"var(--sc-content-text-color)"},questionHover:{backgroundColor:"var(--sc-content-background-hover)"},answer:{color:"var(--sc-content-text-secondary-color)"},category:{backgroundColor:pt[8],color:pt[2]},categoryHeader:{color:S[7]},emptyState:{color:S[8]},feedbackPrompt:{color:S[7]}},dark:{container:{backgroundColor:"transparent",color:"inherit"},searchInput:{border:`1px solid ${S[5]}`},item:{backgroundColor:"var(--sc-content-background)",borderTop:"var(--sc-content-border)",borderRight:"var(--sc-content-border)",borderBottom:"var(--sc-content-border)",borderLeft:"var(--sc-content-border)"},itemExpanded:{boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)"},question:{backgroundColor:"transparent",color:"var(--sc-content-text-color)"},questionHover:{backgroundColor:"var(--sc-content-background-hover)"},answer:{color:"var(--sc-content-text-secondary-color)"},category:{backgroundColor:pt[0],color:pt[6]},categoryHeader:{color:S[8]},emptyState:{color:S[7]},feedbackPrompt:{color:S[8]}}};var Mg=new Nc({async:!1,gfm:!0,breaks:!0});function rw(r){return typeof r=="string"?r:r.type==="rich"?r.html:r.content}function nw(r){return typeof r=="string"?Mg.parse(r):r.type==="rich"?r.html:Mg.parse(r.content)}function iw(r){return r?r===!0?{style:"thumbs"}:r:null}function sw(r){return r.prompt??"Was this helpful?"}function ow(r){return r&&r!=="auto"?r:typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}var ea=class extends he{constructor(){super(...arguments),this.faqConfig={expandBehavior:"single",searchable:!1,theme:"auto",actions:[]},this.runtime=null,this.instanceId="faq-widget",this._expandedIds=new Set,this._highlightId=null,this._searchQuery="",this._feedbackState=new Map,this._hoveredId=null,this._unsubContext=null,this._unsubAccumulator=null,this._unsubCta=null,this._unsubDeepLink=null,this._unsubSessionMetrics=null,this._highlightTimer=null}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._subscribeAll()}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeAll(),this._highlightTimer!==null&&(clearTimeout(this._highlightTimer),this._highlightTimer=null)}updated(e){e.has("runtime")&&(this._unsubscribeAll(),this._subscribeAll())}_subscribeAll(){if(this.runtime){if(this._unsubContext=this.runtime.context.subscribe(()=>{this.requestUpdate()}),this.runtime.accumulator?.subscribe&&(this._unsubAccumulator=this.runtime.accumulator.subscribe(()=>{this.requestUpdate()})),this.runtime.sessionMetrics?.subscribe&&(this._unsubSessionMetrics=this.runtime.sessionMetrics.subscribe(()=>{this.requestUpdate()})),this.runtime.events.subscribe){if(this.runtime.events.getRecent){let t=this.runtime.events.getRecent({patterns:["^action\\.tooltip_cta_clicked$","^action\\.modal_cta_clicked$"]},10).filter(n=>{let i=n.props?.actionId;return typeof i=="string"&&i.startsWith("faq:open:")}).pop();if(t&&Date.now()-t.ts<1e4){let n=t.props.actionId.replace("faq:open:","");this._expandedIds=new Set([n]),requestAnimationFrame(()=>{let i=document.querySelector(`[data-faq-item-id="${n}"]`);i&&i.scrollIntoView({behavior:"smooth",block:"center"})})}}this._unsubCta=this.runtime.events.subscribe({patterns:["^action\\.tooltip_cta_clicked$","^action\\.modal_cta_clicked$"]},e=>{let t=e.props?.actionId;if(typeof t!="string"||!t.startsWith("faq:open:"))return;let n=t.replace("faq:open:","");this._expandedIds=new Set([n]),requestAnimationFrame(()=>{let i=document.querySelector(`[data-faq-item-id="${n}"]`);i&&i.scrollIntoView({behavior:"smooth",block:"center"})}),this.runtime?.events.publish("canvas.requestOpen")})}if(this.runtime.events.subscribe){let e=t=>{let n=t.props?.tileId,i=t.props?.itemId;n===this.instanceId&&i&&(this._expandedIds=new Set([i]),this._highlightId=i,this._highlightTimer!==null&&clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout(()=>{this._highlightId=null,this._highlightTimer=null},1500),requestAnimationFrame(()=>{let s=document.querySelector(`[data-faq-item-id="${i}"]`);s&&s.scrollIntoView({behavior:"smooth",block:"center"})}))};if(this.runtime.events.getRecent){let n=this.runtime.events.getRecent({names:["notification.deep_link"]},5).filter(i=>i.props?.tileId===this.instanceId&&i.props?.itemId).pop();n&&Date.now()-n.ts<1e4&&e(n)}this._unsubDeepLink=this.runtime.events.subscribe({names:["notification.deep_link"]},e)}}}_unsubscribeAll(){this._unsubContext?.(),this._unsubAccumulator?.(),this._unsubSessionMetrics?.(),this._unsubCta?.(),this._unsubDeepLink?.(),this._unsubContext=null,this._unsubAccumulator=null,this._unsubSessionMetrics=null,this._unsubCta=null,this._unsubDeepLink=null}_handleToggle(e){let t=this._expandedIds,n;this.faqConfig.expandBehavior==="single"?n=t.has(e)?new Set:new Set([e]):(n=new Set(t),t.has(e)?n.delete(e):n.add(e));let i=!t.has(e);this._expandedIds=n,this.runtime?.events.publish("faq:toggled",{instanceId:this.instanceId,questionId:e,expanded:i,timestamp:Date.now()})}_handleFeedback(e,t,n){let i=new Map(this._feedbackState);i.set(e,n),this._feedbackState=i,this.runtime?.events.publish("faq:feedback",{itemId:e,question:t,value:n})}_visibleQuestions(){return(this.faqConfig.actions??[]).filter(e=>!e.triggerWhen||!this.runtime?!0:this.runtime.evaluateSync(e.triggerWhen).value)}_orderedQuestions(e){return this.faqConfig.ordering==="priority"?[...e].sort((t,n)=>(n.config.priority??0)-(t.config.priority??0)):e}_filteredQuestions(e){let t=this._searchQuery.trim().toLowerCase();return!this.faqConfig.searchable||!t?e:e.filter(n=>n.config.question.toLowerCase().includes(t)||rw(n.config.answer).toLowerCase().includes(t)||n.config.category?.toLowerCase().includes(t))}_categoryGroups(e){let t=new Map;for(let n of e){let i=n.config.category;t.has(i)||t.set(i,[]),t.get(i).push(n)}return t}_renderAnswer(e){let t=nw(e);return j`<div style="margin:0" data-faq-markdown="">${zo(t)}</div>`}_renderFeedback(e,t,n,i){let s=Qo[i],o={...je.feedback,...s.feedbackPrompt};return j`
205
205
  <div style=${I(o)}>
206
- <span>${nw(t)}</span>
206
+ <span>${sw(t)}</span>
207
207
  <button
208
208
  type="button"
209
209
  style=${I({...je.feedbackButton,...n==="up"?je.feedbackButtonSelected:{}})}
@@ -217,7 +217,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
217
217
  @click=${()=>this._handleFeedback(e.config.id,e.config.question,"down")}
218
218
  >\uD83D\uDC4E</button>
219
219
  </div>
220
- `}_renderItem(e,t,n,i){let s=Jo[n],o=this._expandedIds.has(e.config.id),a=this._highlightId===e.config.id,l=this._hoveredId===e.config.id,c={...je.item,...s.item,...o?s.itemExpanded:{},...a?{boxShadow:`0 0 0 2px ${pt[4]}, 0 0 12px rgba(106, 89, 206, 0.4)`,transition:"box-shadow 0.3s ease"}:{},...t?{}:{borderBottom:"var(--sc-content-item-divider, none)"}},u={...je.question,...s.question,...l?s.questionHover:{}},p={...je.chevron,transform:o?"rotate(90deg)":"rotate(0deg)"},h={...je.answer,...s.answer,maxHeight:o?"500px":"0",paddingBottom:o?"16px":"0"};return j`
220
+ `}_renderItem(e,t,n,i){let s=Qo[n],o=this._expandedIds.has(e.config.id),a=this._highlightId===e.config.id,l=this._hoveredId===e.config.id,c={...je.item,...s.item,...o?s.itemExpanded:{},...a?{boxShadow:`0 0 0 2px ${pt[4]}, 0 0 12px rgba(106, 89, 206, 0.4)`,transition:"box-shadow 0.3s ease"}:{},...t?{}:{borderBottom:"var(--sc-content-item-divider, none)"}},u={...je.question,...s.question,...l?s.questionHover:{}},p={...je.chevron,transform:o?"rotate(90deg)":"rotate(0deg)"},h={...je.answer,...s.answer,maxHeight:o?"500px":"0",paddingBottom:o?"16px":"0"};return j`
221
221
  <div
222
222
  style=${I(c)}
223
223
  data-faq-item-id=${e.config.id}
@@ -242,7 +242,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
242
242
  ${o&&i?this._renderFeedback(e,i,this._feedbackState.get(e.config.id),n):J}
243
243
  </div>
244
244
  </div>
245
- `}_renderItems(e,t,n){return e.map((i,s)=>this._renderItem(i,s===e.length-1,t,n))}render(){let e=iw(this.faqConfig.theme),t=Jo[e],n=rw(this.faqConfig.feedback),i=this._visibleQuestions(),s=this._orderedQuestions(i),o=this._filteredQuestions(s),l=o.some(f=>f.config.category)?this._categoryGroups(o):null,c={...je.container,...t.container},u={...je.emptyState,...t.emptyState},p={...je.categoryHeader,...t.categoryHeader},h={...je.searchInput,...t.searchInput};return i.length===0?j`
245
+ `}_renderItems(e,t,n){return e.map((i,s)=>this._renderItem(i,s===e.length-1,t,n))}render(){let e=ow(this.faqConfig.theme),t=Qo[e],n=iw(this.faqConfig.feedback),i=this._visibleQuestions(),s=this._orderedQuestions(i),o=this._filteredQuestions(s),l=o.some(f=>f.config.category)?this._categoryGroups(o):null,c={...je.container,...t.container},u={...je.emptyState,...t.emptyState},p={...je.categoryHeader,...t.categoryHeader},h={...je.searchInput,...t.searchInput};return i.length===0?j`
246
246
  <div
247
247
  style=${I(c)}
248
248
  data-adaptive-id=${this.instanceId}
@@ -299,7 +299,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
299
299
  </div>
300
300
  `:J}
301
301
  </div>
302
- `}};Qo.properties={faqConfig:{attribute:!1},runtime:{attribute:!1},instanceId:{type:String},_expandedIds:{state:!0},_highlightId:{state:!0},_searchQuery:{state:!0},_feedbackState:{state:!0},_hoveredId:{state:!0}};customElements.get("syntro-faq-accordion")||customElements.define("syntro-faq-accordion",Qo);var sw={mount(r,e){let{runtime:t,instanceId:n="faq-widget",...i}=e??{expandBehavior:"single",searchable:!1,theme:"auto",actions:[]},s=document.createElement("syntro-faq-accordion");return Object.assign(s,{faqConfig:i,runtime:t??null,instanceId:n}),r.appendChild(s),()=>s.remove()}},Mg={id:"adaptive-faq",version:"2.0.0",name:"FAQ Accordion",description:"Collapsible Q&A accordion with actions, rich content, feedback, and personalization",executors:pg,widgets:[{id:"adaptive-faq:accordion",component:sw,metadata:{name:"FAQ Accordion",description:"Collapsible Q&A accordion with search, categories, and feedback",icon:"\u2753",subtitle:"Curated just for you."}}],notifyWatchers(r){return(r.actions??[]).filter(t=>t.notify&&t.triggerWhen).map(t=>({id:`faq:${t.config.id}`,strategy:t.triggerWhen,eventName:"faq:question_revealed",eventProps:{questionId:t.config.id,question:t.config.question,title:t.notify.title,body:t.notify.body,icon:t.notify.icon}}))}};var ow=async(r,e)=>{let{badgeId:t}=r;return e.publishEvent("gamification.badge_awarded",{badgeId:t,awardedAt:Date.now()}),{cleanup:()=>{}}},aw=async(r,e)=>{let{points:t,reason:n}=r;return e.publishEvent("gamification.points_added",{points:t,reason:n,timestamp:Date.now()}),{cleanup:()=>{}}},lw={names:["page_view","button_click"],handler:(r,e)=>{console.log("[Gamification] Event received for badge trigger check")}},cw=[{kind:"gamification:awardBadge",executor:ow},{kind:"gamification:addPoints",executor:aw}],uw=[lw],Og={id:"adaptive-gamification",version:"1.0.0",name:"Gamification",description:"Badges, rewards, points, and engagement mechanics",executors:cw,eventHandlers:uw};function Pg(r){let{href:e,external:t,windowOrigin:n,isIframe:i}=r;if(i||n==="null")return{kind:"open",url:e};if(t)return{kind:"open",url:e};let o;try{o=new URL(e,n)}catch{return{kind:"fullnav",url:e}}return o.origin!==n?{kind:"fullnav",url:o.toString()}:{kind:"spa",url:o}}function Ng(){if(typeof window>"u")return!1;try{return window!==window.top}catch{return!0}}var Fe=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},ea=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},De,ns,is,Nc,Lc,Wg,Fc,Lg,Fg,Dg,rs,Dc,dw="#6a59ce",Hg="#677384",Bg="#87919f",pw={"\u{1F4B5}":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="12" x="2" y="6" rx="2"/><circle cx="12" cy="12" r="2"/><path d="M6 12h.01M18 12h.01"/></svg>',"\u{1F3DB}\uFE0F":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" x2="21" y1="22" y2="22"/><line x1="6" x2="6" y1="18" y2="11"/><line x1="10" x2="10" y1="18" y2="11"/><line x1="14" x2="14" y1="18" y2="11"/><line x1="18" x2="18" y1="18" y2="11"/><polygon points="12 2 20 7 4 7"/></svg>',"\u23ED\uFE0F":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 4 15 12 5 20 5 4"/><line x1="19" x2="19" y1="5" y2="19"/></svg>',"\u27A1\uFE0F":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',"\u{1F4A1}":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/><path d="M9 18h6"/><path d="M10 22h4"/></svg>',"\u{1F4B0}":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="12" x="2" y="6" rx="2"/><circle cx="12" cy="12" r="2"/><path d="M6 12h.01M18 12h.01"/></svg>',"\u{1F4CB}":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><path d="M12 11h4"/><path d="M12 16h4"/><path d="M8 11h.01"/><path d="M8 16h.01"/></svg>',"\u2705":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="m9 11 3 3L22 4"/></svg>',"\u26A0\uFE0F":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/></svg>'};function hw(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function fw(r){return pw[r]??hw(r)}function Vg(r){if(typeof window>"u")return!1;let e=window.location.pathname;return r.some(t=>{let n=t.split("?")[0].split("#")[0];return n.endsWith("/**")?e.startsWith(n.slice(0,-3)):e===n})}function gw(r){let e=[{boxShadow:"0 0 0 0 rgba(13, 148, 136, 0.5)"},{boxShadow:"0 0 0 8px rgba(13, 148, 136, 0)"}];r.animate(e,{duration:600,iterations:3,easing:"ease-out"})}function mw(r){return r==="dark"?"dark":r==="light"?"light":typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}var ta=class extends he{constructor(){super(...arguments),De.add(this),this.config={expandBehavior:"single",theme:"auto",actions:[]},this.runtime=void 0,this.instanceId="nav-widget",this._expandedIds=new Set,this._renderTick=0,this._hoveredId=null,ns.set(this,null),is.set(this,null)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Fe(this,De,"m",Nc).call(this)}disconnectedCallback(){super.disconnectedCallback(),Fe(this,De,"m",Lc).call(this)}updated(e){e.has("runtime")&&(Fe(this,De,"m",Lc).call(this),Fe(this,De,"m",Nc).call(this))}render(){let e=Fe(this,De,"m",Wg).call(this),t=Fe(this,De,"m",Fc).call(this),n=I({fontFamily:"var(--sc-font-family, system-ui, -apple-system, sans-serif)",maxWidth:"100%",overflow:"hidden",backgroundColor:"transparent",color:"inherit"}),i=I({display:"flex",flexDirection:"column",gap:"var(--sc-content-item-gap, 6px)"}),s=I({fontSize:"var(--sc-content-category-font-size, 12px)",fontWeight:"600",textTransform:"uppercase",letterSpacing:"0.05em",padding:"var(--sc-content-category-padding, 8px 4px 4px 4px)",color:t==="dark"?Bg:Hg}),o=I({fontSize:"13px",padding:"16px",textAlign:"center",color:t==="dark"?Hg:Bg});if(e.length===0)return j`
302
+ `}};ea.properties={faqConfig:{attribute:!1},runtime:{attribute:!1},instanceId:{type:String},_expandedIds:{state:!0},_highlightId:{state:!0},_searchQuery:{state:!0},_feedbackState:{state:!0},_hoveredId:{state:!0}};customElements.get("syntro-faq-accordion")||customElements.define("syntro-faq-accordion",ea);var aw={mount(r,e){let{runtime:t,instanceId:n="faq-widget",...i}=e??{expandBehavior:"single",searchable:!1,theme:"auto",actions:[]},s=document.createElement("syntro-faq-accordion");return Object.assign(s,{faqConfig:i,runtime:t??null,instanceId:n}),r.appendChild(s),()=>s.remove()}},Og={id:"adaptive-faq",version:"2.0.0",name:"FAQ Accordion",description:"Collapsible Q&A accordion with actions, rich content, feedback, and personalization",executors:hg,widgets:[{id:"adaptive-faq:accordion",component:aw,metadata:{name:"FAQ Accordion",description:"Collapsible Q&A accordion with search, categories, and feedback",icon:"\u2753",subtitle:"Curated just for you."}}],notifyWatchers(r){return(r.actions??[]).filter(t=>t.notify&&t.triggerWhen).map(t=>({id:`faq:${t.config.id}`,strategy:t.triggerWhen,eventName:"faq:question_revealed",eventProps:{questionId:t.config.id,question:t.config.question,title:t.notify.title,body:t.notify.body,icon:t.notify.icon}}))}};var lw=async(r,e)=>{let{badgeId:t}=r;return e.publishEvent("gamification.badge_awarded",{badgeId:t,awardedAt:Date.now()}),{cleanup:()=>{}}},cw=async(r,e)=>{let{points:t,reason:n}=r;return e.publishEvent("gamification.points_added",{points:t,reason:n,timestamp:Date.now()}),{cleanup:()=>{}}},uw={names:["page_view","button_click"],handler:(r,e)=>{console.log("[Gamification] Event received for badge trigger check")}},dw=[{kind:"gamification:awardBadge",executor:lw},{kind:"gamification:addPoints",executor:cw}],pw=[uw],Pg={id:"adaptive-gamification",version:"1.0.0",name:"Gamification",description:"Badges, rewards, points, and engagement mechanics",executors:dw,eventHandlers:pw};var hw='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"',Ng={"\u{1F4B5}":['<rect width="20" height="12" x="2" y="6" rx="2"/>','<circle cx="12" cy="12" r="2"/>','<path d="M6 12h.01M18 12h.01"/>'],"\u{1F3DB}\uFE0F":['<line x1="3" x2="21" y1="22" y2="22"/>','<line x1="6" x2="6" y1="18" y2="11"/>','<line x1="10" x2="10" y1="18" y2="11"/>','<line x1="14" x2="14" y1="18" y2="11"/>','<line x1="18" x2="18" y1="18" y2="11"/>','<polygon points="12 2 20 7 4 7"/>'],"\u23ED\uFE0F":['<polygon points="5 4 15 12 5 20 5 4"/>','<line x1="19" x2="19" y1="5" y2="19"/>'],"\u27A1\uFE0F":['<path d="M5 12h14"/>','<path d="m12 5 7 7-7 7"/>'],"\u{1F4A1}":['<path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/>','<path d="M9 18h6"/>','<path d="M10 22h4"/>'],"\u{1F4B0}":['<rect width="20" height="12" x="2" y="6" rx="2"/>','<circle cx="12" cy="12" r="2"/>','<path d="M6 12h.01M18 12h.01"/>'],"\u{1F4CB}":['<rect width="8" height="4" x="8" y="2" rx="1" ry="1"/>','<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>','<path d="M12 11h4"/>','<path d="M12 16h4"/>','<path d="M8 11h.01"/>','<path d="M8 16h.01"/>'],"\u2705":['<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/>','<path d="m9 11 3 3L22 4"/>'],"\u26A0\uFE0F":['<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/>','<path d="M12 9v4"/>','<path d="M12 17h.01"/>'],"\u{1F6E1}\uFE0F":['<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>'],"\u{1F4C8}":['<polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/>','<polyline points="16 7 22 7 22 13"/>'],"\u{1F52C}":['<path d="M6 18h8"/>','<path d="M3 22h18"/>','<path d="M14 22a7 7 0 1 0 0-14h-1"/>','<path d="M9 14h2"/>','<path d="M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z"/>','<path d="M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"/>'],"\u{1F48A}":['<path d="m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z"/>','<path d="m8.5 8.5 7 7"/>'],"\u{1F4C4}":['<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/>','<path d="M14 2v4a2 2 0 0 0 2 2h4"/>','<path d="M10 9H8"/>','<path d="M16 13H8"/>','<path d="M16 17H8"/>'],"\u{1F9EA}":['<path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"/>','<path d="M6.453 15h11.094"/>','<path d="M8.5 2h7"/>'],"\u{1F501}":['<path d="m17 2 4 4-4 4"/>','<path d="M3 11v-1a4 4 0 0 1 4-4h14"/>','<path d="m7 22-4-4 4-4"/>','<path d="M21 13v1a4 4 0 0 1-4 4H3"/>'],"\u{1F9E0}":['<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"/>','<path d="M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"/>','<path d="M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"/>','<path d="M17.599 6.5a3 3 0 0 0 .399-1.375"/>','<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"/>','<path d="M3.477 10.896a4 4 0 0 1 .585-.396"/>','<path d="M19.938 10.5a4 4 0 0 1 .585.396"/>','<path d="M6 18a4 4 0 0 1-1.967-.516"/>','<path d="M19.967 17.484A4 4 0 0 1 18 18"/>'],"\u{1F319}":['<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>'],"\u{1F4E6}":['<path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"/>','<path d="M12 22V12"/>','<path d="m3.3 7 8.7 5 8.7-5"/>','<path d="m7.5 4.27 9 5.15"/>'],"\u{1F331}":['<path d="M7 20h10"/>','<path d="M10 20c5.5-2.5.8-6.4 3-10"/>','<path d="M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z"/>','<path d="M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z"/>'],"\u26A1":['<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>'],"\u{1F333}":['<path d="M12 22V8"/>','<path d="m17 8-5-6-5 6"/>','<path d="M12 12c-2-2-4-2-4-2 0 0 0 4 2 6 1.5 1.5 3 1 4 0"/>','<path d="M12 12c2-2 4-2 4-2 0 0 0 4-2 6-1.5 1.5-3 1-4 0"/>'],"\u{1F33F}":['<path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19.2 2.96a1 1 0 0 1 1.8.5c0 6-2 11-9 16.5"/>','<path d="M2 21c0-3 1.85-5.36 5.08-6"/>'],"\u2753":['<circle cx="12" cy="12" r="10"/>','<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/>','<path d="M12 17h.01"/>'],"\u{1F9ED}":['<circle cx="12" cy="12" r="10"/>','<polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"/>'],"\u{1F4DD}":['<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/>','<polyline points="14 2 14 8 20 8"/>','<line x1="16" y1="13" x2="8" y2="13"/>','<line x1="16" y1="17" x2="8" y2="17"/>','<line x1="10" y1="9" x2="8" y2="9"/>'],"\u{1F3AF}":['<polygon points="12 2 2 7 12 12 22 7 12 2"/>','<polyline points="2 17 12 22 22 17"/>','<polyline points="2 12 12 17 22 12"/>'],"\u{1F3C6}":['<path d="M6 9H4.5a2.5 2.5 0 0 1 0-5H6"/>','<path d="M18 9h1.5a2.5 2.5 0 0 0 0-5H18"/>','<path d="M4 22h16"/>','<path d="M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"/>','<path d="M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"/>','<path d="M18 2H6v7a6 6 0 0 0 12 0V2Z"/>'],"\u2728":['<path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z"/>','<path d="M5 3v4"/>','<path d="M19 17v4"/>','<path d="M3 5h4"/>','<path d="M17 19h4"/>'],"\u{1F4AC}":['<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/>'],"\u{1F3AE}":['<line x1="6" y1="11" x2="10" y2="11"/>','<line x1="8" y1="9" x2="8" y2="13"/>','<line x1="15" y1="12" x2="15.01" y2="12"/>','<line x1="18" y1="10" x2="18.01" y2="10"/>','<path d="M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"/>'],"\u23F1\uFE0F":['<line x1="10" y1="2" x2="14" y2="2"/>','<line x1="12" y1="14" x2="12" y2="8"/>','<circle cx="12" cy="14" r="8"/>'],"\u{1F4D6}":['<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/>','<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>'],"\u{1F514}":['<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/>','<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>'],"\u{1F393}":['<path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"/>','<path d="M22 10v6"/>','<path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"/>'],"\u23F0":['<circle cx="12" cy="13" r="8"/>','<path d="M12 9v4l2 2"/>','<path d="M5 3 2 6"/>','<path d="m22 6-3-3"/>','<path d="M6.38 18.7 4 21"/>','<path d="M17.64 18.67 20 21"/>'],"\u{1F504}":['<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/>','<path d="M21 3v5h-5"/>','<path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/>','<path d="M8 16H3v5"/>'],"\u{1F464}":['<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/>','<circle cx="12" cy="7" r="4"/>'],"\u{1F3E0}":['<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/>','<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>'],"\u{1F6D2}":['<circle cx="8" cy="21" r="1"/>','<circle cx="19" cy="21" r="1"/>','<path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"/>'],"\u{1F4CA}":['<path d="M3 3v18h18"/>','<path d="M18 17V9"/>','<path d="M13 17V5"/>','<path d="M8 17v-3"/>'],"\u{1F4C9}":['<polyline points="22 17 13.5 8.5 8.5 13.5 2 7"/>','<polyline points="16 17 22 17 22 11"/>'],"\u{1F967}":['<path d="M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"/>','<path d="M21.21 15.89A10 10 0 1 1 8 2.83"/>'],"\u{1F4B9}":['<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.5.5 0 0 1-.96 0L9.24 2.18a.5.5 0 0 0-.96 0l-2.35 8.36A2 2 0 0 1 4.02 12H2"/>'],"\u{1F321}\uFE0F":['<path d="M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"/>']};function nn(r,e={}){let t=Ng[r];if(!t)return"";let n=e.size??14,i=e.color??"currentColor";return`${hw} width="${n}" height="${n}" stroke="${i}">${t.join("")}</svg>`}var d={};Gb(d,{BRAND:()=>Hw,DIRTY:()=>sn,EMPTY_PATH:()=>vw,INVALID:()=>Q,NEVER:()=>kk,OK:()=>Ge,ParseStatus:()=>We,Schema:()=>oe,ZodAny:()=>Sr,ZodArray:()=>tr,ZodBigInt:()=>an,ZodBoolean:()=>ln,ZodBranded:()=>is,ZodCatch:()=>_n,ZodDate:()=>cn,ZodDefault:()=>yn,ZodDiscriminatedUnion:()=>na,ZodEffects:()=>vt,ZodEnum:()=>mn,ZodError:()=>rt,ZodFirstPartyTypeKind:()=>ee,ZodFunction:()=>sa,ZodIntersection:()=>hn,ZodIssueCode:()=>T,ZodLazy:()=>fn,ZodLiteral:()=>gn,ZodMap:()=>Xn,ZodNaN:()=>Qn,ZodNativeEnum:()=>vn,ZodNever:()=>Mt,ZodNull:()=>dn,ZodNullable:()=>Bt,ZodNumber:()=>on,ZodObject:()=>nt,ZodOptional:()=>gt,ZodParsedType:()=>W,ZodPipeline:()=>ss,ZodPromise:()=>Er,ZodReadonly:()=>bn,ZodRecord:()=>ia,ZodSchema:()=>oe,ZodSet:()=>Jn,ZodString:()=>kr,ZodSymbol:()=>Kn,ZodTransformer:()=>vt,ZodTuple:()=>Ht,ZodType:()=>oe,ZodUndefined:()=>un,ZodUnion:()=>pn,ZodUnknown:()=>er,ZodVoid:()=>Yn,addIssueToContext:()=>F,any:()=>Gw,array:()=>Jw,bigint:()=>Ww,boolean:()=>qg,coerce:()=>wk,custom:()=>Wg,date:()=>Uw,datetimeRegex:()=>Vg,defaultErrorMap:()=>Jt,discriminatedUnion:()=>rk,effect:()=>fk,enum:()=>dk,function:()=>lk,getErrorMap:()=>qn,getParsedType:()=>Dt,instanceof:()=>Vw,intersection:()=>nk,isAborted:()=>ta,isAsync:()=>Zn,isDirty:()=>ra,isValid:()=>wr,late:()=>Bw,lazy:()=>ck,literal:()=>uk,makeIssue:()=>ns,map:()=>ok,nan:()=>jw,nativeEnum:()=>pk,never:()=>Yw,null:()=>Zw,nullable:()=>mk,number:()=>zg,object:()=>Qw,objectUtil:()=>Lc,oboolean:()=>xk,onumber:()=>bk,optional:()=>gk,ostring:()=>_k,pipeline:()=>yk,preprocess:()=>vk,promise:()=>hk,quotelessJson:()=>fw,record:()=>sk,set:()=>ak,setErrorMap:()=>mw,strictObject:()=>ek,string:()=>Ug,symbol:()=>zw,transformer:()=>fk,tuple:()=>ik,undefined:()=>qw,union:()=>tk,unknown:()=>Kw,util:()=>ae,void:()=>Xw});var ae;(function(r){r.assertEqual=i=>{};function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{let s={};for(let o of i)s[o]=o;return s},r.getValidEnumValues=i=>{let s=r.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(let a of s)o[a]=i[a];return r.objectValues(o)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let s=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},r.find=(i,s)=>{for(let o of i)if(s(o))return o},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(ae||(ae={}));var Lc;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Lc||(Lc={}));var W=ae.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dt=r=>{switch(typeof r){case"undefined":return W.undefined;case"string":return W.string;case"number":return Number.isNaN(r)?W.nan:W.number;case"boolean":return W.boolean;case"function":return W.function;case"bigint":return W.bigint;case"symbol":return W.symbol;case"object":return Array.isArray(r)?W.array:r===null?W.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?W.promise:typeof Map<"u"&&r instanceof Map?W.map:typeof Set<"u"&&r instanceof Set?W.set:typeof Date<"u"&&r instanceof Date?W.date:W.object;default:return W.unknown}};var T=ae.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),fw=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:"),rt=class r extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(let o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(t(o));else{let a=n,l=0;for(;l<o.path.length;){let c=o.path[l];l===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(t(o))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return i(this),n}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ae.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},n=[];for(let i of this.issues)if(i.path.length>0){let s=i.path[0];t[s]=t[s]||[],t[s].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};rt.create=r=>new rt(r);var gw=(r,e)=>{let t;switch(r.code){case T.invalid_type:r.received===W.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case T.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,ae.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:t=`Unrecognized key(s) in object: ${ae.joinValues(r.keys,", ")}`;break;case T.invalid_union:t="Invalid input";break;case T.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ae.joinValues(r.options)}`;break;case T.invalid_enum_value:t=`Invalid enum value. Expected ${ae.joinValues(r.options)}, received '${r.received}'`;break;case T.invalid_arguments:t="Invalid function arguments";break;case T.invalid_return_type:t="Invalid function return type";break;case T.invalid_date:t="Invalid date";break;case T.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:ae.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case T.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="bigint"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case T.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case T.custom:t="Invalid input";break;case T.invalid_intersection_types:t="Intersection results could not be merged";break;case T.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case T.not_finite:t="Number must be finite";break;default:t=e.defaultError,ae.assertNever(r)}return{message:t}},Jt=gw;var Lg=Jt;function mw(r){Lg=r}function qn(){return Lg}var ns=r=>{let{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="",l=n.filter(c=>!!c).slice().reverse();for(let c of l)a=c(o,{data:e,defaultError:a}).message;return{...i,path:s,message:a}},vw=[];function F(r,e){let t=qn(),n=ns({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Jt?void 0:Jt].filter(i=>!!i)});r.common.issues.push(n)}var We=class r{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let i of t){if(i.status==="aborted")return Q;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let i of t){let s=await i.key,o=await i.value;n.push({key:s,value:o})}return r.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let i of t){let{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Q;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[s.value]=o.value)}return{status:e.value,value:n}}},Q=Object.freeze({status:"aborted"}),sn=r=>({status:"dirty",value:r}),Ge=r=>({status:"valid",value:r}),ta=r=>r.status==="aborted",ra=r=>r.status==="dirty",wr=r=>r.status==="valid",Zn=r=>typeof Promise<"u"&&r instanceof Promise;var Z;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message})(Z||(Z={}));var mt=class{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fg=(r,e)=>{if(wr(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new rt(r.common.issues);return this._error=t,this._error}}};function ie(r){if(!r)return{};let{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,a)=>{let{message:l}=r;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??n??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??t??a.defaultError}},description:i}}var oe=class{get description(){return this._def.description}_getType(e){return Dt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Dt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new We,ctx:{common:e.parent.common,data:e.data,parsedType:Dt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Zn(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)},i=this._parseSync({data:e,path:n.path,parent:n});return Fg(n,i)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return wr(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>wr(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(Zn(i)?i:Promise.resolve(i));return Fg(n,s)}refine(e,t){let n=i=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{let o=e(i),a=()=>s.addIssue({code:T.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new vt({schema:this,typeName:ee.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return gt.create(this,this._def)}nullable(){return Bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return tr.create(this)}promise(){return Er.create(this,this._def)}or(e){return pn.create([this,e],this._def)}and(e){return hn.create(this,e,this._def)}transform(e){return new vt({...ie(this._def),schema:this,typeName:ee.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new yn({...ie(this._def),innerType:this,defaultValue:t,typeName:ee.ZodDefault})}brand(){return new is({typeName:ee.ZodBranded,type:this,...ie(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new _n({...ie(this._def),innerType:this,catchValue:t,typeName:ee.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ss.create(this,e)}readonly(){return bn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},yw=/^c[^\s-]{8,}$/i,_w=/^[0-9a-z]+$/,bw=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ww=/^[a-z0-9_-]{21}$/i,kw=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Sw=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ew=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Cw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fc,Aw=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Rw=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Tw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Iw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$w=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Mw=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ow=new RegExp(`^${Hg}$`);function Bg(r){let e="[0-5]\\d";r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`);let t=r.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function Pw(r){return new RegExp(`^${Bg(r)}$`)}function Vg(r){let e=`${Hg}T${Bg(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function Nw(r,e){return!!((e==="v4"||!e)&&Aw.test(r)||(e==="v6"||!e)&&Tw.test(r))}function Lw(r,e){if(!kw.test(r))return!1;try{let[t]=r.split(".");if(!t)return!1;let n=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Fw(r,e){return!!((e==="v4"||!e)&&Rw.test(r)||(e==="v6"||!e)&&Iw.test(r))}var kr=class r extends oe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==W.string){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.string,received:s.parsedType}),Q}let n=new We,i;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let o=e.data.length>s.value,a=e.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(e,i),o?F(i,{code:T.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&F(i,{code:T.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Ew.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"email",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Fc||(Fc=new RegExp(Cw,"u")),Fc.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"emoji",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")xw.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"uuid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")ww.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"nanoid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")yw.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cuid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")_w.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cuid2",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")bw.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"ulid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),F(i,{validation:"url",code:T.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"regex",code:T.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Vg(s).test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Ow.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Pw(s).test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Sw.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"duration",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Nw(e.data,s.version)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"ip",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Lw(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"jwt",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Fw(e.data,s.version)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cidr",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?$w.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"base64",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Mw.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"base64url",code:T.invalid_string,message:s.message}),n.dirty()):ae.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(i=>e.test(i),{validation:t,code:T.invalid_string,...Z.errToObj(n)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Z.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Z.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Z.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Z.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Z.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Z.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Z.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Z.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Z.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Z.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Z.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Z.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Z.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Z.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...Z.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...Z.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Z.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...Z.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Z.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Z.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Z.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Z.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Z.errToObj(t)})}nonempty(e){return this.min(1,Z.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};kr.create=r=>new kr({checks:[],typeName:ee.ZodString,coerce:r?.coerce??!1,...ie(r)});function Dw(r,e){let t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=Number.parseInt(r.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return s%o/10**i}var on=class r extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==W.number){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.number,received:s.parsedType}),Q}let n,i=new We;for(let s of this._def.checks)s.kind==="int"?ae.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:T.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?Dw(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_finite,message:s.message}),i.dirty()):ae.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Z.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Z.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Z.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Z.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Z.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Z.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Z.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ae.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}};on.create=r=>new on({checks:[],typeName:ee.ZodNumber,coerce:r?.coerce||!1,...ie(r)});var an=class r extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==W.bigint)return this._getInvalidInput(e);let n,i=new We;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):ae.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return F(t,{code:T.invalid_type,expected:W.bigint,received:t.parsedType}),Q}gte(e,t){return this.setLimit("min",e,!0,Z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Z.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Z.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Z.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};an.create=r=>new an({checks:[],typeName:ee.ZodBigInt,coerce:r?.coerce??!1,...ie(r)});var ln=class extends oe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==W.boolean){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.boolean,received:n.parsedType}),Q}return Ge(e.data)}};ln.create=r=>new ln({typeName:ee.ZodBoolean,coerce:r?.coerce||!1,...ie(r)});var cn=class r extends oe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==W.date){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.date,received:s.parsedType}),Q}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_date}),Q}let n=new We,i;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):ae.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Z.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Z.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};cn.create=r=>new cn({checks:[],coerce:r?.coerce||!1,typeName:ee.ZodDate,...ie(r)});var Kn=class extends oe{_parse(e){if(this._getType(e)!==W.symbol){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.symbol,received:n.parsedType}),Q}return Ge(e.data)}};Kn.create=r=>new Kn({typeName:ee.ZodSymbol,...ie(r)});var un=class extends oe{_parse(e){if(this._getType(e)!==W.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.undefined,received:n.parsedType}),Q}return Ge(e.data)}};un.create=r=>new un({typeName:ee.ZodUndefined,...ie(r)});var dn=class extends oe{_parse(e){if(this._getType(e)!==W.null){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.null,received:n.parsedType}),Q}return Ge(e.data)}};dn.create=r=>new dn({typeName:ee.ZodNull,...ie(r)});var Sr=class extends oe{constructor(){super(...arguments),this._any=!0}_parse(e){return Ge(e.data)}};Sr.create=r=>new Sr({typeName:ee.ZodAny,...ie(r)});var er=class extends oe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ge(e.data)}};er.create=r=>new er({typeName:ee.ZodUnknown,...ie(r)});var Mt=class extends oe{_parse(e){let t=this._getOrReturnCtx(e);return F(t,{code:T.invalid_type,expected:W.never,received:t.parsedType}),Q}};Mt.create=r=>new Mt({typeName:ee.ZodNever,...ie(r)});var Yn=class extends oe{_parse(e){if(this._getType(e)!==W.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.void,received:n.parsedType}),Q}return Ge(e.data)}};Yn.create=r=>new Yn({typeName:ee.ZodVoid,...ie(r)});var tr=class r extends oe{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==W.array)return F(t,{code:T.invalid_type,expected:W.array,received:t.parsedType}),Q;if(i.exactLength!==null){let o=t.data.length>i.exactLength.value,a=t.data.length<i.exactLength.value;(o||a)&&(F(t,{code:o?T.too_big:T.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(F(t,{code:T.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(F(t,{code:T.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((o,a)=>i.type._parseAsync(new mt(t,o,t.path,a)))).then(o=>We.mergeArray(n,o));let s=[...t.data].map((o,a)=>i.type._parseSync(new mt(t,o,t.path,a)));return We.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:Z.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:Z.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:Z.toString(t)}})}nonempty(e){return this.min(1,e)}};tr.create=(r,e)=>new tr({type:r,minLength:null,maxLength:null,exactLength:null,typeName:ee.ZodArray,...ie(e)});function Gn(r){if(r instanceof nt){let e={};for(let t in r.shape){let n=r.shape[t];e[t]=gt.create(Gn(n))}return new nt({...r._def,shape:()=>e})}else return r instanceof tr?new tr({...r._def,type:Gn(r.element)}):r instanceof gt?gt.create(Gn(r.unwrap())):r instanceof Bt?Bt.create(Gn(r.unwrap())):r instanceof Ht?Ht.create(r.items.map(e=>Gn(e))):r}var nt=class r extends oe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=ae.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==W.object){let c=this._getOrReturnCtx(e);return F(c,{code:T.invalid_type,expected:W.object,received:c.parsedType}),Q}let{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Mt&&this._def.unknownKeys==="strip"))for(let c in i.data)o.includes(c)||a.push(c);let l=[];for(let c of o){let u=s[c],p=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new mt(i,p,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof Mt){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(c==="strict")a.length>0&&(F(i,{code:T.unrecognized_keys,keys:a}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let p=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new mt(i,p,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let p=await u.key,h=await u.value;c.push({key:p,value:h,alwaysSet:u.alwaysSet})}return c}).then(c=>We.mergeObjectSync(n,c)):We.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return Z.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{let i=this._def.errorMap?.(t,n).message??n.defaultError;return t.code==="unrecognized_keys"?{message:Z.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ee.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};for(let n of ae.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}omit(e){let t={};for(let n of ae.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}deepPartial(){return Gn(this)}partial(e){let t={};for(let n of ae.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}return new r({...this._def,shape:()=>t})}required(e){let t={};for(let n of ae.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof gt;)s=s._def.innerType;t[n]=s}return new r({...this._def,shape:()=>t})}keyof(){return jg(ae.objectKeys(this.shape))}};nt.create=(r,e)=>new nt({shape:()=>r,unknownKeys:"strip",catchall:Mt.create(),typeName:ee.ZodObject,...ie(e)});nt.strictCreate=(r,e)=>new nt({shape:()=>r,unknownKeys:"strict",catchall:Mt.create(),typeName:ee.ZodObject,...ie(e)});nt.lazycreate=(r,e)=>new nt({shape:r,unknownKeys:"strip",catchall:Mt.create(),typeName:ee.ZodObject,...ie(e)});var pn=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function i(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;let o=s.map(a=>new rt(a.ctx.common.issues));return F(t,{code:T.invalid_union,unionErrors:o}),Q}if(t.common.async)return Promise.all(n.map(async s=>{let o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(i);{let s,o=[];for(let l of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=l._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&o.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(l=>new rt(l));return F(t,{code:T.invalid_union,unionErrors:a}),Q}}get options(){return this._def.options}};pn.create=(r,e)=>new pn({options:r,typeName:ee.ZodUnion,...ie(e)});var Qt=r=>r instanceof fn?Qt(r.schema):r instanceof vt?Qt(r.innerType()):r instanceof gn?[r.value]:r instanceof mn?r.options:r instanceof vn?ae.objectValues(r.enum):r instanceof yn?Qt(r._def.innerType):r instanceof un?[void 0]:r instanceof dn?[null]:r instanceof gt?[void 0,...Qt(r.unwrap())]:r instanceof Bt?[null,...Qt(r.unwrap())]:r instanceof is||r instanceof bn?Qt(r.unwrap()):r instanceof _n?Qt(r._def.innerType):[],na=class r extends oe{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.object)return F(t,{code:T.invalid_type,expected:W.object,received:t.parsedType}),Q;let n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(F(t,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let i=new Map;for(let s of t){let o=Qt(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,s)}}return new r({typeName:ee.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...ie(n)})}};function Dc(r,e){let t=Dt(r),n=Dt(e);if(r===e)return{valid:!0,data:r};if(t===W.object&&n===W.object){let i=ae.objectKeys(e),s=ae.objectKeys(r).filter(a=>i.indexOf(a)!==-1),o={...r,...e};for(let a of s){let l=Dc(r[a],e[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(t===W.array&&n===W.array){if(r.length!==e.length)return{valid:!1};let i=[];for(let s=0;s<r.length;s++){let o=r[s],a=e[s],l=Dc(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return t===W.date&&n===W.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}var hn=class extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=(s,o)=>{if(ta(s)||ta(o))return Q;let a=Dc(s.value,o.value);return a.valid?((ra(s)||ra(o))&&t.dirty(),{status:t.value,value:a.data}):(F(n,{code:T.invalid_intersection_types}),Q)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};hn.create=(r,e,t)=>new hn({left:r,right:e,typeName:ee.ZodIntersection,...ie(t)});var Ht=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.array)return F(n,{code:T.invalid_type,expected:W.array,received:n.parsedType}),Q;if(n.data.length<this._def.items.length)return F(n,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Q;!this._def.rest&&n.data.length>this._def.items.length&&(F(n,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let s=[...n.data].map((o,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new mt(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(s).then(o=>We.mergeArray(t,o)):We.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};Ht.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ht({items:r,typeName:ee.ZodTuple,rest:null,...ie(e)})};var ia=class r extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.object)return F(n,{code:T.invalid_type,expected:W.object,received:n.parsedType}),Q;let i=[],s=this._def.keyType,o=this._def.valueType;for(let a in n.data)i.push({key:s._parse(new mt(n,a,n.path,a)),value:o._parse(new mt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?We.mergeObjectAsync(t,i):We.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof oe?new r({keyType:e,valueType:t,typeName:ee.ZodRecord,...ie(n)}):new r({keyType:kr.create(),valueType:e,typeName:ee.ZodRecord,...ie(t)})}},Xn=class extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.map)return F(n,{code:T.invalid_type,expected:W.map,received:n.parsedType}),Q;let i=this._def.keyType,s=this._def.valueType,o=[...n.data.entries()].map(([a,l],c)=>({key:i._parse(new mt(n,a,n.path,[c,"key"])),value:s._parse(new mt(n,l,n.path,[c,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of o){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return Q;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),a.set(c.value,u.value)}return{status:t.value,value:a}})}else{let a=new Map;for(let l of o){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return Q;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),a.set(c.value,u.value)}return{status:t.value,value:a}}}};Xn.create=(r,e,t)=>new Xn({valueType:e,keyType:r,typeName:ee.ZodMap,...ie(t)});var Jn=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.set)return F(n,{code:T.invalid_type,expected:W.set,received:n.parsedType}),Q;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(F(n,{code:T.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(F(n,{code:T.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let s=this._def.valueType;function o(l){let c=new Set;for(let u of l){if(u.status==="aborted")return Q;u.status==="dirty"&&t.dirty(),c.add(u.value)}return{status:t.value,value:c}}let a=[...n.data.values()].map((l,c)=>s._parse(new mt(n,l,n.path,c)));return n.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(e,t){return new r({...this._def,minSize:{value:e,message:Z.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:Z.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Jn.create=(r,e)=>new Jn({valueType:r,minSize:null,maxSize:null,typeName:ee.ZodSet,...ie(e)});var sa=class r extends oe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.function)return F(t,{code:T.invalid_type,expected:W.function,received:t.parsedType}),Q;function n(a,l){return ns({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qn(),Jt].filter(c=>!!c),issueData:{code:T.invalid_arguments,argumentsError:l}})}function i(a,l){return ns({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qn(),Jt].filter(c=>!!c),issueData:{code:T.invalid_return_type,returnTypeError:l}})}let s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Er){let a=this;return Ge(async function(...l){let c=new rt([]),u=await a._def.args.parseAsync(l,s).catch(f=>{throw c.addIssue(n(l,f)),c}),p=await Reflect.apply(o,this,u);return await a._def.returns._def.type.parseAsync(p,s).catch(f=>{throw c.addIssue(i(p,f)),c})})}else{let a=this;return Ge(function(...l){let c=a._def.args.safeParse(l,s);if(!c.success)throw new rt([n(l,c.error)]);let u=Reflect.apply(o,this,c.data),p=a._def.returns.safeParse(u,s);if(!p.success)throw new rt([i(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new r({...this._def,args:Ht.create(e).rest(er.create())})}returns(e){return new r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new r({args:e||Ht.create([]).rest(er.create()),returns:t||er.create(),typeName:ee.ZodFunction,...ie(n)})}},fn=class extends oe{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};fn.create=(r,e)=>new fn({getter:r,typeName:ee.ZodLazy,...ie(e)});var gn=class extends oe{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return F(t,{received:t.data,code:T.invalid_literal,expected:this._def.value}),Q}return{status:"valid",value:e.data}}get value(){return this._def.value}};gn.create=(r,e)=>new gn({value:r,typeName:ee.ZodLiteral,...ie(e)});function jg(r,e){return new mn({values:r,typeName:ee.ZodEnum,...ie(e)})}var mn=class r extends oe{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),n=this._def.values;return F(t,{expected:ae.joinValues(n),received:t.parsedType,code:T.invalid_type}),Q}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return F(t,{received:t.data,code:T.invalid_enum_value,options:n}),Q}return Ge(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}};mn.create=jg;var vn=class extends oe{_parse(e){let t=ae.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==W.string&&n.parsedType!==W.number){let i=ae.objectValues(t);return F(n,{expected:ae.joinValues(i),received:n.parsedType,code:T.invalid_type}),Q}if(this._cache||(this._cache=new Set(ae.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=ae.objectValues(t);return F(n,{received:n.data,code:T.invalid_enum_value,options:i}),Q}return Ge(e.data)}get enum(){return this._def.values}};vn.create=(r,e)=>new vn({values:r,typeName:ee.ZodNativeEnum,...ie(e)});var Er=class extends oe{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.promise&&t.common.async===!1)return F(t,{code:T.invalid_type,expected:W.promise,received:t.parsedType}),Q;let n=t.parsedType===W.promise?t.data:Promise.resolve(t.data);return Ge(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Er.create=(r,e)=>new Er({type:r,typeName:ee.ZodPromise,...ie(e)});var vt=class extends oe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ee.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:o=>{F(n,o),o.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){let o=i.transform(n.data,s);if(n.common.async)return Promise.resolve(o).then(async a=>{if(t.value==="aborted")return Q;let l=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return l.status==="aborted"?Q:l.status==="dirty"?sn(l.value):t.value==="dirty"?sn(l.value):l});{if(t.value==="aborted")return Q;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?Q:a.status==="dirty"?sn(a.value):t.value==="dirty"?sn(a.value):a}}if(i.type==="refinement"){let o=a=>{let l=i.refinement(a,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Q:(a.status==="dirty"&&t.dirty(),o(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Q:(a.status==="dirty"&&t.dirty(),o(a.value).then(()=>({status:t.value,value:a.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!wr(o))return Q;let a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>wr(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:t.value,value:a})):Q);ae.assertNever(i)}};vt.create=(r,e,t)=>new vt({schema:r,typeName:ee.ZodEffects,effect:e,...ie(t)});vt.createWithPreprocess=(r,e,t)=>new vt({schema:e,effect:{type:"preprocess",transform:r},typeName:ee.ZodEffects,...ie(t)});var gt=class extends oe{_parse(e){return this._getType(e)===W.undefined?Ge(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};gt.create=(r,e)=>new gt({innerType:r,typeName:ee.ZodOptional,...ie(e)});var Bt=class extends oe{_parse(e){return this._getType(e)===W.null?Ge(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Bt.create=(r,e)=>new Bt({innerType:r,typeName:ee.ZodNullable,...ie(e)});var yn=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===W.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};yn.create=(r,e)=>new yn({innerType:r,typeName:ee.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...ie(e)});var _n=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Zn(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new rt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new rt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};_n.create=(r,e)=>new _n({innerType:r,typeName:ee.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...ie(e)});var Qn=class extends oe{_parse(e){if(this._getType(e)!==W.nan){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.nan,received:n.parsedType}),Q}return{status:"valid",value:e.data}}};Qn.create=r=>new Qn({typeName:ee.ZodNaN,...ie(r)});var Hw=Symbol("zod_brand"),is=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},ss=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Q:s.status==="dirty"?(t.dirty(),sn(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Q:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new r({in:e,out:t,typeName:ee.ZodPipeline})}},bn=class extends oe{_parse(e){let t=this._def.innerType._parse(e),n=i=>(wr(i)&&(i.value=Object.freeze(i.value)),i);return Zn(t)?t.then(i=>n(i)):n(t)}unwrap(){return this._def.innerType}};bn.create=(r,e)=>new bn({innerType:r,typeName:ee.ZodReadonly,...ie(e)});function Dg(r,e){let t=typeof r=="function"?r(e):typeof r=="string"?{message:r}:r;return typeof t=="string"?{message:t}:t}function Wg(r,e={},t){return r?Sr.create().superRefine((n,i)=>{let s=r(n);if(s instanceof Promise)return s.then(o=>{if(!o){let a=Dg(e,n),l=a.fatal??t??!0;i.addIssue({code:"custom",...a,fatal:l})}});if(!s){let o=Dg(e,n),a=o.fatal??t??!0;i.addIssue({code:"custom",...o,fatal:a})}}):Sr.create()}var Bw={object:nt.lazycreate},ee;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(ee||(ee={}));var Vw=(r,e={message:`Input not instance of ${r.name}`})=>Wg(t=>t instanceof r,e),Ug=kr.create,zg=on.create,jw=Qn.create,Ww=an.create,qg=ln.create,Uw=cn.create,zw=Kn.create,qw=un.create,Zw=dn.create,Gw=Sr.create,Kw=er.create,Yw=Mt.create,Xw=Yn.create,Jw=tr.create,Qw=nt.create,ek=nt.strictCreate,tk=pn.create,rk=na.create,nk=hn.create,ik=Ht.create,sk=ia.create,ok=Xn.create,ak=Jn.create,lk=sa.create,ck=fn.create,uk=gn.create,dk=mn.create,pk=vn.create,hk=Er.create,fk=vt.create,gk=gt.create,mk=Bt.create,vk=vt.createWithPreprocess,yk=ss.create,_k=()=>Ug().optional(),bk=()=>zg().optional(),xk=()=>qg().optional(),wk={string:(r=>kr.create({...r,coerce:!0})),number:(r=>on.create({...r,coerce:!0})),boolean:(r=>ln.create({...r,coerce:!0})),bigint:(r=>an.create({...r,coerce:!0})),date:(r=>cn.create({...r,coerce:!0}))};var kk=Q;var Sk=d.object({selector:d.string(),route:d.union([d.string(),d.array(d.string())])}).strict(),Zg=["ui.click","ui.scroll","ui.input","ui.change","ui.submit","ui.hover","ui.idle","ui.scroll_thrash","ui.focus_bounce","nav.page_view","nav.page_leave","behavior.rage_click","behavior.hesitation","behavior.confusion"],Gg=d.enum(Zg).describe("Event name to count. ui.* = user interactions and behavioral detectors, nav.* = page navigation, behavior.* = derived behavioral signals."),Kg=["time_on_page","page_views","scroll_depth"],Yg=d.enum(Kg).describe("Session metric key. time_on_page = seconds on current page, page_views = pages visited this session, scroll_depth = 0-100 percentage.");var Hc=d.object({type:d.literal("page_url"),url:d.string().describe('URL path to match (e.g. "/pricing", "/dashboard")')}).describe('Fires when the current page URL matches. Use for page-specific actions. Example: {"type": "page_url", "url": "/pricing"}'),Bc=d.object({type:d.literal("route"),routeId:d.string().describe("Named route ID from the route filter")}).describe("Fires when the current route matches a named route ID."),Vc=d.object({type:d.literal("anchor_visible"),anchorId:d.string().describe("CSS selector of the anchor element"),state:d.enum(["visible","present","absent"]).describe('"visible" = in viewport, "present" = in DOM, "absent" = not in DOM')}).describe(`Fires based on a DOM element's visibility state. Example: {"type": "anchor_visible", "anchorId": "#cta-button", "state": "visible"}`),jc=d.object({type:d.literal("event_occurred"),eventName:d.string().describe('Event name (e.g. "ui.click", "$pageview")'),withinMs:d.number().optional().describe("Time window in ms. Omit = any time this session.")}).describe('Fires when a specific event has occurred during this session. Example: {"type": "event_occurred", "eventName": "ui.click", "withinMs": 5000}'),Wc=d.object({type:d.literal("state_equals"),key:d.string().describe("Key in the SDK persistent state store (localStorage). Only valid for keys the host app explicitly sets via syntro.state.set()."),value:d.unknown().describe("Expected value to match against")}).describe("Checks the SDK persistent state store (localStorage). ONLY for host-app state set via syntro.state.set() \u2014 NOT for user attributes like region, device, or UTM params (those are handled by segment targeting). Do NOT use this for targeting. If you do not know the valid state keys, do not use this condition type."),Uc=d.object({type:d.literal("viewport"),minWidth:d.number().optional().describe("Minimum viewport width in pixels"),maxWidth:d.number().optional().describe("Maximum viewport width in pixels"),minHeight:d.number().optional().describe("Minimum viewport height in pixels"),maxHeight:d.number().optional().describe("Maximum viewport height in pixels")}).describe('Fires based on viewport (screen) size. Use for responsive behavior. Example: {"type": "viewport", "minWidth": 768} \u2014 fires on tablet and larger.'),zc=d.object({type:d.literal("session_metric"),key:Yg,operator:d.enum(["gte","lte","eq","gt","lt"]),threshold:d.number().describe("Numeric threshold to compare against")}).describe('Fires when a session metric crosses a threshold. Valid keys: "time_on_page" (seconds), "page_views" (count), "scroll_depth" (0-100). Example: {"type": "session_metric", "key": "time_on_page", "operator": "gte", "threshold": 30}'),qc=d.object({type:d.literal("dismissed"),key:d.string().describe("Dismissal key (usually a tile or action ID)"),inverted:d.boolean().optional().describe("When true, fires if NOT dismissed (default behavior)")}).describe("Checks if an item has been dismissed by the user. Use with inverted: true to show only if not dismissed."),Zc=d.object({type:d.literal("cooldown_active"),key:d.string().describe("Cooldown key"),inverted:d.boolean().optional().describe("When true, fires if cooldown is NOT active")}).describe("Checks if a cooldown timer is currently active. Use to prevent showing the same intervention too frequently."),Gc=d.object({type:d.literal("frequency_limit"),key:d.string().describe("Frequency counter key"),limit:d.number().describe("Maximum allowed count"),inverted:d.boolean().optional().describe("When true, fires if limit NOT reached")}).describe("Checks if a frequency limit has been reached. Use to cap how many times an action fires per session."),os=d.object({equals:d.union([d.string(),d.number(),d.boolean()]).optional(),contains:d.string().optional()}).describe("Match operator for counter filters. Exactly one of equals or contains must be specified."),as=d.object({events:d.array(Gg).min(1).describe("Event names to count. Use values from the countable events enum."),match:d.record(d.string(),os).optional().describe("Property filters. Keys are event prop names or element-chain fields (tag_name, $el_text, attr__*). All entries AND together.")}).describe("Defines what events to count. Registered as an accumulator predicate at config-load time."),Kc=d.object({type:d.literal("event_count"),key:d.string().describe("Unique key for this counter (used for accumulator registration)"),operator:d.enum(["gte","lte","eq","gt","lt"]),count:d.number().int().min(0).describe("Target count threshold"),withinMs:d.number().positive().optional().describe("Time window in ms. Omit = count across entire session."),counter:as.optional().describe("Inline counter definition. Defines what events to count.")}).describe('Fires when accumulated event count crosses a threshold. Most powerful trigger type. Example: {"type": "event_count", "key": "pricing-clicks", "operator": "gte", "count": 3, "counter": {"events": ["ui.click"], "match": {"attr__data-cta": {"contains": "pricing"}}}}'),Cr=d.discriminatedUnion("type",[Hc,Bc,Vc,jc,Wc,Uc,zc,qc,Zc,Gc,Kc]),ls=d.object({conditions:d.array(Cr).describe("Array of conditions \u2014 ALL must match (AND logic) for this rule to fire."),value:d.unknown().describe("Value returned when all conditions match. For triggerWhen: true = fire the action.")}).describe("A single rule. ALL conditions must match (AND logic). Rules in a strategy are evaluated top-to-bottom \u2014 first rule where all conditions match wins and returns its value."),cs=d.object({type:d.literal("rules"),rules:d.array(ls).describe("Ordered list of rules. Evaluated top-to-bottom \u2014 first match wins."),default:d.unknown().describe("Fallback value when no rule matches. For triggerWhen: false = do not fire by default.")}).describe("Rule-based strategy. Evaluates rules top-to-bottom. First rule where ALL conditions match returns its value. If no rule matches, returns default. For triggerWhen: set value=true on matching rules, default=false."),us=d.object({type:d.literal("score"),field:d.string(),threshold:d.number(),above:d.unknown(),below:d.unknown()}).describe("Score-based strategy. Compares a field value against a threshold."),ds=d.object({type:d.literal("model"),modelId:d.string(),inputs:d.array(d.string()),outputMapping:d.record(d.string(),d.unknown()),default:d.unknown()}).describe("ML model strategy. Sends inputs to a model and maps outputs."),ps=d.object({type:d.literal("external"),endpoint:d.string(),method:d.enum(["GET","POST"]).optional(),default:d.unknown(),timeoutMs:d.number().optional()}).describe("External API strategy. Calls an endpoint to determine the value."),hs=d.discriminatedUnion("type",[cs,us,ds,ps]),oa=hs.nullable().optional();var Ek=d.object({events:d.array(d.string()),urlContains:d.string().optional(),props:d.record(d.union([d.string(),d.number(),d.boolean()])).optional()}),Ck=d.object({title:d.string().optional(),body:d.string().optional(),icon:d.string().optional()}).nullable().optional();function Xg(r){let{href:e,external:t,windowOrigin:n,isIframe:i}=r;if(i||n==="null")return{kind:"open",url:e};if(t)return{kind:"open",url:e};let o;try{o=new URL(e,n)}catch{return{kind:"fullnav",url:e}}return o.origin!==n?{kind:"fullnav",url:o.toString()}:{kind:"spa",url:o}}function Jg(){if(typeof window>"u")return!1;try{return window!==window.top}catch{return!0}}var Fe=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},aa=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},De,gs,ms,Yc,Xc,om,Jc,Qg,em,tm,fs,Qc,Ak="#6a59ce",rm="#677384",nm="#87919f";function Rk(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Tk(r){return nn(r)||Rk(r)}function im(r){if(typeof window>"u")return!1;let e=window.location.pathname;return r.some(t=>{let n=t.split("?")[0].split("#")[0];return n.endsWith("/**")?e.startsWith(n.slice(0,-3)):e===n})}function Ik(r){let e=[{boxShadow:"0 0 0 0 rgba(13, 148, 136, 0.5)"},{boxShadow:"0 0 0 8px rgba(13, 148, 136, 0)"}];r.animate(e,{duration:600,iterations:3,easing:"ease-out"})}function $k(r){return r==="dark"?"dark":r==="light"?"light":typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}var la=class extends he{constructor(){super(...arguments),De.add(this),this.config={expandBehavior:"single",theme:"auto",actions:[]},this.runtime=void 0,this.instanceId="nav-widget",this._expandedIds=new Set,this._renderTick=0,this._hoveredId=null,gs.set(this,null),ms.set(this,null)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Fe(this,De,"m",Yc).call(this)}disconnectedCallback(){super.disconnectedCallback(),Fe(this,De,"m",Xc).call(this)}updated(e){e.has("runtime")&&(Fe(this,De,"m",Xc).call(this),Fe(this,De,"m",Yc).call(this))}render(){let e=Fe(this,De,"m",om).call(this),t=Fe(this,De,"m",Jc).call(this),n=I({fontFamily:"var(--sc-font-family, system-ui, -apple-system, sans-serif)",maxWidth:"100%",overflow:"hidden",backgroundColor:"transparent",color:"inherit"}),i=I({display:"flex",flexDirection:"column",gap:"var(--sc-content-item-gap, 6px)"}),s=I({fontSize:"var(--sc-content-category-font-size, 12px)",fontWeight:"600",textTransform:"uppercase",letterSpacing:"0.05em",padding:"var(--sc-content-category-padding, 8px 4px 4px 4px)",color:t==="dark"?nm:rm}),o=I({fontSize:"13px",padding:"16px",textAlign:"center",color:t==="dark"?rm:nm});if(e.length===0)return j`
303
303
  <div
304
304
  style=${n}
305
305
  data-adaptive-id=${this.instanceId}
@@ -319,11 +319,11 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
319
319
  <div style=${i}>
320
320
  ${l?Array.from(a.entries()).map(([c,u])=>j`
321
321
  ${c?j`<div style=${s} data-category-header=${c}>${c}</div>`:J}
322
- ${u.map((p,h)=>Fe(this,De,"m",Dc).call(this,p,h,u.length))}
323
- `):e.map((c,u)=>Fe(this,De,"m",Dc).call(this,c,u,e.length))}
322
+ ${u.map((p,h)=>Fe(this,De,"m",Qc).call(this,p,h,u.length))}
323
+ `):e.map((c,u)=>Fe(this,De,"m",Qc).call(this,c,u,e.length))}
324
324
  </div>
325
325
  </div>
326
- `}};ns=new WeakMap,is=new WeakMap,De=new WeakSet,Nc=function(){this.runtime&&(ea(this,ns,this.runtime.context.subscribe(()=>{this._renderTick+=1}),"f"),this.runtime.accumulator?.subscribe&&ea(this,is,this.runtime.accumulator.subscribe(()=>{this._renderTick+=1}),"f"))},Lc=function(){Fe(this,ns,"f")?.call(this),ea(this,ns,null,"f"),Fe(this,is,"f")?.call(this),ea(this,is,null,"f")},Wg=function(){return this._renderTick,this.runtime?this.config.actions.filter(e=>{if(!e.triggerWhen)return!0;try{return this.runtime.evaluateSync(e.triggerWhen).value}catch{return!1}}):this.config.actions},Fc=function(){return mw(this.config.theme)},Lg=function(e){let t=this._expandedIds.has(e),n;if(this.config.expandBehavior==="single"){for(let i of this._expandedIds)i!==e&&Fe(this,De,"m",rs).call(this,"nav:toggled",{tipId:i,expanded:!1});n=t?new Set:new Set([e])}else n=new Set(this._expandedIds),t?n.delete(e):n.add(e);Fe(this,De,"m",rs).call(this,"nav:toggled",{tipId:e,expanded:!t}),this._expandedIds=n},Fg=function(e,t){let n=e.trim().toLowerCase();if(n.startsWith("javascript:")||n.startsWith("data:"))return;Fe(this,De,"m",rs).call(this,"nav:tip_clicked",{href:e,external:t}),this.dispatchEvent(new CustomEvent("nav-tip-clicked",{bubbles:!0,detail:{href:e,external:t,instanceId:this.instanceId}}));let i=Pg({href:e,external:t,windowOrigin:typeof window<"u"?window.location.origin:"",isIframe:Ng()});if(i.kind==="open"){window.open(i.url,"_blank","noopener,noreferrer");return}if(i.kind==="fullnav"){window.location.href=i.url;return}i.url.search=window.location.search,Hc(i.url.toString())||(window.history.pushState(null,"",i.url.toString()),window.dispatchEvent(new PopStateEvent("popstate")))},Dg=function(e){let t=document.querySelector(e.selector);t instanceof HTMLElement&&(Fe(this,De,"m",rs).call(this,"nav:tip_focused",{selector:e.selector,route:e.route}),this.dispatchEvent(new CustomEvent("nav-tip-focused",{bubbles:!0,detail:{selector:e.selector,instanceId:this.instanceId}})),t.scrollIntoView({behavior:"smooth",block:"center"}),gw(t),setTimeout(()=>t.focus(),400))},rs=function(e,t){this.runtime?.events.publish(e,{instanceId:this.instanceId,timestamp:Date.now(),...t})},Dc=function(e,t,n){let{id:i,title:s,description:o,href:a,icon:l,external:c,anchor:u,category:p}=e.config,h=this._expandedIds.has(i),f=t===n-1,v=this._hoveredId===i,m=Fe(this,De,"m",Fc).call(this),g=u?Array.isArray(u.route)?u.route[0]:u.route:a,y=u?Vg(Array.isArray(u.route)?u.route:[u.route]):g?Vg([g]):!1,x=u?.selector&&u.selector!=="*",k=y&&x,_=!!g||k,w=k?"Focus \u2192":c?"Go \u2197":"Go \u2192",R=I({borderRadius:"var(--sc-content-border-radius, 8px)",overflow:"hidden",transition:"box-shadow 0.2s ease",backgroundColor:"var(--sc-content-background)",border:"var(--sc-content-border)",...h?{boxShadow:m==="dark"?"0 4px 12px rgba(0, 0, 0, 0.15)":"0 4px 12px rgba(0, 0, 0, 0.08)"}:{},...f?{}:{borderBottom:"var(--sc-content-item-divider, none)"}}),b=I({display:"flex",alignItems:"center",gap:"8px",width:"100%",padding:"var(--sc-content-item-padding, 12px 16px)",border:"none",cursor:"pointer",fontSize:"var(--sc-content-item-font-size, 15px)",fontWeight:"500",fontFamily:"inherit",textAlign:"left",transition:"background-color 0.15s ease",backgroundColor:v?"var(--sc-content-background-hover)":"transparent",color:"var(--sc-content-text-color)"}),A=I({fontSize:"20px",transition:"transform 0.2s ease",marginLeft:"auto",flexShrink:"0",color:"var(--sc-content-chevron-color, currentColor)",transform:h?"rotate(90deg)":"rotate(0deg)"}),$=I({overflow:"hidden",transition:"max-height 0.25s ease, padding-bottom 0.25s ease",padding:"var(--sc-content-body-padding, 0 16px 12px 16px)",color:"var(--sc-content-text-secondary-color)",maxHeight:h?"500px":"0",paddingBottom:h?"16px":"0"}),N=I({fontSize:"var(--sc-content-body-font-size, 14px)",lineHeight:"1.5",margin:"0"}),M=I({display:"inline-flex",alignItems:"center",gap:"4px",marginTop:"10px",padding:"6px 12px",borderRadius:"6px",textDecoration:"none",fontSize:"13px",fontWeight:"500",cursor:"pointer",border:"none",transition:"background-color 0.15s ease",backgroundColor:`var(--sc-color-primary, ${dw})`,color:"#ffffff"}),K=I({fontSize:"16px",flexShrink:"0"}),L=O=>{O.preventDefault(),O.stopPropagation(),k&&u?Fe(this,De,"m",Dg).call(this,u):g&&Fe(this,De,"m",Fg).call(this,g,c??!1)};return j`
326
+ `}};gs=new WeakMap,ms=new WeakMap,De=new WeakSet,Yc=function(){this.runtime&&(aa(this,gs,this.runtime.context.subscribe(()=>{this._renderTick+=1}),"f"),this.runtime.accumulator?.subscribe&&aa(this,ms,this.runtime.accumulator.subscribe(()=>{this._renderTick+=1}),"f"))},Xc=function(){Fe(this,gs,"f")?.call(this),aa(this,gs,null,"f"),Fe(this,ms,"f")?.call(this),aa(this,ms,null,"f")},om=function(){return this._renderTick,this.runtime?this.config.actions.filter(e=>{if(!e.triggerWhen)return!0;try{return this.runtime.evaluateSync(e.triggerWhen).value}catch{return!1}}):this.config.actions},Jc=function(){return $k(this.config.theme)},Qg=function(e){let t=this._expandedIds.has(e),n;if(this.config.expandBehavior==="single"){for(let i of this._expandedIds)i!==e&&Fe(this,De,"m",fs).call(this,"nav:toggled",{tipId:i,expanded:!1});n=t?new Set:new Set([e])}else n=new Set(this._expandedIds),t?n.delete(e):n.add(e);Fe(this,De,"m",fs).call(this,"nav:toggled",{tipId:e,expanded:!t}),this._expandedIds=n},em=function(e,t){let n=e.trim().toLowerCase();if(n.startsWith("javascript:")||n.startsWith("data:"))return;Fe(this,De,"m",fs).call(this,"nav:tip_clicked",{href:e,external:t}),this.dispatchEvent(new CustomEvent("nav-tip-clicked",{bubbles:!0,detail:{href:e,external:t,instanceId:this.instanceId}}));let i=Xg({href:e,external:t,windowOrigin:typeof window<"u"?window.location.origin:"",isIframe:Jg()});if(i.kind==="open"){window.open(i.url,"_blank","noopener,noreferrer");return}if(i.kind==="fullnav"){window.location.href=i.url;return}i.url.search=window.location.search,eu(i.url.toString())||(window.history.pushState(null,"",i.url.toString()),window.dispatchEvent(new PopStateEvent("popstate")))},tm=function(e){let t=document.querySelector(e.selector);t instanceof HTMLElement&&(Fe(this,De,"m",fs).call(this,"nav:tip_focused",{selector:e.selector,route:e.route}),this.dispatchEvent(new CustomEvent("nav-tip-focused",{bubbles:!0,detail:{selector:e.selector,instanceId:this.instanceId}})),t.scrollIntoView({behavior:"smooth",block:"center"}),Ik(t),setTimeout(()=>t.focus(),400))},fs=function(e,t){this.runtime?.events.publish(e,{instanceId:this.instanceId,timestamp:Date.now(),...t})},Qc=function(e,t,n){let{id:i,title:s,description:o,href:a,icon:l,external:c,anchor:u,category:p}=e.config,h=this._expandedIds.has(i),f=t===n-1,v=this._hoveredId===i,m=Fe(this,De,"m",Jc).call(this),g=u?Array.isArray(u.route)?u.route[0]:u.route:a,y=u?im(Array.isArray(u.route)?u.route:[u.route]):g?im([g]):!1,x=u?.selector&&u.selector!=="*",k=y&&x,_=!!g||k,w=k?"Focus \u2192":c?"Go \u2197":"Go \u2192",R=I({borderRadius:"var(--sc-content-border-radius, 8px)",overflow:"hidden",transition:"box-shadow 0.2s ease",backgroundColor:"var(--sc-content-background)",border:"var(--sc-content-border)",...h?{boxShadow:m==="dark"?"0 4px 12px rgba(0, 0, 0, 0.15)":"0 4px 12px rgba(0, 0, 0, 0.08)"}:{},...f?{}:{borderBottom:"var(--sc-content-item-divider, none)"}}),b=I({display:"flex",alignItems:"center",gap:"8px",width:"100%",padding:"var(--sc-content-item-padding, 12px 16px)",border:"none",cursor:"pointer",fontSize:"var(--sc-content-item-font-size, 15px)",fontWeight:"500",fontFamily:"inherit",textAlign:"left",transition:"background-color 0.15s ease",backgroundColor:v?"var(--sc-content-background-hover)":"transparent",color:"var(--sc-content-text-color)"}),A=I({fontSize:"20px",transition:"transform 0.2s ease",marginLeft:"auto",flexShrink:"0",color:"var(--sc-content-chevron-color, currentColor)",transform:h?"rotate(90deg)":"rotate(0deg)"}),$=I({overflow:"hidden",transition:"max-height 0.25s ease, padding-bottom 0.25s ease",padding:"var(--sc-content-body-padding, 0 16px 12px 16px)",color:"var(--sc-content-text-secondary-color)",maxHeight:h?"500px":"0",paddingBottom:h?"16px":"0"}),N=I({fontSize:"var(--sc-content-body-font-size, 14px)",lineHeight:"1.5",margin:"0"}),M=I({display:"inline-flex",alignItems:"center",gap:"4px",marginTop:"10px",padding:"6px 12px",borderRadius:"6px",textDecoration:"none",fontSize:"13px",fontWeight:"500",cursor:"pointer",border:"none",transition:"background-color 0.15s ease",backgroundColor:`var(--sc-color-primary, ${Ak})`,color:"#ffffff"}),K=I({fontSize:"16px",flexShrink:"0"}),L=O=>{O.preventDefault(),O.stopPropagation(),k&&u?Fe(this,De,"m",tm).call(this,u):g&&Fe(this,De,"m",em).call(this,g,c??!1)};return j`
327
327
  <div
328
328
  style=${R}
329
329
  data-nav-tip-id=${i}
@@ -332,11 +332,11 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
332
332
  type="button"
333
333
  style=${b}
334
334
  aria-expanded=${h}
335
- @click=${()=>Fe(this,De,"m",Lg).call(this,i)}
335
+ @click=${()=>Fe(this,De,"m",Qg).call(this,i)}
336
336
  @mouseenter=${()=>{this._hoveredId=i}}
337
337
  @mouseleave=${()=>{this._hoveredId=null}}
338
338
  >
339
- ${l?j`<span style=${K}>${Uo(fw(l))}</span>`:J}
339
+ ${l?j`<span style=${K}>${zo(Tk(l))}</span>`:J}
340
340
  <span>${s}</span>
341
341
  <span style=${A}>${"\u203A"}</span>
342
342
  </button>
@@ -353,7 +353,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
353
353
  `:J}
354
354
  </div>
355
355
  </div>
356
- `};ta.properties={config:{attribute:!1},runtime:{attribute:!1},instanceId:{type:String},_expandedIds:{state:!0},_renderTick:{state:!0},_hoveredId:{state:!0}};var jg="syntro-nav-tips";function Ug(){typeof window>"u"||customElements.get(jg)||customElements.define(jg,ta)}var vw=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);return t?(t.scrollIntoView({behavior:r.behavior??"smooth",block:r.block??"center",inline:r.inline??"nearest"}),e.publishEvent("action.applied",{id:e.generateId(),kind:"navigation:scrollTo",anchorId:r.anchorId,behavior:r.behavior??"smooth"}),{cleanup:()=>{}}):(console.error(`[adaptive-nav] Anchor not found for scrollTo, skipping: ${r.anchorId.selector}`),{cleanup:()=>{}})};function Hc(r){if(typeof window>"u")return!1;let e=window;try{let t=e.next?.router;if(t?.push)return t.push(r),!0}catch{}try{if(e.$nuxt?.$router?.push)return e.$nuxt.$router.push(r),!0}catch{}return e.ng||e.getAllAngularRootElements||document.querySelector("[ng-version]")||e.__SVELTEKIT_DATA__||document.body?.hasAttribute("data-sveltekit")||document.querySelector("[data-astro-transition-fallback]")?(window.location.href=r,!0):!1}function yw(r){try{return new URL(r,window.location.origin).origin===window.location.origin}catch{return!1}}var _w=async(r,e)=>{let t=r.url.trim();if(t.toLowerCase().startsWith("javascript:"))throw new Error("javascript: URLs are not allowed");let n=r.target??"_self";return e.publishEvent("action.applied",{id:e.generateId(),kind:"navigation:navigate",url:r.url,target:n}),n==="_blank"?window.open(t,"_blank","noopener,noreferrer"):!r.forceFullNavigation&&yw(t)?Hc(t)||(window.history.pushState(null,"",t),window.dispatchEvent(new PopStateEvent("popstate"))):window.location.href=t,{cleanup:()=>{}}},bw={mount(r,e){Ug();let t=document.createElement("syntro-nav-tips"),{runtime:n,instanceId:i="nav-widget",...s}=e??{expandBehavior:"single",theme:"auto",actions:[]};return Object.assign(t,{config:s,runtime:n,instanceId:i}),r.appendChild(t),()=>t.remove()}},xw=[{kind:"navigation:scrollTo",executor:vw},{kind:"navigation:navigate",executor:_w}],zg={id:"adaptive-nav",version:"2.0.0",name:"Navigation Tips",description:"Navigation actions and accordion-based tips with per-item conditional visibility",executors:xw,widgets:[{id:"adaptive-nav:tips",component:bw,metadata:{name:"Navigation Tips",description:"Accordion of contextual navigation tips with per-item visibility",icon:"\u{1F9ED}"}}],notifyWatchers(r){return(r.actions??[]).filter(t=>t.notify&&t.triggerWhen).map(t=>({id:`nav:${t.config.id}`,strategy:t.triggerWhen,eventName:"nav:tip_revealed",eventProps:{tipId:t.config.id,title:t.notify.title,body:t.notify.body,icon:t.notify.icon}}))}};var ww=[Gl,Mg,Og,zg,vc],kw=ww.map(r=>({id:r.id,version:r.version,name:r.name,description:r.description,runtime:{actions:(r.executors||[]).map(({kind:e,executor:t})=>({kind:e,executor:t})),widgets:r.widgets,notifyWatchers:r.notifyWatchers,events:r.eventHandlers},editor:void 0,metadata:{isBuiltIn:!0}}));function qg(r){let e=0;for(let t of kw)r.has(t.id)||(r.register(t),e++);console.log("[Syntro Runtime] Registered",e,"built-in runtime modules")}var nn=class extends Event{constructor(e,t,n,i){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=i??!1}};var ra=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[t,{disposer:n}]of this.subscriptions)t(this.o,n)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:i}=this.subscriptions.get(e);e(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var Bc=class extends Event{constructor(e,t){super("context-provider",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},zn=class extends ra{constructor(e,t,n){super(t.context!==void 0?t.initialValue:n),this.onContextRequest=i=>{if(i.context!==this.context)return;let s=i.contextTarget??i.composedPath()[0];s!==this.host&&(i.stopPropagation(),this.addCallback(i.callback,s,i.subscribe))},this.onProviderRequest=i=>{if(i.context!==this.context||(i.contextTarget??i.composedPath()[0])===this.host)return;let s=new Set;for(let[o,{consumerHost:a}]of this.subscriptions)s.has(o)||(s.add(o),a.dispatchEvent(new nn(this.context,a,o,!0)));i.stopPropagation()},this.host=e,t.context!==void 0?this.context=t.context:this.context=t,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Bc(this.context,this.host))}};var Ie="1.0.0",ke={UI_CLICK:"ui.click",UI_SCROLL:"ui.scroll",UI_INPUT:"ui.input",UI_CHANGE:"ui.change",UI_SUBMIT:"ui.submit",NAV_PAGE_VIEW:"nav.page_view",NAV_PAGE_LEAVE:"nav.page_leave",UI_HESITATE:"ui.hesitate",UI_RAGE_CLICK:"ui.rage_click",UI_SCROLL_THRASH:"ui.scroll_thrash",UI_FOCUS_BOUNCE:"ui.focus_bounce",UI_IDLE:"ui.idle",UI_HOVER:"ui.hover"},Xe={Mutation:0,MouseMove:1,MouseInteraction:2,Scroll:3,ViewportResize:4,Input:5,TouchMove:6,MediaInteraction:7,Drag:12},ss={MouseUp:0,MouseDown:1,Click:2,ContextMenu:3,DblClick:4,Focus:5,Blur:6,TouchStart:7,TouchEnd:9},Vc={hesitationMs:3e3,hesitationRadiusPx:10,rageClickCount:3,rageClickWindowMs:1e3,rageClickRadiusPx:30,scrollThrashReversals:3,scrollThrashWindowMs:2e3,focusBounceMaxInputs:0,idleMs:5e3,hoverSampleMs:100};var na=class{constructor(e,t){this.config=e,this.emit=t,this.focused=new Map}ingest(e){if(e.type!==3)return;let t=e.timestamp;if(e.data.source===Xe.MouseInteraction){let n=e.data.id??0;if(e.data.type===ss.Focus)this.focused.set(n,{id:n,focusTs:t,inputCount:0});else if(e.data.type===ss.Blur){let i=this.focused.get(n);i&&i.inputCount<=this.config.focusBounceMaxInputs&&this.emit({ts:t,name:ke.UI_FOCUS_BOUNCE,source:"rrweb",schemaVersion:Ie,props:{elementId:n,duration_ms:t-i.focusTs}}),this.focused.delete(n)}}else if(e.data.source===Xe.Input){let n=e.data.id??0,i=this.focused.get(n);i&&i.inputCount++}}};var ia=class{constructor(e,t){this.config=e,this.emit=t,this.anchorX=0,this.anchorY=0,this.anchorTs=0,this.emitted=!1,this.hasPosition=!1}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseMove)return;let t=e.data.positions;if(!t||t.length===0)return;let n=t[t.length-1],i=e.timestamp+(n.timeOffset??0);if(!this.hasPosition){this.anchorX=n.x,this.anchorY=n.y,this.anchorTs=i,this.hasPosition=!0,this.emitted=!1;return}let s=n.x-this.anchorX,o=n.y-this.anchorY;Math.sqrt(s*s+o*o)>this.config.hesitationRadiusPx&&(this.anchorX=n.x,this.anchorY=n.y,this.anchorTs=i,this.emitted=!1)}tick(e){if(!this.hasPosition||this.emitted)return;let t=e-this.anchorTs;t>=this.config.hesitationMs&&(this.emit({ts:e,name:ke.UI_HESITATE,source:"rrweb",schemaVersion:Ie,props:{x:this.anchorX,y:this.anchorY,duration_ms:t}}),this.emitted=!0)}};var sa=class{constructor(e,t,n){this.config=e,this.emit=t,this.elementResolver=n,this.currentElement=null,this.hoverStartTs=null,this.lastX=0,this.lastY=0,this.lastSampleTs=-1/0}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseMove)return;let t=e.data.positions;if(!t||t.length===0)return;let n=t[t.length-1];this.lastX=n.x,this.lastY=n.y}tick(e){if(!this.elementResolver||e-this.lastSampleTs<this.config.hoverSampleMs)return;this.lastSampleTs=e;let t=this.elementResolver(this.lastX,this.lastY),n=t?Zg(t):null,i=this.currentElement?Zg(this.currentElement):null;n!==i&&(this.currentElement&&this.hoverStartTs!==null&&this.emit({ts:e,name:ke.UI_HOVER,source:"rrweb",schemaVersion:Ie,props:{x:this.lastX,y:this.lastY,duration_ms:e-this.hoverStartTs,element:this.currentElement}}),this.currentElement=t,this.hoverStartTs=e)}};function Zg(r){return`${r.tag_name??""}|${r.attr__id??""}|${(r.classes??[]).join(",")}`}var oa=class{constructor(e,t){this.config=e,this.emit=t,this.lastActivityTs=null,this.emitted=!1}ingest(e){if(e.type!==3)return;let t=e.data.source;(t===Xe.MouseMove||t===Xe.MouseInteraction||t===Xe.Scroll)&&(this.lastActivityTs=e.timestamp,this.emitted=!1)}tick(e){this.lastActivityTs===null||this.emitted||e-this.lastActivityTs>=this.config.idleMs&&(this.emit({ts:e,name:ke.UI_IDLE,source:"rrweb",schemaVersion:Ie,props:{idle_ms:e-this.lastActivityTs}}),this.emitted=!0)}};var aa=class{constructor(e,t){this.config=e,this.emit=t,this.clicks=[]}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseInteraction||e.data.type!==ss.Click)return;let t=e.data.x??0,n=e.data.y??0,i=e.timestamp,s=i-this.config.rageClickWindowMs;this.clicks=this.clicks.filter(a=>a.ts>=s),this.clicks.push({ts:i,x:t,y:n});let o=this.clicks.filter(a=>{let l=a.x-t,c=a.y-n;return Math.sqrt(l*l+c*c)<=this.config.rageClickRadiusPx});o.length>=this.config.rageClickCount&&(this.emit({ts:i,name:ke.UI_RAGE_CLICK,source:"rrweb",schemaVersion:Ie,props:{x:t,y:n,clickCount:o.length,duration_ms:i-o[0].ts}}),this.clicks=[])}};var la=class{constructor(e,t){this.config=e,this.emit=t,this.lastY=null,this.lastDirection=null,this.reversals=[]}ingest(e){if(e.type!==3||e.data.source!==Xe.Scroll)return;let t=e.data.y??0,n=e.timestamp;if(this.lastY!==null){let i=t>this.lastY?"down":t<this.lastY?"up":this.lastDirection;if(i&&i!==this.lastDirection){let s=n-this.config.scrollThrashWindowMs;this.reversals=this.reversals.filter(o=>o>s),this.reversals.push(n),this.reversals.length>=this.config.scrollThrashReversals&&(this.emit({ts:n,name:ke.UI_SCROLL_THRASH,source:"rrweb",schemaVersion:Ie,props:{reversals:this.reversals.length,duration_ms:n-this.reversals[0]}}),this.reversals=[])}this.lastDirection=i}this.lastY=t}};var Gg={$click:ke.UI_CLICK,$scroll:ke.UI_SCROLL,$input:ke.UI_INPUT,$change:ke.UI_CHANGE,$submit:ke.UI_SUBMIT,$pageview:ke.NAV_PAGE_VIEW,$pageleave:ke.NAV_PAGE_LEAVE,$session_start:"session.start",$identify:"user.identify"};function Cw(r){let e=r.event;if(typeof e!="string")return"posthog.unknown";if(Gg[e])return Gg[e];if(e==="$autocapture"){let t=r.properties?.$tag_name,n=r.properties?.$event_type;return n==="submit"?ke.UI_SUBMIT:n==="change"?ke.UI_CHANGE:t==="input"||t==="textarea"?ke.UI_INPUT:ke.UI_CLICK}return e.startsWith("$")?e.replace("$","posthog."):`posthog.${e}`}var Kg=new Set(["a","button","input","select","textarea"]);function Aw(r){if(r)return r.split(";").map(e=>{let t={},n=e.indexOf(":"),i=n>=0?e.slice(0,n):e,s=n>=0?e.slice(n+1):"",o=i.indexOf(".");if(o>=0?(t.tag_name=i.slice(0,o),t.attr__class=i.slice(o+1).replace(/\./g," ")):t.tag_name=i,!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(String(t.tag_name??"")))return null;let a=/([\w$]+)="([^"]*)"/g,l;for(;(l=a.exec(s))!==null;){let[,c,u]=l;c==="nth-child"||c==="nth-of-type"||(t[c]=u)}return t.text&&(t.$el_text=t.text,delete t.text),t}).filter(e=>e!==null)}function Rw(r,e){if(e&&Kg.has(e)||!r)return e;for(let t of r){let n=t.tag_name;if(n&&Kg.has(n))return n}return e}function Tw(r){let e={},t=r.properties||{},n=t.$elements??(typeof t.$elements_chain=="string"?Aw(t.$elements_chain):void 0),i=t.$tag_name??n?.[0]?.tag_name,s=r.event==="$autocapture"||r.event==="$click";return e.tagName=s?Rw(n,i):i,t.$el_text&&(e.elementText=t.$el_text),n&&(e.elements=n),s&&!n&&console.warn(`[PostHogNormalizer] $autocapture click has no element chain. PostHog may have changed wire format. Properties: $elements=${!!t.$elements}, $elements_chain=${typeof t.$elements_chain}`),t.$current_url&&(e.url=t.$current_url),t.$pathname&&(e.pathname=t.$pathname),t.$host&&(e.host=t.$host),t.$viewport_width&&(e.viewportWidth=t.$viewport_width),t.$viewport_height&&(e.viewportHeight=t.$viewport_height),t.$session_id&&(e.sessionId=t.$session_id),t.$scroll_depth&&(e.scrollDepth=t.$scroll_depth),t.$scroll_percentage&&(e.scrollPercentage=t.$scroll_percentage),e.originalEvent=r.event,e}function os(r){let e;return typeof r.timestamp=="number"?e=r.timestamp:typeof r.timestamp=="string"?e=new Date(r.timestamp).getTime():e=Date.now(),{ts:e,name:Cw(r),source:"posthog",props:Tw(r),schemaVersion:Ie}}function as(r){let e=r.event;return!(typeof e!="string"||["$feature_flag_called","$feature_flags","$groups","$groupidentify","$set","$set_once","$unset","$create_alias","$capture_metrics","$performance_event","$web_vitals","$exception","$dead_click","$heatmap"].includes(e))}function Yg(r){return(e,t)=>{if(typeof e!="string")return;let n={event:e,properties:t,timestamp:Date.now()};if(as(n)){let i=os(n);r(i)}}}function jc(r){let e={...Vc,...r?.config},t=[];function n(p){for(let h of t)h(p)}let i=new ia(e,n),s=new aa(e,n),o=new la(e,n),a=new na(e,n),l=new oa(e,n),c=new sa(e,n,r?.elementResolver),u=[];return{ingest(p){if(p.kind==="posthog"){let{kind:h,...f}=p;as(f)&&n(os(f))}else p.kind==="rrweb"&&(i.ingest(p),s.ingest(p),o.ingest(p),a.ingest(p),l.ingest(p),c.ingest(p))},onEvent(p){t.push(p)},tick(p){i.tick(p),l.tick(p),c.tick(p)},enrichClickAttributes(p,h){u.push({ts:p,elements:h});let f=p-500;for(;u.length>0&&u[0].ts<f;)u.shift()}}}var We={UI_CLICK:"ui.click",UI_SCROLL:"ui.scroll",UI_INPUT:"ui.input",UI_CHANGE:"ui.change",UI_SUBMIT:"ui.submit",NAV_PAGE_VIEW:"nav.page_view",NAV_PAGE_LEAVE:"nav.page_leave",CANVAS_OPENED:"canvas.opened",CANVAS_CLOSED:"canvas.closed",TILE_VIEWED:"tile.viewed",TILE_EXPANDED:"tile.expanded",TILE_COLLAPSED:"tile.collapsed",TILE_ACTION:"tile.action",OVERLAY_STARTED:"overlay.started",OVERLAY_COMPLETED:"overlay.completed",OVERLAY_DISMISSED:"overlay.dismissed",OVERLAY_STEP_VIEWED:"overlay.step_viewed",BEHAVIOR_RAGE_CLICK:"behavior.rage_click",BEHAVIOR_HESITATION:"behavior.hesitation",BEHAVIOR_CONFUSION:"behavior.confusion",ACTION_APPLIED:"action.applied",ACTION_REVERTED:"action.reverted",ACTION_FAILED:"action.failed",ACTION_CTA_CLICKED:"action.cta_clicked",NOTIFICATION_SHOWN:"notification.shown",NOTIFICATION_CLICKED:"notification.clicked",NOTIFICATION_DISMISSED:"notification.dismissed",NOTIFICATION_DEEP_LINK:"notification.deep_link",SURFACE_MOUNTED:"surface.mounted",SURFACE_UNMOUNTED:"surface.unmounted"};var Wc=3;var Uc=3e4;var $w=0;function zc(r,e){return r.replace(/\{\{props\.(\w+)\}\}/g,(t,n)=>!e||!(n in e)?t:String(e[n]))}function Mw(r,e){if(r===e)return!0;try{return new RegExp(e).test(r)}catch{return!1}}function Xg(r,e){for(let t of e){let n=t.notifications;if(!(!n||n.length===0))for(let i of n){if(!Mw(r.name,i.on))continue;let s=Date.now(),o=i.ttl??8e3;return{notification:{id:`notif-${++$w}-${s}`,title:zc(i.title,r.props),body:i.body?zc(i.body,r.props):void 0,icon:i.icon,tileId:t.id,itemId:i.deepLink?.itemId?zc(i.deepLink.itemId,r.props):void 0,expiresAt:s+o,createdAt:s,ttl:o},rule:i}}}return null}var ls=class{constructor(e,t,n){this._notifications=[];this._cooldownMap=new Map;this._timerIds=new Map;this._unsubscribe=null;this.host=e,this.eventBus=t,this.tiles=n,e.addController(this)}get notifications(){return this._notifications}setTiles(e){this.tiles=e}setEventBus(e){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null),this.eventBus=e,this.eventBus&&this.hostConnected()}hostConnected(){this.eventBus&&(this._unsubscribe=this.eventBus.subscribe(e=>{let t=Xg(e,this.tiles);if(!t)return;let{notification:n,rule:i}=t,s=n.itemId?`${n.tileId}:${e.name}:${n.itemId}`:`${n.tileId}:${e.name}`,o=this._cooldownMap.get(s),a=Date.now(),l=i.cooldown??3e4;if(o!==void 0&&a-o<l||(this._cooldownMap.set(s,a),n.itemId&&this._notifications.some(p=>p.tileId===n.tileId&&p.itemId===n.itemId)))return;let c=[...this._notifications,n];if(c.length>3){let u=c.shift(),p=this._timerIds.get(u.id);p&&(clearTimeout(p),this._timerIds.delete(u.id))}this._notifications=c,this.host.requestUpdate(),this.eventBus.publish(We.NOTIFICATION_SHOWN,{notificationId:n.id,tileId:n.tileId,itemId:n.itemId,title:n.title}),this._scheduleDismiss(n)}))}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null);for(let e of this._timerIds.values())clearTimeout(e);this._timerIds.clear()}dismiss(e){let t=this._notifications.find(i=>i.id===e);t&&this._publishDismissed(t),this._notifications=this._notifications.filter(i=>i.id!==e);let n=this._timerIds.get(e);n&&(clearTimeout(n),this._timerIds.delete(e)),this.host.requestUpdate()}_publishDismissed(e){this.eventBus?.publish(We.NOTIFICATION_DISMISSED,{notificationId:e.id,tileId:e.tileId,itemId:e.itemId})}_scheduleDismiss(e){let t=setTimeout(()=>{this._notifications=this._notifications.filter(n=>n.id!==e.id),this._timerIds.delete(e.id),this._publishDismissed(e),this.host.requestUpdate()},e.ttl);this._timerIds.set(e.id,t)}};function Mt(r,e){return{ts:Date.now(),name:r,source:"canvas",props:e,schemaVersion:Ie}}function Ow(r){return Mt(We.CANVAS_OPENED,{surface:r})}function Pw(r){return Mt(We.CANVAS_CLOSED,{surface:r})}function Nw(r,e){return Mt(We.TILE_VIEWED,{tileId:r,surface:e})}function Lw(r,e){return Mt(We.TILE_EXPANDED,{tileId:r,surface:e})}function Fw(r,e){return Mt(We.TILE_COLLAPSED,{tileId:r,surface:e})}function Dw(r,e,t){return Mt(We.TILE_ACTION,{tileId:r,actionId:e,surface:t})}function Hw(r,e){return Mt(We.OVERLAY_STARTED,{recipeId:r,recipeName:e})}function Bw(r,e){return Mt(We.OVERLAY_COMPLETED,{recipeId:r,recipeName:e})}function Vw(r,e,t){return Mt(We.OVERLAY_DISMISSED,{recipeId:r,recipeName:e,stepIndex:t})}function jw(r,e,t){return Mt(We.OVERLAY_STEP_VIEWED,{recipeId:r,stepIndex:e,stepTitle:t})}function Ww(r,e){let t=r.startsWith("canvas.")?r:`canvas.${r}`;return Mt(t,e)}var cs={canvasOpened:Ow,canvasClosed:Pw,tileViewed:Nw,tileExpanded:Lw,tileCollapsed:Fw,tileAction:Dw,overlayStarted:Hw,overlayCompleted:Bw,overlayDismissed:Vw,overlayStepViewed:jw,custom:Ww};function Uw(r,e){let t=[];for(let n of r){let i=n.widget.split(":")[0],o=e.get(i)?.manifest.runtime?.notifyWatchers;o&&t.push(...o(n.props??{}))}return t}var ca=class extends he{constructor(){super();this.isOpen=!1;this.tiles=[];this.isLoading=!1;this.error=void 0;this.canvasTitle=void 0;this.displayMode="standard";this.runtimeRef=null;this.telemetry=null;this.themeConfig={};this.launcherAnimate=!1;this._notifyPrevState=new Map;this._notifyUnsub=null;this._notifyUnsubMetrics=null;this._notifications=new ls(this,null,[])}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._syncNotificationsController(),this._startNotifyWatcher()}disconnectedCallback(){super.disconnectedCallback(),this._stopNotifyWatcher()}updated(t){(t.has("runtimeRef")||t.has("tiles"))&&(this._syncNotificationsController(),this._restartNotifyWatcher()),t.has("isOpen")&&this.isOpen&&this._trackTilesViewed()}_syncNotificationsController(){this._notifications.setEventBus(this.runtimeRef?.events??null),this._notifications.setTiles(this.tiles)}_startNotifyWatcher(){let t=this.runtimeRef;if(!t?.events||!t.apps)return;let n=Uw(this.tiles,t.apps);if(n.length===0)return;let i=t.state.ns("notified");for(let o of n)if(!this._notifyPrevState.has(o.id)){let a=t.evaluateSync(o.strategy);this._notifyPrevState.set(o.id,a.value),a.value&&!i.has(o.id)&&(i.set(o.id,!0),t.events.publish(o.eventName,o.eventProps))}let s=()=>{for(let o of n){let a=t.evaluateSync(o.strategy),l=this._notifyPrevState.get(o.id)??!1;this._notifyPrevState.set(o.id,a.value),!l&&a.value?(i.set(o.id,!0),t.events.publish(o.eventName,o.eventProps)):l&&!a.value&&i.remove(o.id)}};this._notifyUnsub=t.events.subscribe(s),this._notifyUnsubMetrics=t.sessionMetrics?.subscribe(s)??null}_stopNotifyWatcher(){this._notifyUnsub&&(this._notifyUnsub(),this._notifyUnsub=null),this._notifyUnsubMetrics&&(this._notifyUnsubMetrics(),this._notifyUnsubMetrics=null),this._notifyPrevState.clear()}_restartNotifyWatcher(){this._stopNotifyWatcher(),this._startNotifyWatcher()}_trackTilesViewed(){for(let t of this.tiles)if(this.telemetry?.trackRectangleViewed(t.id,"overlay"),this.runtimeRef){let n=cs.tileViewed(t.id,"overlay");this.runtimeRef.events.publish(n.name,n.props,n.source)}}_toggle(){let t=!this.isOpen;if(t?this.telemetry?.trackCanvasOpened("overlay"):this.telemetry?.trackCanvasClosed("overlay"),this.runtimeRef){let n=t?cs.canvasOpened("overlay"):cs.canvasClosed("overlay");this.runtimeRef.events.publish(n.name,n.props,n.source)}this.dispatchEvent(new CustomEvent("canvas-toggle",{bubbles:!0,composed:!0,detail:{isOpen:t}}))}_handleNotificationClick(t){let n=t.detail?.notification;n&&(this.runtimeRef&&this.runtimeRef.events.publish(We.NOTIFICATION_CLICKED,{notificationId:n.id,tileId:n.tileId,itemId:n.itemId}),this.isOpen||this._toggle(),this.runtimeRef&&n.tileId&&this.runtimeRef.events.publish(We.NOTIFICATION_DEEP_LINK,{tileId:n.tileId,itemId:n.itemId}),this._notifications.dismiss(n.id))}_handleNotificationDismiss(t){let n=t.detail?.id;n&&this._notifications.dismiss(n)}_onLauncherToggle(){this._toggle()}_onDrawerClose(){this.isOpen&&this._toggle()}render(){let t=this._notifications.notifications,n=this.themeConfig?.canvas?.position==="left"?"left":"right";return j`
356
+ `};la.properties={config:{attribute:!1},runtime:{attribute:!1},instanceId:{type:String},_expandedIds:{state:!0},_renderTick:{state:!0},_hoveredId:{state:!0}};var sm="syntro-nav-tips";function am(){typeof window>"u"||customElements.get(sm)||customElements.define(sm,la)}var Mk=async(r,e)=>{let t=e.resolveAnchor(r.anchorId);return t?(t.scrollIntoView({behavior:r.behavior??"smooth",block:r.block??"center",inline:r.inline??"nearest"}),e.publishEvent("action.applied",{id:e.generateId(),kind:"navigation:scrollTo",anchorId:r.anchorId,behavior:r.behavior??"smooth"}),{cleanup:()=>{}}):(console.error(`[adaptive-nav] Anchor not found for scrollTo, skipping: ${r.anchorId.selector}`),{cleanup:()=>{}})};function eu(r){if(typeof window>"u")return!1;let e=window;try{let t=e.next?.router;if(t?.push)return t.push(r),!0}catch{}try{if(e.$nuxt?.$router?.push)return e.$nuxt.$router.push(r),!0}catch{}return e.ng||e.getAllAngularRootElements||document.querySelector("[ng-version]")||e.__SVELTEKIT_DATA__||document.body?.hasAttribute("data-sveltekit")||document.querySelector("[data-astro-transition-fallback]")?(window.location.href=r,!0):!1}function Ok(r){try{return new URL(r,window.location.origin).origin===window.location.origin}catch{return!1}}var Pk=async(r,e)=>{let t=r.url.trim();if(t.toLowerCase().startsWith("javascript:"))throw new Error("javascript: URLs are not allowed");let n=r.target??"_self";return e.publishEvent("action.applied",{id:e.generateId(),kind:"navigation:navigate",url:r.url,target:n}),n==="_blank"?window.open(t,"_blank","noopener,noreferrer"):!r.forceFullNavigation&&Ok(t)?eu(t)||(window.history.pushState(null,"",t),window.dispatchEvent(new PopStateEvent("popstate"))):window.location.href=t,{cleanup:()=>{}}},Nk={mount(r,e){am();let t=document.createElement("syntro-nav-tips"),{runtime:n,instanceId:i="nav-widget",...s}=e??{expandBehavior:"single",theme:"auto",actions:[]};return Object.assign(t,{config:s,runtime:n,instanceId:i}),r.appendChild(t),()=>t.remove()}},Lk=[{kind:"navigation:scrollTo",executor:Mk},{kind:"navigation:navigate",executor:Pk}],lm={id:"adaptive-nav",version:"2.0.0",name:"Navigation Tips",description:"Navigation actions and accordion-based tips with per-item conditional visibility",executors:Lk,widgets:[{id:"adaptive-nav:tips",component:Nk,metadata:{name:"Navigation Tips",description:"Accordion of contextual navigation tips with per-item visibility",icon:"\u{1F9ED}"}}],notifyWatchers(r){return(r.actions??[]).filter(t=>t.notify&&t.triggerWhen).map(t=>({id:`nav:${t.config.id}`,strategy:t.triggerWhen,eventName:"nav:tip_revealed",eventProps:{tipId:t.config.id,title:t.notify.title,body:t.notify.body,icon:t.notify.icon}}))}};var Fk=[Kl,Og,Pg,lm,yc],Dk=Fk.map(r=>({id:r.id,version:r.version,name:r.name,description:r.description,runtime:{actions:(r.executors||[]).map(({kind:e,executor:t})=>({kind:e,executor:t})),widgets:r.widgets,notifyWatchers:r.notifyWatchers,events:r.eventHandlers},editor:void 0,metadata:{isBuiltIn:!0}}));function cm(r){let e=0;for(let t of Dk)r.has(t.id)||(r.register(t),e++);console.log("[Syntro Runtime] Registered",e,"built-in runtime modules")}var xn=class extends Event{constructor(e,t,n,i){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=i??!1}};var ca=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[t,{disposer:n}]of this.subscriptions)t(this.o,n)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:i}=this.subscriptions.get(e);e(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var tu=class extends Event{constructor(e,t){super("context-provider",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},ei=class extends ca{constructor(e,t,n){super(t.context!==void 0?t.initialValue:n),this.onContextRequest=i=>{if(i.context!==this.context)return;let s=i.contextTarget??i.composedPath()[0];s!==this.host&&(i.stopPropagation(),this.addCallback(i.callback,s,i.subscribe))},this.onProviderRequest=i=>{if(i.context!==this.context||(i.contextTarget??i.composedPath()[0])===this.host)return;let s=new Set;for(let[o,{consumerHost:a}]of this.subscriptions)s.has(o)||(s.add(o),a.dispatchEvent(new xn(this.context,a,o,!0)));i.stopPropagation()},this.host=e,t.context!==void 0?this.context=t.context:this.context=t,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new tu(this.context,this.host))}};var Ie="1.0.0",ke={UI_CLICK:"ui.click",UI_SCROLL:"ui.scroll",UI_INPUT:"ui.input",UI_CHANGE:"ui.change",UI_SUBMIT:"ui.submit",NAV_PAGE_VIEW:"nav.page_view",NAV_PAGE_LEAVE:"nav.page_leave",UI_HESITATE:"ui.hesitate",UI_RAGE_CLICK:"ui.rage_click",UI_SCROLL_THRASH:"ui.scroll_thrash",UI_FOCUS_BOUNCE:"ui.focus_bounce",UI_IDLE:"ui.idle",UI_HOVER:"ui.hover"},Xe={Mutation:0,MouseMove:1,MouseInteraction:2,Scroll:3,ViewportResize:4,Input:5,TouchMove:6,MediaInteraction:7,Drag:12},vs={MouseUp:0,MouseDown:1,Click:2,ContextMenu:3,DblClick:4,Focus:5,Blur:6,TouchStart:7,TouchEnd:9},ru={hesitationMs:3e3,hesitationRadiusPx:10,rageClickCount:3,rageClickWindowMs:1e3,rageClickRadiusPx:30,scrollThrashReversals:3,scrollThrashWindowMs:2e3,focusBounceMaxInputs:0,idleMs:5e3,hoverSampleMs:100};var ua=class{constructor(e,t){this.config=e,this.emit=t,this.focused=new Map}ingest(e){if(e.type!==3)return;let t=e.timestamp;if(e.data.source===Xe.MouseInteraction){let n=e.data.id??0;if(e.data.type===vs.Focus)this.focused.set(n,{id:n,focusTs:t,inputCount:0});else if(e.data.type===vs.Blur){let i=this.focused.get(n);i&&i.inputCount<=this.config.focusBounceMaxInputs&&this.emit({ts:t,name:ke.UI_FOCUS_BOUNCE,source:"rrweb",schemaVersion:Ie,props:{elementId:n,duration_ms:t-i.focusTs}}),this.focused.delete(n)}}else if(e.data.source===Xe.Input){let n=e.data.id??0,i=this.focused.get(n);i&&i.inputCount++}}};var da=class{constructor(e,t){this.config=e,this.emit=t,this.anchorX=0,this.anchorY=0,this.anchorTs=0,this.emitted=!1,this.hasPosition=!1}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseMove)return;let t=e.data.positions;if(!t||t.length===0)return;let n=t[t.length-1],i=e.timestamp+(n.timeOffset??0);if(!this.hasPosition){this.anchorX=n.x,this.anchorY=n.y,this.anchorTs=i,this.hasPosition=!0,this.emitted=!1;return}let s=n.x-this.anchorX,o=n.y-this.anchorY;Math.sqrt(s*s+o*o)>this.config.hesitationRadiusPx&&(this.anchorX=n.x,this.anchorY=n.y,this.anchorTs=i,this.emitted=!1)}tick(e){if(!this.hasPosition||this.emitted)return;let t=e-this.anchorTs;t>=this.config.hesitationMs&&(this.emit({ts:e,name:ke.UI_HESITATE,source:"rrweb",schemaVersion:Ie,props:{x:this.anchorX,y:this.anchorY,duration_ms:t}}),this.emitted=!0)}};var pa=class{constructor(e,t,n){this.config=e,this.emit=t,this.elementResolver=n,this.currentElement=null,this.hoverStartTs=null,this.lastX=0,this.lastY=0,this.lastSampleTs=-1/0}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseMove)return;let t=e.data.positions;if(!t||t.length===0)return;let n=t[t.length-1];this.lastX=n.x,this.lastY=n.y}tick(e){if(!this.elementResolver||e-this.lastSampleTs<this.config.hoverSampleMs)return;this.lastSampleTs=e;let t=this.elementResolver(this.lastX,this.lastY),n=t?um(t):null,i=this.currentElement?um(this.currentElement):null;n!==i&&(this.currentElement&&this.hoverStartTs!==null&&this.emit({ts:e,name:ke.UI_HOVER,source:"rrweb",schemaVersion:Ie,props:{x:this.lastX,y:this.lastY,duration_ms:e-this.hoverStartTs,element:this.currentElement}}),this.currentElement=t,this.hoverStartTs=e)}};function um(r){return`${r.tag_name??""}|${r.attr__id??""}|${(r.classes??[]).join(",")}`}var ha=class{constructor(e,t){this.config=e,this.emit=t,this.lastActivityTs=null,this.emitted=!1}ingest(e){if(e.type!==3)return;let t=e.data.source;(t===Xe.MouseMove||t===Xe.MouseInteraction||t===Xe.Scroll)&&(this.lastActivityTs=e.timestamp,this.emitted=!1)}tick(e){this.lastActivityTs===null||this.emitted||e-this.lastActivityTs>=this.config.idleMs&&(this.emit({ts:e,name:ke.UI_IDLE,source:"rrweb",schemaVersion:Ie,props:{idle_ms:e-this.lastActivityTs}}),this.emitted=!0)}};var fa=class{constructor(e,t){this.config=e,this.emit=t,this.clicks=[]}ingest(e){if(e.type!==3||e.data.source!==Xe.MouseInteraction||e.data.type!==vs.Click)return;let t=e.data.x??0,n=e.data.y??0,i=e.timestamp,s=i-this.config.rageClickWindowMs;this.clicks=this.clicks.filter(a=>a.ts>=s),this.clicks.push({ts:i,x:t,y:n});let o=this.clicks.filter(a=>{let l=a.x-t,c=a.y-n;return Math.sqrt(l*l+c*c)<=this.config.rageClickRadiusPx});o.length>=this.config.rageClickCount&&(this.emit({ts:i,name:ke.UI_RAGE_CLICK,source:"rrweb",schemaVersion:Ie,props:{x:t,y:n,clickCount:o.length,duration_ms:i-o[0].ts}}),this.clicks=[])}};var ga=class{constructor(e,t){this.config=e,this.emit=t,this.lastY=null,this.lastDirection=null,this.reversals=[]}ingest(e){if(e.type!==3||e.data.source!==Xe.Scroll)return;let t=e.data.y??0,n=e.timestamp;if(this.lastY!==null){let i=t>this.lastY?"down":t<this.lastY?"up":this.lastDirection;if(i&&i!==this.lastDirection){let s=n-this.config.scrollThrashWindowMs;this.reversals=this.reversals.filter(o=>o>s),this.reversals.push(n),this.reversals.length>=this.config.scrollThrashReversals&&(this.emit({ts:n,name:ke.UI_SCROLL_THRASH,source:"rrweb",schemaVersion:Ie,props:{reversals:this.reversals.length,duration_ms:n-this.reversals[0]}}),this.reversals=[])}this.lastDirection=i}this.lastY=t}};var dm={$click:ke.UI_CLICK,$scroll:ke.UI_SCROLL,$input:ke.UI_INPUT,$change:ke.UI_CHANGE,$submit:ke.UI_SUBMIT,$pageview:ke.NAV_PAGE_VIEW,$pageleave:ke.NAV_PAGE_LEAVE,$session_start:"session.start",$identify:"user.identify"};function Vk(r){let e=r.event;if(typeof e!="string")return"posthog.unknown";if(dm[e])return dm[e];if(e==="$autocapture"){let t=r.properties?.$tag_name,n=r.properties?.$event_type;return n==="submit"?ke.UI_SUBMIT:n==="change"?ke.UI_CHANGE:t==="input"||t==="textarea"?ke.UI_INPUT:ke.UI_CLICK}return e.startsWith("$")?e.replace("$","posthog."):`posthog.${e}`}var pm=new Set(["a","button","input","select","textarea"]);function jk(r){if(r)return r.split(";").map(e=>{let t={},n=e.indexOf(":"),i=n>=0?e.slice(0,n):e,s=n>=0?e.slice(n+1):"",o=i.indexOf(".");if(o>=0?(t.tag_name=i.slice(0,o),t.attr__class=i.slice(o+1).replace(/\./g," ")):t.tag_name=i,!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(String(t.tag_name??"")))return null;let a=/([\w$]+)="([^"]*)"/g,l;for(;(l=a.exec(s))!==null;){let[,c,u]=l;c==="nth-child"||c==="nth-of-type"||(t[c]=u)}return t.text&&(t.$el_text=t.text,delete t.text),t}).filter(e=>e!==null)}function Wk(r,e){if(e&&pm.has(e)||!r)return e;for(let t of r){let n=t.tag_name;if(n&&pm.has(n))return n}return e}function Uk(r){let e={},t=r.properties||{},n=t.$elements??(typeof t.$elements_chain=="string"?jk(t.$elements_chain):void 0),i=t.$tag_name??n?.[0]?.tag_name,s=r.event==="$autocapture"||r.event==="$click";return e.tagName=s?Wk(n,i):i,t.$el_text&&(e.elementText=t.$el_text),n&&(e.elements=n),s&&!n&&console.warn(`[PostHogNormalizer] $autocapture click has no element chain. PostHog may have changed wire format. Properties: $elements=${!!t.$elements}, $elements_chain=${typeof t.$elements_chain}`),t.$current_url&&(e.url=t.$current_url),t.$pathname&&(e.pathname=t.$pathname),t.$host&&(e.host=t.$host),t.$viewport_width&&(e.viewportWidth=t.$viewport_width),t.$viewport_height&&(e.viewportHeight=t.$viewport_height),t.$session_id&&(e.sessionId=t.$session_id),t.$scroll_depth&&(e.scrollDepth=t.$scroll_depth),t.$scroll_percentage&&(e.scrollPercentage=t.$scroll_percentage),e.originalEvent=r.event,e}function ys(r){let e;return typeof r.timestamp=="number"?e=r.timestamp:typeof r.timestamp=="string"?e=new Date(r.timestamp).getTime():e=Date.now(),{ts:e,name:Vk(r),source:"posthog",props:Uk(r),schemaVersion:Ie}}function _s(r){let e=r.event;return!(typeof e!="string"||["$feature_flag_called","$feature_flags","$groups","$groupidentify","$set","$set_once","$unset","$create_alias","$capture_metrics","$performance_event","$web_vitals","$exception","$dead_click","$heatmap"].includes(e))}function hm(r){return(e,t)=>{if(typeof e!="string")return;let n={event:e,properties:t,timestamp:Date.now()};if(_s(n)){let i=ys(n);r(i)}}}function nu(r){let e={...ru,...r?.config},t=[];function n(p){for(let h of t)h(p)}let i=new da(e,n),s=new fa(e,n),o=new ga(e,n),a=new ua(e,n),l=new ha(e,n),c=new pa(e,n,r?.elementResolver),u=[];return{ingest(p){if(p.kind==="posthog"){let{kind:h,...f}=p;_s(f)&&n(ys(f))}else p.kind==="rrweb"&&(i.ingest(p),s.ingest(p),o.ingest(p),a.ingest(p),l.ingest(p),c.ingest(p))},onEvent(p){t.push(p)},tick(p){i.tick(p),l.tick(p),c.tick(p)},enrichClickAttributes(p,h){u.push({ts:p,elements:h});let f=p-500;for(;u.length>0&&u[0].ts<f;)u.shift()}}}var Ue={UI_CLICK:"ui.click",UI_SCROLL:"ui.scroll",UI_INPUT:"ui.input",UI_CHANGE:"ui.change",UI_SUBMIT:"ui.submit",NAV_PAGE_VIEW:"nav.page_view",NAV_PAGE_LEAVE:"nav.page_leave",CANVAS_OPENED:"canvas.opened",CANVAS_CLOSED:"canvas.closed",TILE_VIEWED:"tile.viewed",TILE_EXPANDED:"tile.expanded",TILE_COLLAPSED:"tile.collapsed",TILE_ACTION:"tile.action",OVERLAY_STARTED:"overlay.started",OVERLAY_COMPLETED:"overlay.completed",OVERLAY_DISMISSED:"overlay.dismissed",OVERLAY_STEP_VIEWED:"overlay.step_viewed",BEHAVIOR_RAGE_CLICK:"behavior.rage_click",BEHAVIOR_HESITATION:"behavior.hesitation",BEHAVIOR_CONFUSION:"behavior.confusion",ACTION_APPLIED:"action.applied",ACTION_REVERTED:"action.reverted",ACTION_FAILED:"action.failed",ACTION_CTA_CLICKED:"action.cta_clicked",NOTIFICATION_SHOWN:"notification.shown",NOTIFICATION_CLICKED:"notification.clicked",NOTIFICATION_DISMISSED:"notification.dismissed",NOTIFICATION_DEEP_LINK:"notification.deep_link",SURFACE_MOUNTED:"surface.mounted",SURFACE_UNMOUNTED:"surface.unmounted"};var iu=3;var su=3e4;var qk=0;function ou(r,e){return r.replace(/\{\{props\.(\w+)\}\}/g,(t,n)=>!e||!(n in e)?t:String(e[n]))}function Zk(r,e){if(r===e)return!0;try{return new RegExp(e).test(r)}catch{return!1}}function fm(r,e){for(let t of e){let n=t.notifications;if(!(!n||n.length===0))for(let i of n){if(!Zk(r.name,i.on))continue;let s=Date.now(),o=i.ttl??8e3;return{notification:{id:`notif-${++qk}-${s}`,title:ou(i.title,r.props),body:i.body?ou(i.body,r.props):void 0,icon:i.icon,tileId:t.id,itemId:i.deepLink?.itemId?ou(i.deepLink.itemId,r.props):void 0,expiresAt:s+o,createdAt:s,ttl:o},rule:i}}}return null}var bs=class{constructor(e,t,n){this._notifications=[];this._cooldownMap=new Map;this._timerIds=new Map;this._unsubscribe=null;this.host=e,this.eventBus=t,this.tiles=n,e.addController(this)}get notifications(){return this._notifications}setTiles(e){this.tiles=e}setEventBus(e){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null),this.eventBus=e,this.eventBus&&this.hostConnected()}hostConnected(){this.eventBus&&(this._unsubscribe=this.eventBus.subscribe(e=>{let t=fm(e,this.tiles);if(!t)return;let{notification:n,rule:i}=t,s=n.itemId?`${n.tileId}:${e.name}:${n.itemId}`:`${n.tileId}:${e.name}`,o=this._cooldownMap.get(s),a=Date.now(),l=i.cooldown??3e4;if(o!==void 0&&a-o<l||(this._cooldownMap.set(s,a),n.itemId&&this._notifications.some(p=>p.tileId===n.tileId&&p.itemId===n.itemId)))return;let c=[...this._notifications,n];if(c.length>3){let u=c.shift(),p=this._timerIds.get(u.id);p&&(clearTimeout(p),this._timerIds.delete(u.id))}this._notifications=c,this.host.requestUpdate(),this.eventBus.publish(Ue.NOTIFICATION_SHOWN,{notificationId:n.id,tileId:n.tileId,itemId:n.itemId,title:n.title}),this._scheduleDismiss(n)}))}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null);for(let e of this._timerIds.values())clearTimeout(e);this._timerIds.clear()}dismiss(e){let t=this._notifications.find(i=>i.id===e);t&&this._publishDismissed(t),this._notifications=this._notifications.filter(i=>i.id!==e);let n=this._timerIds.get(e);n&&(clearTimeout(n),this._timerIds.delete(e)),this.host.requestUpdate()}_publishDismissed(e){this.eventBus?.publish(Ue.NOTIFICATION_DISMISSED,{notificationId:e.id,tileId:e.tileId,itemId:e.itemId})}_scheduleDismiss(e){let t=setTimeout(()=>{this._notifications=this._notifications.filter(n=>n.id!==e.id),this._timerIds.delete(e.id),this._publishDismissed(e),this.host.requestUpdate()},e.ttl);this._timerIds.set(e.id,t)}};function Ot(r,e){return{ts:Date.now(),name:r,source:"canvas",props:e,schemaVersion:Ie}}function Gk(r){return Ot(Ue.CANVAS_OPENED,{surface:r})}function Kk(r){return Ot(Ue.CANVAS_CLOSED,{surface:r})}function Yk(r,e){return Ot(Ue.TILE_VIEWED,{tileId:r,surface:e})}function Xk(r,e){return Ot(Ue.TILE_EXPANDED,{tileId:r,surface:e})}function Jk(r,e){return Ot(Ue.TILE_COLLAPSED,{tileId:r,surface:e})}function Qk(r,e,t){return Ot(Ue.TILE_ACTION,{tileId:r,actionId:e,surface:t})}function eS(r,e){return Ot(Ue.OVERLAY_STARTED,{recipeId:r,recipeName:e})}function tS(r,e){return Ot(Ue.OVERLAY_COMPLETED,{recipeId:r,recipeName:e})}function rS(r,e,t){return Ot(Ue.OVERLAY_DISMISSED,{recipeId:r,recipeName:e,stepIndex:t})}function nS(r,e,t){return Ot(Ue.OVERLAY_STEP_VIEWED,{recipeId:r,stepIndex:e,stepTitle:t})}function iS(r,e){let t=r.startsWith("canvas.")?r:`canvas.${r}`;return Ot(t,e)}var xs={canvasOpened:Gk,canvasClosed:Kk,tileViewed:Yk,tileExpanded:Xk,tileCollapsed:Jk,tileAction:Qk,overlayStarted:eS,overlayCompleted:tS,overlayDismissed:rS,overlayStepViewed:nS,custom:iS};function sS(r,e){let t=[];for(let n of r){let i=n.widget.split(":")[0],o=e.get(i)?.manifest.runtime?.notifyWatchers;o&&t.push(...o(n.props??{}))}return t}var ma=class extends he{constructor(){super();this.isOpen=!1;this.tiles=[];this.isLoading=!1;this.error=void 0;this.canvasTitle=void 0;this.displayMode="standard";this.runtimeRef=null;this.telemetry=null;this.themeConfig={};this.launcherAnimate=!1;this._notifyPrevState=new Map;this._notifyUnsub=null;this._notifyUnsubMetrics=null;this._notifications=new bs(this,null,[])}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._syncNotificationsController(),this._startNotifyWatcher()}disconnectedCallback(){super.disconnectedCallback(),this._stopNotifyWatcher()}updated(t){(t.has("runtimeRef")||t.has("tiles"))&&(this._syncNotificationsController(),this._restartNotifyWatcher()),t.has("isOpen")&&this.isOpen&&this._trackTilesViewed()}_syncNotificationsController(){this._notifications.setEventBus(this.runtimeRef?.events??null),this._notifications.setTiles(this.tiles)}_startNotifyWatcher(){let t=this.runtimeRef;if(!t?.events||!t.apps)return;let n=sS(this.tiles,t.apps);if(n.length===0)return;let i=t.state.ns("notified");for(let o of n)if(!this._notifyPrevState.has(o.id)){let a=t.evaluateSync(o.strategy);this._notifyPrevState.set(o.id,a.value),a.value&&!i.has(o.id)&&(i.set(o.id,!0),t.events.publish(o.eventName,o.eventProps))}let s=()=>{for(let o of n){let a=t.evaluateSync(o.strategy),l=this._notifyPrevState.get(o.id)??!1;this._notifyPrevState.set(o.id,a.value),!l&&a.value?(i.set(o.id,!0),t.events.publish(o.eventName,o.eventProps)):l&&!a.value&&i.remove(o.id)}};this._notifyUnsub=t.events.subscribe(s),this._notifyUnsubMetrics=t.sessionMetrics?.subscribe(s)??null}_stopNotifyWatcher(){this._notifyUnsub&&(this._notifyUnsub(),this._notifyUnsub=null),this._notifyUnsubMetrics&&(this._notifyUnsubMetrics(),this._notifyUnsubMetrics=null),this._notifyPrevState.clear()}_restartNotifyWatcher(){this._stopNotifyWatcher(),this._startNotifyWatcher()}_trackTilesViewed(){for(let t of this.tiles)if(this.telemetry?.trackRectangleViewed(t.id,"overlay"),this.runtimeRef){let n=xs.tileViewed(t.id,"overlay");this.runtimeRef.events.publish(n.name,n.props,n.source)}}_toggle(){let t=!this.isOpen;if(t?this.telemetry?.trackCanvasOpened("overlay"):this.telemetry?.trackCanvasClosed("overlay"),this.runtimeRef){let n=t?xs.canvasOpened("overlay"):xs.canvasClosed("overlay");this.runtimeRef.events.publish(n.name,n.props,n.source)}this.dispatchEvent(new CustomEvent("canvas-toggle",{bubbles:!0,composed:!0,detail:{isOpen:t}}))}_handleNotificationClick(t){let n=t.detail?.notification;n&&(this.runtimeRef&&this.runtimeRef.events.publish(Ue.NOTIFICATION_CLICKED,{notificationId:n.id,tileId:n.tileId,itemId:n.itemId}),this.isOpen||this._toggle(),this.runtimeRef&&n.tileId&&this.runtimeRef.events.publish(Ue.NOTIFICATION_DEEP_LINK,{tileId:n.tileId,itemId:n.itemId}),this._notifications.dismiss(n.id))}_handleNotificationDismiss(t){let n=t.detail?.id;n&&this._notifications.dismiss(n)}_onLauncherToggle(){this._toggle()}_onDrawerClose(){this.isOpen&&this._toggle()}render(){let t=this._notifications.notifications,n=this.themeConfig?.canvas?.position==="left"?"left":"right";return j`
357
357
  <div data-shadow-canvas-id="overlay-launcher" style="position:fixed;inset:0;pointer-events:none;z-index:2147483647">
358
358
  ${t.length>0?j`<syntro-toast-stack
359
359
  data-testid="notification-toast-stack"
@@ -383,7 +383,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
383
383
  .themeConfig=${this.themeConfig}
384
384
  @drawer-close=${this._onDrawerClose}
385
385
  ></syntro-drawer>
386
- `}};ca.properties={isOpen:{type:Boolean},tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},canvasTitle:{type:String},displayMode:{type:String},runtimeRef:{attribute:!1},telemetry:{attribute:!1},themeConfig:{attribute:!1},launcherAnimate:{type:Boolean}};customElements.define("syntro-canvas-overlay",ca);var zw={"\u2753":['<circle cx="12" cy="12" r="10"/>','<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/>','<path d="M12 17h.01"/>'],"\u{1F9ED}":['<circle cx="12" cy="12" r="10"/>','<polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"/>'],"\u{1F4DD}":['<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/>','<polyline points="14 2 14 8 20 8"/>','<line x1="16" y1="13" x2="8" y2="13"/>','<line x1="16" y1="17" x2="8" y2="17"/>','<line x1="10" y1="9" x2="8" y2="9"/>'],"\u{1F3AF}":['<polygon points="12 2 2 7 12 12 22 7 12 2"/>','<polyline points="2 17 12 22 22 17"/>','<polyline points="2 12 12 17 22 12"/>'],"\u{1F3C6}":['<path d="M6 9H4.5a2.5 2.5 0 0 1 0-5H6"/>','<path d="M18 9h1.5a2.5 2.5 0 0 0 0-5H18"/>','<path d="M4 22h16"/>','<path d="M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"/>','<path d="M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"/>','<path d="M18 2H6v7a6 6 0 0 0 12 0V2Z"/>'],"\u2728":['<path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z"/>','<path d="M5 3v4"/>','<path d="M19 17v4"/>','<path d="M3 5h4"/>','<path d="M17 19h4"/>'],"\u{1F4AC}":['<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/>'],"\u{1F3AE}":['<line x1="6" y1="11" x2="10" y2="11"/>','<line x1="8" y1="9" x2="8" y2="13"/>','<line x1="15" y1="12" x2="15.01" y2="12"/>','<line x1="18" y1="10" x2="18.01" y2="10"/>','<path d="M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"/>'],"\u{1F4A1}":['<path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/>','<path d="M9 18h6"/>','<path d="M10 22h4"/>'],"\u{1F4B0}":['<rect x="2" y="6" width="20" height="12" rx="2"/>','<circle cx="12" cy="12" r="2"/>','<path d="M6 12h.01M18 12h.01"/>'],"\u{1F4CB}":['<rect x="8" y="2" width="8" height="4" rx="1" ry="1"/>','<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>','<path d="M12 11h4"/>','<path d="M12 16h4"/>','<path d="M8 11h.01"/>','<path d="M8 16h.01"/>'],"\u2705":['<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/>','<polyline points="22 4 12 14.01 9 11.01"/>'],"\u26A0\uFE0F":['<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/>','<line x1="12" y1="9" x2="12" y2="13"/>','<line x1="12" y1="17" x2="12.01" y2="17"/>'],"\u{1F4B5}":['<rect x="2" y="6" width="20" height="12" rx="2"/>','<circle cx="12" cy="12" r="2"/>','<path d="M6 12h.01M18 12h.01"/>'],"\u{1F3DB}\uFE0F":['<line x1="3" y1="22" x2="21" y2="22"/>','<line x1="6" y1="18" x2="6" y2="11"/>','<line x1="10" y1="18" x2="10" y2="11"/>','<line x1="14" y1="18" x2="14" y2="11"/>','<line x1="18" y1="18" x2="18" y2="11"/>','<polygon points="12 2 20 7 4 7"/>','<line x1="2" y1="18" x2="22" y2="18"/>'],"\u23ED\uFE0F":['<polygon points="5 4 15 12 5 20 5 4"/>','<line x1="19" y1="5" x2="19" y2="19"/>'],"\u27A1\uFE0F":['<line x1="5" y1="12" x2="19" y2="12"/>','<polyline points="12 5 19 12 12 19"/>'],"\u23F1\uFE0F":['<line x1="10" y1="2" x2="14" y2="2"/>','<line x1="12" y1="14" x2="12" y2="8"/>','<circle cx="12" cy="14" r="8"/>'],"\u{1F4D6}":['<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/>','<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>'],"\u{1F514}":['<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/>','<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>']};function qw(r,e,t="currentColor"){let n=zw[r];if(!n)return j`<span style=${I({fontSize:`${e}px`,lineHeight:"1"})}>${r}</span>`;let i=n.join(""),s=`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${e}" viewBox="0 0 24 24" fill="none" stroke="${t}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i}</svg>`,o=document.createElement("span");return o.style.display="flex",o.innerHTML=s,j`${o}`}var Zw=[":toggled",":clicked",":feedback",":navigate",":expanded",":collapsed",":dismissed",":submitted",":interacted",":tip_clicked",":tip_focused"],ua=class extends he{constructor(){super(...arguments);this.config=null;this.surface="overlay";this.runtimeRef=null;this._hovered=!1;this._widgetHandle=null;this._widgetContainer=null;this._mountedWidgetId=null;this._registryUnsub=null;this._eventBusUnsub=null;this._intersectionObserver=null;this._prevPropsJson=null;this._onMouseEnter=()=>{this._hovered=!0};this._onMouseLeave=()=>{this._hovered=!1}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._setupEventBusSubscription(),this._setupRegistrySubscription(),this.updateComplete.then(()=>{this._mountWidgetIfReady(),this._setupIntersectionObserver()})}updated(t){(t.has("runtimeRef")||t.has("config"))&&(t.has("runtimeRef")&&(this._teardownSubscriptions(),this._setupEventBusSubscription(),this._setupRegistrySubscription()),(this.config?.widget??null)!==this._mountedWidgetId?(this._unmountWidget(),this._mountWidgetIfReady()):this._forwardPropUpdates())}disconnectedCallback(){super.disconnectedCallback(),this._unmountWidget(),this._teardownSubscriptions(),this._intersectionObserver?.disconnect(),this._intersectionObserver=null}_mountWidgetIfReady(){if(this._mountedWidgetId)return;let t=this.runtimeRef?.widgets,n=this.config?.widget;if(!t||!n||!t.has(n))return;let i=this.querySelector("[data-widget-mount-parent]");if(!i)return;let s=document.createElement("div");s.style.width="100%",s.style.minHeight="40px",i.appendChild(s);let o={...this.config?.props,instanceId:this.config?.id},a=t.mount(n,s,o);this._widgetContainer=s,this._widgetHandle=a,this._mountedWidgetId=n,this._prevPropsJson=JSON.stringify(o)}_unmountWidget(){this._widgetHandle&&(this._widgetHandle.unmount(),this._widgetHandle=null),this._widgetContainer&&(this._widgetContainer.remove(),this._widgetContainer=null),this._mountedWidgetId=null,this._prevPropsJson=null}_forwardPropUpdates(){if(!this._widgetHandle||!this.config)return;let t={...this.config.props,instanceId:this.config.id},n=JSON.stringify(t);n!==this._prevPropsJson&&(this._prevPropsJson=n,this._widgetHandle.update(t))}_setupRegistrySubscription(){let t=this.runtimeRef?.widgets,n=this.config?.widget;!t||!n||t.has(n)&&this._mountedWidgetId===n||(this._registryUnsub=t.subscribe(i=>{i.type==="registered"&&i.widgetId===n&&(this.requestUpdate(),queueMicrotask(()=>{this._mountedWidgetId||this._mountWidgetIfReady()}))}))}_setupIntersectionObserver(){let t=typeof window<"u"?window.SynOS?.interventionTracker:null;if(!t||!this.config)return;let n=this.querySelector("article");n&&(this._intersectionObserver=new IntersectionObserver(([i])=>{i.isIntersecting&&(t.trackSeen(this.config.id,this.config.widget??"unknown"),this._intersectionObserver?.disconnect())},{threshold:.5}),this._intersectionObserver.observe(n))}_setupEventBusSubscription(){let t=typeof window<"u"?window.SynOS?.interventionTracker:null;!this.runtimeRef?.events||!t||!this.config||(this._eventBusUnsub=this.runtimeRef.events.subscribe(n=>{Zw.some(i=>n.name?.includes(i))&&n.props?.instanceId===this.config.id&&t.trackInteracted(this.config.id,this.config.widget??"unknown",n.name)}))}_teardownSubscriptions(){this._registryUnsub?.(),this._registryUnsub=null,this._eventBusUnsub?.(),this._eventBusUnsub=null}get _registration(){let t=this.config?.widget;if(!(!t||!this.runtimeRef?.widgets))return this.runtimeRef.widgets.getRegistration?.(t)}get _resolvedIcon(){return this.config?.icon?this.config.icon:this._registration?.metadata?.icon??"+"}get _resolvedSubtitle(){return this.config?.subtitle?this.config.subtitle:this._registration?.metadata?.subtitle}render(){if(!this.config)return J;let{title:t,widget:n}=this.config,i=this._resolvedSubtitle,s=this._resolvedIcon,o=i?36:24,l=this.runtimeRef?.widgets?.has(n)??!1,c={display:"flex",flexDirection:"column",borderRadius:"var(--sc-tile-border-radius)",background:this._hovered?"var(--sc-tile-background-hover)":"var(--sc-tile-background)",backdropFilter:"blur(16px) saturate(1.2)",WebkitBackdropFilter:"blur(16px) saturate(1.2)",border:"var(--sc-tile-border)",boxShadow:"var(--sc-tile-shadow)",color:"var(--sc-tile-title-color)",fontFamily:"var(--sc-font-family)",overflow:"hidden",cursor:"default",transition:"all 0.25s ease",transform:this._hovered?"scale(1.01)":"scale(1)"},u={display:"flex",alignItems:"center",gap:"var(--sc-tile-gap, 0.25rem)",padding:"var(--sc-tile-header-padding, 0.375rem 0.75rem)",minHeight:"44px"},p={display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0"},h={fontSize:"1.14rem",fontWeight:"600",color:"var(--sc-tile-title-color)",margin:"0.125rem 0 0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},f={fontSize:"0.8rem",fontWeight:"400",color:"var(--sc-tile-text-color)",margin:"0.125rem 0 0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},v={padding:"var(--sc-tile-body-padding, 0 0.75rem 0.5rem)",borderTop:"1px solid rgba(255, 255, 255, 0.06)"},m={paddingTop:"var(--sc-tile-gap, 0.25rem)"},g={padding:"0.75rem",fontSize:"0.8rem",color:"var(--sc-tile-text-color)",fontStyle:"italic"};return j`
386
+ `}};ma.properties={isOpen:{type:Boolean},tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},canvasTitle:{type:String},displayMode:{type:String},runtimeRef:{attribute:!1},telemetry:{attribute:!1},themeConfig:{attribute:!1},launcherAnimate:{type:Boolean}};customElements.define("syntro-canvas-overlay",ma);function oS(r,e,t="currentColor"){let n=nn(r,{size:e,color:t});if(!n)return j`<span style=${I({fontSize:`${e}px`,lineHeight:"1"})}>${r}</span>`;let i=document.createElement("span");return i.style.display="flex",i.innerHTML=n,j`${i}`}var aS=[":toggled",":clicked",":feedback",":navigate",":expanded",":collapsed",":dismissed",":submitted",":interacted",":tip_clicked",":tip_focused"],va=class extends he{constructor(){super(...arguments);this.config=null;this.surface="overlay";this.runtimeRef=null;this._hovered=!1;this._widgetHandle=null;this._widgetContainer=null;this._mountedWidgetId=null;this._registryUnsub=null;this._eventBusUnsub=null;this._intersectionObserver=null;this._prevPropsJson=null;this._onMouseEnter=()=>{this._hovered=!0};this._onMouseLeave=()=>{this._hovered=!1}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._setupEventBusSubscription(),this._setupRegistrySubscription(),this.updateComplete.then(()=>{this._mountWidgetIfReady(),this._setupIntersectionObserver()})}updated(t){(t.has("runtimeRef")||t.has("config"))&&(t.has("runtimeRef")&&(this._teardownSubscriptions(),this._setupEventBusSubscription(),this._setupRegistrySubscription()),(this.config?.widget??null)!==this._mountedWidgetId?(this._unmountWidget(),this._mountWidgetIfReady()):this._forwardPropUpdates())}disconnectedCallback(){super.disconnectedCallback(),this._unmountWidget(),this._teardownSubscriptions(),this._intersectionObserver?.disconnect(),this._intersectionObserver=null}_mountWidgetIfReady(){if(this._mountedWidgetId)return;let t=this.runtimeRef?.widgets,n=this.config?.widget;if(!t||!n||!t.has(n))return;let i=this.querySelector("[data-widget-mount-parent]");if(!i)return;let s=document.createElement("div");s.style.width="100%",s.style.minHeight="40px",i.appendChild(s);let o={...this.config?.props,instanceId:this.config?.id},a=t.mount(n,s,o);this._widgetContainer=s,this._widgetHandle=a,this._mountedWidgetId=n,this._prevPropsJson=JSON.stringify(o)}_unmountWidget(){this._widgetHandle&&(this._widgetHandle.unmount(),this._widgetHandle=null),this._widgetContainer&&(this._widgetContainer.remove(),this._widgetContainer=null),this._mountedWidgetId=null,this._prevPropsJson=null}_forwardPropUpdates(){if(!this._widgetHandle||!this.config)return;let t={...this.config.props,instanceId:this.config.id},n=JSON.stringify(t);n!==this._prevPropsJson&&(this._prevPropsJson=n,this._widgetHandle.update(t))}_setupRegistrySubscription(){let t=this.runtimeRef?.widgets,n=this.config?.widget;!t||!n||t.has(n)&&this._mountedWidgetId===n||(this._registryUnsub=t.subscribe(i=>{i.type==="registered"&&i.widgetId===n&&(this.requestUpdate(),queueMicrotask(()=>{this._mountedWidgetId||this._mountWidgetIfReady()}))}))}_setupIntersectionObserver(){let t=typeof window<"u"?window.SynOS?.interventionTracker:null;if(!t||!this.config)return;let n=this.querySelector("article");n&&(this._intersectionObserver=new IntersectionObserver(([i])=>{i.isIntersecting&&(t.trackSeen(this.config.id,this.config.widget??"unknown"),this._intersectionObserver?.disconnect())},{threshold:.5}),this._intersectionObserver.observe(n))}_setupEventBusSubscription(){let t=typeof window<"u"?window.SynOS?.interventionTracker:null;!this.runtimeRef?.events||!t||!this.config||(this._eventBusUnsub=this.runtimeRef.events.subscribe(n=>{aS.some(i=>n.name?.includes(i))&&n.props?.instanceId===this.config.id&&t.trackInteracted(this.config.id,this.config.widget??"unknown",n.name)}))}_teardownSubscriptions(){this._registryUnsub?.(),this._registryUnsub=null,this._eventBusUnsub?.(),this._eventBusUnsub=null}get _registration(){let t=this.config?.widget;if(!(!t||!this.runtimeRef?.widgets))return this.runtimeRef.widgets.getRegistration?.(t)}get _resolvedIcon(){return this.config?.icon?this.config.icon:this._registration?.metadata?.icon??"+"}get _resolvedSubtitle(){return this.config?.subtitle?this.config.subtitle:this._registration?.metadata?.subtitle}render(){if(!this.config)return J;let{title:t,widget:n}=this.config,i=this._resolvedSubtitle,s=this._resolvedIcon,o=i?36:24,l=this.runtimeRef?.widgets?.has(n)??!1,c={display:"flex",flexDirection:"column",borderRadius:"var(--sc-tile-border-radius)",background:this._hovered?"var(--sc-tile-background-hover)":"var(--sc-tile-background)",backdropFilter:"blur(16px) saturate(1.2)",WebkitBackdropFilter:"blur(16px) saturate(1.2)",border:"var(--sc-tile-border)",boxShadow:"var(--sc-tile-shadow)",color:"var(--sc-tile-title-color)",fontFamily:"var(--sc-font-family)",overflow:"hidden",cursor:"default",transition:"all 0.25s ease",transform:this._hovered?"scale(1.01)":"scale(1)"},u={display:"flex",alignItems:"center",gap:"var(--sc-tile-gap, 0.25rem)",padding:"var(--sc-tile-header-padding, 0.375rem 0.75rem)",minHeight:"44px"},p={display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0"},h={fontSize:"1.14rem",fontWeight:"600",color:"var(--sc-tile-title-color)",margin:"0.125rem 0 0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},f={fontSize:"0.8rem",fontWeight:"400",color:"var(--sc-tile-text-color)",margin:"0.125rem 0 0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},v={padding:"var(--sc-tile-body-padding, 0 0.75rem 0.5rem)",borderTop:"1px solid rgba(255, 255, 255, 0.06)"},m={paddingTop:"var(--sc-tile-gap, 0.25rem)"},g={padding:"0.75rem",fontSize:"0.8rem",color:"var(--sc-tile-text-color)",fontStyle:"italic"};return j`
387
387
  <article
388
388
  data-shadow-canvas-id=${`tile-${this.config.id}`}
389
389
  style=${I(c)}
@@ -393,7 +393,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
393
393
  <!-- Header -->
394
394
  <div style=${I(u)}>
395
395
  <div style=${I(p)}>
396
- ${qw(s,o)}
396
+ ${oS(s,o)}
397
397
  </div>
398
398
  <div style=${I({flex:"1",minWidth:"0"})}>
399
399
  <h3 style=${I(h)}>
@@ -412,7 +412,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
412
412
  </div>
413
413
  </div>
414
414
  </article>
415
- `}};ua.properties={config:{attribute:!1},surface:{type:String},runtimeRef:{attribute:!1},_hovered:{state:!0}};customElements.define("syntro-tile-card",ua);var da=class extends he{constructor(){super(...arguments);this.tiles=[];this.runtimeRef=null;this.surface="overlay"}createRenderRoot(){return this}render(){return j`
415
+ `}};va.properties={config:{attribute:!1},surface:{type:String},runtimeRef:{attribute:!1},_hovered:{state:!0}};customElements.define("syntro-tile-card",va);var ya=class extends he{constructor(){super(...arguments);this.tiles=[];this.runtimeRef=null;this.surface="overlay"}createRenderRoot(){return this}render(){return j`
416
416
  <div data-syntro-tile-stack style=${I({display:"flex",flexDirection:"column",gap:"0.75rem",width:"100%"})}>
417
417
  ${this.tiles.map(n=>j`
418
418
  <syntro-tile-card
@@ -422,7 +422,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
422
422
  ></syntro-tile-card>
423
423
  `)}
424
424
  </div>
425
- `}};da.properties={tiles:{attribute:!1},runtimeRef:{attribute:!1},surface:{type:String}};customElements.define("syntro-tile-stack",da);var pa=class extends he{constructor(){super(...arguments);this.tiles=[];this.isLoading=!1;this.error=void 0;this.runtimeRef=null}createRenderRoot(){return this}render(){return j`
425
+ `}};ya.properties={tiles:{attribute:!1},runtimeRef:{attribute:!1},surface:{type:String}};customElements.define("syntro-tile-stack",ya);var _a=class extends he{constructor(){super(...arguments);this.tiles=[];this.isLoading=!1;this.error=void 0;this.runtimeRef=null}createRenderRoot(){return this}render(){return j`
426
426
  <div data-syntro-inline-shell="container" style=${I({position:"relative",width:"100%",height:"100%",overflowY:"auto",color:"var(--sc-overlay-text-color)",background:"var(--sc-canvas-background)",padding:"var(--sc-canvas-padding, 0)",boxSizing:"border-box"})}>
427
427
  ${this.isLoading?j`<div data-syntro-inline-shell="loading">Loading...</div>`:this.error?j`<div
428
428
  data-syntro-inline-shell="error"
@@ -433,10 +433,10 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
433
433
  .runtimeRef=${this.runtimeRef}
434
434
  ></syntro-tile-stack>`:J}
435
435
  </div>
436
- `}};pa.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",pa);function ha(r,e,t="merge"){return t==="first-match"?Gw(r,e):Kw(r,e)}function Gw(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return Jg([i])}return null}function Kw(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:Jg(t)}function Jg(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var qc=!1;function Qg(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function Zc(r){if(Qg()){qc=!0;return}qc=r??!1}function Yw(){return Qg()?!0:qc}function z(r,e,t){Yw()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function Je(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function fa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var Gc="2.8.0-canary.142";var wr="2.0";var Xw=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function Jw(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):Xw.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function Qw(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var em="syntro_config_cache",ek=1440*60*1e3;function tm(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function tk(r,e){if(tm())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(em,JSON.stringify(t))}catch{}}function rk(r){if(!tm())return null;try{let e=localStorage.getItem(em);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>ek?null:t.config}catch{return null}}var Kc=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function nk(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var qn=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let u=e.getFeatureValue?.(i,null);if(u&&typeof u=="object")return z("SmartCanvas Config","Resolved config directly from feature flag",u),u}if(e&&(s||o||e.getAllFeatures)){let u=nk(e,s,o);if(u.length>0){let p=ha(e,u);if(p)return z("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=Kc({configUri:r,experiments:e,featureKey:t});if(!l)return z("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!Jw(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(Qw(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":Gc,"X-SDK-Schema-Version":wr}});if(!u.ok)throw new Error(`SmartCanvas: failed to fetch config (${u.status})`);let p=await u.json();return z("SmartCanvas Config","Fetched config from URI",p),a&&tk(p,a),p}catch(u){if(a){let p=rk(a);if(p)return z("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var Yc=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},rm=r=>new Yc(r);function re(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var X$={colorPrimary:te[3],colorPrimaryHover:te[4],colorPrimaryMuted:te[0],colorBackground:re(S[1],.95),colorBackgroundElevated:re(S[3],.95),colorBackgroundSubtle:re(S[0],.2),colorSurface:re(S[4],.8),colorSurfaceHover:re(S[5],.8),colorText:at.primary,colorTextSecondary:at.secondary,colorTextMuted:at.tertiary,colorTextInverse:S[1],colorBorder:Jl.primary,colorBorderSubtle:Jl.secondary,colorSuccess:_e[4],colorSuccessMuted:_e[0],colorWarning:Ve[4],colorWarningMuted:Ve[0],colorError:Re[4],colorErrorMuted:Re[0],colorInfo:ot[4],colorInfoMuted:ot[0],colorNotification:te[4],colorNotificationMuted:re(te[4],.4),glassBackground:re(S[1],.6),glassBackgroundHover:re(S[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},J$={colorPrimary:te[3],colorPrimaryHover:te[2],colorPrimaryMuted:re(te[5],.1),colorBackground:re(S[12],.95),colorBackgroundElevated:re(S[11],.95),colorBackgroundSubtle:re(S[0],.02),colorSurface:re(S[11],.6),colorSurfaceHover:re(S[10],.6),colorText:S[1],colorTextSecondary:S[6],colorTextMuted:S[8],colorTextInverse:S[12],colorBorder:re(S[0],.12),colorBorderSubtle:re(S[0],.06),colorSuccess:_e[4],colorSuccessMuted:re(_e[4],.12),colorWarning:Ve[4],colorWarningMuted:re(Ve[4],.12),colorError:Re[4],colorErrorMuted:re(Re[4],.12),colorInfo:ot[4],colorInfoMuted:re(ot[4],.12),colorNotification:te[3],colorNotificationMuted:re(te[3],.4),glassBackground:re(S[12],.7),glassBackgroundHover:re(S[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function ik(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var nm={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:te[3],colorPrimaryHover:te[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:re(S[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:ko.primary.backgroundDefault,backgroundHover:ko.primary.backgroundHover,color:ko.primary.icon,size:"56px",shadow:`0 8px 32px ${re(S[0],.6)}`,borderRadius:"9999px"},tile:{background:re(S[1],.6),backgroundHover:re(S[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:at.primary,textColor:at.secondary,iconBackground:`linear-gradient(135deg, ${te[3]} 0%, ${te[3]}cc 100%)`,iconShadow:`0 2px 8px ${te[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:re(S[1],.6),textColor:at.primary,titleColor:at.primary,arrowColor:re(S[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${te[3]}`},notification:{background:re(S[0],.95),textColor:at.primary,textSecondaryColor:at.secondary,border:`1px solid ${S[5]}`,borderRadius:"12px",successColor:_e[4],warningColor:Ve[4],errorColor:Re[4],iconBackground:re(te[3],.15),progressGradient:`linear-gradient(90deg, ${te[3]}, ${te[4]})`},content:{background:re(S[3],.8),backgroundHover:re(S[5],.6),border:`1px solid ${re(S[5],.5)}`,borderRadius:"8px",textColor:at.primary,textSecondaryColor:at.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:re(S[3],.8),searchColor:at.primary,chevronColor:"currentColor"}},im={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:te[3],colorPrimaryHover:te[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:re(S[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:te[3],backgroundHover:te[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:re(S[12],.7),backgroundHover:re(S[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:S[1],textColor:S[6],iconBackground:`linear-gradient(135deg, ${te[3]} 0%, ${te[3]}cc 100%)`,iconShadow:`0 2px 8px ${te[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:re(S[12],.7),textColor:S[1],titleColor:S[1],arrowColor:re(S[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${te[3]}`},notification:{background:re(S[12],.95),textColor:S[1],textSecondaryColor:S[6],border:`1px solid ${re(S[0],.12)}`,borderRadius:"12px",successColor:_e[4],warningColor:Ve[4],errorColor:Re[4],iconBackground:re(te[3],.1),progressGradient:`linear-gradient(90deg, ${te[3]}, ${te[2]})`},content:{background:re(S[12],.8),backgroundHover:re(S[11],.6),border:`1px solid ${S[11]}`,borderRadius:"8px",textColor:S[1],textSecondaryColor:S[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:S[12],searchColor:S[1],chevronColor:"currentColor"}};function sm(r){let e=r.mode==="light"?im:nm;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content}}}function om(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?im:nm;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content}}}var sk=["canvas","launcher","tile","overlay","notification","content"];function am(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of sk){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${ik(i)}`]=s)}return e}var kr,sn,on,Jt,Qt,Xc,ga,us=class{constructor(e,t,n){ge(this,Qt);ge(this,kr);ge(this,sn);ge(this,on);ge(this,Jt);ne(this,kr,e),ne(this,sn,t??{}),ne(this,on,n),ne(this,Jt,ye(this,Qt,Xc).call(this)),e.addController(this)}get config(){return U(this,Jt).config}get mode(){return U(this,Jt).mode}get cssVariables(){return U(this,Jt).cssVariables}hostConnected(){ye(this,Qt,ga).call(this)}hostDisconnected(){}hostUpdated(){ye(this,Qt,ga).call(this)}setThemeConfig(e,t){ne(this,sn,e),ne(this,on,t),ne(this,Jt,ye(this,Qt,Xc).call(this)),ye(this,Qt,ga).call(this),U(this,kr).requestUpdate()}};kr=new WeakMap,sn=new WeakMap,on=new WeakMap,Jt=new WeakMap,Qt=new WeakSet,Xc=function(){let e=U(this,on)?om(U(this,on),U(this,sn)):sm(U(this,sn)),t=am(e);return{config:e,mode:e.mode,cssVariables:t}},ga=function(){let e=U(this,kr).shadowRoot??("renderRoot"in U(this,kr)?U(this,kr).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(U(this,Jt).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
436
+ `}};_a.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",_a);function ba(r,e,t="merge"){return t==="first-match"?lS(r,e):cS(r,e)}function lS(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return gm([i])}return null}function cS(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:gm(t)}function gm(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var au=!1;function mm(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function lu(r){if(mm()){au=!0;return}au=r??!1}function uS(){return mm()?!0:au}function z(r,e,t){uS()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function Je(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function xa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var cu="2.8.0-canary.144";var Ar="2.0";var dS=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function pS(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):dS.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function hS(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var vm="syntro_config_cache",fS=1440*60*1e3;function ym(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function gS(r,e){if(ym())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(vm,JSON.stringify(t))}catch{}}function mS(r){if(!ym())return null;try{let e=localStorage.getItem(vm);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>fS?null:t.config}catch{return null}}var uu=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function vS(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var ti=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let u=e.getFeatureValue?.(i,null);if(u&&typeof u=="object")return z("SmartCanvas Config","Resolved config directly from feature flag",u),u}if(e&&(s||o||e.getAllFeatures)){let u=vS(e,s,o);if(u.length>0){let p=ba(e,u);if(p)return z("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=uu({configUri:r,experiments:e,featureKey:t});if(!l)return z("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!pS(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(hS(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":cu,"X-SDK-Schema-Version":Ar}});if(!u.ok)throw new Error(`SmartCanvas: failed to fetch config (${u.status})`);let p=await u.json();return z("SmartCanvas Config","Fetched config from URI",p),a&&gS(p,a),p}catch(u){if(a){let p=mS(a);if(p)return z("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var du=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},_m=r=>new du(r);function re(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var N2={colorPrimary:te[3],colorPrimaryHover:te[4],colorPrimaryMuted:te[0],colorBackground:re(S[1],.95),colorBackgroundElevated:re(S[3],.95),colorBackgroundSubtle:re(S[0],.2),colorSurface:re(S[4],.8),colorSurfaceHover:re(S[5],.8),colorText:at.primary,colorTextSecondary:at.secondary,colorTextMuted:at.tertiary,colorTextInverse:S[1],colorBorder:Ql.primary,colorBorderSubtle:Ql.secondary,colorSuccess:_e[4],colorSuccessMuted:_e[0],colorWarning:Ve[4],colorWarningMuted:Ve[0],colorError:Re[4],colorErrorMuted:Re[0],colorInfo:ot[4],colorInfoMuted:ot[0],colorNotification:te[4],colorNotificationMuted:re(te[4],.4),glassBackground:re(S[1],.6),glassBackgroundHover:re(S[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},L2={colorPrimary:te[3],colorPrimaryHover:te[2],colorPrimaryMuted:re(te[5],.1),colorBackground:re(S[12],.95),colorBackgroundElevated:re(S[11],.95),colorBackgroundSubtle:re(S[0],.02),colorSurface:re(S[11],.6),colorSurfaceHover:re(S[10],.6),colorText:S[1],colorTextSecondary:S[6],colorTextMuted:S[8],colorTextInverse:S[12],colorBorder:re(S[0],.12),colorBorderSubtle:re(S[0],.06),colorSuccess:_e[4],colorSuccessMuted:re(_e[4],.12),colorWarning:Ve[4],colorWarningMuted:re(Ve[4],.12),colorError:Re[4],colorErrorMuted:re(Re[4],.12),colorInfo:ot[4],colorInfoMuted:re(ot[4],.12),colorNotification:te[3],colorNotificationMuted:re(te[3],.4),glassBackground:re(S[12],.7),glassBackgroundHover:re(S[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function yS(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var bm={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:te[3],colorPrimaryHover:te[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:re(S[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:So.primary.backgroundDefault,backgroundHover:So.primary.backgroundHover,color:So.primary.icon,size:"56px",shadow:`0 8px 32px ${re(S[0],.6)}`,borderRadius:"9999px"},tile:{background:re(S[1],.6),backgroundHover:re(S[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:at.primary,textColor:at.secondary,iconBackground:`linear-gradient(135deg, ${te[3]} 0%, ${te[3]}cc 100%)`,iconShadow:`0 2px 8px ${te[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:re(S[1],.6),textColor:at.primary,titleColor:at.primary,arrowColor:re(S[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${te[3]}`},notification:{background:re(S[0],.95),textColor:at.primary,textSecondaryColor:at.secondary,border:`1px solid ${S[5]}`,borderRadius:"12px",successColor:_e[4],warningColor:Ve[4],errorColor:Re[4],iconBackground:re(te[3],.15),progressGradient:`linear-gradient(90deg, ${te[3]}, ${te[4]})`},content:{background:re(S[3],.8),backgroundHover:re(S[5],.6),border:`1px solid ${re(S[5],.5)}`,borderRadius:"8px",textColor:at.primary,textSecondaryColor:at.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:re(S[3],.8),searchColor:at.primary,chevronColor:"currentColor"}},xm={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:te[3],colorPrimaryHover:te[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:re(S[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:te[3],backgroundHover:te[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:re(S[12],.7),backgroundHover:re(S[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:S[1],textColor:S[6],iconBackground:`linear-gradient(135deg, ${te[3]} 0%, ${te[3]}cc 100%)`,iconShadow:`0 2px 8px ${te[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:re(S[12],.7),textColor:S[1],titleColor:S[1],arrowColor:re(S[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${te[3]}`},notification:{background:re(S[12],.95),textColor:S[1],textSecondaryColor:S[6],border:`1px solid ${re(S[0],.12)}`,borderRadius:"12px",successColor:_e[4],warningColor:Ve[4],errorColor:Re[4],iconBackground:re(te[3],.1),progressGradient:`linear-gradient(90deg, ${te[3]}, ${te[2]})`},content:{background:re(S[12],.8),backgroundHover:re(S[11],.6),border:`1px solid ${S[11]}`,borderRadius:"8px",textColor:S[1],textSecondaryColor:S[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:S[12],searchColor:S[1],chevronColor:"currentColor"}};function wm(r){let e=r.mode==="light"?xm:bm;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content}}}function km(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?xm:bm;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content}}}var _S=["canvas","launcher","tile","overlay","notification","content"];function Sm(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of _S){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${yS(i)}`]=s)}return e}var Rr,wn,kn,rr,nr,pu,wa,ws=class{constructor(e,t,n){ge(this,nr);ge(this,Rr);ge(this,wn);ge(this,kn);ge(this,rr);ne(this,Rr,e),ne(this,wn,t??{}),ne(this,kn,n),ne(this,rr,ye(this,nr,pu).call(this)),e.addController(this)}get config(){return U(this,rr).config}get mode(){return U(this,rr).mode}get cssVariables(){return U(this,rr).cssVariables}hostConnected(){ye(this,nr,wa).call(this)}hostDisconnected(){}hostUpdated(){ye(this,nr,wa).call(this)}setThemeConfig(e,t){ne(this,wn,e),ne(this,kn,t),ne(this,rr,ye(this,nr,pu).call(this)),ye(this,nr,wa).call(this),U(this,Rr).requestUpdate()}};Rr=new WeakMap,wn=new WeakMap,kn=new WeakMap,rr=new WeakMap,nr=new WeakSet,pu=function(){let e=U(this,kn)?km(U(this,kn),U(this,wn)):wm(U(this,wn)),t=Sm(e);return{config:e,mode:e.mode,cssVariables:t}},wa=function(){let e=U(this,Rr).shadowRoot??("renderRoot"in U(this,Rr)?U(this,Rr).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(U(this,rr).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
437
437
  `);t.textContent=`:host {
438
438
  ${n}
439
- }`};var ok=new Set(["tag_name","$el_text"]);function ak(r){return ok.has(r)||r.startsWith("attr__")}function lm(r,e){return r.equals!==void 0?e===r.equals:r.contains!==void 0?typeof e=="string"&&e.includes(r.contains):!1}function lk(r){let{events:e,match:t}=r;return n=>{if(!e.includes(n.name))return!1;if(t){for(let[i,s]of Object.entries(t))if(ak(i)){let o=n.props?.elements;if(!o||!o.some(l=>lm(s,l[i])))return!1}else if(!lm(s,n.props?.[i]))return!1}return!0}}function cm(r,e){for(let t of r.rules)for(let n of t.conditions)if(n.type==="event_count"&&n.key){let i=n.counter,s=i?lk(i):()=>!0,o=typeof n.withinMs=="number";e.register(n.key,s,o)}}function Zn(r,e,t){for(let n of r){let i=n.props;if(!i)continue;let s=i.actions;if(s)for(let o of s)o.triggerWhen?.type==="rules"&&cm(o.triggerWhen,e)}if(t)for(let n of t){let i=n;i.triggerWhen?.type==="rules"&&cm(i.triggerWhen,e)}}var ck="syntro-runtime",um="smart-canvas",dm=r=>[...r].sort((e,t)=>(t.priority??0)-(e.priority??0));function pm(r){let e=typeof window<"u"?window.SynOS?.interventionTracker:null;if(e)for(let t of r)e.trackTriggered(t.id,t.widget??"unknown")}var rt,Kn,Dt,er,Ot,an,ds,ps,ln,cn,un,Sr,Er,Cr,dn,Yn,hs,Se,hm,fm,Xn,Jc,gm,Qc,eu,tu,mm,ru,ma,Gn=class extends he{constructor(){super();ge(this,Se);this.fetcher=void 0;this.configUri=void 0;this.configUriFeatureKey=void 0;this.configFeatureKey=void 0;this.fetchCredentials="include";this.experiments=void 0;this.telemetry=void 0;this.runtime=void 0;this.launcherLabel=void 0;this.initialBatchHandle=null;this.initialBatchActions=void 0;this.workspaceTheme=void 0;this._tiles=[];this._configActions=[];this._isLoading=!0;this._error=void 0;this._theme=void 0;this._launcher=void 0;this._canvasTitle=void 0;this._displayMode="standard";this._isOpen=!1;this._pageUrl=typeof window<"u"?window.location.href:"/";ge(this,rt);ge(this,Kn,null);ge(this,Dt,null);ge(this,er,null);ge(this,Ot,null);ge(this,an);ge(this,ds,0);ge(this,ps,null);ge(this,ln,"[]");ge(this,cn,null);ge(this,un,null);ge(this,Sr,null);ge(this,Er,null);ge(this,Cr,null);ge(this,dn,()=>{this._pageUrl=window.location.href});ge(this,Yn);ge(this,hs);ge(this,Xn,0);ge(this,ma,t=>{U(this,rt).toggle()});ne(this,rt,rm()),ne(this,an,!1),ne(this,Yn,new us(this)),ne(this,hs,new zn(this,{context:ck,initialValue:null}))}connectedCallback(){super.connectedCallback(),this.style.setProperty("font-family","inherit"),ne(this,Kn,U(this,rt).subscribe(t=>{this._isOpen=t.open})),this._isOpen=U(this,rt).getState().open,ne(this,Dt,document.createElement("div")),U(this,Dt).id="overlayContainer",Object.assign(U(this,Dt).style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),this.shadowRoot.appendChild(U(this,Dt)),ne(this,er,document.createElement("div")),U(this,er).id="portalRoot",this.shadowRoot.appendChild(U(this,er)),ye(this,Se,Qc).call(this),ye(this,Se,ru).call(this),ye(this,Se,tu).call(this)}disconnectedCallback(){var t,n,i,s,o;super.disconnectedCallback(),(t=U(this,Kn))==null||t.call(this),ne(this,Kn,null),(n=U(this,un))==null||n.call(this),ne(this,un,null),(i=U(this,Sr))==null||i.call(this),ne(this,Sr,null),(s=U(this,Er))==null||s.call(this),ne(this,Er,null),(o=U(this,Cr))==null||o.call(this),ne(this,Cr,null),ye(this,Se,eu).call(this),U(this,Ot)&&(U(this,Ot).revertAll().catch(a=>{console.error("[SmartCanvasElementLit] Failed to revert actions on disconnect:",a)}),ne(this,Ot,null)),U(this,Dt)?.remove(),ne(this,Dt,null),U(this,er)?.remove(),ne(this,er,null)}updated(t){var i;t.has("runtime")&&(U(this,hs).setValue(this.runtime??null),ye(this,Se,mm).call(this),ye(this,Se,tu).call(this),ye(this,Se,ru).call(this),ye(this,Se,eu).call(this),ye(this,Se,Qc).call(this));let n=t.has("runtime")||t.has("fetcher")||t.has("configUri")||t.has("configUriFeatureKey")||t.has("configFeatureKey")||t.has("fetchCredentials")||t.has("experiments");if(n&&(ye(this,Se,hm).call(this),(i=U(this,un))==null||i.call(this),this.experiments?.onFeaturesChanged&&ne(this,un,this.experiments.onFeaturesChanged(()=>this._loadConfig()))),(n||t.has("_pageUrl"))&&this._loadConfig(),(t.has("_theme")||t.has("workspaceTheme"))&&U(this,Yn).setThemeConfig(this._theme??{},this.workspaceTheme),(t.has("_configActions")||t.has("_pageUrl"))&&ye(this,Se,gm).call(this),t.has("_tiles")||t.has("_isLoading")||t.has("_error")){let s=this._tiles.length>0&&!this._error;!this._isLoading&&!s&&U(this,rt).getState().open&&U(this,rt).setOpen(!1)}t.has("initialBatchHandle")&&this.initialBatchHandle&&(ne(this,Ot,this.initialBatchHandle),ne(this,an,!0),this.initialBatchActions&&(this._configActions=this.initialBatchActions,ne(this,ln,JSON.stringify(this.initialBatchActions))))}render(){let t=this._tiles.length>0&&!this._error;return this._isLoading||t?this._displayMode==="inline"?j`
439
+ }`};var bS=new Set(["tag_name","$el_text"]);function xS(r){return bS.has(r)||r.startsWith("attr__")}function Em(r,e){return r.equals!==void 0?e===r.equals:r.contains!==void 0?typeof e=="string"&&e.includes(r.contains):!1}function wS(r){let{events:e,match:t}=r;return n=>{if(!e.includes(n.name))return!1;if(t){for(let[i,s]of Object.entries(t))if(xS(i)){let o=n.props?.elements;if(!o||!o.some(l=>Em(s,l[i])))return!1}else if(!Em(s,n.props?.[i]))return!1}return!0}}function Cm(r,e){for(let t of r.rules)for(let n of t.conditions)if(n.type==="event_count"&&n.key){let i=n.counter,s=i?wS(i):()=>!0,o=typeof n.withinMs=="number";e.register(n.key,s,o)}}function ri(r,e,t){for(let n of r){let i=n.props;if(!i)continue;let s=i.actions;if(s)for(let o of s)o.triggerWhen?.type==="rules"&&Cm(o.triggerWhen,e)}if(t)for(let n of t){let i=n;i.triggerWhen?.type==="rules"&&Cm(i.triggerWhen,e)}}var kS="syntro-runtime",Am="smart-canvas",Rm=r=>[...r].sort((e,t)=>(t.priority??0)-(e.priority??0));function Tm(r){let e=typeof window<"u"?window.SynOS?.interventionTracker:null;if(e)for(let t of r)e.trackTriggered(t.id,t.widget??"unknown")}var it,ii,Vt,ir,Pt,Sn,ks,Ss,En,Cn,An,Tr,Ir,$r,Rn,si,Es,Se,Im,$m,oi,hu,Mm,fu,gu,mu,Om,vu,ka,ni=class extends he{constructor(){super();ge(this,Se);this.fetcher=void 0;this.configUri=void 0;this.configUriFeatureKey=void 0;this.configFeatureKey=void 0;this.fetchCredentials="include";this.experiments=void 0;this.telemetry=void 0;this.runtime=void 0;this.launcherLabel=void 0;this.initialBatchHandle=null;this.initialBatchActions=void 0;this.workspaceTheme=void 0;this._tiles=[];this._configActions=[];this._isLoading=!0;this._error=void 0;this._theme=void 0;this._launcher=void 0;this._canvasTitle=void 0;this._displayMode="standard";this._isOpen=!1;this._pageUrl=typeof window<"u"?window.location.href:"/";ge(this,it);ge(this,ii,null);ge(this,Vt,null);ge(this,ir,null);ge(this,Pt,null);ge(this,Sn);ge(this,ks,0);ge(this,Ss,null);ge(this,En,"[]");ge(this,Cn,null);ge(this,An,null);ge(this,Tr,null);ge(this,Ir,null);ge(this,$r,null);ge(this,Rn,()=>{this._pageUrl=window.location.href});ge(this,si);ge(this,Es);ge(this,oi,0);ge(this,ka,t=>{U(this,it).toggle()});ne(this,it,_m()),ne(this,Sn,!1),ne(this,si,new ws(this)),ne(this,Es,new ei(this,{context:kS,initialValue:null}))}connectedCallback(){super.connectedCallback(),this.style.setProperty("font-family","inherit"),ne(this,ii,U(this,it).subscribe(t=>{this._isOpen=t.open})),this._isOpen=U(this,it).getState().open,ne(this,Vt,document.createElement("div")),U(this,Vt).id="overlayContainer",Object.assign(U(this,Vt).style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),this.shadowRoot.appendChild(U(this,Vt)),ne(this,ir,document.createElement("div")),U(this,ir).id="portalRoot",this.shadowRoot.appendChild(U(this,ir)),ye(this,Se,fu).call(this),ye(this,Se,vu).call(this),ye(this,Se,mu).call(this)}disconnectedCallback(){var t,n,i,s,o;super.disconnectedCallback(),(t=U(this,ii))==null||t.call(this),ne(this,ii,null),(n=U(this,An))==null||n.call(this),ne(this,An,null),(i=U(this,Tr))==null||i.call(this),ne(this,Tr,null),(s=U(this,Ir))==null||s.call(this),ne(this,Ir,null),(o=U(this,$r))==null||o.call(this),ne(this,$r,null),ye(this,Se,gu).call(this),U(this,Pt)&&(U(this,Pt).revertAll().catch(a=>{console.error("[SmartCanvasElementLit] Failed to revert actions on disconnect:",a)}),ne(this,Pt,null)),U(this,Vt)?.remove(),ne(this,Vt,null),U(this,ir)?.remove(),ne(this,ir,null)}updated(t){var i;t.has("runtime")&&(U(this,Es).setValue(this.runtime??null),ye(this,Se,Om).call(this),ye(this,Se,mu).call(this),ye(this,Se,vu).call(this),ye(this,Se,gu).call(this),ye(this,Se,fu).call(this));let n=t.has("runtime")||t.has("fetcher")||t.has("configUri")||t.has("configUriFeatureKey")||t.has("configFeatureKey")||t.has("fetchCredentials")||t.has("experiments");if(n&&(ye(this,Se,Im).call(this),(i=U(this,An))==null||i.call(this),this.experiments?.onFeaturesChanged&&ne(this,An,this.experiments.onFeaturesChanged(()=>this._loadConfig()))),(n||t.has("_pageUrl"))&&this._loadConfig(),(t.has("_theme")||t.has("workspaceTheme"))&&U(this,si).setThemeConfig(this._theme??{},this.workspaceTheme),(t.has("_configActions")||t.has("_pageUrl"))&&ye(this,Se,Mm).call(this),t.has("_tiles")||t.has("_isLoading")||t.has("_error")){let s=this._tiles.length>0&&!this._error;!this._isLoading&&!s&&U(this,it).getState().open&&U(this,it).setOpen(!1)}t.has("initialBatchHandle")&&this.initialBatchHandle&&(ne(this,Pt,this.initialBatchHandle),ne(this,Sn,!0),this.initialBatchActions&&(this._configActions=this.initialBatchActions,ne(this,En,JSON.stringify(this.initialBatchActions))))}render(){let t=this._tiles.length>0&&!this._error;return this._isLoading||t?this._displayMode==="inline"?j`
440
440
  <syntro-inline-shell
441
441
  .tiles=${this._tiles}
442
442
  ?isLoading=${this._isLoading}
@@ -453,11 +453,11 @@ ${n}
453
453
  .displayMode=${this._displayMode}
454
454
  .runtimeRef=${this.runtime??null}
455
455
  .telemetry=${this.telemetry??null}
456
- .themeConfig=${U(this,Yn).config}
456
+ .themeConfig=${U(this,si).config}
457
457
  ?launcherAnimate=${!!this._launcher?.animate}
458
- @canvas-toggle=${U(this,ma)}
458
+ @canvas-toggle=${U(this,ka)}
459
459
  ></syntro-canvas-overlay>
460
- `:J}open(){this._displayMode!=="inline"&&U(this,rt).setOpen(!0)}close(){this._displayMode!=="inline"&&U(this,rt).setOpen(!1)}toggle(){this._displayMode!=="inline"&&U(this,rt).toggle()}setOverrideFetcher(t){this.fetcher=t}getMountNode(){return this.renderRoot}getController(){return U(this,rt)}getPortalRoot(){return U(this,er)}getOverlayContainer(){return U(this,Dt)}getShadowRoot(){return this.shadowRoot}mountLitApp(t){t.fetcher!==void 0&&(this.fetcher=t.fetcher),t.configUri!==void 0&&(this.configUri=t.configUri),t.configUriFeatureKey!==void 0&&(this.configUriFeatureKey=t.configUriFeatureKey),t.configFeatureKey!==void 0&&(this.configFeatureKey=t.configFeatureKey),t.fetchCredentials!==void 0&&(this.fetchCredentials=t.fetchCredentials),t.experiments!==void 0&&(this.experiments=t.experiments),t.telemetry!==void 0&&(this.telemetry=t.telemetry),t.runtime!==void 0&&(this.runtime=t.runtime),t.launcherLabel!==void 0&&(this.launcherLabel=t.launcherLabel),t.initialBatchHandle!==void 0&&(this.initialBatchHandle=t.initialBatchHandle),t.initialBatchActions!==void 0&&(this.initialBatchActions=t.initialBatchActions),t.workspaceTheme!==void 0&&(this.workspaceTheme=t.workspaceTheme)}async _loadConfig(){if(!U(this,cn))return;let t=++zl(this,Xn)._;try{this._isLoading=!0,this._error=void 0;let n=await U(this,cn).call(this);if(t!==U(this,Xn))return;z("SmartCanvas Config","Raw config response",n),ne(this,ps,n);let i=n.tiles||[];if(i.length>0&&this.runtime?.accumulator&&Zn(i,this.runtime.accumulator,n.actions),this.runtime){if(i=await this.runtime.filterTiles(i),t!==U(this,Xn))return;this.experiments&&(i=i.filter(l=>this.experiments.shouldRenderRectangle(l)))}else this.experiments&&(i=i.filter(l=>this.experiments.shouldRenderRectangle(l)));pm(i),z("SmartCanvas Config",`Tile count after filtering: ${i.length}`);let s=n.actions||[],o=JSON.stringify(s),a=o!==U(this,ln);a&&ne(this,ln,o),this._tiles=dm(i),a&&(this._configActions=s),this._isLoading=!1,this._canvasTitle=n.canvasTitle,this._theme=n.theme,this._launcher=n.launcher,this._displayMode=n.displayMode??"standard"}catch(n){let i=n instanceof Error?n.message:"Unknown error";console.error("[SmartCanvas Config] Failed to fetch/filter config:",i,n),this._isLoading=!1,this._error=i}}};rt=new WeakMap,Kn=new WeakMap,Dt=new WeakMap,er=new WeakMap,Ot=new WeakMap,an=new WeakMap,ds=new WeakMap,ps=new WeakMap,ln=new WeakMap,cn=new WeakMap,un=new WeakMap,Sr=new WeakMap,Er=new WeakMap,Cr=new WeakMap,dn=new WeakMap,Yn=new WeakMap,hs=new WeakMap,Se=new WeakSet,hm=function(){if(this.fetcher)ne(this,cn,this.fetcher);else{let t=ye(this,Se,fm).call(this);ne(this,cn,qn(t))}},fm=function(){return{configUri:this.configUri,experiments:this.experiments,featureKey:this.configUriFeatureKey,configFeatureKey:this.configFeatureKey,credentials:this.fetchCredentials}},Xn=new WeakMap,Jc=async function(){let t=U(this,ps);if(!t||!this.runtime)return;let n=t.tiles||[];n=await this.runtime.filterTiles(n),this.experiments&&(n=n.filter(i=>this.experiments.shouldRenderRectangle(i))),pm(n),this._tiles=dm(n)},gm=async function(){if(!this.runtime?.actions||U(this,an)&&(ne(this,an,!1),JSON.stringify(this._configActions)===U(this,ln)))return;let t=++zl(this,ds)._,n=()=>t!==U(this,ds);if(U(this,Ot)){try{await U(this,Ot).revertAll()}catch(i){console.error("[SmartCanvasElementLit] Failed to revert actions:",i)}ne(this,Ot,null)}if(!n()&&this._configActions.length>0)try{let i=await this.runtime.actions.applyBatch(this._configActions);n()?await i.revertAll():ne(this,Ot,i)}catch(i){n()||console.error("[SmartCanvasElementLit] Failed to apply actions:",i)}},Qc=function(){this.runtime||typeof window>"u"||(window.addEventListener("popstate",U(this,dn)),window.addEventListener("hashchange",U(this,dn)))},eu=function(){typeof window>"u"||(window.removeEventListener("popstate",U(this,dn)),window.removeEventListener("hashchange",U(this,dn)))},tu=function(){this.runtime&&(this.runtime.accumulator&&ne(this,Sr,this.runtime.accumulator.subscribe(()=>{ye(this,Se,Jc).call(this)})),this.runtime.context&&ne(this,Er,this.runtime.context.subscribe(t=>{let n=t.page?.url;n&&n!==this._pageUrl&&(this._pageUrl=n),ye(this,Se,Jc).call(this)})))},mm=function(){var t,n;(t=U(this,Sr))==null||t.call(this),ne(this,Sr,null),(n=U(this,Er))==null||n.call(this),ne(this,Er,null)},ru=function(){var t;(t=U(this,Cr))==null||t.call(this),ne(this,Cr,null),this.runtime&&ne(this,Cr,this.runtime.events.subscribe({names:["canvas.requestOpen"]},()=>{this._displayMode!=="inline"&&U(this,rt).setOpen(!0)}))},ma=new WeakMap,Gn.shadowRootOptions={mode:"open",delegatesFocus:!0},Gn.styles=Yr`
460
+ `:J}open(){this._displayMode!=="inline"&&U(this,it).setOpen(!0)}close(){this._displayMode!=="inline"&&U(this,it).setOpen(!1)}toggle(){this._displayMode!=="inline"&&U(this,it).toggle()}setOverrideFetcher(t){this.fetcher=t}getMountNode(){return this.renderRoot}getController(){return U(this,it)}getPortalRoot(){return U(this,ir)}getOverlayContainer(){return U(this,Vt)}getShadowRoot(){return this.shadowRoot}mountLitApp(t){t.fetcher!==void 0&&(this.fetcher=t.fetcher),t.configUri!==void 0&&(this.configUri=t.configUri),t.configUriFeatureKey!==void 0&&(this.configUriFeatureKey=t.configUriFeatureKey),t.configFeatureKey!==void 0&&(this.configFeatureKey=t.configFeatureKey),t.fetchCredentials!==void 0&&(this.fetchCredentials=t.fetchCredentials),t.experiments!==void 0&&(this.experiments=t.experiments),t.telemetry!==void 0&&(this.telemetry=t.telemetry),t.runtime!==void 0&&(this.runtime=t.runtime),t.launcherLabel!==void 0&&(this.launcherLabel=t.launcherLabel),t.initialBatchHandle!==void 0&&(this.initialBatchHandle=t.initialBatchHandle),t.initialBatchActions!==void 0&&(this.initialBatchActions=t.initialBatchActions),t.workspaceTheme!==void 0&&(this.workspaceTheme=t.workspaceTheme)}async _loadConfig(){if(!U(this,Cn))return;let t=++ql(this,oi)._;try{this._isLoading=!0,this._error=void 0;let n=await U(this,Cn).call(this);if(t!==U(this,oi))return;z("SmartCanvas Config","Raw config response",n),ne(this,Ss,n);let i=n.tiles||[];if(i.length>0&&this.runtime?.accumulator&&ri(i,this.runtime.accumulator,n.actions),this.runtime){if(i=await this.runtime.filterTiles(i),t!==U(this,oi))return;this.experiments&&(i=i.filter(l=>this.experiments.shouldRenderRectangle(l)))}else this.experiments&&(i=i.filter(l=>this.experiments.shouldRenderRectangle(l)));Tm(i),z("SmartCanvas Config",`Tile count after filtering: ${i.length}`);let s=n.actions||[],o=JSON.stringify(s),a=o!==U(this,En);a&&ne(this,En,o),this._tiles=Rm(i),a&&(this._configActions=s),this._isLoading=!1,this._canvasTitle=n.canvasTitle,this._theme=n.theme,this._launcher=n.launcher,this._displayMode=n.displayMode??"standard"}catch(n){let i=n instanceof Error?n.message:"Unknown error";console.error("[SmartCanvas Config] Failed to fetch/filter config:",i,n),this._isLoading=!1,this._error=i}}};it=new WeakMap,ii=new WeakMap,Vt=new WeakMap,ir=new WeakMap,Pt=new WeakMap,Sn=new WeakMap,ks=new WeakMap,Ss=new WeakMap,En=new WeakMap,Cn=new WeakMap,An=new WeakMap,Tr=new WeakMap,Ir=new WeakMap,$r=new WeakMap,Rn=new WeakMap,si=new WeakMap,Es=new WeakMap,Se=new WeakSet,Im=function(){if(this.fetcher)ne(this,Cn,this.fetcher);else{let t=ye(this,Se,$m).call(this);ne(this,Cn,ti(t))}},$m=function(){return{configUri:this.configUri,experiments:this.experiments,featureKey:this.configUriFeatureKey,configFeatureKey:this.configFeatureKey,credentials:this.fetchCredentials}},oi=new WeakMap,hu=async function(){let t=U(this,Ss);if(!t||!this.runtime)return;let n=t.tiles||[];n=await this.runtime.filterTiles(n),this.experiments&&(n=n.filter(i=>this.experiments.shouldRenderRectangle(i))),Tm(n),this._tiles=Rm(n)},Mm=async function(){if(!this.runtime?.actions||U(this,Sn)&&(ne(this,Sn,!1),JSON.stringify(this._configActions)===U(this,En)))return;let t=++ql(this,ks)._,n=()=>t!==U(this,ks);if(U(this,Pt)){try{await U(this,Pt).revertAll()}catch(i){console.error("[SmartCanvasElementLit] Failed to revert actions:",i)}ne(this,Pt,null)}if(!n()&&this._configActions.length>0)try{let i=await this.runtime.actions.applyBatch(this._configActions);n()?await i.revertAll():ne(this,Pt,i)}catch(i){n()||console.error("[SmartCanvasElementLit] Failed to apply actions:",i)}},fu=function(){this.runtime||typeof window>"u"||(window.addEventListener("popstate",U(this,Rn)),window.addEventListener("hashchange",U(this,Rn)))},gu=function(){typeof window>"u"||(window.removeEventListener("popstate",U(this,Rn)),window.removeEventListener("hashchange",U(this,Rn)))},mu=function(){this.runtime&&(this.runtime.accumulator&&ne(this,Tr,this.runtime.accumulator.subscribe(()=>{ye(this,Se,hu).call(this)})),this.runtime.context&&ne(this,Ir,this.runtime.context.subscribe(t=>{let n=t.page?.url;n&&n!==this._pageUrl&&(this._pageUrl=n),ye(this,Se,hu).call(this)})))},Om=function(){var t,n;(t=U(this,Tr))==null||t.call(this),ne(this,Tr,null),(n=U(this,Ir))==null||n.call(this),ne(this,Ir,null)},vu=function(){var t;(t=U(this,$r))==null||t.call(this),ne(this,$r,null),this.runtime&&ne(this,$r,this.runtime.events.subscribe({names:["canvas.requestOpen"]},()=>{this._displayMode!=="inline"&&U(this,it).setOpen(!0)}))},ka=new WeakMap,ni.shadowRootOptions={mode:"open",delegatesFocus:!0},ni.styles=Yr`
461
461
  :host {
462
462
  font: inherit;
463
463
  color: inherit;
@@ -476,7 +476,7 @@ ${n}
476
476
  *::after {
477
477
  box-sizing: border-box;
478
478
  }
479
- `,Gn.properties={fetcher:{attribute:!1},configUri:{type:String},configUriFeatureKey:{type:String},configFeatureKey:{type:String},fetchCredentials:{type:String},experiments:{attribute:!1},telemetry:{attribute:!1},runtime:{attribute:!1},launcherLabel:{type:String},initialBatchHandle:{attribute:!1},initialBatchActions:{attribute:!1},workspaceTheme:{attribute:!1},_tiles:{state:!0},_configActions:{state:!0},_isLoading:{state:!0},_error:{state:!0},_theme:{state:!0},_launcher:{state:!0},_canvasTitle:{state:!0},_displayMode:{state:!0},_isOpen:{state:!0},_pageUrl:{state:!0}};var va=()=>{typeof window>"u"||customElements.get(um)||customElements.define(um,Gn)};var ya=class extends he{constructor(){super(...arguments);this.isOpen=!1;this.tiles=[];this.isLoading=!1;this.error=void 0;this.canvasTitle=void 0;this.displayMode="standard";this.runtimeRef=null;this.telemetry=null;this.themeConfig={canvas:{}};this._containerEl=null;this._resizeObserver=null;this._onDocumentMousedown=t=>{if(!this.isOpen)return;let n=t.composedPath();n.some(s=>s instanceof HTMLElement&&s.closest?.('[data-shadow-canvas-id="overlay-launcher"]')!=null)||this._containerEl&&!n.includes(this._containerEl)&&this.dispatchEvent(new CustomEvent("drawer-close",{bubbles:!0,composed:!0}))}}createRenderRoot(){return this}get _canvas(){return this.themeConfig?.canvas??{}}get _isRight(){return(this._canvas.position??"right")==="right"}get _isPush(){return this._canvas.layout==="push"}get _isFocused(){return this.displayMode==="focused"}get _canvasBorder(){return this._canvas.border??"none"}get _duration(){return this._canvas.transitionDuration??"300ms"}get _easing(){return this._canvas.transitionEasing??"cubic-bezier(0.16, 1, 0.3, 1)"}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this._onDocumentMousedown)}updated(t){if(this._containerEl=this.querySelector('[data-shadow-canvas-id="overlay-container"]')??null,this._isPush){let n=document.documentElement,i=this._isRight?"marginRight":"marginLeft";if(n.style.transition=`${i} ${this._duration} ${this._easing}`,this.isOpen){let s=this._containerEl?.offsetWidth??380;n.style[i]=`${s}px`}else n.style[i]="0px"}if((t.has("isOpen")||t.has("themeConfig"))&&(this._teardownResizeObserver(),this._isPush&&this.isOpen&&this._containerEl)){let n=this._isRight?"marginRight":"marginLeft";this._resizeObserver=new ResizeObserver(([i])=>{document.documentElement.style[n]=`${i.contentRect.width}px`}),this._resizeObserver.observe(this._containerEl)}}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this._onDocumentMousedown),this._teardownResizeObserver(),this._cleanupPushMargin()}_teardownResizeObserver(){this._resizeObserver?.disconnect(),this._resizeObserver=null}_cleanupPushMargin(){if(this._isPush){let t=document.documentElement,n=this._isRight?"marginRight":"marginLeft";t.style[n]="",t.style.transition=""}}render(){let t=this._isFocused,n=this._isRight,i=this._canvasBorder,s=this._duration,o=this._easing,a=2147483600,l=this._canvas.blur??"blur(24px)",c=t&&l!=="none"?`${l} saturate(1.2)`:l,u={};if(!t&&(!i||i==="none")){let m=this._canvas.transitionFade??"6%",g=n?`linear-gradient(to right, transparent, black ${m})`:`linear-gradient(to left, transparent, black ${m})`;u={maskImage:g,WebkitMaskImage:g}}let p={display:"flex",flexDirection:"column",width:t?"40vw":this._canvas.width??"380px",minWidth:"320px",height:"100%",maxHeight:"100%",pointerEvents:"auto",opacity:this.isOpen?"1":"0",transition:this.isOpen?`transform ${s} ${o}, opacity ${s} ease-out`:`transform ${s} ${o}, opacity ${s} ease-in`,color:"var(--sc-overlay-text-color)",background:"var(--sc-canvas-background)",backdropFilter:c,WebkitBackdropFilter:c,...u,border:i,borderRadius:"var(--sc-overlay-border-radius, 0)",boxShadow:"none",transform:this.isOpen?"translateX(0)":n?"translateX(120%)":"translateX(-120%)"},h={position:"absolute",inset:"0",display:"flex",flexDirection:n?"row-reverse":"row",alignItems:"stretch",pointerEvents:"none",padding:"0"},f={position:"fixed",inset:"0",pointerEvents:"none",zIndex:String(a)},v={flex:"1",overflowY:"auto",padding:t?"0":"1rem"};return j`
479
+ `,ni.properties={fetcher:{attribute:!1},configUri:{type:String},configUriFeatureKey:{type:String},configFeatureKey:{type:String},fetchCredentials:{type:String},experiments:{attribute:!1},telemetry:{attribute:!1},runtime:{attribute:!1},launcherLabel:{type:String},initialBatchHandle:{attribute:!1},initialBatchActions:{attribute:!1},workspaceTheme:{attribute:!1},_tiles:{state:!0},_configActions:{state:!0},_isLoading:{state:!0},_error:{state:!0},_theme:{state:!0},_launcher:{state:!0},_canvasTitle:{state:!0},_displayMode:{state:!0},_isOpen:{state:!0},_pageUrl:{state:!0}};var Sa=()=>{typeof window>"u"||customElements.get(Am)||customElements.define(Am,ni)};var Ea=class extends he{constructor(){super(...arguments);this.isOpen=!1;this.tiles=[];this.isLoading=!1;this.error=void 0;this.canvasTitle=void 0;this.displayMode="standard";this.runtimeRef=null;this.telemetry=null;this.themeConfig={canvas:{}};this._containerEl=null;this._resizeObserver=null;this._onDocumentMousedown=t=>{if(!this.isOpen)return;let n=t.composedPath();n.some(s=>s instanceof HTMLElement&&s.closest?.('[data-shadow-canvas-id="overlay-launcher"]')!=null)||this._containerEl&&!n.includes(this._containerEl)&&this.dispatchEvent(new CustomEvent("drawer-close",{bubbles:!0,composed:!0}))}}createRenderRoot(){return this}get _canvas(){return this.themeConfig?.canvas??{}}get _isRight(){return(this._canvas.position??"right")==="right"}get _isPush(){return this._canvas.layout==="push"}get _isFocused(){return this.displayMode==="focused"}get _canvasBorder(){return this._canvas.border??"none"}get _duration(){return this._canvas.transitionDuration??"300ms"}get _easing(){return this._canvas.transitionEasing??"cubic-bezier(0.16, 1, 0.3, 1)"}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this._onDocumentMousedown)}updated(t){if(this._containerEl=this.querySelector('[data-shadow-canvas-id="overlay-container"]')??null,this._isPush){let n=document.documentElement,i=this._isRight?"marginRight":"marginLeft";if(n.style.transition=`${i} ${this._duration} ${this._easing}`,this.isOpen){let s=this._containerEl?.offsetWidth??380;n.style[i]=`${s}px`}else n.style[i]="0px"}if((t.has("isOpen")||t.has("themeConfig"))&&(this._teardownResizeObserver(),this._isPush&&this.isOpen&&this._containerEl)){let n=this._isRight?"marginRight":"marginLeft";this._resizeObserver=new ResizeObserver(([i])=>{document.documentElement.style[n]=`${i.contentRect.width}px`}),this._resizeObserver.observe(this._containerEl)}}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this._onDocumentMousedown),this._teardownResizeObserver(),this._cleanupPushMargin()}_teardownResizeObserver(){this._resizeObserver?.disconnect(),this._resizeObserver=null}_cleanupPushMargin(){if(this._isPush){let t=document.documentElement,n=this._isRight?"marginRight":"marginLeft";t.style[n]="",t.style.transition=""}}render(){let t=this._isFocused,n=this._isRight,i=this._canvasBorder,s=this._duration,o=this._easing,a=2147483600,l=this._canvas.blur??"blur(24px)",c=t&&l!=="none"?`${l} saturate(1.2)`:l,u={};if(!t&&(!i||i==="none")){let m=this._canvas.transitionFade??"6%",g=n?`linear-gradient(to right, transparent, black ${m})`:`linear-gradient(to left, transparent, black ${m})`;u={maskImage:g,WebkitMaskImage:g}}let p={display:"flex",flexDirection:"column",width:t?"40vw":this._canvas.width??"380px",minWidth:"320px",height:"100%",maxHeight:"100%",pointerEvents:"auto",opacity:this.isOpen?"1":"0",transition:this.isOpen?`transform ${s} ${o}, opacity ${s} ease-out`:`transform ${s} ${o}, opacity ${s} ease-in`,color:"var(--sc-overlay-text-color)",background:"var(--sc-canvas-background)",backdropFilter:c,WebkitBackdropFilter:c,...u,border:i,borderRadius:"var(--sc-overlay-border-radius, 0)",boxShadow:"none",transform:this.isOpen?"translateX(0)":n?"translateX(120%)":"translateX(-120%)"},h={position:"absolute",inset:"0",display:"flex",flexDirection:n?"row-reverse":"row",alignItems:"stretch",pointerEvents:"none",padding:"0"},f={position:"fixed",inset:"0",pointerEvents:"none",zIndex:String(a)},v={flex:"1",overflowY:"auto",padding:t?"0":"1rem"};return j`
480
480
  <div data-shadow-canvas-id="overlay-root" style=${I(f)}>
481
481
  <div style=${I(h)}>
482
482
  <div data-shadow-canvas-id="overlay-container" style=${I(p)}>
@@ -507,7 +507,7 @@ ${n}
507
507
  <div style=${I({flex:"1 1 auto"})}></div>
508
508
  </div>
509
509
  </div>
510
- `}};ya.properties={isOpen:{type:Boolean},tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},canvasTitle:{type:String},displayMode:{type:String},runtimeRef:{attribute:!1},telemetry:{attribute:!1},themeConfig:{attribute:!1}};customElements.define("syntro-drawer",ya);var uk="#6a59ce",dk="#887ad8",pk="#ffffff",_a=class extends he{constructor(){super(...arguments);this.isOpen=!1;this.launcherAnimate=!1;this.notificationCount=0;this.position="right";this.launcherIcon=null;this.colorPrimary=uk;this.colorPrimaryHover=dk;this.launcherConfig={};this._launcherPos=null;this._hovered=!1;this._drag=null;this._styleEl=null;this._onPointerDown=t=>{let n=t.currentTarget,i=n.getBoundingClientRect();this._drag={startX:t.clientX,startY:t.clientY,startElX:i.left,startElY:i.top,dragged:!1},n.setPointerCapture(t.pointerId)};this._onPointerMove=t=>{let n=this._drag;if(!n)return;let i=t.clientX-n.startX,s=t.clientY-n.startY;(Math.abs(i)>5||Math.abs(s)>5)&&(n.dragged=!0),n.dragged&&(this._launcherPos={x:n.startElX+i,y:n.startElY+s})};this._onPointerUp=t=>{let n=this._drag;this._drag=null,n&&!n.dragged&&this.dispatchEvent(new CustomEvent("launcher-toggle",{bubbles:!0,composed:!0}))};this._onMouseEnter=t=>{this._drag?.dragged||(this._hovered=!0,t.currentTarget.style.backgroundColor=this.launcherConfig.backgroundHover??"var(--sc-launcher-background-hover)")};this._onMouseLeave=t=>{this._drag?.dragged||(this._hovered=!1,t.currentTarget.style.backgroundColor=this.launcherConfig.background??"var(--sc-launcher-background)")}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._ensureDynamicStyles()}updated(t){(t.has("colorPrimary")||t.has("colorPrimaryHover"))&&this._ensureDynamicStyles()}disconnectedCallback(){super.disconnectedCallback(),this._styleEl&&(this._styleEl.remove(),this._styleEl=null)}_ensureDynamicStyles(){let t=`
510
+ `}};Ea.properties={isOpen:{type:Boolean},tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},canvasTitle:{type:String},displayMode:{type:String},runtimeRef:{attribute:!1},telemetry:{attribute:!1},themeConfig:{attribute:!1}};customElements.define("syntro-drawer",Ea);var SS="#6a59ce",ES="#887ad8",CS="#ffffff",Ca=class extends he{constructor(){super(...arguments);this.isOpen=!1;this.launcherAnimate=!1;this.notificationCount=0;this.position="right";this.launcherIcon=null;this.colorPrimary=SS;this.colorPrimaryHover=ES;this.launcherConfig={};this._launcherPos=null;this._hovered=!1;this._drag=null;this._styleEl=null;this._onPointerDown=t=>{let n=t.currentTarget,i=n.getBoundingClientRect();this._drag={startX:t.clientX,startY:t.clientY,startElX:i.left,startElY:i.top,dragged:!1},n.setPointerCapture(t.pointerId)};this._onPointerMove=t=>{let n=this._drag;if(!n)return;let i=t.clientX-n.startX,s=t.clientY-n.startY;(Math.abs(i)>5||Math.abs(s)>5)&&(n.dragged=!0),n.dragged&&(this._launcherPos={x:n.startElX+i,y:n.startElY+s})};this._onPointerUp=t=>{let n=this._drag;this._drag=null,n&&!n.dragged&&this.dispatchEvent(new CustomEvent("launcher-toggle",{bubbles:!0,composed:!0}))};this._onMouseEnter=t=>{this._drag?.dragged||(this._hovered=!0,t.currentTarget.style.backgroundColor=this.launcherConfig.backgroundHover??"var(--sc-launcher-background-hover)")};this._onMouseLeave=t=>{this._drag?.dragged||(this._hovered=!1,t.currentTarget.style.backgroundColor=this.launcherConfig.background??"var(--sc-launcher-background)")}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._ensureDynamicStyles()}updated(t){(t.has("colorPrimary")||t.has("colorPrimaryHover"))&&this._ensureDynamicStyles()}disconnectedCallback(){super.disconnectedCallback(),this._styleEl&&(this._styleEl.remove(),this._styleEl=null)}_ensureDynamicStyles(){let t=`
511
511
  @keyframes syntro-launcher-pulse {
512
512
  0%, 100% {
513
513
  box-shadow: 0 20px 45px rgba(0,0,0,0.35), 0 0 0 0 ${this.colorPrimary}66;
@@ -602,10 +602,10 @@ ${n}
602
602
  <!-- Layer 3: Bouncing count badge -->
603
603
  <span
604
604
  class="syntro-badge-bounce"
605
- style=${I({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",borderRadius:"9999px",background:this.colorPrimaryHover,color:pk,fontSize:"11px",fontWeight:"700"})}
605
+ style=${I({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",borderRadius:"9999px",background:this.colorPrimaryHover,color:CS,fontSize:"11px",fontWeight:"700"})}
606
606
  >${n}</span>
607
607
  </div>
608
- `}};_a.properties={isOpen:{type:Boolean},launcherAnimate:{type:Boolean},notificationCount:{type:Number},position:{type:String},launcherIcon:{attribute:!1},colorPrimary:{type:String},colorPrimaryHover:{type:String},launcherConfig:{attribute:!1},_launcherPos:{state:!0},_hovered:{state:!0}};customElements.define("syntro-launcher",_a);var fs=class extends he{constructor(){super(...arguments);this.tiles=[];this.intervalMs=7e3;this.telemetry=null;this.runtimeRef=null;this._index=0;this._ordered=[];this._intervalId=null;this._canvasOpenedTracked=!1}connectedCallback(){super.connectedCallback(),this._syncOrdered(),this._trackCanvasOpened(),this._trackRectangleViewed(),this._startInterval()}disconnectedCallback(){super.disconnectedCallback(),this._stopInterval(),this._canvasOpenedTracked=!1}updated(t){let n=!1;t.has("tiles")&&(this._syncOrdered(),this._index=0,n=!0),t.has("intervalMs")&&(n=!0),n&&(this._stopInterval(),this._startInterval()),(t.has("_index")||t.has("tiles"))&&this._trackRectangleViewed(),t.has("telemetry")&&!this._canvasOpenedTracked&&this._trackCanvasOpened()}_syncOrdered(){this._ordered=[...this.tiles].sort((t,n)=>(t.priority??0)-(n.priority??0))}_trackCanvasOpened(){this._canvasOpenedTracked||this.telemetry&&(this.telemetry.trackCanvasOpened("wheel"),this._canvasOpenedTracked=!0)}_trackRectangleViewed(){let t=this._ordered[this._index];t&&this.telemetry?.trackRectangleViewed(t.id,"wheel")}_startInterval(){this._ordered.length<=1||(this._intervalId=setInterval(()=>{this._index=(this._index+1)%this._ordered.length},this.intervalMs))}_stopInterval(){this._intervalId!==null&&(clearInterval(this._intervalId),this._intervalId=null)}_goTo(t){this._stopInterval(),this._index=t,this._startInterval()}render(){if(!this._ordered.length)return J;let t=I({transform:`translateX(-${this._index*100}%)`,width:`${this._ordered.length*100}%`}),n=I({width:`${100/this._ordered.length}%`});return j`
608
+ `}};Ca.properties={isOpen:{type:Boolean},launcherAnimate:{type:Boolean},notificationCount:{type:Number},position:{type:String},launcherIcon:{attribute:!1},colorPrimary:{type:String},colorPrimaryHover:{type:String},launcherConfig:{attribute:!1},_launcherPos:{state:!0},_hovered:{state:!0}};customElements.define("syntro-launcher",Ca);var Cs=class extends he{constructor(){super(...arguments);this.tiles=[];this.intervalMs=7e3;this.telemetry=null;this.runtimeRef=null;this._index=0;this._ordered=[];this._intervalId=null;this._canvasOpenedTracked=!1}connectedCallback(){super.connectedCallback(),this._syncOrdered(),this._trackCanvasOpened(),this._trackRectangleViewed(),this._startInterval()}disconnectedCallback(){super.disconnectedCallback(),this._stopInterval(),this._canvasOpenedTracked=!1}updated(t){let n=!1;t.has("tiles")&&(this._syncOrdered(),this._index=0,n=!0),t.has("intervalMs")&&(n=!0),n&&(this._stopInterval(),this._startInterval()),(t.has("_index")||t.has("tiles"))&&this._trackRectangleViewed(),t.has("telemetry")&&!this._canvasOpenedTracked&&this._trackCanvasOpened()}_syncOrdered(){this._ordered=[...this.tiles].sort((t,n)=>(t.priority??0)-(n.priority??0))}_trackCanvasOpened(){this._canvasOpenedTracked||this.telemetry&&(this.telemetry.trackCanvasOpened("wheel"),this._canvasOpenedTracked=!0)}_trackRectangleViewed(){let t=this._ordered[this._index];t&&this.telemetry?.trackRectangleViewed(t.id,"wheel")}_startInterval(){this._ordered.length<=1||(this._intervalId=setInterval(()=>{this._index=(this._index+1)%this._ordered.length},this.intervalMs))}_stopInterval(){this._intervalId!==null&&(clearInterval(this._intervalId),this._intervalId=null)}_goTo(t){this._stopInterval(),this._index=t,this._startInterval()}render(){if(!this._ordered.length)return J;let t=I({transform:`translateX(-${this._index*100}%)`,width:`${this._ordered.length*100}%`}),n=I({width:`${100/this._ordered.length}%`});return j`
609
609
  <div class="wheel-root" data-shadow-canvas-id="wheel">
610
610
  <div class="slide-track" style=${t}>
611
611
  ${this._ordered.map(i=>j`
@@ -633,7 +633,7 @@ ${n}
633
633
  `)}
634
634
  </div>
635
635
  </div>
636
- `}};fs.styles=Yr`
636
+ `}};Cs.styles=Yr`
637
637
  :host {
638
638
  display: block;
639
639
  }
@@ -673,23 +673,23 @@ ${n}
673
673
  cursor: pointer;
674
674
  padding: 0;
675
675
  }
676
- `,fs.properties={tiles:{type:Array},intervalMs:{type:Number},telemetry:{type:Object},runtimeRef:{type:Object},_index:{type:Number,state:!0}};customElements.define("syntro-tile-wheel",fs);var hk={"\u2753":'<circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/>',"\u{1F9ED}":'<circle cx="12" cy="12" r="10"/><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"/>',"\u{1F4DD}":'<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><line x1="10" y1="9" x2="8" y2="9"/>',"\u{1F3AF}":'<path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/>',"\u{1F3C6}":'<path d="M6 9H4.5a2.5 2.5 0 0 1 0-5H6"/><path d="M18 9h1.5a2.5 2.5 0 0 0 0-5H18"/><path d="M4 22h16"/><path d="M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"/><path d="M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"/><path d="M18 2H6v7a6 6 0 0 0 12 0V2z"/>',"\u2728":'<path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z"/><path d="M5 3v4"/><path d="M19 17v4"/><path d="M3 5h4"/><path d="M17 19h4"/>',"\u{1F4AC}":'<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/>',"\u{1F3AE}":'<line x1="6" y1="12" x2="10" y2="12"/><line x1="8" y1="10" x2="8" y2="14"/><line x1="15" y1="13" x2="15.01" y2="13"/><line x1="18" y1="11" x2="18.01" y2="11"/><rect width="20" height="12" x="2" y="6" rx="2"/>',"\u{1F4A1}":'<path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/><path d="M9 18h6"/><path d="M10 22h4"/>',"\u{1F4B0}":'<line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/>',"\u{1F4CB}":'<rect width="8" height="4" x="8" y="2" rx="1" ry="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><path d="M12 11h4"/><path d="M12 16h4"/><path d="M8 11h.01"/><path d="M8 16h.01"/>',"\u2705":'<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/>',"\u26A0\uFE0F":'<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4"/><path d="M12 17h.01"/>',"\u{1F4B5}":'<line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/>',"\u{1F3DB}\uFE0F":'<line x1="3" y1="22" x2="21" y2="22"/><line x1="6" y1="18" x2="6" y2="11"/><line x1="10" y1="18" x2="10" y2="11"/><line x1="14" y1="18" x2="14" y2="11"/><line x1="18" y1="18" x2="18" y2="11"/><polygon points="12 2 20 7 4 7"/>',"\u23ED\uFE0F":'<polygon points="5 4 15 12 5 20 5 4"/><line x1="19" y1="5" x2="19" y2="19"/>',"\u27A1\uFE0F":'<line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/>',"\u23F1\uFE0F":'<path d="M10 2h4"/><path d="M12 14v-4"/><path d="M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6"/><path d="M9 17H4v5"/>',"\u{1F4D6}":'<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>',"\u{1F514}":'<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>'};function fk(r,e){let t=hk[r];return t?`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${e}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${t}</svg>`:`<span style="line-height:1;">${r}</span>`}var gt,vm,ym,_m,bm,xm,gs=class extends he{constructor(){super(...arguments);ge(this,gt);this.notifications=[];this.position="right"}render(){if(this.notifications.length===0)return j``;let t=I({position:"fixed",bottom:"6rem",[this.position==="right"?"right":"left"]:"2.5rem",display:"flex",flexDirection:"column",gap:"8px",zIndex:"2147483648",pointerEvents:"auto",width:"280px"});return j`
676
+ `,Cs.properties={tiles:{type:Array},intervalMs:{type:Number},telemetry:{type:Object},runtimeRef:{type:Object},_index:{type:Number,state:!0}};customElements.define("syntro-tile-wheel",Cs);function AS(r,e){let t=nn(r,{size:e});return t||`<span style="line-height:1;">${r}</span>`}var yt,Pm,Nm,Lm,Fm,Dm,As=class extends he{constructor(){super(...arguments);ge(this,yt);this.notifications=[];this.position="right"}render(){if(this.notifications.length===0)return j``;let t=I({position:"fixed",bottom:"6rem",[this.position==="right"?"right":"left"]:"2.5rem",display:"flex",flexDirection:"column",gap:"8px",zIndex:"2147483648",pointerEvents:"auto",width:"280px"});return j`
677
677
  <div
678
678
  data-testid="notification-toast-stack"
679
679
  style=${t}
680
680
  >
681
- ${this.notifications.map(n=>ye(this,gt,xm).call(this,n))}
681
+ ${this.notifications.map(n=>ye(this,yt,Dm).call(this,n))}
682
682
  </div>
683
- `}};gt=new WeakSet,vm=function(t,n){n.stopPropagation(),this.dispatchEvent(new CustomEvent("notification-dismiss",{detail:{id:t},bubbles:!0,composed:!0}))},ym=function(t){this.dispatchEvent(new CustomEvent("notification-click",{detail:{notification:t},bubbles:!0,composed:!0}))},_m=function(t){let n=t.currentTarget;n.style.transform="translateY(-1px)";let i=n.querySelector(".syntro-toast-progress");i&&i.classList.add("paused")},bm=function(t){let n=t.currentTarget;n.style.transform="translateY(0)";let i=n.querySelector(".syntro-toast-progress");i&&i.classList.remove("paused")},xm=function(t){let n=I({background:"var(--sc-notification-background)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",border:"var(--sc-notification-border)",borderRadius:"var(--sc-notification-border-radius)",overflow:"hidden",cursor:"pointer",transition:"transform 0.15s ease"}),i=I({display:"flex",alignItems:"flex-start",gap:"10px",padding:"10px 12px"}),s=I({width:"28px",height:"28px",borderRadius:"8px",background:"var(--sc-notification-icon-background)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0",fontSize:"14px",color:"var(--sc-notification-text-color)"}),o=I({flex:"1",minWidth:"0"}),a=I({fontSize:"13px",fontWeight:"600",color:"var(--sc-notification-text-color)",lineHeight:"1.3",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),l=I({fontSize:"12px",color:"var(--sc-notification-text-secondary-color)",lineHeight:"1.3",marginTop:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),c=I({background:"none",border:"none",color:"var(--sc-notification-text-secondary-color)",cursor:"pointer",padding:"2px",fontSize:"14px",lineHeight:"1",flexShrink:"0"}),u=I({height:"2px",background:"rgba(0, 0, 0, 0.08)"}),p=I({height:"100%",background:"var(--sc-notification-progress-gradient)",animationDuration:`${t.ttl}ms`}),h=fk(t.icon??"\u{1F514}",14);return j`
683
+ `}};yt=new WeakSet,Pm=function(t,n){n.stopPropagation(),this.dispatchEvent(new CustomEvent("notification-dismiss",{detail:{id:t},bubbles:!0,composed:!0}))},Nm=function(t){this.dispatchEvent(new CustomEvent("notification-click",{detail:{notification:t},bubbles:!0,composed:!0}))},Lm=function(t){let n=t.currentTarget;n.style.transform="translateY(-1px)";let i=n.querySelector(".syntro-toast-progress");i&&i.classList.add("paused")},Fm=function(t){let n=t.currentTarget;n.style.transform="translateY(0)";let i=n.querySelector(".syntro-toast-progress");i&&i.classList.remove("paused")},Dm=function(t){let n=I({background:"var(--sc-notification-background)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",border:"var(--sc-notification-border)",borderRadius:"var(--sc-notification-border-radius)",overflow:"hidden",cursor:"pointer",transition:"transform 0.15s ease"}),i=I({display:"flex",alignItems:"flex-start",gap:"10px",padding:"10px 12px"}),s=I({width:"28px",height:"28px",borderRadius:"8px",background:"var(--sc-notification-icon-background)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:"0",fontSize:"14px",color:"var(--sc-notification-text-color)"}),o=I({flex:"1",minWidth:"0"}),a=I({fontSize:"13px",fontWeight:"600",color:"var(--sc-notification-text-color)",lineHeight:"1.3",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),l=I({fontSize:"12px",color:"var(--sc-notification-text-secondary-color)",lineHeight:"1.3",marginTop:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}),c=I({background:"none",border:"none",color:"var(--sc-notification-text-secondary-color)",cursor:"pointer",padding:"2px",fontSize:"14px",lineHeight:"1",flexShrink:"0"}),u=I({height:"2px",background:"rgba(0, 0, 0, 0.08)"}),p=I({height:"100%",background:"var(--sc-notification-progress-gradient)",animationDuration:`${t.ttl}ms`}),h=AS(t.icon??"\u{1F514}",14);return j`
684
684
  <div
685
685
  class="syntro-toast-enter"
686
686
  style=${n}
687
- @mouseenter=${ye(this,gt,_m)}
688
- @mouseleave=${ye(this,gt,bm)}
687
+ @mouseenter=${ye(this,yt,Lm)}
688
+ @mouseleave=${ye(this,yt,Fm)}
689
689
  >
690
690
  <div
691
691
  style=${i}
692
- @click=${()=>ye(this,gt,ym).call(this,t)}
692
+ @click=${()=>ye(this,yt,Nm).call(this,t)}
693
693
  >
694
694
  <div
695
695
  style=${s}
@@ -705,7 +705,7 @@ ${n}
705
705
  type="button"
706
706
  aria-label="Dismiss notification"
707
707
  style=${c}
708
- @click=${f=>ye(this,gt,vm).call(this,t.id,f)}
708
+ @click=${f=>ye(this,yt,Pm).call(this,t.id,f)}
709
709
  >&#215;</button>
710
710
  </div>
711
711
 
@@ -716,7 +716,7 @@ ${n}
716
716
  ></div>
717
717
  </div>
718
718
  </div>
719
- `},gs.properties={notifications:{attribute:!1},position:{type:String}},gs.styles=Yr`
719
+ `},As.properties={notifications:{attribute:!1},position:{type:String}},As.styles=Yr`
720
720
  @keyframes syntro-toast-slide-in {
721
721
  from { opacity: 0; transform: translateY(12px); }
722
722
  to { opacity: 1; transform: translateY(0); }
@@ -734,15 +734,15 @@ ${n}
734
734
  .syntro-toast-progress.paused {
735
735
  animation-play-state: paused;
736
736
  }
737
- `;customElements.define("syntro-toast-stack",gs);var nu=async(r,e)=>{let t=[];if(e.applyAction)for(let n of r.actions){let i=await e.applyAction(n);t.push(i)}return{cleanup:async()=>{for(let n=t.length-1;n>=0;n--)try{await t[n].revert()}catch{}}}},iu=async(r,e)=>{let t=[];if(e.applyAction){let n=r.actions.map(i=>e.applyAction(i));if(r.waitFor==="any"){let i=await Promise.race(n);t.push(i);let s=await Promise.allSettled(n);for(let o of s)o.status==="fulfilled"&&o.value!==i&&t.push(o.value)}else{let i=await Promise.all(n);t.push(...i)}}return{cleanup:async()=>{for(let n of t)try{await n.revert()}catch{}}}},su=async(r,e)=>{let t,n,i=!1,s={cleanup:()=>{i=!0,n&&clearTimeout(n),t&&t()}};return r.event&&e.subscribeEvent?await new Promise(o=>{t=e.subscribeEvent(r.event,()=>{i||o()}),r.durationMs!==void 0&&(n=setTimeout(()=>{i||o()},r.durationMs))}):r.durationMs!==void 0&&await new Promise(o=>{n=setTimeout(()=>{i||o()},r.durationMs)}),s};var ba=class{constructor(){this.executors=new Map;for(let{kind:e,executor:t}of Zl)this.registerCore(e,t);for(let{kind:e,executor:t}of mc)this.registerCore(e,t);this.registerCore("core:mountWidget",async()=>{throw new Error("core:mountWidget must be handled by ActionEngine")}),this.registerCore("core:sequence",nu),this.registerCore("core:parallel",iu),this.registerCore("core:wait",su)}registerCore(e,t,n){this.executors.set(e,{kind:e,executor:t,schema:n,source:"core",isBuiltIn:!0})}register(e,t,n,i="custom",s=!1){if(this.executors.has(e)){if(this.executors.get(e).isBuiltIn)return;console.warn(`[ExecutorRegistry] Overriding executor for kind: ${e} (source: ${i})`)}console.log(`[ExecutorRegistry] Registered executor: ${e} (source: ${i})`),this.executors.set(e,{kind:e,executor:t,schema:n,source:i,isBuiltIn:s})}unregister(e){let t=this.executors.get(e);return t?t.isBuiltIn?(console.warn(`[ExecutorRegistry] Cannot unregister built-in executor: ${e}`),!1):(this.executors.delete(e),!0):!1}unregisterBySource(e){for(let[t,n]of this.executors.entries())n.source===e&&this.executors.delete(t)}get(e){return this.executors.get(e)?.executor}getRegistration(e){return this.executors.get(e)}has(e){return this.executors.has(e)}validate(e){let t=[];if(!e||typeof e!="object")return t.push({code:"INVALID_ACTION",message:"Action must be an object"}),{valid:!1,errors:t,warnings:[]};let{kind:n}=e;if(!n||typeof n!="string")return t.push({code:"MISSING_KIND",message:"Action must have a 'kind' property"}),{valid:!1,errors:t,warnings:[]};let i=this.executors.get(n);if(!i)return t.push({code:"UNKNOWN_KIND",message:`Unknown action kind: ${n}`,field:"kind"}),{valid:!1,errors:t,warnings:[]};if(i.schema){let s=i.schema.safeParse(e);if(!s.success){for(let o of s.error.issues)t.push({code:"SCHEMA_VALIDATION_ERROR",message:o.message,field:o.path.join(".")});return{valid:!1,errors:t,warnings:[]}}}return{valid:!0,errors:[],warnings:[]}}list(){return Array.from(this.executors.keys())}listRegistrations(){return Array.from(this.executors.values())}getBuiltInKinds(){return Array.from(this.executors.entries()).filter(([,e])=>e.isBuiltIn).map(([e])=>e)}getCustomKinds(){return Array.from(this.executors.entries()).filter(([,e])=>!e.isBuiltIn).map(([e])=>e)}},tr=new ba;function gk(r){return tr.get(r)}function ou(r){return tr.has(r)}function au(r,e,t){!r.content||typeof r.content!="string"?e.push({code:"MISSING_CONTENT",message:"Badge action requires 'content' property",field:"content"}):r.content.length>100&&t.push({code:"LONG_BADGE_CONTENT",message:"Badge content is quite long",suggestion:"Keep badge content short (under 100 characters)"})}function lu(r,e,t){if(!r.content||typeof r.content!="object"){e.push({code:"MISSING_CONTENT",message:"Tooltip action requires 'content' object",field:"content"});return}(!r.content.body||typeof r.content.body!="string")&&e.push({code:"MISSING_BODY",message:"Tooltip content requires 'body' property",field:"content.body"})}function cu(r,e,t){!r.html||typeof r.html!="string"?e.push({code:"MISSING_HTML",message:"insertHtml action requires 'html' property",field:"html"}):r.html.length>xa&&e.push({code:"HTML_TOO_LONG",message:`HTML content exceeds maximum length of ${xa}`,field:"html"});let n=["before","after","prepend","append","replace"];(!r.position||!n.includes(r.position))&&e.push({code:"INVALID_POSITION",message:`Position must be one of: ${n.join(", ")}`,field:"position"})}function uu(r,e,t){(r.text===void 0||r.text===null)&&e.push({code:"MISSING_TEXT",message:"setText action requires 'text' property",field:"text"})}function du(r,e,t){!r.attr||typeof r.attr!="string"?e.push({code:"MISSING_ATTR",message:"setAttr action requires 'attr' property",field:"attr"}):(xu.has(r.attr.toLowerCase())||r.attr.toLowerCase().startsWith("on"))&&e.push({code:"DANGEROUS_ATTR",message:`Event handler attributes are not allowed: ${r.attr}`,field:"attr"}),(r.value===void 0||r.value===null)&&e.push({code:"MISSING_VALUE",message:"setAttr action requires 'value' property",field:"value"})}function pu(r,e,t){!r.className||typeof r.className!="string"?e.push({code:"MISSING_CLASS_NAME",message:"Class action requires 'className' property",field:"className"}):/^[a-zA-Z_-][a-zA-Z0-9_-]*$/.test(r.className)||t.push({code:"INVALID_CLASS_NAME",message:"Class name contains unusual characters",suggestion:"Use alphanumeric characters, hyphens, and underscores"})}function hu(r,e,t){if(!r.styles||typeof r.styles!="object")e.push({code:"MISSING_STYLES",message:"setStyle action requires 'styles' object",field:"styles"});else{let n=Object.keys(r.styles).length;n>wa&&e.push({code:"TOO_MANY_STYLES",message:`Too many styles (${n}). Maximum is ${wa}`,field:"styles"});for(let[i,s]of Object.entries(r.styles))typeof s=="string"&&s.includes("expression(")&&e.push({code:"DANGEROUS_STYLE",message:`Style expressions are not allowed: ${i}`,field:`styles.${i}`})}}function fu(r,e,t){(!r.slot||typeof r.slot!="string")&&e.push({code:"MISSING_SLOT",message:"mountWidget action requires 'slot' property",field:"slot"}),!r.widget||typeof r.widget!="object"?e.push({code:"MISSING_WIDGET",message:"mountWidget action requires 'widget' object",field:"widget"}):(!r.widget.widgetId||typeof r.widget.widgetId!="string")&&e.push({code:"MISSING_WIDGET_ID",message:"Widget must have a 'widgetId' property",field:"widget.widgetId"})}function gu(r,e,t){r.durationMs===void 0&&!r.event&&e.push({code:"MISSING_WAIT_CONFIG",message:"wait action requires either 'durationMs' or 'event' property"}),r.durationMs!==void 0&&r.durationMs<0&&e.push({code:"INVALID_DURATION",message:"durationMs must be a positive number",field:"durationMs"}),r.event!==void 0&&typeof r.event!="string"&&e.push({code:"INVALID_EVENT",message:"event must be a string",field:"event"})}function mu(r,e,t){if(!r.actions||!Array.isArray(r.actions)){e.push({code:"MISSING_ACTIONS",message:"sequence action requires 'actions' array",field:"actions"});return}r.actions.length===0&&t.push({code:"EMPTY_SEQUENCE",message:"sequence has no actions",suggestion:"Add at least one action to the sequence"});for(let n=0;n<r.actions.length;n++){let i=Ht(r.actions[n]);for(let s of i.errors)e.push({...s,field:`actions[${n}]${s.field?`.${s.field}`:""}`});for(let s of i.warnings)t.push(s)}}function vu(r,e,t){if(!r.actions||!Array.isArray(r.actions)){e.push({code:"MISSING_ACTIONS",message:"parallel action requires 'actions' array",field:"actions"});return}r.actions.length===0&&t.push({code:"EMPTY_PARALLEL",message:"parallel has no actions",suggestion:"Add at least one action to the parallel group"}),r.waitFor&&!["all","any"].includes(r.waitFor)&&e.push({code:"INVALID_WAIT_FOR",message:"waitFor must be 'all' or 'any'",field:"waitFor"});for(let n=0;n<r.actions.length;n++){let i=Ht(r.actions[n]);for(let s of i.errors)e.push({...s,field:`actions[${n}]${s.field?`.${s.field}`:""}`});for(let s of i.warnings)t.push(s)}}function yu(r,e,t){if(!r.url||typeof r.url!="string")e.push({code:"MISSING_URL",message:"navigate action requires 'url' property",field:"url"});else{let n=r.url.trim().toLowerCase();n.startsWith("javascript:")&&e.push({code:"DANGEROUS_URL",message:"javascript: URLs are not allowed",field:"url"}),n.startsWith("data:")&&t.push({code:"DATA_URL",message:"data: URLs may have limited support",suggestion:"Consider using a regular URL instead"})}}function _u(r,e,t){if(!r.content||typeof r.content!="object"){e.push({code:"MISSING_CONTENT",message:"Modal action requires 'content' object",field:"content"});return}if((!r.content.body||typeof r.content.body!="string")&&e.push({code:"MISSING_BODY",message:"Modal content requires 'body' property",field:"content.body"}),r.size&&!["sm","md","lg"].includes(r.size)&&e.push({code:"INVALID_SIZE",message:"Modal size must be 'sm', 'md', or 'lg'",field:"size"}),r.ctaButtons)if(!Array.isArray(r.ctaButtons))e.push({code:"INVALID_CTA_BUTTONS",message:"ctaButtons must be an array",field:"ctaButtons"});else for(let n=0;n<r.ctaButtons.length;n++){let i=r.ctaButtons[n];(!i.label||typeof i.label!="string")&&e.push({code:"MISSING_BUTTON_LABEL",message:`CTA button at index ${n} requires 'label' property`,field:`ctaButtons[${n}].label`}),(!i.actionId||typeof i.actionId!="string")&&e.push({code:"MISSING_BUTTON_ACTION_ID",message:`CTA button at index ${n} requires 'actionId' property`,field:`ctaButtons[${n}].actionId`})}}function bu(r,e,t){if((!r.tourId||typeof r.tourId!="string")&&e.push({code:"MISSING_TOUR_ID",message:"Tour action requires 'tourId' property",field:"tourId"}),!r.steps||!Array.isArray(r.steps)){e.push({code:"MISSING_STEPS",message:"Tour action requires 'steps' array",field:"steps"});return}r.steps.length===0&&e.push({code:"EMPTY_STEPS",message:"Tour must have at least one step",field:"steps"});let n=new Set;for(let i=0;i<r.steps.length;i++){let s=r.steps[i];if(!s.id||typeof s.id!="string"?e.push({code:"MISSING_STEP_ID",message:`Step at index ${i} requires 'id' property`,field:`steps[${i}].id`}):(n.has(s.id)&&e.push({code:"DUPLICATE_STEP_ID",message:`Duplicate step ID: ${s.id}`,field:`steps[${i}].id`}),n.add(s.id)),!s.action)e.push({code:"MISSING_STEP_ACTION",message:`Step at index ${i} requires 'action' property`,field:`steps[${i}].action`});else{let o=Ht(s.action);for(let a of o.errors)e.push({...a,field:`steps[${i}].action${a.field?`.${a.field}`:""}`});for(let a of o.warnings)t.push(a)}if(s.onAction)for(let[o,a]of Object.entries(s.onAction))a!=="end"&&!r.steps.some(l=>l.id===a)&&t.push({code:"UNKNOWN_TARGET_STEP",message:`Step "${s.id}" references unknown target step: ${a}`,suggestion:`Make sure step "${a}" exists in the tour`})}}var xu=new Set(["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit","onkeydown","onkeyup","onkeypress"]),xa=5e4,wa=50;function Ht(r){let e=[],t=[];if(!r||typeof r!="object")return e.push({code:"INVALID_ACTION",message:"Action must be an object"}),{valid:!1,errors:e,warnings:t};let{kind:n}=r;if(!n||typeof n!="string")return e.push({code:"MISSING_KIND",message:"Action must have a 'kind' property"}),{valid:!1,errors:e,warnings:t};if(!ou(n)&&n!=="core:mountWidget"){let i=tr.list();return console.error(`[ActionValidation] Unknown action kind: "${n}". Registered kinds (${i.length}): [${i.join(", ")}]. This usually means the app that provides "${n}" hasn't been activated yet, or the executor was never registered in ExecutorRegistry.`),e.push({code:"UNKNOWN_KIND",message:`Unknown action kind: ${n}`,field:"kind"}),{valid:!1,errors:e,warnings:t}}switch(n){case"overlays:highlight":case"overlays:pulse":case"navigation:scrollTo":rr(r,e,t);break;case"overlays:badge":rr(r,e,t),au(r,e,t);break;case"overlays:tooltip":rr(r,e,t),lu(r,e,t);break;case"overlays:modal":_u(r,e,t);break;case"content:insertHtml":rr(r,e,t),cu(r,e,t);break;case"content:setText":rr(r,e,t),uu(r,e,t);break;case"content:setAttr":rr(r,e,t),du(r,e,t);break;case"content:addClass":case"content:removeClass":rr(r,e,t),pu(r,e,t);break;case"content:setStyle":rr(r,e,t),hu(r,e,t);break;case"core:mountWidget":fu(r,e,t);break;case"core:wait":gu(r,e,t);break;case"core:sequence":mu(r,e,t);break;case"core:parallel":vu(r,e,t);break;case"overlays:tour":bu(r,e,t);break;case"navigation:navigate":yu(r,e,t);break}return{valid:e.length===0,errors:e,warnings:t}}function rr(r,e,t){let n=r.anchorId;if(!n||typeof n!="object"){e.push({code:"MISSING_ANCHOR_ID",message:"Action requires an 'anchorId' object with a 'selector' string",field:"anchorId"});return}if(!n.selector||typeof n.selector!="string"?e.push({code:"MISSING_ANCHOR_SELECTOR",message:"anchorId requires a 'selector' string",field:"anchorId.selector"}):n.selector.length>200&&t.push({code:"LONG_ANCHOR_ID",message:"Anchor selector is unusually long",suggestion:"Consider using a shorter, more descriptive selector"}),n.route===void 0||n.route===null)e.push({code:"MISSING_ANCHOR_ROUTE",message:`anchorId requires a 'route' (string or array of strings). Use "**" for all routes.`,field:"anchorId.route"});else{let i=Array.isArray(n.route)?n.route:[n.route];for(let s of i)if(typeof s!="string"){e.push({code:"INVALID_ANCHOR_ROUTE",message:"anchorId.route must be a string or array of strings",field:"anchorId.route"});break}}}function ka(r){let e=[],t=[];if(!Array.isArray(r))return console.error("[ActionValidation] validateActions called with non-array:",typeof r),e.push({code:"INVALID_ACTIONS",message:"Actions must be an array"}),{valid:!1,errors:e,warnings:t};for(let n=0;n<r.length;n++){let i=Ht(r[n]);if(!i.valid){let s=r[n];console.error(`[ActionValidation] Action [${n}] failed validation:`,`kind="${s?.kind??"undefined"}"`,i.errors.map(o=>`${o.code}: ${o.message}`).join("; "),s)}for(let s of i.errors)e.push({...s,field:s.field?`[${n}].${s.field}`:`[${n}]`});for(let s of i.warnings)t.push({...s,suggestion:s.suggestion?`Action ${n}: ${s.suggestion}`:void 0})}return e.length>0&&console.error(`[ActionValidation] Batch validation failed: ${e.length} error(s) in ${r.length} action(s).`,e.map(n=>`${n.field??"?"}: ${n.message}`).join(" | ")),{valid:e.length===0,errors:e,warnings:t}}var mk=0;function wu(r){let{overlayRoot:e,eventBus:t,surfaces:n,anchorResolver:i,waitForAnchor:s,adaptiveId:o,executorRegistry:a=tr,subscribeNavigation:l,runtime:c}=r,u=new Map,p=new Map;function h(){return`action-${++mk}`}function f(b,A){t&&t.publish(b,A)}function v(){return{overlayRoot:e,resolveAnchor:i,waitForAnchor:s,generateId:h,publishEvent:f,adaptiveId:o,applyAction:x,subscribeEvent:t?(b,A)=>t.subscribe({names:[b]},$=>A($.props)):void 0,subscribeNavigation:l}}async function m(b,A){if(!n)throw new Error("Surfaces provider required for core:mountWidget actions");let $=n.mount(b.slot,{type:"widget",widgetId:b.widget.widgetId,config:b.widget.props},{priority:b.widget.priority});return A.publishEvent("action.applied",{id:A.generateId(),kind:"core:mountWidget",slot:b.slot,widgetId:b.widget.widgetId}),{cleanup:()=>{$.unmount()},updateFn:N=>{if("widget"in N&&N.widget){let M=N.widget;M.props&&$.update({type:"widget",widgetId:b.widget.widgetId,config:M.props})}}}}async function g(b,A){if(b.kind==="core:mountWidget")return m(b,A);let $=a.get(b.kind);if(!$){let N="list"in a?a.list():"(list unavailable)";throw console.error(`[ActionEngine] No executor for kind="${b.kind}".`,`Registered: [${N}]`),new Error(`No executor for action kind: ${b.kind}`)}return $(b,A)}function y(b,A,$,N){if(!c)return;let M=[],K=!1,L=async()=>{if(K)return;let O=u.get(b);if(O){K=!0;try{let Y=c.evaluateSync($).value;if(O.state==="applied"&&!Y){try{await O.cleanup()}catch(se){console.error(`[ActionEngine] Error reverting conditional action ${b}:`,se)}O.state="deferred",O.cleanup=()=>{},O.updateFn=void 0,f("action.deferred",{id:b,kind:A.kind})}else if(O.state==="deferred"&&Y)try{let se=v(),C=await g(A,se);O.state="applied",O.cleanup=C.cleanup,O.updateFn=C.updateFn,O.appliedTs=Date.now()}catch(se){console.error(`[ActionEngine] Error applying deferred action ${b}:`,se),O.state="failed"}}finally{K=!1}}};c.context&&M.push(c.context.subscribe(L)),c.accumulator&&M.push(c.accumulator.subscribe(L)),c.sessionMetrics&&M.push(c.sessionMetrics.subscribe(L)),c.events&&M.push(c.events.subscribe(L)),p.set(b,M)}async function x(b){let A=Ht(b);if(!A.valid){let q=A.errors.map(Y=>Y.message).join("; ");throw console.error(`[ActionEngine] Validation failed for action kind="${b?.kind}":`,q,b),new Error(`Action validation failed: ${q}`)}let $=h(),N=b.triggerWhen;if(N&&c&&!c.evaluateSync(N).value){let Y={id:$,action:b,adaptiveId:o,appliedTs:Date.now(),state:"deferred",cleanup:()=>{}};u.set($,Y);let se={id:$,action:b,async revert(){let C=u.get($);if(!C)return;let P=p.get($);if(P){for(let G of P)G();p.delete($)}C.state="reverted",u.delete($)},isApplied(){return u.get($)?.state==="applied"},async update(C){let P=u.get($);if(!P||P.state!=="applied")throw new Error("Cannot update action that is not applied");if(P.updateFn)await P.updateFn(C);else throw new Error(`Action kind ${b.kind} does not support updates`)},getState(){return u.get($)?.state??"reverted"}};return y($,b,N,se),se}let M=v(),K=await g(b,M),L={id:$,action:b,adaptiveId:o,appliedTs:Date.now(),state:"applied",cleanup:K.cleanup,updateFn:K.updateFn};u.set($,L);let O={id:$,action:b,async revert(){let q=u.get($);if(!q||q.state!=="applied")return;let Y=p.get($);if(Y){for(let se of Y)se();p.delete($)}try{await q.cleanup(),q.state="reverted",f("action.reverted",{id:$,kind:b.kind})}catch(se){console.warn(`[ActionEngine] Cleanup error for ${b.kind} (${$}), ignoring:`,se),q.state="reverted",f("action.reverted",{id:$,kind:b.kind})}finally{u.delete($)}},isApplied(){return u.get($)?.state==="applied"},async update(q){let Y=u.get($);if(!Y||Y.state!=="applied")throw new Error("Cannot update action that is not applied");if(Y.updateFn)await Y.updateFn(q);else throw new Error(`Action kind ${b.kind} does not support updates`)},getState(){return u.get($)?.state??"reverted"}};return N&&c&&y($,b,N,O),O}async function k(b){console.log(`[ActionEngine] applyBatch: ${b.length} action(s)`,b.map(L=>L.kind).join(", "));let A=ka(b);if(!A.valid){let L=A.errors.map(O=>O.message).join("; ");throw console.error(`[ActionEngine] Batch validation FAILED for ${b.length} action(s):`,L,`
737
+ `;customElements.define("syntro-toast-stack",As);var yu=async(r,e)=>{let t=[];if(e.applyAction)for(let n of r.actions){let i=await e.applyAction(n);t.push(i)}return{cleanup:async()=>{for(let n=t.length-1;n>=0;n--)try{await t[n].revert()}catch{}}}},_u=async(r,e)=>{let t=[];if(e.applyAction){let n=r.actions.map(i=>e.applyAction(i));if(r.waitFor==="any"){let i=await Promise.race(n);t.push(i);let s=await Promise.allSettled(n);for(let o of s)o.status==="fulfilled"&&o.value!==i&&t.push(o.value)}else{let i=await Promise.all(n);t.push(...i)}}return{cleanup:async()=>{for(let n of t)try{await n.revert()}catch{}}}},bu=async(r,e)=>{let t,n,i=!1,s={cleanup:()=>{i=!0,n&&clearTimeout(n),t&&t()}};return r.event&&e.subscribeEvent?await new Promise(o=>{t=e.subscribeEvent(r.event,()=>{i||o()}),r.durationMs!==void 0&&(n=setTimeout(()=>{i||o()},r.durationMs))}):r.durationMs!==void 0&&await new Promise(o=>{n=setTimeout(()=>{i||o()},r.durationMs)}),s};var Aa=class{constructor(){this.executors=new Map;for(let{kind:e,executor:t}of Gl)this.registerCore(e,t);for(let{kind:e,executor:t}of vc)this.registerCore(e,t);this.registerCore("core:mountWidget",async()=>{throw new Error("core:mountWidget must be handled by ActionEngine")}),this.registerCore("core:sequence",yu),this.registerCore("core:parallel",_u),this.registerCore("core:wait",bu)}registerCore(e,t,n){this.executors.set(e,{kind:e,executor:t,schema:n,source:"core",isBuiltIn:!0})}register(e,t,n,i="custom",s=!1){if(this.executors.has(e)){if(this.executors.get(e).isBuiltIn)return;console.warn(`[ExecutorRegistry] Overriding executor for kind: ${e} (source: ${i})`)}console.log(`[ExecutorRegistry] Registered executor: ${e} (source: ${i})`),this.executors.set(e,{kind:e,executor:t,schema:n,source:i,isBuiltIn:s})}unregister(e){let t=this.executors.get(e);return t?t.isBuiltIn?(console.warn(`[ExecutorRegistry] Cannot unregister built-in executor: ${e}`),!1):(this.executors.delete(e),!0):!1}unregisterBySource(e){for(let[t,n]of this.executors.entries())n.source===e&&this.executors.delete(t)}get(e){return this.executors.get(e)?.executor}getRegistration(e){return this.executors.get(e)}has(e){return this.executors.has(e)}validate(e){let t=[];if(!e||typeof e!="object")return t.push({code:"INVALID_ACTION",message:"Action must be an object"}),{valid:!1,errors:t,warnings:[]};let{kind:n}=e;if(!n||typeof n!="string")return t.push({code:"MISSING_KIND",message:"Action must have a 'kind' property"}),{valid:!1,errors:t,warnings:[]};let i=this.executors.get(n);if(!i)return t.push({code:"UNKNOWN_KIND",message:`Unknown action kind: ${n}`,field:"kind"}),{valid:!1,errors:t,warnings:[]};if(i.schema){let s=i.schema.safeParse(e);if(!s.success){for(let o of s.error.issues)t.push({code:"SCHEMA_VALIDATION_ERROR",message:o.message,field:o.path.join(".")});return{valid:!1,errors:t,warnings:[]}}}return{valid:!0,errors:[],warnings:[]}}list(){return Array.from(this.executors.keys())}listRegistrations(){return Array.from(this.executors.values())}getBuiltInKinds(){return Array.from(this.executors.entries()).filter(([,e])=>e.isBuiltIn).map(([e])=>e)}getCustomKinds(){return Array.from(this.executors.entries()).filter(([,e])=>!e.isBuiltIn).map(([e])=>e)}},sr=new Aa;function RS(r){return sr.get(r)}function xu(r){return sr.has(r)}function wu(r,e,t){!r.content||typeof r.content!="string"?e.push({code:"MISSING_CONTENT",message:"Badge action requires 'content' property",field:"content"}):r.content.length>100&&t.push({code:"LONG_BADGE_CONTENT",message:"Badge content is quite long",suggestion:"Keep badge content short (under 100 characters)"})}function ku(r,e,t){if(!r.content||typeof r.content!="object"){e.push({code:"MISSING_CONTENT",message:"Tooltip action requires 'content' object",field:"content"});return}(!r.content.body||typeof r.content.body!="string")&&e.push({code:"MISSING_BODY",message:"Tooltip content requires 'body' property",field:"content.body"})}function Su(r,e,t){!r.html||typeof r.html!="string"?e.push({code:"MISSING_HTML",message:"insertHtml action requires 'html' property",field:"html"}):r.html.length>Ra&&e.push({code:"HTML_TOO_LONG",message:`HTML content exceeds maximum length of ${Ra}`,field:"html"});let n=["before","after","prepend","append","replace"];(!r.position||!n.includes(r.position))&&e.push({code:"INVALID_POSITION",message:`Position must be one of: ${n.join(", ")}`,field:"position"})}function Eu(r,e,t){(r.text===void 0||r.text===null)&&e.push({code:"MISSING_TEXT",message:"setText action requires 'text' property",field:"text"})}function Cu(r,e,t){!r.attr||typeof r.attr!="string"?e.push({code:"MISSING_ATTR",message:"setAttr action requires 'attr' property",field:"attr"}):(Lu.has(r.attr.toLowerCase())||r.attr.toLowerCase().startsWith("on"))&&e.push({code:"DANGEROUS_ATTR",message:`Event handler attributes are not allowed: ${r.attr}`,field:"attr"}),(r.value===void 0||r.value===null)&&e.push({code:"MISSING_VALUE",message:"setAttr action requires 'value' property",field:"value"})}function Au(r,e,t){!r.className||typeof r.className!="string"?e.push({code:"MISSING_CLASS_NAME",message:"Class action requires 'className' property",field:"className"}):/^[a-zA-Z_-][a-zA-Z0-9_-]*$/.test(r.className)||t.push({code:"INVALID_CLASS_NAME",message:"Class name contains unusual characters",suggestion:"Use alphanumeric characters, hyphens, and underscores"})}function Ru(r,e,t){if(!r.styles||typeof r.styles!="object")e.push({code:"MISSING_STYLES",message:"setStyle action requires 'styles' object",field:"styles"});else{let n=Object.keys(r.styles).length;n>Ta&&e.push({code:"TOO_MANY_STYLES",message:`Too many styles (${n}). Maximum is ${Ta}`,field:"styles"});for(let[i,s]of Object.entries(r.styles))typeof s=="string"&&s.includes("expression(")&&e.push({code:"DANGEROUS_STYLE",message:`Style expressions are not allowed: ${i}`,field:`styles.${i}`})}}function Tu(r,e,t){(!r.slot||typeof r.slot!="string")&&e.push({code:"MISSING_SLOT",message:"mountWidget action requires 'slot' property",field:"slot"}),!r.widget||typeof r.widget!="object"?e.push({code:"MISSING_WIDGET",message:"mountWidget action requires 'widget' object",field:"widget"}):(!r.widget.widgetId||typeof r.widget.widgetId!="string")&&e.push({code:"MISSING_WIDGET_ID",message:"Widget must have a 'widgetId' property",field:"widget.widgetId"})}function Iu(r,e,t){r.durationMs===void 0&&!r.event&&e.push({code:"MISSING_WAIT_CONFIG",message:"wait action requires either 'durationMs' or 'event' property"}),r.durationMs!==void 0&&r.durationMs<0&&e.push({code:"INVALID_DURATION",message:"durationMs must be a positive number",field:"durationMs"}),r.event!==void 0&&typeof r.event!="string"&&e.push({code:"INVALID_EVENT",message:"event must be a string",field:"event"})}function $u(r,e,t){if(!r.actions||!Array.isArray(r.actions)){e.push({code:"MISSING_ACTIONS",message:"sequence action requires 'actions' array",field:"actions"});return}r.actions.length===0&&t.push({code:"EMPTY_SEQUENCE",message:"sequence has no actions",suggestion:"Add at least one action to the sequence"});for(let n=0;n<r.actions.length;n++){let i=jt(r.actions[n]);for(let s of i.errors)e.push({...s,field:`actions[${n}]${s.field?`.${s.field}`:""}`});for(let s of i.warnings)t.push(s)}}function Mu(r,e,t){if(!r.actions||!Array.isArray(r.actions)){e.push({code:"MISSING_ACTIONS",message:"parallel action requires 'actions' array",field:"actions"});return}r.actions.length===0&&t.push({code:"EMPTY_PARALLEL",message:"parallel has no actions",suggestion:"Add at least one action to the parallel group"}),r.waitFor&&!["all","any"].includes(r.waitFor)&&e.push({code:"INVALID_WAIT_FOR",message:"waitFor must be 'all' or 'any'",field:"waitFor"});for(let n=0;n<r.actions.length;n++){let i=jt(r.actions[n]);for(let s of i.errors)e.push({...s,field:`actions[${n}]${s.field?`.${s.field}`:""}`});for(let s of i.warnings)t.push(s)}}function Ou(r,e,t){if(!r.url||typeof r.url!="string")e.push({code:"MISSING_URL",message:"navigate action requires 'url' property",field:"url"});else{let n=r.url.trim().toLowerCase();n.startsWith("javascript:")&&e.push({code:"DANGEROUS_URL",message:"javascript: URLs are not allowed",field:"url"}),n.startsWith("data:")&&t.push({code:"DATA_URL",message:"data: URLs may have limited support",suggestion:"Consider using a regular URL instead"})}}function Pu(r,e,t){if(!r.content||typeof r.content!="object"){e.push({code:"MISSING_CONTENT",message:"Modal action requires 'content' object",field:"content"});return}if((!r.content.body||typeof r.content.body!="string")&&e.push({code:"MISSING_BODY",message:"Modal content requires 'body' property",field:"content.body"}),r.size&&!["sm","md","lg"].includes(r.size)&&e.push({code:"INVALID_SIZE",message:"Modal size must be 'sm', 'md', or 'lg'",field:"size"}),r.ctaButtons)if(!Array.isArray(r.ctaButtons))e.push({code:"INVALID_CTA_BUTTONS",message:"ctaButtons must be an array",field:"ctaButtons"});else for(let n=0;n<r.ctaButtons.length;n++){let i=r.ctaButtons[n];(!i.label||typeof i.label!="string")&&e.push({code:"MISSING_BUTTON_LABEL",message:`CTA button at index ${n} requires 'label' property`,field:`ctaButtons[${n}].label`}),(!i.actionId||typeof i.actionId!="string")&&e.push({code:"MISSING_BUTTON_ACTION_ID",message:`CTA button at index ${n} requires 'actionId' property`,field:`ctaButtons[${n}].actionId`})}}function Nu(r,e,t){if((!r.tourId||typeof r.tourId!="string")&&e.push({code:"MISSING_TOUR_ID",message:"Tour action requires 'tourId' property",field:"tourId"}),!r.steps||!Array.isArray(r.steps)){e.push({code:"MISSING_STEPS",message:"Tour action requires 'steps' array",field:"steps"});return}r.steps.length===0&&e.push({code:"EMPTY_STEPS",message:"Tour must have at least one step",field:"steps"});let n=new Set;for(let i=0;i<r.steps.length;i++){let s=r.steps[i];if(!s.id||typeof s.id!="string"?e.push({code:"MISSING_STEP_ID",message:`Step at index ${i} requires 'id' property`,field:`steps[${i}].id`}):(n.has(s.id)&&e.push({code:"DUPLICATE_STEP_ID",message:`Duplicate step ID: ${s.id}`,field:`steps[${i}].id`}),n.add(s.id)),!s.action)e.push({code:"MISSING_STEP_ACTION",message:`Step at index ${i} requires 'action' property`,field:`steps[${i}].action`});else{let o=jt(s.action);for(let a of o.errors)e.push({...a,field:`steps[${i}].action${a.field?`.${a.field}`:""}`});for(let a of o.warnings)t.push(a)}if(s.onAction)for(let[o,a]of Object.entries(s.onAction))a!=="end"&&!r.steps.some(l=>l.id===a)&&t.push({code:"UNKNOWN_TARGET_STEP",message:`Step "${s.id}" references unknown target step: ${a}`,suggestion:`Make sure step "${a}" exists in the tour`})}}var Lu=new Set(["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit","onkeydown","onkeyup","onkeypress"]),Ra=5e4,Ta=50;function jt(r){let e=[],t=[];if(!r||typeof r!="object")return e.push({code:"INVALID_ACTION",message:"Action must be an object"}),{valid:!1,errors:e,warnings:t};let{kind:n}=r;if(!n||typeof n!="string")return e.push({code:"MISSING_KIND",message:"Action must have a 'kind' property"}),{valid:!1,errors:e,warnings:t};if(!xu(n)&&n!=="core:mountWidget"){let i=sr.list();return console.error(`[ActionValidation] Unknown action kind: "${n}". Registered kinds (${i.length}): [${i.join(", ")}]. This usually means the app that provides "${n}" hasn't been activated yet, or the executor was never registered in ExecutorRegistry.`),e.push({code:"UNKNOWN_KIND",message:`Unknown action kind: ${n}`,field:"kind"}),{valid:!1,errors:e,warnings:t}}switch(n){case"overlays:highlight":case"overlays:pulse":case"navigation:scrollTo":or(r,e,t);break;case"overlays:badge":or(r,e,t),wu(r,e,t);break;case"overlays:tooltip":or(r,e,t),ku(r,e,t);break;case"overlays:modal":Pu(r,e,t);break;case"content:insertHtml":or(r,e,t),Su(r,e,t);break;case"content:setText":or(r,e,t),Eu(r,e,t);break;case"content:setAttr":or(r,e,t),Cu(r,e,t);break;case"content:addClass":case"content:removeClass":or(r,e,t),Au(r,e,t);break;case"content:setStyle":or(r,e,t),Ru(r,e,t);break;case"core:mountWidget":Tu(r,e,t);break;case"core:wait":Iu(r,e,t);break;case"core:sequence":$u(r,e,t);break;case"core:parallel":Mu(r,e,t);break;case"overlays:tour":Nu(r,e,t);break;case"navigation:navigate":Ou(r,e,t);break}return{valid:e.length===0,errors:e,warnings:t}}function or(r,e,t){let n=r.anchorId;if(!n||typeof n!="object"){e.push({code:"MISSING_ANCHOR_ID",message:"Action requires an 'anchorId' object with a 'selector' string",field:"anchorId"});return}if(!n.selector||typeof n.selector!="string"?e.push({code:"MISSING_ANCHOR_SELECTOR",message:"anchorId requires a 'selector' string",field:"anchorId.selector"}):n.selector.length>200&&t.push({code:"LONG_ANCHOR_ID",message:"Anchor selector is unusually long",suggestion:"Consider using a shorter, more descriptive selector"}),n.route===void 0||n.route===null)e.push({code:"MISSING_ANCHOR_ROUTE",message:`anchorId requires a 'route' (string or array of strings). Use "**" for all routes.`,field:"anchorId.route"});else{let i=Array.isArray(n.route)?n.route:[n.route];for(let s of i)if(typeof s!="string"){e.push({code:"INVALID_ANCHOR_ROUTE",message:"anchorId.route must be a string or array of strings",field:"anchorId.route"});break}}}function Ia(r){let e=[],t=[];if(!Array.isArray(r))return console.error("[ActionValidation] validateActions called with non-array:",typeof r),e.push({code:"INVALID_ACTIONS",message:"Actions must be an array"}),{valid:!1,errors:e,warnings:t};for(let n=0;n<r.length;n++){let i=jt(r[n]);if(!i.valid){let s=r[n];console.error(`[ActionValidation] Action [${n}] failed validation:`,`kind="${s?.kind??"undefined"}"`,i.errors.map(o=>`${o.code}: ${o.message}`).join("; "),s)}for(let s of i.errors)e.push({...s,field:s.field?`[${n}].${s.field}`:`[${n}]`});for(let s of i.warnings)t.push({...s,suggestion:s.suggestion?`Action ${n}: ${s.suggestion}`:void 0})}return e.length>0&&console.error(`[ActionValidation] Batch validation failed: ${e.length} error(s) in ${r.length} action(s).`,e.map(n=>`${n.field??"?"}: ${n.message}`).join(" | ")),{valid:e.length===0,errors:e,warnings:t}}var TS=0;function Fu(r){let{overlayRoot:e,eventBus:t,surfaces:n,anchorResolver:i,waitForAnchor:s,adaptiveId:o,executorRegistry:a=sr,subscribeNavigation:l,runtime:c}=r,u=new Map,p=new Map;function h(){return`action-${++TS}`}function f(b,A){t&&t.publish(b,A)}function v(){return{overlayRoot:e,resolveAnchor:i,waitForAnchor:s,generateId:h,publishEvent:f,adaptiveId:o,applyAction:x,subscribeEvent:t?(b,A)=>t.subscribe({names:[b]},$=>A($.props)):void 0,subscribeNavigation:l}}async function m(b,A){if(!n)throw new Error("Surfaces provider required for core:mountWidget actions");let $=n.mount(b.slot,{type:"widget",widgetId:b.widget.widgetId,config:b.widget.props},{priority:b.widget.priority});return A.publishEvent("action.applied",{id:A.generateId(),kind:"core:mountWidget",slot:b.slot,widgetId:b.widget.widgetId}),{cleanup:()=>{$.unmount()},updateFn:N=>{if("widget"in N&&N.widget){let M=N.widget;M.props&&$.update({type:"widget",widgetId:b.widget.widgetId,config:M.props})}}}}async function g(b,A){if(b.kind==="core:mountWidget")return m(b,A);let $=a.get(b.kind);if(!$){let N="list"in a?a.list():"(list unavailable)";throw console.error(`[ActionEngine] No executor for kind="${b.kind}".`,`Registered: [${N}]`),new Error(`No executor for action kind: ${b.kind}`)}return $(b,A)}function y(b,A,$,N){if(!c)return;let M=[],K=!1,L=async()=>{if(K)return;let O=u.get(b);if(O){K=!0;try{let Y=c.evaluateSync($).value;if(O.state==="applied"&&!Y){try{await O.cleanup()}catch(se){console.error(`[ActionEngine] Error reverting conditional action ${b}:`,se)}O.state="deferred",O.cleanup=()=>{},O.updateFn=void 0,f("action.deferred",{id:b,kind:A.kind})}else if(O.state==="deferred"&&Y)try{let se=v(),C=await g(A,se);O.state="applied",O.cleanup=C.cleanup,O.updateFn=C.updateFn,O.appliedTs=Date.now()}catch(se){console.error(`[ActionEngine] Error applying deferred action ${b}:`,se),O.state="failed"}}finally{K=!1}}};c.context&&M.push(c.context.subscribe(L)),c.accumulator&&M.push(c.accumulator.subscribe(L)),c.sessionMetrics&&M.push(c.sessionMetrics.subscribe(L)),c.events&&M.push(c.events.subscribe(L)),p.set(b,M)}async function x(b){let A=jt(b);if(!A.valid){let q=A.errors.map(Y=>Y.message).join("; ");throw console.error(`[ActionEngine] Validation failed for action kind="${b?.kind}":`,q,b),new Error(`Action validation failed: ${q}`)}let $=h(),N=b.triggerWhen;if(N&&c&&!c.evaluateSync(N).value){let Y={id:$,action:b,adaptiveId:o,appliedTs:Date.now(),state:"deferred",cleanup:()=>{}};u.set($,Y);let se={id:$,action:b,async revert(){let C=u.get($);if(!C)return;let P=p.get($);if(P){for(let G of P)G();p.delete($)}C.state="reverted",u.delete($)},isApplied(){return u.get($)?.state==="applied"},async update(C){let P=u.get($);if(!P||P.state!=="applied")throw new Error("Cannot update action that is not applied");if(P.updateFn)await P.updateFn(C);else throw new Error(`Action kind ${b.kind} does not support updates`)},getState(){return u.get($)?.state??"reverted"}};return y($,b,N,se),se}let M=v(),K=await g(b,M),L={id:$,action:b,adaptiveId:o,appliedTs:Date.now(),state:"applied",cleanup:K.cleanup,updateFn:K.updateFn};u.set($,L);let O={id:$,action:b,async revert(){let q=u.get($);if(!q||q.state!=="applied")return;let Y=p.get($);if(Y){for(let se of Y)se();p.delete($)}try{await q.cleanup(),q.state="reverted",f("action.reverted",{id:$,kind:b.kind})}catch(se){console.warn(`[ActionEngine] Cleanup error for ${b.kind} (${$}), ignoring:`,se),q.state="reverted",f("action.reverted",{id:$,kind:b.kind})}finally{u.delete($)}},isApplied(){return u.get($)?.state==="applied"},async update(q){let Y=u.get($);if(!Y||Y.state!=="applied")throw new Error("Cannot update action that is not applied");if(Y.updateFn)await Y.updateFn(q);else throw new Error(`Action kind ${b.kind} does not support updates`)},getState(){return u.get($)?.state??"reverted"}};return N&&c&&y($,b,N,O),O}async function k(b){console.log(`[ActionEngine] applyBatch: ${b.length} action(s)`,b.map(L=>L.kind).join(", "));let A=Ia(b);if(!A.valid){let L=A.errors.map(O=>O.message).join("; ");throw console.error(`[ActionEngine] Batch validation FAILED for ${b.length} action(s):`,L,`
738
738
  Actions:`,b.map((O,q)=>` [${q}] ${O.kind} ${O.anchorId?`anchor="${O.anchorId.selector}"`:""} ${O.label?`label="${O.label}"`:""}`).join(`
739
- `)),new Error(`Batch validation failed: ${L}`)}let $=h(),N=[],M=[];try{let L=await Promise.allSettled(b.map(q=>x(q))),O=[];for(let q of L)q.status==="fulfilled"?(N.push(q.value),M.push(q.value)):O.push(q.reason instanceof Error?q.reason:new Error(String(q.reason)));if(O.length>0&&M.length===0)throw O[0];O.length>0&&console.warn(`[ActionEngine] ${O.length}/${b.length} action(s) failed in batch:`,O.map(q=>q.message).join("; "))}catch(L){console.error(`[ActionEngine] Batch apply FAILED. Successfully applied: ${M.length}. Rolling back...`,L);for(let O of M)try{await O.revert()}catch{}throw L}return{id:$,handles:N,async revertAll(){for(let L=N.length-1;L>=0;L--)try{await N[L].revert()}catch(O){console.error(`[ActionEngine] Error reverting action ${N[L].id}:`,O)}},isApplied(){return N.every(L=>L.isApplied())}}}function _(b){return Ht(b)}function w(){return Array.from(u.values()).map(b=>({id:b.id,action:b.action,adaptiveId:b.adaptiveId,appliedTs:b.appliedTs,state:b.state}))}async function R(){for(let A of p.values())for(let $ of A)try{$()}catch{}p.clear();let b=[];for(let A of u.values())if(A.state==="applied")try{let $=A.cleanup();$&&typeof $.then=="function"&&b.push($.catch(N=>{console.error("[ActionEngine] Error during async cleanup:",N)}))}catch($){console.error("[ActionEngine] Error during cleanup:",$)}u.clear(),b.length>0&&await Promise.all(b)}return{apply:x,applyBatch:k,validate:_,getActive:w,destroy:R}}var d={};qb(d,{BRAND:()=>jk,DIRTY:()=>pn,EMPTY_PATH:()=>bk,INVALID:()=>Q,NEVER:()=>CS,OK:()=>Ge,ParseStatus:()=>Ue,Schema:()=>oe,ZodAny:()=>Tr,ZodArray:()=>or,ZodBigInt:()=>fn,ZodBoolean:()=>gn,ZodBranded:()=>vs,ZodCatch:()=>Cn,ZodDate:()=>mn,ZodDefault:()=>En,ZodDiscriminatedUnion:()=>Ca,ZodEffects:()=>yt,ZodEnum:()=>kn,ZodError:()=>nt,ZodFirstPartyTypeKind:()=>ee,ZodFunction:()=>Ra,ZodIntersection:()=>bn,ZodIssueCode:()=>T,ZodLazy:()=>xn,ZodLiteral:()=>wn,ZodMap:()=>ni,ZodNaN:()=>si,ZodNativeEnum:()=>Sn,ZodNever:()=>Pt,ZodNull:()=>yn,ZodNullable:()=>jt,ZodNumber:()=>hn,ZodObject:()=>it,ZodOptional:()=>mt,ZodParsedType:()=>W,ZodPipeline:()=>ys,ZodPromise:()=>Ir,ZodReadonly:()=>An,ZodRecord:()=>Aa,ZodSchema:()=>oe,ZodSet:()=>ii,ZodString:()=>Rr,ZodSymbol:()=>ti,ZodTransformer:()=>yt,ZodTuple:()=>Vt,ZodType:()=>oe,ZodUndefined:()=>vn,ZodUnion:()=>_n,ZodUnknown:()=>sr,ZodVoid:()=>ri,addIssueToContext:()=>F,any:()=>Xk,array:()=>tS,bigint:()=>qk,boolean:()=>Mm,coerce:()=>ES,custom:()=>Tm,date:()=>Zk,datetimeRegex:()=>Am,defaultErrorMap:()=>nr,discriminatedUnion:()=>sS,effect:()=>vS,enum:()=>fS,function:()=>dS,getErrorMap:()=>Jn,getParsedType:()=>Bt,instanceof:()=>Uk,intersection:()=>oS,isAborted:()=>Sa,isAsync:()=>Qn,isDirty:()=>Ea,isValid:()=>Ar,late:()=>Wk,lazy:()=>pS,literal:()=>hS,makeIssue:()=>ms,map:()=>cS,nan:()=>zk,nativeEnum:()=>gS,never:()=>Qk,null:()=>Yk,nullable:()=>_S,number:()=>$m,object:()=>rS,objectUtil:()=>ku,oboolean:()=>SS,onumber:()=>kS,optional:()=>yS,ostring:()=>wS,pipeline:()=>xS,preprocess:()=>bS,promise:()=>mS,quotelessJson:()=>vk,record:()=>lS,set:()=>uS,setErrorMap:()=>_k,strictObject:()=>nS,string:()=>Im,symbol:()=>Gk,transformer:()=>vS,tuple:()=>aS,undefined:()=>Kk,union:()=>iS,unknown:()=>Jk,util:()=>ae,void:()=>eS});var ae;(function(r){r.assertEqual=i=>{};function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{let s={};for(let o of i)s[o]=o;return s},r.getValidEnumValues=i=>{let s=r.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(let a of s)o[a]=i[a];return r.objectValues(o)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let s=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},r.find=(i,s)=>{for(let o of i)if(s(o))return o},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(ae||(ae={}));var ku;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(ku||(ku={}));var W=ae.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Bt=r=>{switch(typeof r){case"undefined":return W.undefined;case"string":return W.string;case"number":return Number.isNaN(r)?W.nan:W.number;case"boolean":return W.boolean;case"function":return W.function;case"bigint":return W.bigint;case"symbol":return W.symbol;case"object":return Array.isArray(r)?W.array:r===null?W.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?W.promise:typeof Map<"u"&&r instanceof Map?W.map:typeof Set<"u"&&r instanceof Set?W.set:typeof Date<"u"&&r instanceof Date?W.date:W.object;default:return W.unknown}};var T=ae.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),vk=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:"),nt=class r extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(let o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(t(o));else{let a=n,l=0;for(;l<o.path.length;){let c=o.path[l];l===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(t(o))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return i(this),n}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ae.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},n=[];for(let i of this.issues)if(i.path.length>0){let s=i.path[0];t[s]=t[s]||[],t[s].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};nt.create=r=>new nt(r);var yk=(r,e)=>{let t;switch(r.code){case T.invalid_type:r.received===W.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case T.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,ae.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:t=`Unrecognized key(s) in object: ${ae.joinValues(r.keys,", ")}`;break;case T.invalid_union:t="Invalid input";break;case T.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ae.joinValues(r.options)}`;break;case T.invalid_enum_value:t=`Invalid enum value. Expected ${ae.joinValues(r.options)}, received '${r.received}'`;break;case T.invalid_arguments:t="Invalid function arguments";break;case T.invalid_return_type:t="Invalid function return type";break;case T.invalid_date:t="Invalid date";break;case T.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:ae.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case T.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="bigint"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case T.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case T.custom:t="Invalid input";break;case T.invalid_intersection_types:t="Intersection results could not be merged";break;case T.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case T.not_finite:t="Number must be finite";break;default:t=e.defaultError,ae.assertNever(r)}return{message:t}},nr=yk;var wm=nr;function _k(r){wm=r}function Jn(){return wm}var ms=r=>{let{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="",l=n.filter(c=>!!c).slice().reverse();for(let c of l)a=c(o,{data:e,defaultError:a}).message;return{...i,path:s,message:a}},bk=[];function F(r,e){let t=Jn(),n=ms({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===nr?void 0:nr].filter(i=>!!i)});r.common.issues.push(n)}var Ue=class r{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let i of t){if(i.status==="aborted")return Q;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let i of t){let s=await i.key,o=await i.value;n.push({key:s,value:o})}return r.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let i of t){let{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Q;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[s.value]=o.value)}return{status:e.value,value:n}}},Q=Object.freeze({status:"aborted"}),pn=r=>({status:"dirty",value:r}),Ge=r=>({status:"valid",value:r}),Sa=r=>r.status==="aborted",Ea=r=>r.status==="dirty",Ar=r=>r.status==="valid",Qn=r=>typeof Promise<"u"&&r instanceof Promise;var Z;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message})(Z||(Z={}));var vt=class{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},km=(r,e)=>{if(Ar(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new nt(r.common.issues);return this._error=t,this._error}}};function ie(r){if(!r)return{};let{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,a)=>{let{message:l}=r;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??n??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??t??a.defaultError}},description:i}}var oe=class{get description(){return this._def.description}_getType(e){return Bt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Bt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ue,ctx:{common:e.parent.common,data:e.data,parsedType:Bt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Qn(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Bt(e)},i=this._parseSync({data:e,path:n.path,parent:n});return km(n,i)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Bt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Ar(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>Ar(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Bt(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(Qn(i)?i:Promise.resolve(i));return km(n,s)}refine(e,t){let n=i=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{let o=e(i),a=()=>s.addIssue({code:T.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new yt({schema:this,typeName:ee.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return mt.create(this,this._def)}nullable(){return jt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return or.create(this)}promise(){return Ir.create(this,this._def)}or(e){return _n.create([this,e],this._def)}and(e){return bn.create(this,e,this._def)}transform(e){return new yt({...ie(this._def),schema:this,typeName:ee.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new En({...ie(this._def),innerType:this,defaultValue:t,typeName:ee.ZodDefault})}brand(){return new vs({typeName:ee.ZodBranded,type:this,...ie(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Cn({...ie(this._def),innerType:this,catchValue:t,typeName:ee.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ys.create(this,e)}readonly(){return An.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},xk=/^c[^\s-]{8,}$/i,wk=/^[0-9a-z]+$/,kk=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Sk=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ek=/^[a-z0-9_-]{21}$/i,Ck=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ak=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rk=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Tk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Su,Ik=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$k=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Mk=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ok=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Pk=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Nk=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Em="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Lk=new RegExp(`^${Em}$`);function Cm(r){let e="[0-5]\\d";r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`);let t=r.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function Fk(r){return new RegExp(`^${Cm(r)}$`)}function Am(r){let e=`${Em}T${Cm(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function Dk(r,e){return!!((e==="v4"||!e)&&Ik.test(r)||(e==="v6"||!e)&&Mk.test(r))}function Hk(r,e){if(!Ck.test(r))return!1;try{let[t]=r.split(".");if(!t)return!1;let n=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Bk(r,e){return!!((e==="v4"||!e)&&$k.test(r)||(e==="v6"||!e)&&Ok.test(r))}var Rr=class r extends oe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==W.string){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.string,received:s.parsedType}),Q}let n=new Ue,i;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let o=e.data.length>s.value,a=e.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(e,i),o?F(i,{code:T.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&F(i,{code:T.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Rk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"email",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Su||(Su=new RegExp(Tk,"u")),Su.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"emoji",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Sk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"uuid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Ek.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"nanoid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")xk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cuid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")wk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cuid2",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")kk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"ulid",code:T.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),F(i,{validation:"url",code:T.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"regex",code:T.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Am(s).test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Lk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Fk(s).test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{code:T.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Ak.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"duration",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Dk(e.data,s.version)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"ip",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Hk(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"jwt",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Bk(e.data,s.version)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"cidr",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?Pk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"base64",code:T.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Nk.test(e.data)||(i=this._getOrReturnCtx(e,i),F(i,{validation:"base64url",code:T.invalid_string,message:s.message}),n.dirty()):ae.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(i=>e.test(i),{validation:t,code:T.invalid_string,...Z.errToObj(n)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Z.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Z.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Z.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Z.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Z.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Z.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Z.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Z.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Z.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Z.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Z.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Z.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Z.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Z.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...Z.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...Z.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Z.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...Z.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Z.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Z.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Z.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Z.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Z.errToObj(t)})}nonempty(e){return this.min(1,Z.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};Rr.create=r=>new Rr({checks:[],typeName:ee.ZodString,coerce:r?.coerce??!1,...ie(r)});function Vk(r,e){let t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=Number.parseInt(r.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return s%o/10**i}var hn=class r extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==W.number){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.number,received:s.parsedType}),Q}let n,i=new Ue;for(let s of this._def.checks)s.kind==="int"?ae.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:T.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?Vk(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_finite,message:s.message}),i.dirty()):ae.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Z.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Z.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Z.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Z.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Z.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Z.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Z.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ae.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}};hn.create=r=>new hn({checks:[],typeName:ee.ZodNumber,coerce:r?.coerce||!1,...ie(r)});var fn=class r extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==W.bigint)return this._getInvalidInput(e);let n,i=new Ue;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),F(n,{code:T.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):ae.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return F(t,{code:T.invalid_type,expected:W.bigint,received:t.parsedType}),Q}gte(e,t){return this.setLimit("min",e,!0,Z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Z.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Z.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Z.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};fn.create=r=>new fn({checks:[],typeName:ee.ZodBigInt,coerce:r?.coerce??!1,...ie(r)});var gn=class extends oe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==W.boolean){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.boolean,received:n.parsedType}),Q}return Ge(e.data)}};gn.create=r=>new gn({typeName:ee.ZodBoolean,coerce:r?.coerce||!1,...ie(r)});var mn=class r extends oe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==W.date){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_type,expected:W.date,received:s.parsedType}),Q}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return F(s,{code:T.invalid_date}),Q}let n=new Ue,i;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),F(i,{code:T.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):ae.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Z.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Z.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};mn.create=r=>new mn({checks:[],coerce:r?.coerce||!1,typeName:ee.ZodDate,...ie(r)});var ti=class extends oe{_parse(e){if(this._getType(e)!==W.symbol){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.symbol,received:n.parsedType}),Q}return Ge(e.data)}};ti.create=r=>new ti({typeName:ee.ZodSymbol,...ie(r)});var vn=class extends oe{_parse(e){if(this._getType(e)!==W.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.undefined,received:n.parsedType}),Q}return Ge(e.data)}};vn.create=r=>new vn({typeName:ee.ZodUndefined,...ie(r)});var yn=class extends oe{_parse(e){if(this._getType(e)!==W.null){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.null,received:n.parsedType}),Q}return Ge(e.data)}};yn.create=r=>new yn({typeName:ee.ZodNull,...ie(r)});var Tr=class extends oe{constructor(){super(...arguments),this._any=!0}_parse(e){return Ge(e.data)}};Tr.create=r=>new Tr({typeName:ee.ZodAny,...ie(r)});var sr=class extends oe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ge(e.data)}};sr.create=r=>new sr({typeName:ee.ZodUnknown,...ie(r)});var Pt=class extends oe{_parse(e){let t=this._getOrReturnCtx(e);return F(t,{code:T.invalid_type,expected:W.never,received:t.parsedType}),Q}};Pt.create=r=>new Pt({typeName:ee.ZodNever,...ie(r)});var ri=class extends oe{_parse(e){if(this._getType(e)!==W.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.void,received:n.parsedType}),Q}return Ge(e.data)}};ri.create=r=>new ri({typeName:ee.ZodVoid,...ie(r)});var or=class r extends oe{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==W.array)return F(t,{code:T.invalid_type,expected:W.array,received:t.parsedType}),Q;if(i.exactLength!==null){let o=t.data.length>i.exactLength.value,a=t.data.length<i.exactLength.value;(o||a)&&(F(t,{code:o?T.too_big:T.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(F(t,{code:T.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(F(t,{code:T.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((o,a)=>i.type._parseAsync(new vt(t,o,t.path,a)))).then(o=>Ue.mergeArray(n,o));let s=[...t.data].map((o,a)=>i.type._parseSync(new vt(t,o,t.path,a)));return Ue.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:Z.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:Z.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:Z.toString(t)}})}nonempty(e){return this.min(1,e)}};or.create=(r,e)=>new or({type:r,minLength:null,maxLength:null,exactLength:null,typeName:ee.ZodArray,...ie(e)});function ei(r){if(r instanceof it){let e={};for(let t in r.shape){let n=r.shape[t];e[t]=mt.create(ei(n))}return new it({...r._def,shape:()=>e})}else return r instanceof or?new or({...r._def,type:ei(r.element)}):r instanceof mt?mt.create(ei(r.unwrap())):r instanceof jt?jt.create(ei(r.unwrap())):r instanceof Vt?Vt.create(r.items.map(e=>ei(e))):r}var it=class r extends oe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=ae.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==W.object){let c=this._getOrReturnCtx(e);return F(c,{code:T.invalid_type,expected:W.object,received:c.parsedType}),Q}let{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Pt&&this._def.unknownKeys==="strip"))for(let c in i.data)o.includes(c)||a.push(c);let l=[];for(let c of o){let u=s[c],p=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new vt(i,p,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof Pt){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(c==="strict")a.length>0&&(F(i,{code:T.unrecognized_keys,keys:a}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let p=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new vt(i,p,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let p=await u.key,h=await u.value;c.push({key:p,value:h,alwaysSet:u.alwaysSet})}return c}).then(c=>Ue.mergeObjectSync(n,c)):Ue.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return Z.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{let i=this._def.errorMap?.(t,n).message??n.defaultError;return t.code==="unrecognized_keys"?{message:Z.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ee.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};for(let n of ae.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}omit(e){let t={};for(let n of ae.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}deepPartial(){return ei(this)}partial(e){let t={};for(let n of ae.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}return new r({...this._def,shape:()=>t})}required(e){let t={};for(let n of ae.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof mt;)s=s._def.innerType;t[n]=s}return new r({...this._def,shape:()=>t})}keyof(){return Rm(ae.objectKeys(this.shape))}};it.create=(r,e)=>new it({shape:()=>r,unknownKeys:"strip",catchall:Pt.create(),typeName:ee.ZodObject,...ie(e)});it.strictCreate=(r,e)=>new it({shape:()=>r,unknownKeys:"strict",catchall:Pt.create(),typeName:ee.ZodObject,...ie(e)});it.lazycreate=(r,e)=>new it({shape:r,unknownKeys:"strip",catchall:Pt.create(),typeName:ee.ZodObject,...ie(e)});var _n=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function i(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;let o=s.map(a=>new nt(a.ctx.common.issues));return F(t,{code:T.invalid_union,unionErrors:o}),Q}if(t.common.async)return Promise.all(n.map(async s=>{let o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(i);{let s,o=[];for(let l of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=l._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&o.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let a=o.map(l=>new nt(l));return F(t,{code:T.invalid_union,unionErrors:a}),Q}}get options(){return this._def.options}};_n.create=(r,e)=>new _n({options:r,typeName:ee.ZodUnion,...ie(e)});var ir=r=>r instanceof xn?ir(r.schema):r instanceof yt?ir(r.innerType()):r instanceof wn?[r.value]:r instanceof kn?r.options:r instanceof Sn?ae.objectValues(r.enum):r instanceof En?ir(r._def.innerType):r instanceof vn?[void 0]:r instanceof yn?[null]:r instanceof mt?[void 0,...ir(r.unwrap())]:r instanceof jt?[null,...ir(r.unwrap())]:r instanceof vs||r instanceof An?ir(r.unwrap()):r instanceof Cn?ir(r._def.innerType):[],Ca=class r extends oe{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.object)return F(t,{code:T.invalid_type,expected:W.object,received:t.parsedType}),Q;let n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(F(t,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let i=new Map;for(let s of t){let o=ir(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,s)}}return new r({typeName:ee.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...ie(n)})}};function Eu(r,e){let t=Bt(r),n=Bt(e);if(r===e)return{valid:!0,data:r};if(t===W.object&&n===W.object){let i=ae.objectKeys(e),s=ae.objectKeys(r).filter(a=>i.indexOf(a)!==-1),o={...r,...e};for(let a of s){let l=Eu(r[a],e[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(t===W.array&&n===W.array){if(r.length!==e.length)return{valid:!1};let i=[];for(let s=0;s<r.length;s++){let o=r[s],a=e[s],l=Eu(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return t===W.date&&n===W.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}var bn=class extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=(s,o)=>{if(Sa(s)||Sa(o))return Q;let a=Eu(s.value,o.value);return a.valid?((Ea(s)||Ea(o))&&t.dirty(),{status:t.value,value:a.data}):(F(n,{code:T.invalid_intersection_types}),Q)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};bn.create=(r,e,t)=>new bn({left:r,right:e,typeName:ee.ZodIntersection,...ie(t)});var Vt=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.array)return F(n,{code:T.invalid_type,expected:W.array,received:n.parsedType}),Q;if(n.data.length<this._def.items.length)return F(n,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Q;!this._def.rest&&n.data.length>this._def.items.length&&(F(n,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let s=[...n.data].map((o,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new vt(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(s).then(o=>Ue.mergeArray(t,o)):Ue.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};Vt.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Vt({items:r,typeName:ee.ZodTuple,rest:null,...ie(e)})};var Aa=class r extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.object)return F(n,{code:T.invalid_type,expected:W.object,received:n.parsedType}),Q;let i=[],s=this._def.keyType,o=this._def.valueType;for(let a in n.data)i.push({key:s._parse(new vt(n,a,n.path,a)),value:o._parse(new vt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ue.mergeObjectAsync(t,i):Ue.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof oe?new r({keyType:e,valueType:t,typeName:ee.ZodRecord,...ie(n)}):new r({keyType:Rr.create(),valueType:e,typeName:ee.ZodRecord,...ie(t)})}},ni=class extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.map)return F(n,{code:T.invalid_type,expected:W.map,received:n.parsedType}),Q;let i=this._def.keyType,s=this._def.valueType,o=[...n.data.entries()].map(([a,l],c)=>({key:i._parse(new vt(n,a,n.path,[c,"key"])),value:s._parse(new vt(n,l,n.path,[c,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of o){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return Q;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),a.set(c.value,u.value)}return{status:t.value,value:a}})}else{let a=new Map;for(let l of o){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return Q;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),a.set(c.value,u.value)}return{status:t.value,value:a}}}};ni.create=(r,e,t)=>new ni({valueType:e,keyType:r,typeName:ee.ZodMap,...ie(t)});var ii=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==W.set)return F(n,{code:T.invalid_type,expected:W.set,received:n.parsedType}),Q;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(F(n,{code:T.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(F(n,{code:T.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let s=this._def.valueType;function o(l){let c=new Set;for(let u of l){if(u.status==="aborted")return Q;u.status==="dirty"&&t.dirty(),c.add(u.value)}return{status:t.value,value:c}}let a=[...n.data.values()].map((l,c)=>s._parse(new vt(n,l,n.path,c)));return n.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(e,t){return new r({...this._def,minSize:{value:e,message:Z.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:Z.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};ii.create=(r,e)=>new ii({valueType:r,minSize:null,maxSize:null,typeName:ee.ZodSet,...ie(e)});var Ra=class r extends oe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.function)return F(t,{code:T.invalid_type,expected:W.function,received:t.parsedType}),Q;function n(a,l){return ms({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Jn(),nr].filter(c=>!!c),issueData:{code:T.invalid_arguments,argumentsError:l}})}function i(a,l){return ms({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Jn(),nr].filter(c=>!!c),issueData:{code:T.invalid_return_type,returnTypeError:l}})}let s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Ir){let a=this;return Ge(async function(...l){let c=new nt([]),u=await a._def.args.parseAsync(l,s).catch(f=>{throw c.addIssue(n(l,f)),c}),p=await Reflect.apply(o,this,u);return await a._def.returns._def.type.parseAsync(p,s).catch(f=>{throw c.addIssue(i(p,f)),c})})}else{let a=this;return Ge(function(...l){let c=a._def.args.safeParse(l,s);if(!c.success)throw new nt([n(l,c.error)]);let u=Reflect.apply(o,this,c.data),p=a._def.returns.safeParse(u,s);if(!p.success)throw new nt([i(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new r({...this._def,args:Vt.create(e).rest(sr.create())})}returns(e){return new r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new r({args:e||Vt.create([]).rest(sr.create()),returns:t||sr.create(),typeName:ee.ZodFunction,...ie(n)})}},xn=class extends oe{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};xn.create=(r,e)=>new xn({getter:r,typeName:ee.ZodLazy,...ie(e)});var wn=class extends oe{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return F(t,{received:t.data,code:T.invalid_literal,expected:this._def.value}),Q}return{status:"valid",value:e.data}}get value(){return this._def.value}};wn.create=(r,e)=>new wn({value:r,typeName:ee.ZodLiteral,...ie(e)});function Rm(r,e){return new kn({values:r,typeName:ee.ZodEnum,...ie(e)})}var kn=class r extends oe{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),n=this._def.values;return F(t,{expected:ae.joinValues(n),received:t.parsedType,code:T.invalid_type}),Q}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return F(t,{received:t.data,code:T.invalid_enum_value,options:n}),Q}return Ge(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}};kn.create=Rm;var Sn=class extends oe{_parse(e){let t=ae.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==W.string&&n.parsedType!==W.number){let i=ae.objectValues(t);return F(n,{expected:ae.joinValues(i),received:n.parsedType,code:T.invalid_type}),Q}if(this._cache||(this._cache=new Set(ae.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=ae.objectValues(t);return F(n,{received:n.data,code:T.invalid_enum_value,options:i}),Q}return Ge(e.data)}get enum(){return this._def.values}};Sn.create=(r,e)=>new Sn({values:r,typeName:ee.ZodNativeEnum,...ie(e)});var Ir=class extends oe{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==W.promise&&t.common.async===!1)return F(t,{code:T.invalid_type,expected:W.promise,received:t.parsedType}),Q;let n=t.parsedType===W.promise?t.data:Promise.resolve(t.data);return Ge(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Ir.create=(r,e)=>new Ir({type:r,typeName:ee.ZodPromise,...ie(e)});var yt=class extends oe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ee.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:o=>{F(n,o),o.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){let o=i.transform(n.data,s);if(n.common.async)return Promise.resolve(o).then(async a=>{if(t.value==="aborted")return Q;let l=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return l.status==="aborted"?Q:l.status==="dirty"?pn(l.value):t.value==="dirty"?pn(l.value):l});{if(t.value==="aborted")return Q;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?Q:a.status==="dirty"?pn(a.value):t.value==="dirty"?pn(a.value):a}}if(i.type==="refinement"){let o=a=>{let l=i.refinement(a,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Q:(a.status==="dirty"&&t.dirty(),o(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Q:(a.status==="dirty"&&t.dirty(),o(a.value).then(()=>({status:t.value,value:a.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Ar(o))return Q;let a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>Ar(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:t.value,value:a})):Q);ae.assertNever(i)}};yt.create=(r,e,t)=>new yt({schema:r,typeName:ee.ZodEffects,effect:e,...ie(t)});yt.createWithPreprocess=(r,e,t)=>new yt({schema:e,effect:{type:"preprocess",transform:r},typeName:ee.ZodEffects,...ie(t)});var mt=class extends oe{_parse(e){return this._getType(e)===W.undefined?Ge(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};mt.create=(r,e)=>new mt({innerType:r,typeName:ee.ZodOptional,...ie(e)});var jt=class extends oe{_parse(e){return this._getType(e)===W.null?Ge(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};jt.create=(r,e)=>new jt({innerType:r,typeName:ee.ZodNullable,...ie(e)});var En=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===W.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};En.create=(r,e)=>new En({innerType:r,typeName:ee.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...ie(e)});var Cn=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Qn(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new nt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new nt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Cn.create=(r,e)=>new Cn({innerType:r,typeName:ee.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...ie(e)});var si=class extends oe{_parse(e){if(this._getType(e)!==W.nan){let n=this._getOrReturnCtx(e);return F(n,{code:T.invalid_type,expected:W.nan,received:n.parsedType}),Q}return{status:"valid",value:e.data}}};si.create=r=>new si({typeName:ee.ZodNaN,...ie(r)});var jk=Symbol("zod_brand"),vs=class extends oe{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},ys=class r extends oe{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Q:s.status==="dirty"?(t.dirty(),pn(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Q:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new r({in:e,out:t,typeName:ee.ZodPipeline})}},An=class extends oe{_parse(e){let t=this._def.innerType._parse(e),n=i=>(Ar(i)&&(i.value=Object.freeze(i.value)),i);return Qn(t)?t.then(i=>n(i)):n(t)}unwrap(){return this._def.innerType}};An.create=(r,e)=>new An({innerType:r,typeName:ee.ZodReadonly,...ie(e)});function Sm(r,e){let t=typeof r=="function"?r(e):typeof r=="string"?{message:r}:r;return typeof t=="string"?{message:t}:t}function Tm(r,e={},t){return r?Tr.create().superRefine((n,i)=>{let s=r(n);if(s instanceof Promise)return s.then(o=>{if(!o){let a=Sm(e,n),l=a.fatal??t??!0;i.addIssue({code:"custom",...a,fatal:l})}});if(!s){let o=Sm(e,n),a=o.fatal??t??!0;i.addIssue({code:"custom",...o,fatal:a})}}):Tr.create()}var Wk={object:it.lazycreate},ee;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(ee||(ee={}));var Uk=(r,e={message:`Input not instance of ${r.name}`})=>Tm(t=>t instanceof r,e),Im=Rr.create,$m=hn.create,zk=si.create,qk=fn.create,Mm=gn.create,Zk=mn.create,Gk=ti.create,Kk=vn.create,Yk=yn.create,Xk=Tr.create,Jk=sr.create,Qk=Pt.create,eS=ri.create,tS=or.create,rS=it.create,nS=it.strictCreate,iS=_n.create,sS=Ca.create,oS=bn.create,aS=Vt.create,lS=Aa.create,cS=ni.create,uS=ii.create,dS=Ra.create,pS=xn.create,hS=wn.create,fS=kn.create,gS=Sn.create,mS=Ir.create,vS=yt.create,yS=mt.create,_S=jt.create,bS=yt.createWithPreprocess,xS=ys.create,wS=()=>Im().optional(),kS=()=>$m().optional(),SS=()=>Mm().optional(),ES={string:(r=>Rr.create({...r,coerce:!0})),number:(r=>hn.create({...r,coerce:!0})),boolean:(r=>gn.create({...r,coerce:!0})),bigint:(r=>fn.create({...r,coerce:!0})),date:(r=>mn.create({...r,coerce:!0}))};var CS=Q;var AS=d.object({selector:d.string(),route:d.union([d.string(),d.array(d.string())])}).strict(),Om=["ui.click","ui.scroll","ui.input","ui.change","ui.submit","ui.hover","ui.idle","ui.scroll_thrash","ui.focus_bounce","nav.page_view","nav.page_leave","behavior.rage_click","behavior.hesitation","behavior.confusion"],Pm=d.enum(Om).describe("Event name to count. ui.* = user interactions and behavioral detectors, nav.* = page navigation, behavior.* = derived behavioral signals."),Nm=["time_on_page","page_views","scroll_depth"],Lm=d.enum(Nm).describe("Session metric key. time_on_page = seconds on current page, page_views = pages visited this session, scroll_depth = 0-100 percentage.");var Cu=d.object({type:d.literal("page_url"),url:d.string().describe('URL path to match (e.g. "/pricing", "/dashboard")')}).describe('Fires when the current page URL matches. Use for page-specific actions. Example: {"type": "page_url", "url": "/pricing"}'),Au=d.object({type:d.literal("route"),routeId:d.string().describe("Named route ID from the route filter")}).describe("Fires when the current route matches a named route ID."),Ru=d.object({type:d.literal("anchor_visible"),anchorId:d.string().describe("CSS selector of the anchor element"),state:d.enum(["visible","present","absent"]).describe('"visible" = in viewport, "present" = in DOM, "absent" = not in DOM')}).describe(`Fires based on a DOM element's visibility state. Example: {"type": "anchor_visible", "anchorId": "#cta-button", "state": "visible"}`),Tu=d.object({type:d.literal("event_occurred"),eventName:d.string().describe('Event name (e.g. "ui.click", "$pageview")'),withinMs:d.number().optional().describe("Time window in ms. Omit = any time this session.")}).describe('Fires when a specific event has occurred during this session. Example: {"type": "event_occurred", "eventName": "ui.click", "withinMs": 5000}'),Iu=d.object({type:d.literal("state_equals"),key:d.string().describe("Key in the SDK persistent state store (localStorage). Only valid for keys the host app explicitly sets via syntro.state.set()."),value:d.unknown().describe("Expected value to match against")}).describe("Checks the SDK persistent state store (localStorage). ONLY for host-app state set via syntro.state.set() \u2014 NOT for user attributes like region, device, or UTM params (those are handled by segment targeting). Do NOT use this for targeting. If you do not know the valid state keys, do not use this condition type."),$u=d.object({type:d.literal("viewport"),minWidth:d.number().optional().describe("Minimum viewport width in pixels"),maxWidth:d.number().optional().describe("Maximum viewport width in pixels"),minHeight:d.number().optional().describe("Minimum viewport height in pixels"),maxHeight:d.number().optional().describe("Maximum viewport height in pixels")}).describe('Fires based on viewport (screen) size. Use for responsive behavior. Example: {"type": "viewport", "minWidth": 768} \u2014 fires on tablet and larger.'),Mu=d.object({type:d.literal("session_metric"),key:Lm,operator:d.enum(["gte","lte","eq","gt","lt"]),threshold:d.number().describe("Numeric threshold to compare against")}).describe('Fires when a session metric crosses a threshold. Valid keys: "time_on_page" (seconds), "page_views" (count), "scroll_depth" (0-100). Example: {"type": "session_metric", "key": "time_on_page", "operator": "gte", "threshold": 30}'),Ou=d.object({type:d.literal("dismissed"),key:d.string().describe("Dismissal key (usually a tile or action ID)"),inverted:d.boolean().optional().describe("When true, fires if NOT dismissed (default behavior)")}).describe("Checks if an item has been dismissed by the user. Use with inverted: true to show only if not dismissed."),Pu=d.object({type:d.literal("cooldown_active"),key:d.string().describe("Cooldown key"),inverted:d.boolean().optional().describe("When true, fires if cooldown is NOT active")}).describe("Checks if a cooldown timer is currently active. Use to prevent showing the same intervention too frequently."),Nu=d.object({type:d.literal("frequency_limit"),key:d.string().describe("Frequency counter key"),limit:d.number().describe("Maximum allowed count"),inverted:d.boolean().optional().describe("When true, fires if limit NOT reached")}).describe("Checks if a frequency limit has been reached. Use to cap how many times an action fires per session."),_s=d.object({equals:d.union([d.string(),d.number(),d.boolean()]).optional(),contains:d.string().optional()}).describe("Match operator for counter filters. Exactly one of equals or contains must be specified."),bs=d.object({events:d.array(Pm).min(1).describe("Event names to count. Use values from the countable events enum."),match:d.record(d.string(),_s).optional().describe("Property filters. Keys are event prop names or element-chain fields (tag_name, $el_text, attr__*). All entries AND together.")}).describe("Defines what events to count. Registered as an accumulator predicate at config-load time."),Lu=d.object({type:d.literal("event_count"),key:d.string().describe("Unique key for this counter (used for accumulator registration)"),operator:d.enum(["gte","lte","eq","gt","lt"]),count:d.number().int().min(0).describe("Target count threshold"),withinMs:d.number().positive().optional().describe("Time window in ms. Omit = count across entire session."),counter:bs.optional().describe("Inline counter definition. Defines what events to count.")}).describe('Fires when accumulated event count crosses a threshold. Most powerful trigger type. Example: {"type": "event_count", "key": "pricing-clicks", "operator": "gte", "count": 3, "counter": {"events": ["ui.click"], "match": {"attr__data-cta": {"contains": "pricing"}}}}'),$r=d.discriminatedUnion("type",[Cu,Au,Ru,Tu,Iu,$u,Mu,Ou,Pu,Nu,Lu]),xs=d.object({conditions:d.array($r).describe("Array of conditions \u2014 ALL must match (AND logic) for this rule to fire."),value:d.unknown().describe("Value returned when all conditions match. For triggerWhen: true = fire the action.")}).describe("A single rule. ALL conditions must match (AND logic). Rules in a strategy are evaluated top-to-bottom \u2014 first rule where all conditions match wins and returns its value."),ws=d.object({type:d.literal("rules"),rules:d.array(xs).describe("Ordered list of rules. Evaluated top-to-bottom \u2014 first match wins."),default:d.unknown().describe("Fallback value when no rule matches. For triggerWhen: false = do not fire by default.")}).describe("Rule-based strategy. Evaluates rules top-to-bottom. First rule where ALL conditions match returns its value. If no rule matches, returns default. For triggerWhen: set value=true on matching rules, default=false."),ks=d.object({type:d.literal("score"),field:d.string(),threshold:d.number(),above:d.unknown(),below:d.unknown()}).describe("Score-based strategy. Compares a field value against a threshold."),Ss=d.object({type:d.literal("model"),modelId:d.string(),inputs:d.array(d.string()),outputMapping:d.record(d.string(),d.unknown()),default:d.unknown()}).describe("ML model strategy. Sends inputs to a model and maps outputs."),Es=d.object({type:d.literal("external"),endpoint:d.string(),method:d.enum(["GET","POST"]).optional(),default:d.unknown(),timeoutMs:d.number().optional()}).describe("External API strategy. Calls an endpoint to determine the value."),Cs=d.discriminatedUnion("type",[ws,ks,Ss,Es]),Ta=Cs.nullable().optional();var RS=d.object({events:d.array(d.string()),urlContains:d.string().optional(),props:d.record(d.union([d.string(),d.number(),d.boolean()])).optional()}),TS=d.object({title:d.string().optional(),body:d.string().optional(),icon:d.string().optional()}).nullable().optional();var Fm=d.object({include:d.array(d.string()).optional().describe("URL patterns where this tile appears. Supports *, **, :param wildcards. Use sparingly \u2014 mostly to isolate to specific webapp functionality. Omit to appear on all routes."),exclude:d.array(d.string()).optional().describe("URL patterns where this tile should NOT appear. Evaluated before include.")}),Ia=d.object({routes:Fm,onlyIfPopulated:d.boolean().optional().describe("When true, tile is hidden if none of its props.actions[] have an active triggerWhen. Useful for tiles with all-deferred FAQ questions or nav tips. Default: false.")});function TM(r){return $r.safeParse(r)}function IM(r){return Cs.safeParse(r)}function $M(r){return Ia.safeParse(r)}var MM=[{defName:"matchOp",schema:_s},{defName:"counterDef",schema:bs},{defName:"activationConfig",schema:Ia},{defName:"routeFilter",schema:Fm},{defName:"ruleStrategy",schema:ws},{defName:"scoreStrategy",schema:ks},{defName:"modelStrategy",schema:Ss},{defName:"externalStrategy",schema:Es},{defName:"rule",schema:xs},{defName:"condition",schema:$r}];var Fu=d.object({tileId:d.string(),itemId:d.string().optional()}).strict(),IS=d.object({on:d.string(),title:d.string(),body:d.string().optional(),icon:d.string().optional(),ttl:d.number().optional(),cooldown:d.number().optional(),deepLink:Fu.optional()}).strict(),$S=d.object({id:d.string(),title:d.string().optional(),subtitle:d.string().optional(),icon:d.string().optional(),priority:d.number().optional(),widget:d.string(),props:d.record(d.unknown()).optional(),activation:Ia.optional(),notifications:d.array(IS).optional()}).strict(),MS=d.object({position:d.enum(["left","right"]).optional(),layout:d.enum(["overlay","push"]).optional(),background:d.string().optional(),blur:d.string().optional(),border:d.string().optional(),width:d.string().optional(),padding:d.string().optional(),transitionDuration:d.string().optional(),transitionEasing:d.string().optional(),transitionFade:d.string().optional()}),OS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),color:d.string().optional(),size:d.string().optional(),shadow:d.string().optional(),borderRadius:d.string().optional(),icon:d.string().optional()}),PS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),shadow:d.string().optional(),titleColor:d.string().optional(),textColor:d.string().optional(),iconBackground:d.string().optional(),iconShadow:d.string().optional(),headerPadding:d.string().optional(),bodyPadding:d.string().optional(),gap:d.string().optional()}),NS=d.object({background:d.string().optional(),textColor:d.string().optional(),titleColor:d.string().optional(),arrowColor:d.string().optional(),arrowSize:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),scrimOpacity:d.string().optional(),highlightRing:d.string().optional()}),LS=d.object({background:d.string().optional(),textColor:d.string().optional(),textSecondaryColor:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),successColor:d.string().optional(),warningColor:d.string().optional(),errorColor:d.string().optional(),iconBackground:d.string().optional(),progressGradient:d.string().optional()}),FS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),textColor:d.string().optional(),textSecondaryColor:d.string().optional(),itemDivider:d.string().optional(),itemGap:d.string().optional(),itemPadding:d.string().optional(),itemFontSize:d.string().optional(),bodyPadding:d.string().optional(),bodyFontSize:d.string().optional(),categoryPadding:d.string().optional(),categoryGap:d.string().optional(),categoryFontSize:d.string().optional(),searchBackground:d.string().optional(),searchColor:d.string().optional(),chevronColor:d.string().optional()}),DS=d.object({mode:d.enum(["dark","light"]).optional(),fontFamily:d.string().optional(),colorPrimary:d.string().optional(),colorPrimaryHover:d.string().optional(),borderRadius:d.string().optional(),canvas:MS.optional(),launcher:OS.optional(),tile:PS.optional(),overlay:NS.optional(),notification:LS.optional(),content:FS.optional()}).strict(),HS=d.object({enabled:d.boolean().optional(),label:d.string().optional(),position:d.string().optional(),animate:d.boolean().optional(),animationStyle:d.enum(["pulse","bounce","glow"]).optional(),notificationCount:d.number().optional()}).strict(),FM=d.object({schemaVersion:d.string().optional(),fetchedAt:d.string().datetime(),configVersion:d.string().optional(),canvasTitle:d.string().optional(),displayMode:d.enum(["standard","focused","inline"]).optional(),tiles:d.array($S),actions:d.array(d.any()),theme:DS.optional(),launcher:HS.optional(),meta:d.object({verificationSteps:d.array(d.union([d.string(),d.object({text:d.string(),check:$r.optional()})])).optional()}).passthrough().optional()}).strict();var He={triggerWhen:Ta},_t=d.object({selector:d.string(),route:d.union([d.string(),d.array(d.string())])}).strict(),Dm=d.object({color:d.string().optional(),scrimOpacity:d.number().min(0).max(1).optional(),paddingPx:d.number().optional(),radiusPx:d.number().optional()}).strict(),Hm=d.enum(["top-left","top-right","bottom-left","bottom-right"]),Bm=d.enum(["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"]),Hu=d.object({label:d.string(),actionId:d.string(),primary:d.boolean().optional()}).strict(),Vm=d.object({title:d.string().optional(),body:d.string(),ctaButtons:d.array(Hu).optional()}).strict(),jm=d.object({title:d.string().optional(),body:d.string()}).strict(),Wm=d.enum(["before","after","prepend","append","replace"]),Um=d.enum(["immediate","hover","click"]),zm=d.object({widgetId:d.string(),props:d.record(d.unknown()).optional(),priority:d.number().optional()}).strict(),qm=d.object({id:d.string(),action:d.any(),route:d.string().optional(),onAction:d.record(d.string()).optional()}).passthrough(),Zm=d.enum(["auto","smooth","instant"]),Du=d.enum(["start","center","end","nearest"]),Gm=d.object({kind:d.literal("content:setText"),anchorId:_t,text:d.string(),label:d.string().optional()}).extend(He).strict(),Km=d.object({kind:d.literal("content:setAttr"),anchorId:_t,attr:d.string(),value:d.string(),label:d.string().optional()}).extend(He).strict(),Ym=d.object({kind:d.literal("content:addClass"),anchorId:_t,className:d.string(),label:d.string().optional()}).extend(He).strict(),Xm=d.object({kind:d.literal("content:removeClass"),anchorId:_t,className:d.string(),label:d.string().optional()}).extend(He).strict(),Jm=d.object({kind:d.literal("content:setStyle"),anchorId:_t,styles:d.record(d.string()),label:d.string().optional()}).extend(He).strict(),Qm=d.object({kind:d.literal("content:insertHtml"),anchorId:_t,html:d.string(),position:Wm,deepLink:Fu.optional(),label:d.string().optional()}).extend(He).strict(),ev=d.object({kind:d.literal("overlays:highlight"),anchorId:_t,style:Dm.optional(),duration:d.number().optional(),label:d.string().optional()}).extend(He).strict(),tv=d.object({kind:d.literal("overlays:pulse"),anchorId:_t,duration:d.number().optional(),label:d.string().optional()}).extend(He).strict(),rv=d.object({kind:d.literal("overlays:badge"),anchorId:_t,content:d.string(),position:Hm.optional(),label:d.string().optional()}).extend(He).strict(),nv=d.object({kind:d.literal("overlays:tooltip"),anchorId:_t,content:Vm,trigger:Um.optional(),placement:Bm.optional(),waitFor:d.string().optional(),label:d.string().optional()}).extend(He).strict(),iv=d.object({kind:d.literal("overlays:modal"),content:jm,size:d.enum(["sm","md","lg"]).optional(),blocking:d.boolean().optional(),scrim:d.object({opacity:d.number().min(0).max(1).optional()}).strict().optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().min(0).optional()}).strict().optional(),ctaButtons:d.array(Hu).optional(),waitFor:d.string().optional(),label:d.string().optional()}).extend(He).strict(),sv=d.object({kind:d.literal("navigation:scrollTo"),anchorId:_t,behavior:Zm.optional(),block:Du.optional(),inline:Du.optional(),label:d.string().optional()}).extend(He).strict(),ov=d.object({kind:d.literal("navigation:navigate"),url:d.string(),target:d.enum(["_self","_blank"]).optional(),label:d.string().optional()}).extend(He).strict(),av=d.object({kind:d.literal("core:mountWidget"),slot:d.string(),widget:zm,label:d.string().optional()}).extend(He).strict(),lv=d.object({kind:d.literal("core:wait"),durationMs:d.number().min(0).optional(),event:d.string().optional(),label:d.string().optional()}).extend(He).strict(),cv=d.object({kind:d.literal("core:sequence"),actions:d.array(d.any()),label:d.string().optional()}).extend(He).strict(),uv=d.object({kind:d.literal("core:parallel"),actions:d.array(d.any()),waitFor:d.enum(["all","any"]).optional(),label:d.string().optional()}).extend(He).strict(),dv=d.object({kind:d.literal("overlays:tour"),tourId:d.string(),steps:d.array(qm).min(1),startStep:d.string().optional(),autoStart:d.boolean().optional(),label:d.string().optional()}).extend(He).passthrough(),BS=[{defName:"setText",schema:Gm},{defName:"setAttr",schema:Km},{defName:"addClass",schema:Ym},{defName:"removeClass",schema:Xm},{defName:"setStyle",schema:Jm},{defName:"insertHtml",schema:Qm},{defName:"highlight",schema:ev},{defName:"pulse",schema:tv},{defName:"badge",schema:rv},{defName:"tooltip",schema:nv},{defName:"modal",schema:iv},{defName:"scrollTo",schema:sv},{defName:"navigate",schema:ov},{defName:"mountWidget",schema:av},{defName:"wait",schema:lv},{defName:"sequence",schema:cv},{defName:"parallel",schema:uv},{defName:"tour",schema:dv}];function Bu(r){let e=r?.root??(typeof document<"u"?document.body:null),t=r?.defaultTimeoutMs??5e3,n=new Map,i=new Map,s=null,o=!1;function a(g){if(!e)return null;try{return e.matches(g)?e:e.querySelector(g)}catch{return null}}function l(){for(let[g,y]of n){let x=a(g);if(x){for(let k of y)clearTimeout(k.timer),k.resolve(x);n.delete(g)}}for(let[g,y]of i){let x=a(g);if(x){for(let k of y)k.cancelled||k.cb(x);i.delete(g)}}n.size===0&&i.size===0&&u()}function c(){s||o||typeof MutationObserver>"u"||!e||(s=new MutationObserver(()=>{l()}),s.observe(e,{childList:!0,subtree:!0}))}function u(){s&&(s.disconnect(),s=null)}function p(g,y){let x=n.get(g);x&&(x.delete(y),x.size===0&&n.delete(g)),n.size===0&&i.size===0&&u()}function h(g,y){if(o)return Promise.reject(new Error("AnchorResolver destroyed"));let x=a(g);if(x)return Promise.resolve(x);let k=y??t;return new Promise((_,w)=>{let R={resolve:_,reject:w,timer:setTimeout(()=>{p(g,R),w(new Error(`waitFor("${g}") timed out after ${k}ms`))},k)},b=n.get(g);b||(b=new Set,n.set(g,b)),b.add(R),c()})}function f(g,y){if(o)return()=>{};let x=a(g);if(x)return y(x),()=>{};let k={cb:y,cancelled:!1},_=i.get(g);return _||(_=new Set,i.set(g,_)),_.add(k),c(),()=>{k.cancelled=!0;let w=i.get(g);w&&(w.delete(k),w.size===0&&i.delete(g)),n.size===0&&i.size===0&&u()}}function v(){let g=0;for(let y of n.values())g+=y.size;return g}function m(){o=!0,u();let g=new Error("AnchorResolver destroyed");for(let y of n.values())for(let x of y)clearTimeout(x.timer),x.reject(g);n.clear(),i.clear()}return{resolve:a,waitFor:h,onAppear:f,pendingCount:v,destroy:m}}var pv={timeout:300,className:"sc-anti-flicker",style:"opacity: 0 !important",hostLoadingSelector:"",waitForHostReady:""};function hv(r={}){let{timeout:e,className:t,style:n,hostLoadingSelector:i,waitForHostReady:s}={...pv,...r};if(i&&document.querySelector(i))return()=>{};let o=document.createElement("style");o.textContent=`.${t} { ${n} }`,document.head.appendChild(o),document.documentElement.classList.add(t);let a=!1,l=()=>{a||(a=!0,clearTimeout(u),document.documentElement.classList.remove(t),o.remove(),s&&c&&document.removeEventListener(s,c))},c;s&&(c=()=>l(),document.addEventListener(s,c));let u=setTimeout(()=>{l()},e);return()=>{l()}}function VS(r={}){let{className:e,style:t}={...pv,...r};return`
739
+ `)),new Error(`Batch validation failed: ${L}`)}let $=h(),N=[],M=[];try{let L=await Promise.allSettled(b.map(q=>x(q))),O=[];for(let q of L)q.status==="fulfilled"?(N.push(q.value),M.push(q.value)):O.push(q.reason instanceof Error?q.reason:new Error(String(q.reason)));if(O.length>0&&M.length===0)throw O[0];O.length>0&&console.warn(`[ActionEngine] ${O.length}/${b.length} action(s) failed in batch:`,O.map(q=>q.message).join("; "))}catch(L){console.error(`[ActionEngine] Batch apply FAILED. Successfully applied: ${M.length}. Rolling back...`,L);for(let O of M)try{await O.revert()}catch{}throw L}return{id:$,handles:N,async revertAll(){for(let L=N.length-1;L>=0;L--)try{await N[L].revert()}catch(O){console.error(`[ActionEngine] Error reverting action ${N[L].id}:`,O)}},isApplied(){return N.every(L=>L.isApplied())}}}function _(b){return jt(b)}function w(){return Array.from(u.values()).map(b=>({id:b.id,action:b.action,adaptiveId:b.adaptiveId,appliedTs:b.appliedTs,state:b.state}))}async function R(){for(let A of p.values())for(let $ of A)try{$()}catch{}p.clear();let b=[];for(let A of u.values())if(A.state==="applied")try{let $=A.cleanup();$&&typeof $.then=="function"&&b.push($.catch(N=>{console.error("[ActionEngine] Error during async cleanup:",N)}))}catch($){console.error("[ActionEngine] Error during cleanup:",$)}u.clear(),b.length>0&&await Promise.all(b)}return{apply:x,applyBatch:k,validate:_,getActive:w,destroy:R}}var Hm=d.object({include:d.array(d.string()).optional().describe("URL patterns where this tile appears. Supports *, **, :param wildcards. Use sparingly \u2014 mostly to isolate to specific webapp functionality. Omit to appear on all routes."),exclude:d.array(d.string()).optional().describe("URL patterns where this tile should NOT appear. Evaluated before include.")}),$a=d.object({routes:Hm,onlyIfPopulated:d.boolean().optional().describe("When true, tile is hidden if none of its props.actions[] have an active triggerWhen. Useful for tiles with all-deferred FAQ questions or nav tips. Default: false.")});function NM(r){return Cr.safeParse(r)}function LM(r){return hs.safeParse(r)}function FM(r){return $a.safeParse(r)}var DM=[{defName:"matchOp",schema:os},{defName:"counterDef",schema:as},{defName:"activationConfig",schema:$a},{defName:"routeFilter",schema:Hm},{defName:"ruleStrategy",schema:cs},{defName:"scoreStrategy",schema:us},{defName:"modelStrategy",schema:ds},{defName:"externalStrategy",schema:ps},{defName:"rule",schema:ls},{defName:"condition",schema:Cr}];var Du=d.object({tileId:d.string(),itemId:d.string().optional()}).strict(),IS=d.object({on:d.string(),title:d.string(),body:d.string().optional(),icon:d.string().optional(),ttl:d.number().optional(),cooldown:d.number().optional(),deepLink:Du.optional()}).strict(),$S=d.object({id:d.string(),title:d.string().optional(),subtitle:d.string().optional(),icon:d.string().optional(),priority:d.number().optional(),widget:d.string(),props:d.record(d.unknown()).optional(),activation:$a.optional(),notifications:d.array(IS).optional()}).strict(),MS=d.object({position:d.enum(["left","right"]).optional(),layout:d.enum(["overlay","push"]).optional(),background:d.string().optional(),blur:d.string().optional(),border:d.string().optional(),width:d.string().optional(),padding:d.string().optional(),transitionDuration:d.string().optional(),transitionEasing:d.string().optional(),transitionFade:d.string().optional()}),OS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),color:d.string().optional(),size:d.string().optional(),shadow:d.string().optional(),borderRadius:d.string().optional(),icon:d.string().optional()}),PS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),shadow:d.string().optional(),titleColor:d.string().optional(),textColor:d.string().optional(),iconBackground:d.string().optional(),iconShadow:d.string().optional(),headerPadding:d.string().optional(),bodyPadding:d.string().optional(),gap:d.string().optional()}),NS=d.object({background:d.string().optional(),textColor:d.string().optional(),titleColor:d.string().optional(),arrowColor:d.string().optional(),arrowSize:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),scrimOpacity:d.string().optional(),highlightRing:d.string().optional()}),LS=d.object({background:d.string().optional(),textColor:d.string().optional(),textSecondaryColor:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),successColor:d.string().optional(),warningColor:d.string().optional(),errorColor:d.string().optional(),iconBackground:d.string().optional(),progressGradient:d.string().optional()}),FS=d.object({background:d.string().optional(),backgroundHover:d.string().optional(),border:d.string().optional(),borderRadius:d.string().optional(),textColor:d.string().optional(),textSecondaryColor:d.string().optional(),itemDivider:d.string().optional(),itemGap:d.string().optional(),itemPadding:d.string().optional(),itemFontSize:d.string().optional(),bodyPadding:d.string().optional(),bodyFontSize:d.string().optional(),categoryPadding:d.string().optional(),categoryGap:d.string().optional(),categoryFontSize:d.string().optional(),searchBackground:d.string().optional(),searchColor:d.string().optional(),chevronColor:d.string().optional()}),DS=d.object({mode:d.enum(["dark","light"]).optional(),fontFamily:d.string().optional(),colorPrimary:d.string().optional(),colorPrimaryHover:d.string().optional(),borderRadius:d.string().optional(),canvas:MS.optional(),launcher:OS.optional(),tile:PS.optional(),overlay:NS.optional(),notification:LS.optional(),content:FS.optional()}).strict(),HS=d.object({enabled:d.boolean().optional(),label:d.string().optional(),position:d.string().optional(),animate:d.boolean().optional(),animationStyle:d.enum(["pulse","bounce","glow"]).optional(),notificationCount:d.number().optional()}).strict(),WM=d.object({schemaVersion:d.string().optional(),fetchedAt:d.string().datetime(),configVersion:d.string().optional(),canvasTitle:d.string().optional(),displayMode:d.enum(["standard","focused","inline"]).optional(),tiles:d.array($S),actions:d.array(d.any()),theme:DS.optional(),launcher:HS.optional(),meta:d.object({verificationSteps:d.array(d.union([d.string(),d.object({text:d.string(),check:Cr.optional()})])).optional()}).passthrough().optional()}).strict();var He={triggerWhen:oa},_t=d.object({selector:d.string(),route:d.union([d.string(),d.array(d.string())])}).strict(),Bm=d.object({color:d.string().optional(),scrimOpacity:d.number().min(0).max(1).optional(),paddingPx:d.number().optional(),radiusPx:d.number().optional()}).strict(),Vm=d.enum(["top-left","top-right","bottom-left","bottom-right"]),jm=d.enum(["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"]),Bu=d.object({label:d.string(),actionId:d.string(),primary:d.boolean().optional()}).strict(),Wm=d.object({title:d.string().optional(),body:d.string(),ctaButtons:d.array(Bu).optional()}).strict(),Um=d.object({title:d.string().optional(),body:d.string()}).strict(),zm=d.enum(["before","after","prepend","append","replace"]),qm=d.enum(["immediate","hover","click"]),Zm=d.object({widgetId:d.string(),props:d.record(d.unknown()).optional(),priority:d.number().optional()}).strict(),Gm=d.object({id:d.string(),action:d.any(),route:d.string().optional(),onAction:d.record(d.string()).optional()}).passthrough(),Km=d.enum(["auto","smooth","instant"]),Hu=d.enum(["start","center","end","nearest"]),Ym=d.object({kind:d.literal("content:setText"),anchorId:_t,text:d.string(),label:d.string().optional()}).extend(He).strict(),Xm=d.object({kind:d.literal("content:setAttr"),anchorId:_t,attr:d.string(),value:d.string(),label:d.string().optional()}).extend(He).strict(),Jm=d.object({kind:d.literal("content:addClass"),anchorId:_t,className:d.string(),label:d.string().optional()}).extend(He).strict(),Qm=d.object({kind:d.literal("content:removeClass"),anchorId:_t,className:d.string(),label:d.string().optional()}).extend(He).strict(),ev=d.object({kind:d.literal("content:setStyle"),anchorId:_t,styles:d.record(d.string()),label:d.string().optional()}).extend(He).strict(),tv=d.object({kind:d.literal("content:insertHtml"),anchorId:_t,html:d.string(),position:zm,deepLink:Du.optional(),label:d.string().optional()}).extend(He).strict(),rv=d.object({kind:d.literal("overlays:highlight"),anchorId:_t,style:Bm.optional(),duration:d.number().optional(),label:d.string().optional()}).extend(He).strict(),nv=d.object({kind:d.literal("overlays:pulse"),anchorId:_t,duration:d.number().optional(),label:d.string().optional()}).extend(He).strict(),iv=d.object({kind:d.literal("overlays:badge"),anchorId:_t,content:d.string(),position:Vm.optional(),label:d.string().optional()}).extend(He).strict(),sv=d.object({kind:d.literal("overlays:tooltip"),anchorId:_t,content:Wm,trigger:qm.optional(),placement:jm.optional(),waitFor:d.string().optional(),label:d.string().optional()}).extend(He).strict(),ov=d.object({kind:d.literal("overlays:modal"),content:Um,size:d.enum(["sm","md","lg"]).optional(),blocking:d.boolean().optional(),scrim:d.object({opacity:d.number().min(0).max(1).optional()}).strict().optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().min(0).optional()}).strict().optional(),ctaButtons:d.array(Bu).optional(),waitFor:d.string().optional(),label:d.string().optional()}).extend(He).strict(),av=d.object({kind:d.literal("navigation:scrollTo"),anchorId:_t,behavior:Km.optional(),block:Hu.optional(),inline:Hu.optional(),label:d.string().optional()}).extend(He).strict(),lv=d.object({kind:d.literal("navigation:navigate"),url:d.string(),target:d.enum(["_self","_blank"]).optional(),label:d.string().optional()}).extend(He).strict(),cv=d.object({kind:d.literal("core:mountWidget"),slot:d.string(),widget:Zm,label:d.string().optional()}).extend(He).strict(),uv=d.object({kind:d.literal("core:wait"),durationMs:d.number().min(0).optional(),event:d.string().optional(),label:d.string().optional()}).extend(He).strict(),dv=d.object({kind:d.literal("core:sequence"),actions:d.array(d.any()),label:d.string().optional()}).extend(He).strict(),pv=d.object({kind:d.literal("core:parallel"),actions:d.array(d.any()),waitFor:d.enum(["all","any"]).optional(),label:d.string().optional()}).extend(He).strict(),hv=d.object({kind:d.literal("overlays:tour"),tourId:d.string(),steps:d.array(Gm).min(1),startStep:d.string().optional(),autoStart:d.boolean().optional(),label:d.string().optional()}).extend(He).passthrough(),BS=[{defName:"setText",schema:Ym},{defName:"setAttr",schema:Xm},{defName:"addClass",schema:Jm},{defName:"removeClass",schema:Qm},{defName:"setStyle",schema:ev},{defName:"insertHtml",schema:tv},{defName:"highlight",schema:rv},{defName:"pulse",schema:nv},{defName:"badge",schema:iv},{defName:"tooltip",schema:sv},{defName:"modal",schema:ov},{defName:"scrollTo",schema:av},{defName:"navigate",schema:lv},{defName:"mountWidget",schema:cv},{defName:"wait",schema:uv},{defName:"sequence",schema:dv},{defName:"parallel",schema:pv},{defName:"tour",schema:hv}];function Vu(r){let e=r?.root??(typeof document<"u"?document.body:null),t=r?.defaultTimeoutMs??5e3,n=new Map,i=new Map,s=null,o=!1;function a(g){if(!e)return null;try{return e.matches(g)?e:e.querySelector(g)}catch{return null}}function l(){for(let[g,y]of n){let x=a(g);if(x){for(let k of y)clearTimeout(k.timer),k.resolve(x);n.delete(g)}}for(let[g,y]of i){let x=a(g);if(x){for(let k of y)k.cancelled||k.cb(x);i.delete(g)}}n.size===0&&i.size===0&&u()}function c(){s||o||typeof MutationObserver>"u"||!e||(s=new MutationObserver(()=>{l()}),s.observe(e,{childList:!0,subtree:!0}))}function u(){s&&(s.disconnect(),s=null)}function p(g,y){let x=n.get(g);x&&(x.delete(y),x.size===0&&n.delete(g)),n.size===0&&i.size===0&&u()}function h(g,y){if(o)return Promise.reject(new Error("AnchorResolver destroyed"));let x=a(g);if(x)return Promise.resolve(x);let k=y??t;return new Promise((_,w)=>{let R={resolve:_,reject:w,timer:setTimeout(()=>{p(g,R),w(new Error(`waitFor("${g}") timed out after ${k}ms`))},k)},b=n.get(g);b||(b=new Set,n.set(g,b)),b.add(R),c()})}function f(g,y){if(o)return()=>{};let x=a(g);if(x)return y(x),()=>{};let k={cb:y,cancelled:!1},_=i.get(g);return _||(_=new Set,i.set(g,_)),_.add(k),c(),()=>{k.cancelled=!0;let w=i.get(g);w&&(w.delete(k),w.size===0&&i.delete(g)),n.size===0&&i.size===0&&u()}}function v(){let g=0;for(let y of n.values())g+=y.size;return g}function m(){o=!0,u();let g=new Error("AnchorResolver destroyed");for(let y of n.values())for(let x of y)clearTimeout(x.timer),x.reject(g);n.clear(),i.clear()}return{resolve:a,waitFor:h,onAppear:f,pendingCount:v,destroy:m}}var fv={timeout:300,className:"sc-anti-flicker",style:"opacity: 0 !important",hostLoadingSelector:"",waitForHostReady:""};function gv(r={}){let{timeout:e,className:t,style:n,hostLoadingSelector:i,waitForHostReady:s}={...fv,...r};if(i&&document.querySelector(i))return()=>{};let o=document.createElement("style");o.textContent=`.${t} { ${n} }`,document.head.appendChild(o),document.documentElement.classList.add(t);let a=!1,l=()=>{a||(a=!0,clearTimeout(u),document.documentElement.classList.remove(t),o.remove(),s&&c&&document.removeEventListener(s,c))},c;s&&(c=()=>l(),document.addEventListener(s,c));let u=setTimeout(()=>{l()},e);return()=>{l()}}function VS(r={}){let{className:e,style:t}={...fv,...r};return`
740
740
  (function() {
741
741
  var s = document.createElement('style');
742
742
  s.textContent = '.${e} { ${t} }';
743
743
  document.head.appendChild(s);
744
744
  document.documentElement.className += ' ${e}';
745
- })();`}var jS=["cdn.syntrologie.com","api.syntrologie.com","dev-api.syntrologie.com","localhost","127.0.0.1",".syntrologie.com"];function fv(r){if(typeof window>"u")return null;let t=new URLSearchParams(window.location.search).get(r);if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(n))}catch(n){return Je("Syntro Runtime",`Failed to decode ${r}:`,n),null}}var Vu="__syntro_rt_editor_source",ju="__syntro_rt_editor_conf";function $a(r,e){try{sessionStorage.setItem(r,JSON.stringify(e))}catch{}}function gv(r){try{let e=sessionStorage.getItem(r);return e?JSON.parse(e):null}catch{return null}}var Mr,Or;function Rs(){if(Mr==null){let r=typeof window<"u"?window.__SYNTRO_EDITOR_PARAMS__:null;if(r?.token)Mr={token:r.token,api_base:r.apiBase||""},$a(Vu,Mr),console.log(`[DIAG] getEditorSource: from __SYNTRO_EDITOR_PARAMS__ (token=${Mr.token.slice(0,15)}...)`);else{let e=fv("editor_source");if(e)Mr=e,$a(Vu,e);else{let t=gv(Vu);t?.token&&(Mr=t,console.log(`[DIAG] getEditorSource: restored from sessionStorage (token=${t.token.slice(0,15)}...)`))}console.log(`[DIAG] getEditorSource: from URL param \u2192 ${e?`token=${e.token?.slice(0,15)}...`:"NULL"}`),!e&&typeof window<"u"&&console.log(`[DIAG] getEditorSource: URL search = ${window.location.search.slice(0,200)}`)}}return Mr??null}function Ma(){if(Or==null){let r=typeof window<"u"?window.__SYNTRO_EDITOR_PARAMS__:null;if(r?.mode)Or={mode:r.mode,audit_session_id:r.auditSessionId,syntro_token:r.syntroToken,workspace_id:r.workspaceId},$a(ju,Or),console.log(`[DIAG] getEditorConf: from __SYNTRO_EDITOR_PARAMS__ (mode=${Or.mode})`);else{let e=fv("editor_conf");if(e)Or=e,$a(ju,e);else{let t=gv(ju);t?.mode&&(Or=t,console.log(`[DIAG] getEditorConf: restored from sessionStorage (mode=${t.mode})`))}console.log(`[DIAG] getEditorConf: from URL param \u2192 ${e?`mode=${e.mode}`:"NULL"}`)}}return Or??null}function WS(r){z("Syntro Runtime","Validating editor URL:",r);try{if(r.startsWith("/"))return z("Syntro Runtime","\u2713 Relative URL allowed (same-origin):",r),!0;let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(Je("Syntro Runtime","\u274C Editor URL must use HTTPS:",r),!1):jS.some(i=>i.startsWith(".")?e.hostname.endsWith(i)||e.hostname===i.slice(1):e.hostname===i)?(z("Syntro Runtime","\u2713 Editor URL validated"),!0):(Je("Syntro Runtime","\u274C Editor URL host not in allowlist:",e.hostname),!1)}catch(e){return Je("Syntro Runtime",`\u274C Invalid editor URL: ${r}`,e),!1}}var Oa=()=>{let r=Ma();return!Rs()?.token||!r?.mode?null:r.mode};function US(){return Rs()?.token??null}function zS(){return Rs()?.api_base??null}var As=null,mv=async r=>{if(z("Syntro Runtime","====== LOAD EDITOR SDK ======"),typeof window>"u"){z("Syntro Runtime","Not in browser - skipping editor SDK load");return}if(window.SyntroEditor){z("Syntro Runtime","Editor SDK already loaded (window.SyntroEditor exists)");return}if(As)return z("Syntro Runtime","Editor SDK load already in progress, waiting..."),As;let e=typeof r=="string"?{editorUrl:r}:r??{};if(e.editorUrl==="skip"){z("Syntro Runtime",'editorUrl="skip" \u2014 deferring to caller'),z("Syntro Runtime","================================");return}let t=zS(),i=(t?`${t}/api/editor/sdk/editor-sdk.js`:null)||e.editorUrl;if(!i){Je("Syntro Runtime","\u274C No editor SDK URL available (no api_base, no editorUrl option)"),z("Syntro Runtime","================================");return}let s=US(),o=s?`${i}?token=${encodeURIComponent(s)}`:i;if(z("Syntro Runtime","Editor URL:",o),z("Syntro Runtime","Options:",{hasIntegrity:!!e.integrity,hasEditorUrl:!!i,hasApiBase:!!t,tokenPrefix:s?`${s.slice(0,10)}...`:"none"}),!WS(i)){console.error("[Syntro Runtime] \u274C BLOCKED: Editor from untrusted URL:",i),z("Syntro Runtime","================================");return}return z("Syntro Runtime","\u2713 URL validated, injecting script tag..."),As=new Promise((a,l)=>{let c=document.createElement("script");c.src=o,c.async=!0,e.integrity&&(c.integrity=e.integrity,c.crossOrigin="anonymous",z("Syntro Runtime","SRI integrity check enabled")),c.onload=()=>{z("Syntro Runtime","\u2713 Editor SDK script loaded successfully"),z("Syntro Runtime","================================"),a()},c.onerror=u=>{console.error("[Syntro Runtime] \u274C Failed to load Editor SDK:",u),console.error("[Syntro Runtime] URL attempted:",o),z("Syntro Runtime","================================"),As=null,l(u)},document.head.appendChild(c),z("Syntro Runtime","Script tag appended to <head>")}),As};var Wt=null;function yv(r){Wt&&Wt!==r?r.appendChild(Wt):Wt=r;let e=r.getRootNode();e instanceof ShadowRoot&&qS(e)}function _v(){return Wt||(Wt=document.createElement("div"),Wt.id="syntro-overlays",Object.assign(Wt.style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),document.body.appendChild(Wt)),Wt}var vv=!1;function qS(r){if(vv)return;let e=`
745
+ })();`}var jS=["cdn.syntrologie.com","api.syntrologie.com","dev-api.syntrologie.com","localhost","127.0.0.1",".syntrologie.com"];function mv(r){if(typeof window>"u")return null;let t=new URLSearchParams(window.location.search).get(r);if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(n))}catch(n){return Je("Syntro Runtime",`Failed to decode ${r}:`,n),null}}var ju="__syntro_rt_editor_source",Wu="__syntro_rt_editor_conf";function Ma(r,e){try{sessionStorage.setItem(r,JSON.stringify(e))}catch{}}function vv(r){try{let e=sessionStorage.getItem(r);return e?JSON.parse(e):null}catch{return null}}var Mr,Or;function Ts(){if(Mr==null){let r=typeof window<"u"?window.__SYNTRO_EDITOR_PARAMS__:null;if(r?.token)Mr={token:r.token,api_base:r.apiBase||""},Ma(ju,Mr),console.log(`[DIAG] getEditorSource: from __SYNTRO_EDITOR_PARAMS__ (token=${Mr.token.slice(0,15)}...)`);else{let e=mv("editor_source");if(e)Mr=e,Ma(ju,e);else{let t=vv(ju);t?.token&&(Mr=t,console.log(`[DIAG] getEditorSource: restored from sessionStorage (token=${t.token.slice(0,15)}...)`))}console.log(`[DIAG] getEditorSource: from URL param \u2192 ${e?`token=${e.token?.slice(0,15)}...`:"NULL"}`),!e&&typeof window<"u"&&console.log(`[DIAG] getEditorSource: URL search = ${window.location.search.slice(0,200)}`)}}return Mr??null}function Oa(){if(Or==null){let r=typeof window<"u"?window.__SYNTRO_EDITOR_PARAMS__:null;if(r?.mode)Or={mode:r.mode,audit_session_id:r.auditSessionId,syntro_token:r.syntroToken,workspace_id:r.workspaceId},Ma(Wu,Or),console.log(`[DIAG] getEditorConf: from __SYNTRO_EDITOR_PARAMS__ (mode=${Or.mode})`);else{let e=mv("editor_conf");if(e)Or=e,Ma(Wu,e);else{let t=vv(Wu);t?.mode&&(Or=t,console.log(`[DIAG] getEditorConf: restored from sessionStorage (mode=${t.mode})`))}console.log(`[DIAG] getEditorConf: from URL param \u2192 ${e?`mode=${e.mode}`:"NULL"}`)}}return Or??null}function WS(r){z("Syntro Runtime","Validating editor URL:",r);try{if(r.startsWith("/"))return z("Syntro Runtime","\u2713 Relative URL allowed (same-origin):",r),!0;let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(Je("Syntro Runtime","\u274C Editor URL must use HTTPS:",r),!1):jS.some(i=>i.startsWith(".")?e.hostname.endsWith(i)||e.hostname===i.slice(1):e.hostname===i)?(z("Syntro Runtime","\u2713 Editor URL validated"),!0):(Je("Syntro Runtime","\u274C Editor URL host not in allowlist:",e.hostname),!1)}catch(e){return Je("Syntro Runtime",`\u274C Invalid editor URL: ${r}`,e),!1}}var Pa=()=>{let r=Oa();return!Ts()?.token||!r?.mode?null:r.mode};function US(){return Ts()?.token??null}function zS(){return Ts()?.api_base??null}var Rs=null,yv=async r=>{if(z("Syntro Runtime","====== LOAD EDITOR SDK ======"),typeof window>"u"){z("Syntro Runtime","Not in browser - skipping editor SDK load");return}if(window.SyntroEditor){z("Syntro Runtime","Editor SDK already loaded (window.SyntroEditor exists)");return}if(Rs)return z("Syntro Runtime","Editor SDK load already in progress, waiting..."),Rs;let e=typeof r=="string"?{editorUrl:r}:r??{};if(e.editorUrl==="skip"){z("Syntro Runtime",'editorUrl="skip" \u2014 deferring to caller'),z("Syntro Runtime","================================");return}let t=zS(),i=(t?`${t}/api/editor/sdk/editor-sdk.js`:null)||e.editorUrl;if(!i){Je("Syntro Runtime","\u274C No editor SDK URL available (no api_base, no editorUrl option)"),z("Syntro Runtime","================================");return}let s=US(),o=s?`${i}?token=${encodeURIComponent(s)}`:i;if(z("Syntro Runtime","Editor URL:",o),z("Syntro Runtime","Options:",{hasIntegrity:!!e.integrity,hasEditorUrl:!!i,hasApiBase:!!t,tokenPrefix:s?`${s.slice(0,10)}...`:"none"}),!WS(i)){console.error("[Syntro Runtime] \u274C BLOCKED: Editor from untrusted URL:",i),z("Syntro Runtime","================================");return}return z("Syntro Runtime","\u2713 URL validated, injecting script tag..."),Rs=new Promise((a,l)=>{let c=document.createElement("script");c.src=o,c.async=!0,e.integrity&&(c.integrity=e.integrity,c.crossOrigin="anonymous",z("Syntro Runtime","SRI integrity check enabled")),c.onload=()=>{z("Syntro Runtime","\u2713 Editor SDK script loaded successfully"),z("Syntro Runtime","================================"),a()},c.onerror=u=>{console.error("[Syntro Runtime] \u274C Failed to load Editor SDK:",u),console.error("[Syntro Runtime] URL attempted:",o),z("Syntro Runtime","================================"),Rs=null,l(u)},document.head.appendChild(c),z("Syntro Runtime","Script tag appended to <head>")}),Rs};var Wt=null;function bv(r){Wt&&Wt!==r?r.appendChild(Wt):Wt=r;let e=r.getRootNode();e instanceof ShadowRoot&&qS(e)}function xv(){return Wt||(Wt=document.createElement("div"),Wt.id="syntro-overlays",Object.assign(Wt.style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),document.body.appendChild(Wt)),Wt}var _v=!1;function qS(r){if(_v)return;let e=`
746
746
  :host {
747
747
  --syntro-surface: var(--sc-overlay-background, #0f1318);
748
748
  --syntro-fg: var(--sc-overlay-text-color, #cbd0d7);
@@ -1004,10 +1004,10 @@ Actions:`,b.map((O,q)=>` [${q}] ${O.kind} ${O.anchorId?`anchor="${O.anchorId.se
1004
1004
  .syntro-modal-btn-primary:hover {
1005
1005
  background: var(--syntro-accent-hover, #d44844);
1006
1006
  }
1007
- `,t=document.createElement("style");t.setAttribute("data-syntro","base-overlay"),t.textContent=e,r.appendChild(t),vv=!0}var Wu=async(r={})=>{if(typeof window>"u"||typeof document>"u")throw new Error("SmartCanvas can only be created in a browser-like environment");let e=null;if(r.antiFlicker){let g=typeof r.antiFlicker=="object"?r.antiFlicker:{};e=hv(g)}let t=null,n=null,i=null,{runtime:s}=r;async function o(g){!s?.actions||g.length===0||(i?.isApplied()&&await i.revertAll(),i=await s.actions.applyBatch(g))}async function a(){i?.isApplied()&&(await i.revertAll(),i=null)}if(r.fetcher)try{n=r.fetcher,console.log("[SmartCanvas] Fetching initial config...");let g=await r.fetcher();t=g,console.log("[SmartCanvas] Config fetched:",`tiles=${g.tiles?.length??0},`,`actions=${g.actions?.length??0},`,`theme=${g.theme?.mode??"default"}`),g.actions?.length&&console.log("[SmartCanvas] Actions to apply:",g.actions.map((y,x)=>`[${x}] ${y.kind}${y.anchorId?` anchor="${y.anchorId.selector}"`:""}${y.label?` "${y.label}"`:""}`).join(", ")),g.actions&&g.actions.length>0&&s?.actions&&(await o(g.actions),console.log("[SmartCanvas] Initial actions applied successfully")),g.tiles&&s?.accumulator&&Zn(g.tiles,s.accumulator,g.actions)}catch(g){console.error("[SmartCanvas] Error fetching/applying initial config:",g)}e&&e();let l=Oa();va();let c=document.createElement("smart-canvas");if(r.tokens)for(let[g,y]of Object.entries(r.tokens))c.style.setProperty(g,y);let u=r.integrations?.experiments,p=r.integrations?.telemetry,h=r.fetcher??qn({configUri:r.configUri,experiments:u,featureKey:r.configUriFeatureKey,credentials:r.fetchCredentials});n||(n=h);let f={fetcher:h,configUri:r.configUri,configUriFeatureKey:r.configUriFeatureKey,fetchCredentials:r.fetchCredentials,experiments:u,telemetry:p,runtime:s,initialBatchHandle:i,initialBatchActions:i?t?.actions??[]:void 0,workspaceTheme:r.workspaceTheme};c.mountLitApp(f),r.defaultOpen&&c.open();let v=()=>{let g=r.target??document.body;if(g){g.appendChild(c);let y=c.getOverlayContainer();y&&yv(y)}};document.body?v():document.addEventListener("DOMContentLoaded",v,{once:!0}),(l||r.editorUrl)&&(console.log(`[SmartCanvas] Loading editor SDK for ${l??"config"} mode`),mv(r.editorUrl).catch(console.error));let m={el:c,open:()=>c.open(),close:()=>c.close(),destroy:()=>{a(),c.remove()},setTokens:g=>{for(let[y,x]of Object.entries(g))c.style.setProperty(y,x)},getConfig:async()=>{if(n)try{let g=await n();return t=g,g}catch(g){console.error("[SmartCanvas] Error fetching config:",g)}return t??{tiles:[],actions:[],fetchedAt:""}},setEnabled:async g=>{g?t&&await o(t.actions):await a()},setOverrideFetcher:g=>{n=g,c.setOverrideFetcher(g),s?.accumulator&&g().then(y=>{y?.tiles&&Zn(y.tiles,s.accumulator,y.actions)}).catch(()=>{})},registerTelemetryProperties:g=>{p?.register?.(g)},getSessionId:()=>p?.getSessionId?.(),startSessionRecording:()=>{p?.startSessionRecording?.()},track:(g,y)=>p?.track?(p.track(g,y),!0):!1,runtime:s};if(typeof window<"u"){let g=window.SynOS;g&&(g.handle=m)}return m};typeof window<"u"&&(window.SmartCanvas={async create(r){return Wu(r)}});var Uu="syn_";function Ts(r){if(!r.startsWith(Uu))throw new Error("Invalid Syntro token: must start with 'syn_'");let t=r.slice(Uu.length).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t),i=JSON.parse(n);if(i.v!==1)throw new Error(`Unsupported token version: ${i.v}`);return i}function zu(r){let e=JSON.stringify(r),t=btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return Uu+t}function bt(r){if(typeof process<"u"&&process.env)return process.env[r];if(typeof import.meta.env<"u"&&import.meta.env)return import.meta.env[r]}var xv="syntro_segment_attributes";function wv(){if(typeof window>"u")return{};try{let r=localStorage.getItem(xv);if(r){let e=JSON.parse(r);return z("Syntro Bootstrap","Loaded cached segment attributes:",e),e}}catch(r){Je("Syntro Bootstrap","Failed to load cached segment attributes:",r)}return{}}function kv(r){if(!(typeof window>"u"))try{localStorage.setItem(xv,JSON.stringify(r)),z("Syntro Bootstrap","Cached segment attributes:",r)}catch(e){Je("Syntro Bootstrap","Failed to cache segment attributes:",e)}}function Sv(r){if(!r)return{};let e={};for(let[t,n]of Object.entries(r))t.startsWith("in_segment_")&&(e[t]=n===!0);return e}function qu(){if(typeof window>"u")return{};let r={};try{let e=new URLSearchParams(window.location.search);for(let t of["utm_source","utm_medium","utm_campaign","utm_content","utm_term"]){let n=e.get(t);n&&(r[t]=n)}}catch{}try{navigator.language&&(r.browser_language=navigator.language),navigator.languages?.length&&(r.browser_languages=[...navigator.languages])}catch{}try{let e=window.innerWidth;r.device_type=e<768?"mobile":e<1024?"tablet":"desktop"}catch{}try{if(document.referrer){r.referrer=document.referrer;try{r.referrer_hostname=new URL(document.referrer).hostname}catch{}}}catch{}try{let e=navigator.userAgent;e.includes("Edg/")?r.browser="Edge":e.includes("OPR/")||e.includes("Opera")?r.browser="Opera":e.includes("Chrome/")&&!e.includes("Chromium")?r.browser="Chrome":e.includes("Safari/")&&!e.includes("Chrome")?r.browser="Safari":e.includes("Firefox/")&&(r.browser="Firefox"),e.includes("Windows")?r.os="Windows":e.includes("iPhone")||e.includes("iPad")?r.os="iOS":e.includes("Mac OS X")||e.includes("Macintosh")?r.os="macOS":e.includes("Android")?r.os="Android":e.includes("Linux")&&(r.os="Linux")}catch{}try{r.page_url=window.location.href,r.page_path=window.location.pathname,r.page_host=window.location.hostname,window.location.search&&(r.page_query=window.location.search)}catch{}try{let e=window.Telegram?.WebApp;e?(r.surface_type="telegram",r.surface_host=e.platform||"unknown"):(r.surface_type="web",r.surface_host="web")}catch{r.surface_type="web",r.surface_host="web"}return r}var bv="syntro_geo",Ev="https://geo.syntrologie.com";async function Zu(r){if(typeof window>"u")return{};try{let e=localStorage.getItem(bv);if(e){let t=JSON.parse(e);return z("Syntro Bootstrap","Geo: using cached data:",t),t}}catch{}try{let e=await fetch(r,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),n={};for(let[i,s]of Object.entries(t))typeof s=="string"&&s&&(n[i]=s);try{localStorage.setItem(bv,JSON.stringify(n))}catch{}return z("Syntro Bootstrap","Geo: fetched from worker:",n),n}}catch{}return{}}var Gu=null;if(typeof document<"u")try{let r=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:null;if(r){let e=new URL(r),t=e.pathname.replace(/\/[^/]*$/,"");Gu=`${e.origin}${t}`}}catch{Gu=null}function Cv(){return Gu}var Av="app:",ZS="syntro:",GS=/^[a-z][a-z0-9_]*$/;function Ku(r){if(!r)return{valid:!1,reason:"Event name cannot be empty"};if(r.startsWith(ZS))return{valid:!1,reason:'"syntro:" prefix is reserved for internal SDK events'};if(!r.startsWith(Av))return{valid:!1,reason:`Custom events must start with "app:" prefix. Got: "${r}"`};let e=r.slice(Av.length).split(":");if(e.length<2)return{valid:!1,reason:`Event name must have at least 2 segments after "app:" (app:{category}:{action}). Got: "${r}"`};for(let t of e)if(!GS.test(t))return{valid:!1,reason:`Segment "${t}" must be lowercase alphanumeric + underscores. Got: "${r}"`};return{valid:!0}}function KS(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null}function Rv(r,e,t=0){if(t>=e)return!1;for(let n of Object.values(r))if(n!==null&&typeof n=="object"&&!Array.isArray(n)&&!Rv(n,e,t+1))return!1;return!0}function Yu(r){if(r===void 0)return{valid:!0};if(r===null||typeof r!="object"||Array.isArray(r))return{valid:!1,reason:"Props must be a plain object"};if(!Rv(r,2))return{valid:!1,reason:"Props nesting depth exceeds 2 levels"};let e=[];for(let[t,n]of Object.entries(r))n!==null&&typeof n=="object"||KS(n)||e.push(t);return e.length>0?{valid:!0,stripped:e}:{valid:!0}}function Pa(r,e){return e?!(e.names&&e.names.length>0&&!e.names.includes(r.name)||e.patterns&&e.patterns.length>0&&!e.patterns.some(n=>{try{return new RegExp(n).test(r.name)}catch{return!1}})||e.sources&&e.sources.length>0&&!e.sources.includes(r.source)):!0}var Na=class{constructor(e={}){this.subscriptions=new Set;this.history=[];this.maxHistorySize=e.maxHistorySize??100,this.debug=e.debug??!1,this.emitHistory=e.history??null,this.posthogCapture=e.posthogCapture??null,this.testMode=e.testMode??!1}subscribe(e,t){let n,i;typeof e=="function"?(n=void 0,i=e):(n=e,i=t);let s={filter:n,callback:i};return this.subscriptions.add(s),()=>{this.subscriptions.delete(s)}}publish(e,t,n="canvas"){let i={ts:Date.now(),name:e,source:n,props:t,schemaVersion:Ie};this.publishEvent(i)}publishEvent(e){this.history.push(e),this.history.length>this.maxHistorySize&&this.history.shift();for(let t of this.subscriptions)if(Pa(e,t.filter))try{t.callback(e)}catch(n){console.error("[EventBus] Subscriber error:",n)}}emit(e,t){let n=Ku(e);if(!n.valid)return console.warn(`[EventBus] emit() rejected: ${n.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let i=Yu(t);if(!i.valid)return console.warn(`[EventBus] emit() rejected props: ${i.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let s={ts:Date.now(),name:e,source:"custom",props:t,schemaVersion:Ie};this.history.push(s),this.history.length>this.maxHistorySize&&this.history.shift();let o=0;for(let l of this.subscriptions)if(Pa(s,l.filter))try{l.callback(s),o++}catch(c){console.error("[EventBus] Subscriber error:",c),o++}let a=!1;if(this.posthogCapture&&!this.testMode)try{this.posthogCapture(e,t),a=!0}catch(l){console.error("[EventBus] PostHog capture error:",l)}if(this.emitHistory&&this.emitHistory.record({name:e,props:t,source:"custom",timestamp:s.ts,matchedRules:[]}),this.debug)return console.debug("[EventBus] emit()",{name:e,props:t,listenersNotified:o,posthogCaptured:a}),{delivered:!0,matchedRules:[],posthogCaptured:a,listenersNotified:o}}setPosthogCapture(e){this.posthogCapture=e}getRecent(e,t){let n=this.history;return e&&(n=n.filter(i=>Pa(i,e))),t&&t>0&&(n=n.slice(-t)),n}hasRecentEvent(e,t,n){let i=Date.now()-t;return this.history.some(s=>s.name===e&&s.ts>=i&&(n===void 0||s.source===n))}countRecentEvents(e,t){let n=this.history.filter(i=>Pa(i,e));if(t!==void 0){let i=Date.now()-t;n=n.filter(s=>s.ts>=i)}return n.length}clearHistory(){this.history=[]}getSubscriberCount(){return this.subscriptions.size}};function Is(r={}){return new Na(r)}var $s=class{constructor(e=100){this.entries=[];this.maxSize=e}record(e){this.entries.push(e),this.maxSize>0&&this.entries.length>this.maxSize&&this.entries.shift()}getAll(){return[...this.entries]}clear(){this.entries=[]}};var Iv={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function $v(){return Iv}function Xu(r){let e=2166136261,t=r.length;for(let n=0;n<t;n++)e^=r.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0}function Ms(r,e,t){return t===2?Xu(Xu(r+e)+"")%1e4/1e4:t===1?Xu(e+r)%1e3/1e3:null}function YS(r){return r<=0?[]:new Array(r).fill(1/r)}function La(r,e){return r>=e[0]&&r<e[1]}function Mv(r,e){let t=Ms("__"+e[0],r,1);return t===null?!1:t>=e[1]&&t<e[2]}function Ov(r,e){for(let t=0;t<e.length;t++)if(La(r,e[t]))return t;return-1}function Qu(r){try{let e=r.replace(/([^\\])\//g,"$1\\/");return new RegExp(e)}catch(e){console.error(e);return}}function Fa(r,e){if(!e.length)return!1;let t=!1,n=!1;for(let i=0;i<e.length;i++){let s=QS(r,e[i].type,e[i].pattern);if(e[i].include===!1){if(s)return!1}else t=!0,s&&(n=!0)}return n||!t}function XS(r,e,t){try{let n=e.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return t&&(n="\\/?"+n.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+n+"$","i").test(r)}catch{return!1}}function JS(r,e){try{let t=new URL(e.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),n=[[r.host,t.host,!1],[r.pathname,t.pathname,!0]];return t.hash&&n.push([r.hash,t.hash,!1]),t.searchParams.forEach((i,s)=>{n.push([r.searchParams.get(s)||"",i,!1])}),!n.some(i=>!XS(i[0],i[1],i[2]))}catch{return!1}}function QS(r,e,t){try{let n=new URL(r,"https://_");if(e==="regex"){let i=Qu(t);return i?i.test(n.href)||i.test(n.href.substring(n.origin.length)):!1}else if(e==="simple")return JS(n,t);return!1}catch{return!1}}function Pv(r,e,t){e=e===void 0?1:e,e<0?e=0:e>1&&(e=1);let n=YS(r);t=t||n,t.length!==r&&(t=n);let i=t.reduce((o,a)=>a+o,0);(i<.99||i>1.01)&&(t=n);let s=0;return t.map(o=>{let a=s;return s+=o,[a,a+e*o]})}function Nv(r,e,t){if(!e)return null;let n=e.split("?")[1];if(!n)return null;let i=n.replace(/#.*/,"").split("&").map(s=>s.split("=",2)).filter(([s])=>s===r).map(([,s])=>parseInt(s));return i.length>0&&i[0]>=0&&i[0]<t?i[0]:null}function Lv(r){try{return r()}catch(e){return console.error(e),!1}}var Ju=r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0));async function Rn(r,e,t){if(e=e||"",t=t||globalThis.crypto&&globalThis.crypto.subtle||Iv.SubtleCrypto,!t)throw new Error("No SubtleCrypto implementation found");try{let n=await t.importKey("raw",Ju(e),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[i,s]=r.split("."),o=await t.decrypt({name:"AES-CBC",iv:Ju(i)},n,Ju(s));return new TextDecoder().decode(o)}catch{throw new Error("Failed to decrypt")}}function Os(r){return typeof r=="string"?r:JSON.stringify(r)}function ct(r){typeof r=="number"&&(r=r+""),(!r||typeof r!="string")&&(r="0");let e=r.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return e.length===3&&e.push("~"),e.map(t=>t.match(/^[0-9]+$/)?t.padStart(5," "):t).join("-")}function Fv(){let r;try{r="1.6.4"}catch{r=""}return r}function Dv(r,e){let t,n;try{t=new URL(r),n=new URL(e)}catch(i){return console.error(`Unable to merge query strings: ${i}`),e}return t.searchParams.forEach((i,s)=>{n.searchParams.has(s)||n.searchParams.set(s,i)}),n.toString()}function Tv(r){return typeof r=="object"&&r!==null}function Da(r){return r.urlPatterns&&r.variations.some(e=>Tv(e)&&"urlRedirect"in e)?"redirect":r.variations.some(e=>Tv(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function Ha(r,e){return new Promise(t=>{let n=!1,i,s=o=>{n||(n=!0,i&&clearTimeout(i),t(o||null))};e&&(i=setTimeout(()=>s(),e)),r.then(o=>s(o)).catch(()=>s())})}var Ke={staleTTL:1e3*60,maxAge:1e3*60*60*4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4,disableCache:!1},Ut=$v(),oi={fetchFeaturesCall:({host:r,clientKey:e,headers:t})=>Ut.fetch(`${r}/api/features/${e}`,{headers:t}),fetchRemoteEvalCall:({host:r,clientKey:e,payload:t,headers:n})=>{let i={method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(t)};return Ut.fetch(`${r}/api/eval/${e}`,i)},eventSourceCall:({host:r,clientKey:e,headers:t})=>t?new Ut.EventSource(`${r}/sub/${e}`,{headers:t}):new Ut.EventSource(`${r}/sub/${e}`),startIdleListener:()=>{let r;if(!(typeof window<"u"&&typeof document<"u"))return;let t=()=>{document.visibilityState==="visible"?(window.clearTimeout(r),rE()):document.visibilityState==="hidden"&&(r=window.setTimeout(tE,Ke.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(Ut.localStorage=globalThis.localStorage)}catch{}var ai=new Map,Hv=!1,ar=new Map,Ba=new Map,li=new Map,ci=new Set;function Vv(r){Object.assign(Ke,r),Ke.backgroundSync||sd()}async function jv({instance:r,timeout:e,skipCache:t,allowStale:n,backgroundSync:i}){return i||(Ke.backgroundSync=!1),nE({instance:r,allowStale:n,timeout:e,skipCache:t})}function eE(r){let e=Ps(r),t=ai.get(e)||new Set;t.add(r),ai.set(e,t)}function Wv(r){ai.forEach(e=>e.delete(r))}function tE(){li.forEach(r=>{r&&(r.state="idle",nd(r))})}function rE(){li.forEach(r=>{r&&r.state==="idle"&&id(r)})}async function Bv(){try{if(!Ut.localStorage)return;await Ut.localStorage.setItem(Ke.cacheKey,JSON.stringify(Array.from(ar.entries())))}catch{}}async function nE({instance:r,allowStale:e,timeout:t,skipCache:n}){let i=Ps(r),s=td(r),o=new Date,a=new Date(o.getTime()-Ke.maxAge+Ke.staleTTL);await iE();let l=!Ke.disableCache&&!n?ar.get(s):void 0;return l&&(e||l.staleAt>o)&&l.staleAt>a?(l.sse&&ci.add(i),l.staleAt<o?ed(r):rd(r),{data:l.data,success:!0,source:"cache"}):await Ha(ed(r),t)||{data:null,success:!1,source:"timeout",error:new Error("Timeout")}}function Ps(r){let[e,t]=r.getApiInfo();return`${e}||${t}`}function td(r){let e=Ps(r);if(!("isRemoteEval"in r)||!r.isRemoteEval())return e;let t=r.getAttributes(),n=r.getCacheKeyAttributes()||Object.keys(r.getAttributes()),i={};n.forEach(a=>{i[a]=t[a]});let s=r.getForcedVariations(),o=r.getUrl();return`${e}||${JSON.stringify({ca:i,fv:s,url:o})}`}async function iE(){if(!Hv){Hv=!0;try{if(Ut.localStorage){let r=await Ut.localStorage.getItem(Ke.cacheKey);if(!Ke.disableCache&&r){let e=JSON.parse(r);e&&Array.isArray(e)&&e.forEach(([t,n])=>{ar.set(t,{...n,staleAt:new Date(n.staleAt)})}),Uv()}}}catch{}if(!Ke.disableIdleStreams){let r=oi.startIdleListener();r&&(oi.stopIdleListener=r)}}}function Uv(){let r=Array.from(ar.entries()).map(([t,n])=>({key:t,staleAt:n.staleAt.getTime()})).sort((t,n)=>t.staleAt-n.staleAt),e=Math.min(Math.max(0,ar.size-Ke.maxEntries),ar.size);for(let t=0;t<e;t++)ar.delete(r[t].key)}function zv(r,e,t){let n=t.dateUpdated||"",i=new Date(Date.now()+Ke.staleTTL),s=Ke.disableCache?void 0:ar.get(e);if(s&&n&&s.version===n){s.staleAt=i,Bv();return}Ke.disableCache||(ar.set(e,{data:t,version:n,staleAt:i,sse:ci.has(r)}),Uv()),Bv();let o=ai.get(r);o&&o.forEach(a=>sE(a,t))}async function sE(r,e){await r.setPayload(e||r.getPayload())}async function ed(r){let{apiHost:e,apiRequestHeaders:t}=r.getApiHosts(),n=r.getClientKey(),i="isRemoteEval"in r&&r.isRemoteEval(),s=Ps(r),o=td(r),a=Ba.get(o);return a||(a=(i?oi.fetchRemoteEvalCall({host:e,clientKey:n,payload:{attributes:r.getAttributes(),forcedVariations:r.getForcedVariations(),forcedFeatures:Array.from(r.getForcedFeatures().entries()),url:r.getUrl()},headers:t}):oi.fetchFeaturesCall({host:e,clientKey:n,headers:t})).then(c=>{if(!c.ok)throw new Error(`HTTP error: ${c.status}`);return c.headers.get("x-sse-support")==="enabled"&&ci.add(s),c.json()}).then(c=>(zv(s,o,c),rd(r),Ba.delete(o),{data:c,success:!0,source:"network"})).catch(c=>(Ba.delete(o),{data:null,source:"error",success:!1,error:c})),Ba.set(o,a)),a}function rd(r,e=!1){let t=Ps(r),n=td(r),{streamingHost:i,streamingHostRequestHeaders:s}=r.getApiHosts(),o=r.getClientKey();if(e&&ci.add(t),Ke.backgroundSync&&ci.has(t)&&Ut.EventSource){if(li.has(t))return;let a={src:null,host:i,clientKey:o,headers:s,cb:l=>{try{if(l.type==="features-updated"){let c=ai.get(t);c&&c.forEach(u=>{ed(u)})}else if(l.type==="features"){let c=JSON.parse(l.data);zv(t,n,c)}a.errors=0}catch{qv(a)}},errors:0,state:"active"};li.set(t,a),id(a)}}function qv(r){if(r.state!=="idle"&&(r.errors++,r.errors>3||r.src&&r.src.readyState===2)){let e=Math.pow(3,r.errors-3)*(1e3+Math.random()*1e3);nd(r),setTimeout(()=>{["idle","active"].includes(r.state)||id(r)},Math.min(e,3e5))}}function nd(r){r.src&&(r.src.onopen=null,r.src.onerror=null,r.src.close(),r.src=null,r.state==="active"&&(r.state="disabled"))}function id(r){r.src=oi.eventSourceCall({host:r.host,clientKey:r.clientKey,headers:r.headers}),r.state="active",r.src.addEventListener("features",r.cb),r.src.addEventListener("features-updated",r.cb),r.src.onerror=()=>qv(r),r.src.onopen=()=>{r.errors=0}}function oE(r,e){nd(r),li.delete(e)}function sd(){ci.clear(),li.forEach(oE),ai.clear(),oi.stopIdleListener()}function Va(r,e){if(e.streaming){if(!r.getClientKey())throw new Error("Must specify clientKey to enable streaming");e.payload&&rd(r,!0),eE(r)}}var aE=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,ld={revert:function(){}},za=new Map,cd=new Set;function lE(r){return r==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[r]}}function qa(r){var e=za.get(r);return e||(e={element:r,attributes:{}},za.set(r,e)),e}function Za(r,e,t,n,i){var s=t(r),o={isDirty:!1,originalValue:s,virtualValue:s,mutations:[],el:r,_positionTimeout:null,observer:new MutationObserver(function(){if(!(e==="position"&&o._positionTimeout)){e==="position"&&(o._positionTimeout=setTimeout(function(){o._positionTimeout=null},1e3));var a=t(r);e==="position"&&a.parentNode===o.virtualValue.parentNode&&a.insertBeforeNode===o.virtualValue.insertBeforeNode||a!==o.virtualValue&&(o.originalValue=a,i(o))}}),mutationRunner:i,setValue:n,getCurrentValue:t};return e==="position"&&r.parentNode?o.observer.observe(r.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):o.observer.observe(r,lE(e)),o}function Ga(r,e){var t=e.getCurrentValue(e.el);e.virtualValue=r,r&&typeof r!="string"?(!t||r.parentNode!==t.parentNode||r.insertBeforeNode!==t.insertBeforeNode)&&(e.isDirty=!0,Zv()):r!==t&&(e.isDirty=!0,Zv())}function cE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ga(kE(e),r)}function uE(r){var e=new Set(r.originalValue.split(/\s+/).filter(Boolean));r.mutations.forEach(function(t){return t.mutate(e)}),Ga(Array.from(e).filter(Boolean).join(" "),r)}function dE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ga(e,r)}function pE(r){var e=r.parentSelector,t=r.insertBeforeSelector,n=document.querySelector(e);if(!n)return null;var i=t?document.querySelector(t):null;return t&&!i?null:{parentNode:n,insertBeforeNode:i}}function hE(r){var e=r.originalValue;r.mutations.forEach(function(t){var n=t.mutate(),i=pE(n);e=i||e}),Ga(e,r)}var fE=function(e){return e.innerHTML},gE=function(e,t){return e.innerHTML=t};function Kv(r){var e=qa(r);return e.html||(e.html=Za(r,"html",fE,gE,cE)),e.html}var mE=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},vE=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Yv(r){var e=qa(r);return e.position||(e.position=Za(r,"position",mE,vE,hE)),e.position}var yE=function(e,t){return t?e.className=t:e.removeAttribute("class")},_E=function(e){return e.className};function Xv(r){var e=qa(r);return e.classes||(e.classes=Za(r,"class",_E,yE,uE)),e.classes}var bE=function(e){return function(t){var n;return(n=t.getAttribute(e))!=null?n:null}},xE=function(e){return function(t,n){return n!==null?t.setAttribute(e,n):t.removeAttribute(e)}};function Jv(r,e){var t=qa(r);return t.attributes[e]||(t.attributes[e]=Za(r,e,bE(e),xE(e),dE)),t.attributes[e]}function wE(r,e){var t=za.get(r);if(t)if(e==="html"){var n,i;(n=t.html)==null||(i=n.observer)==null||i.disconnect(),delete t.html}else if(e==="class"){var s,o;(s=t.classes)==null||(o=s.observer)==null||o.disconnect(),delete t.classes}else if(e==="position"){var a,l;(a=t.position)==null||(l=a.observer)==null||l.disconnect(),delete t.position}else{var c,u,p;(c=t.attributes)==null||(u=c[e])==null||(p=u.observer)==null||p.disconnect(),delete t.attributes[e]}}var ja;function kE(r){return ja||(ja=document.createElement("div")),ja.innerHTML=r,ja.innerHTML}function Wa(r,e,t){if(t.isDirty){t.isDirty=!1;var n=t.virtualValue;t.mutations.length||wE(r,e),t.setValue(r,n)}}function SE(r,e){r.html&&Wa(e,"html",r.html),r.classes&&Wa(e,"class",r.classes),r.position&&Wa(e,"position",r.position),Object.keys(r.attributes).forEach(function(t){Wa(e,t,r.attributes[t])})}function Zv(){za.forEach(SE)}function EE(r,e){var t=null;r.kind==="html"?t=Kv(e):r.kind==="class"?t=Xv(e):r.kind==="attribute"?t=Jv(e,r.attribute):r.kind==="position"&&(t=Yv(e)),t&&(t.mutations.push(r),t.mutationRunner(t))}function CE(r,e){var t=null;if(r.kind==="html"?t=Kv(e):r.kind==="class"?t=Xv(e):r.kind==="attribute"?t=Jv(e,r.attribute):r.kind==="position"&&(t=Yv(e)),!!t){var n=t.mutations.indexOf(r);n!==-1&&t.mutations.splice(n,1),t.mutationRunner(t)}}function Qv(r){if(!(r.kind==="position"&&r.elements.size===1)){var e=new Set(r.elements),t=document.querySelectorAll(r.selector);t.forEach(function(n){e.has(n)||(r.elements.add(n),EE(r,n))})}}function AE(r){r.elements.forEach(function(e){return CE(r,e)}),r.elements.clear(),cd.delete(r)}function Gv(){cd.forEach(Qv)}var od;function RE(){typeof document>"u"||(od||(od=new MutationObserver(function(){Gv()})),Gv(),od.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}RE();function Ka(r){return typeof document>"u"?ld:(cd.add(r),Qv(r),{revert:function(){AE(r)}})}function ad(r,e){return Ka({kind:"html",elements:new Set,mutate:e,selector:r})}function ey(r,e){return Ka({kind:"position",elements:new Set,mutate:e,selector:r})}function Ns(r,e){return Ka({kind:"class",elements:new Set,mutate:e,selector:r})}function Ua(r,e,t){return aE.test(e)?e==="class"||e==="className"?Ns(r,function(n){var i=t(Array.from(n).join(" "));n.clear(),i&&i.split(/\s+/g).filter(Boolean).forEach(function(s){return n.add(s)})}):Ka({kind:"attribute",attribute:e,elements:new Set,mutate:t,selector:r}):ld}function TE(r){var e=r.selector,t=r.action,n=r.value,i=r.attribute,s=r.parentSelector,o=r.insertBeforeSelector;if(i==="html"){if(t==="append")return ad(e,function(a){return a+(n??"")});if(t==="set")return ad(e,function(){return n??""})}else if(i==="class"){if(t==="append")return Ns(e,function(a){n&&a.add(n)});if(t==="remove")return Ns(e,function(a){n&&a.delete(n)});if(t==="set")return Ns(e,function(a){a.clear(),n&&a.add(n)})}else if(i==="position"){if(t==="set"&&s)return ey(e,function(){return{insertBeforeSelector:o,parentSelector:s}})}else{if(t==="append")return Ua(e,i,function(a){return a!==null?a+(n??""):n??""});if(t==="set")return Ua(e,i,function(){return n??""});if(t==="remove")return Ua(e,i,function(){return null})}return ld}var IE={html:ad,classes:Ns,attribute:Ua,position:ey,declarative:TE},ty=IE;var ud={};function Pr(r,e,t){t=t||{};for(let[n,i]of Object.entries(e))switch(n){case"$or":if(!iy(r,i,t))return!1;break;case"$nor":if(iy(r,i,t))return!1;break;case"$and":if(!NE(r,i,t))return!1;break;case"$not":if(Pr(r,i,t))return!1;break;default:if(!Ls(i,$E(r,n),t))return!1}return!0}function $E(r,e){let t=e.split("."),n=r;for(let i=0;i<t.length;i++)if(n&&typeof n=="object"&&t[i]in n)n=n[t[i]];else return null;return n}function ry(r,e=!1){let t=`${r}${e?"/i":""}`;return ud[t]||(ud[t]=new RegExp(r.replace(/([^\\])\//g,"$1\\/"),e?"i":void 0)),ud[t]}function Ls(r,e,t,n=!1){if(typeof r=="string")return n?String(e).toLowerCase()===r.toLowerCase():e+""===r;if(typeof r=="number")return e*1===r;if(typeof r=="boolean")return e!==null&&!!e===r;if(r===null)return e===null;if(Array.isArray(r)||!sy(r))return JSON.stringify(e)===JSON.stringify(r);for(let i in r)if(!PE(i,e,r[i],t))return!1;return!0}function sy(r){let e=Object.keys(r);return e.length>0&&e.filter(t=>t[0]==="$").length===e.length}function ME(r){if(r===null)return"null";if(Array.isArray(r))return"array";let e=typeof r;return["string","number","boolean","object","undefined"].includes(e)?e:"unknown"}function OE(r,e,t){if(!Array.isArray(r))return!1;let n=sy(e)?i=>Ls(e,i,t):i=>Pr(i,e,t);for(let i=0;i<r.length;i++)if(r[i]&&n(r[i]))return!0;return!1}function ui(r,e,t=!1){if(t){let n=i=>typeof i=="string"?i.toLowerCase():i;return Array.isArray(r)?r.some(i=>e.some(s=>n(i)===n(s))):e.some(i=>n(r)===n(i))}return Array.isArray(r)?r.some(n=>e.includes(n)):e.includes(r)}function ny(r,e,t,n=!1){if(!Array.isArray(r))return!1;for(let i=0;i<e.length;i++){let s=!1;for(let o=0;o<r.length;o++)if(Ls(e[i],r[o],t,n)){s=!0;break}if(!s)return!1}return!0}function PE(r,e,t,n){switch(r){case"$veq":return ct(e)===ct(t);case"$vne":return ct(e)!==ct(t);case"$vgt":return ct(e)>ct(t);case"$vgte":return ct(e)>=ct(t);case"$vlt":return ct(e)<ct(t);case"$vlte":return ct(e)<=ct(t);case"$eq":return e===t;case"$ne":return e!==t;case"$lt":return e<t;case"$lte":return e<=t;case"$gt":return e>t;case"$gte":return e>=t;case"$exists":return t?e!=null:e==null;case"$in":return Array.isArray(t)?ui(e,t):!1;case"$ini":return Array.isArray(t)?ui(e,t,!0):!1;case"$inGroup":return ui(e,n[t]||[]);case"$notInGroup":return!ui(e,n[t]||[]);case"$nin":return Array.isArray(t)?!ui(e,t):!1;case"$nini":return Array.isArray(t)?!ui(e,t,!0):!1;case"$not":return!Ls(t,e,n);case"$size":return Array.isArray(e)?Ls(t,e.length,n):!1;case"$elemMatch":return OE(e,t,n);case"$all":return Array.isArray(t)?ny(e,t,n):!1;case"$alli":return Array.isArray(t)?ny(e,t,n,!0):!1;case"$regex":try{return ry(t).test(e)}catch{return!1}case"$regexi":try{return ry(t,!0).test(e)}catch{return!1}case"$type":return ME(e)===t;default:return console.error("Unknown operator: "+r),!1}}function iy(r,e,t){if(!e.length)return!0;for(let n=0;n<e.length;n++)if(Pr(r,e[n],t))return!0;return!1}function NE(r,e,t){for(let n=0;n<e.length;n++)if(!Pr(r,e[n],t))return!1;return!0}var LE="Feature Evaluated",FE="Experiment Viewed";function DE(r){let e=new Map;return r.global.forcedFeatureValues&&r.global.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),r.user.forcedFeatureValues&&r.user.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),e}function HE(r){return r.global.forcedVariations&&r.user.forcedVariations?{...r.global.forcedVariations,...r.user.forcedVariations}:r.global.forcedVariations?r.global.forcedVariations:r.user.forcedVariations?r.user.forcedVariations:{}}async function di(r){try{await r()}catch{}}function oy(r,e,t){if(r.user.trackedExperiments){let i=Ja(e,t);if(r.user.trackedExperiments.has(i))return[];r.user.trackedExperiments.add(i)}r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({experiment:e,result:t,timestamp:Date.now().toString(),logType:"experiment"});let n=[];if(r.global.trackingCallback){let i=r.global.trackingCallback;n.push(di(()=>i(e,t,r.user)))}if(r.user.trackingCallback){let i=r.user.trackingCallback;n.push(di(()=>i(e,t)))}if(r.global.eventLogger){let i=r.global.eventLogger;n.push(di(()=>i(FE,{experimentId:e.key,variationId:t.key,hashAttribute:t.hashAttribute,hashValue:t.hashValue},r.user)))}return n}function BE(r,e,t){if(r.user.trackedFeatureUsage){let n=JSON.stringify(t.value);if(r.user.trackedFeatureUsage[e]===n)return;r.user.trackedFeatureUsage[e]=n,r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({featureKey:e,result:t,timestamp:Date.now().toString(),logType:"feature"})}if(r.global.onFeatureUsage){let n=r.global.onFeatureUsage;di(()=>n(e,t,r.user))}if(r.user.onFeatureUsage){let n=r.user.onFeatureUsage;di(()=>n(e,t))}if(r.global.eventLogger){let n=r.global.eventLogger;di(()=>n(LE,{feature:e,source:t.source,value:t.value,ruleId:t.source==="defaultValue"?"$default":t.ruleId||"",variationId:t.experimentResult?t.experimentResult.key:""},r.user))}}function Ya(r,e){if(e.stack.evaluatedFeatures.has(r))return Nr(e,r,null,"cyclicPrerequisite");e.stack.evaluatedFeatures.add(r),e.stack.id=r;let t=DE(e);if(t.has(r))return Nr(e,r,t.get(r),"override");if(!e.global.features||!e.global.features[r])return Nr(e,r,null,"unknownFeature");let n=e.global.features[r];if(n.rules){let i=new Set(e.stack.evaluatedFeatures);e:for(let s of n.rules){if(s.parentConditions)for(let l of s.parentConditions){e.stack.evaluatedFeatures=new Set(i);let c=Ya(l.id,e);if(c.source==="cyclicPrerequisite")return Nr(e,r,null,"cyclicPrerequisite");let u={value:c.value};if(!Pr(u,l.condition||{})){if(l.gate)return Nr(e,r,null,"prerequisite");continue e}}if(s.filters&&cy(s.filters,e))continue;if("force"in s){if(s.condition&&!ly(s.condition,e)||!VE(e,s.seed||r,s.hashAttribute,e.user.saveStickyBucketAssignmentDoc&&!s.disableStickyBucketing?s.fallbackAttribute:void 0,s.range,s.coverage,s.hashVersion))continue;return s.tracks&&s.tracks.forEach(l=>{!oy(e,l.experiment,l.result).length&&e.global.saveDeferredTrack&&e.global.saveDeferredTrack({experiment:l.experiment,result:l.result})}),Nr(e,r,s.force,"force",s.id)}if(!s.variations)continue;let o={variations:s.variations,key:s.key||r};"coverage"in s&&(o.coverage=s.coverage),s.weights&&(o.weights=s.weights),s.hashAttribute&&(o.hashAttribute=s.hashAttribute),s.fallbackAttribute&&(o.fallbackAttribute=s.fallbackAttribute),s.disableStickyBucketing&&(o.disableStickyBucketing=s.disableStickyBucketing),s.bucketVersion!==void 0&&(o.bucketVersion=s.bucketVersion),s.minBucketVersion!==void 0&&(o.minBucketVersion=s.minBucketVersion),s.namespace&&(o.namespace=s.namespace),s.meta&&(o.meta=s.meta),s.ranges&&(o.ranges=s.ranges),s.name&&(o.name=s.name),s.phase&&(o.phase=s.phase),s.seed&&(o.seed=s.seed),s.hashVersion&&(o.hashVersion=s.hashVersion),s.filters&&(o.filters=s.filters),s.condition&&(o.condition=s.condition);let{result:a}=Xa(o,r,e);if(e.global.onExperimentEval&&e.global.onExperimentEval(o,a),a.inExperiment&&!a.passthrough)return Nr(e,r,a.value,"experiment",s.id,o,a)}}return Nr(e,r,n.defaultValue===void 0?null:n.defaultValue,"defaultValue")}function Xa(r,e,t){let n=r.key,i=r.variations.length;if(i<2)return{result:Ce(t,r,-1,!1,e)};if(t.global.enabled===!1||t.user.enabled===!1)return{result:Ce(t,r,-1,!1,e)};if(r=jE(r,t),r.urlPatterns&&!Fa(t.user.url||"",r.urlPatterns))return{result:Ce(t,r,-1,!1,e)};let s=Nv(n,t.user.url||"",i);if(s!==null)return{result:Ce(t,r,s,!1,e)};let o=HE(t);if(n in o){let g=o[n];return{result:Ce(t,r,g,!1,e)}}if(r.status==="draft"||r.active===!1)return{result:Ce(t,r,-1,!1,e)};let{hashAttribute:a,hashValue:l}=Tn(t,r.hashAttribute,t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing?r.fallbackAttribute:void 0);if(!l)return{result:Ce(t,r,-1,!1,e)};let c=-1,u=!1,p=!1;if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{variation:g,versionIsBlocked:y}=zE({ctx:t,expKey:r.key,expBucketVersion:r.bucketVersion,expHashAttribute:r.hashAttribute,expFallbackAttribute:r.fallbackAttribute,expMinBucketVersion:r.minBucketVersion,expMeta:r.meta});u=g>=0,c=g,p=!!y}if(!u){if(r.filters){if(cy(r.filters,t))return{result:Ce(t,r,-1,!1,e)}}else if(r.namespace&&!Mv(l,r.namespace))return{result:Ce(t,r,-1,!1,e)};if(r.include&&!Lv(r.include))return{result:Ce(t,r,-1,!1,e)};if(r.condition&&!ly(r.condition,t))return{result:Ce(t,r,-1,!1,e)};if(r.parentConditions){let g=new Set(t.stack.evaluatedFeatures);for(let y of r.parentConditions){t.stack.evaluatedFeatures=new Set(g);let x=Ya(y.id,t);if(x.source==="cyclicPrerequisite")return{result:Ce(t,r,-1,!1,e)};let k={value:x.value};if(!Pr(k,y.condition||{}))return{result:Ce(t,r,-1,!1,e)}}}if(r.groups&&!UE(r.groups,t))return{result:Ce(t,r,-1,!1,e)}}if(r.url&&!WE(r.url,t))return{result:Ce(t,r,-1,!1,e)};let h=Ms(r.seed||n,l,r.hashVersion||1);if(h===null)return{result:Ce(t,r,-1,!1,e)};if(!u){let g=r.ranges||Pv(i,r.coverage===void 0?1:r.coverage,r.weights);c=Ov(h,g)}if(p)return{result:Ce(t,r,-1,!1,e,void 0,!0)};if(c<0)return{result:Ce(t,r,-1,!1,e)};if("force"in r)return{result:Ce(t,r,r.force===void 0?-1:r.force,!1,e)};if(t.global.qaMode||t.user.qaMode)return{result:Ce(t,r,-1,!1,e)};if(r.status==="stopped")return{result:Ce(t,r,-1,!1,e)};let f=Ce(t,r,c,!0,e,h,u);if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{changed:g,key:y,doc:x}=ZE(t,a,Os(l),{[dd(r.key,r.bucketVersion)]:f.key});g&&(t.user.stickyBucketAssignmentDocs=t.user.stickyBucketAssignmentDocs||{},t.user.stickyBucketAssignmentDocs[y]=x,t.user.saveStickyBucketAssignmentDoc(x))}let v=oy(t,r,f);v.length===0&&t.global.saveDeferredTrack&&t.global.saveDeferredTrack({experiment:r,result:f});let m=v.length?v.length===1?v[0]:Promise.all(v).then(()=>{}):void 0;return"changeId"in r&&r.changeId&&t.global.recordChangeId&&t.global.recordChangeId(r.changeId),{result:f,trackingCall:m}}function Nr(r,e,t,n,i,s,o){let a={value:t,on:!!t,off:!t,source:n,ruleId:i||""};return s&&(a.experiment=s),o&&(a.experimentResult=o),n!=="override"&&BE(r,e,a),a}function ay(r){return{...r.user.attributes,...r.user.attributeOverrides}}function ly(r,e){return Pr(ay(e),r,e.global.savedGroups||{})}function cy(r,e){return r.some(t=>{let{hashValue:n}=Tn(e,t.attribute);if(!n)return!0;let i=Ms(t.seed,n,t.hashVersion||2);return i===null?!0:!t.ranges.some(s=>La(i,s))})}function VE(r,e,t,n,i,s,o){if(!i&&s===void 0)return!0;if(!i&&s===0)return!1;let{hashValue:a}=Tn(r,t,n);if(!a)return!1;let l=Ms(e,a,o||1);return l===null?!1:i?La(l,i):s!==void 0?l<=s:!0}function Ce(r,e,t,n,i,s,o){let a=!0;(t<0||t>=e.variations.length)&&(t=0,a=!1);let{hashAttribute:l,hashValue:c}=Tn(r,e.hashAttribute,r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),u=e.meta?e.meta[t]:{},p={key:u.key||""+t,featureId:i,inExperiment:a,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:l,hashValue:c,stickyBucketUsed:!!o};return u.name&&(p.name=u.name),s!==void 0&&(p.bucket=s),u.passthrough&&(p.passthrough=u.passthrough),p}function jE(r,e){let t=r.key,n=e.global.overrides;return n&&n[t]&&(r=Object.assign({},r,n[t]),typeof r.url=="string"&&(r.url=Qu(r.url))),r}function Tn(r,e,t){let n=e||"id",i="",s=ay(r);return s[n]&&(i=s[n]),!i&&t&&(s[t]&&(i=s[t]),i&&(n=t)),{hashAttribute:n,hashValue:i}}function WE(r,e){let t=e.user.url;if(!t)return!1;let n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!(r.test(t)||r.test(n))}function UE(r,e){let t=e.global.groups||{};for(let n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}function zE({ctx:r,expKey:e,expBucketVersion:t,expHashAttribute:n,expFallbackAttribute:i,expMinBucketVersion:s,expMeta:o}){t=t||0,s=s||0,n=n||"id",o=o||[];let a=dd(e,t),l=qE(r,n,i);if(s>0)for(let p=0;p<s;p++){let h=dd(e,p);if(l[h]!==void 0)return{variation:-1,versionIsBlocked:!0}}let c=l[a];if(c===void 0)return{variation:-1};let u=o.findIndex(p=>p.key===c);return u<0?{variation:-1}:{variation:u}}function dd(r,e){return e=e||0,`${r}__${e}`}function pd(r,e){return`${r}||${e}`}function qE(r,e,t){if(!r.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:n,hashValue:i}=Tn(r,e),s=pd(n,Os(i)),{hashAttribute:o,hashValue:a}=Tn(r,t),l=a?pd(o,Os(a)):null,c={};return l&&r.user.stickyBucketAssignmentDocs[l]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[l].assignments||{}),r.user.stickyBucketAssignmentDocs[s]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[s].assignments||{}),c}function ZE(r,e,t,n){let i=pd(e,t),s=r.user.stickyBucketAssignmentDocs&&r.user.stickyBucketAssignmentDocs[i]?r.user.stickyBucketAssignmentDocs[i].assignments||{}:{},o={...s,...n},a=JSON.stringify(s)!==JSON.stringify(o);return{key:i,doc:{attributeName:e,attributeValue:t,assignments:o},changed:a}}function GE(r,e){let t=new Set,n=e&&e.features?e.features:r.global.features||{},i=e&&e.experiments?e.experiments:r.global.experiments||[];return Object.keys(n).forEach(s=>{let o=n[s];if(o.rules)for(let a of o.rules)a.variations&&(t.add(a.hashAttribute||"id"),a.fallbackAttribute&&t.add(a.fallbackAttribute))}),i.map(s=>{t.add(s.hashAttribute||"id"),s.fallbackAttribute&&t.add(s.fallbackAttribute)}),Array.from(t)}async function uy(r,e,t){let n=hd(r,t);return e.getAllAssignments(n)}function hd(r,e){let t={};return GE(r,e).forEach(i=>{let{hashValue:s}=Tn(r,i);t[i]=Os(s)}),t}async function dy(r,e,t){if(r={...r},r.encryptedFeatures){try{r.features=JSON.parse(await Rn(r.encryptedFeatures,e,t))}catch(n){console.error(n)}delete r.encryptedFeatures}if(r.encryptedExperiments){try{r.experiments=JSON.parse(await Rn(r.encryptedExperiments,e,t))}catch(n){console.error(n)}delete r.encryptedExperiments}if(r.encryptedSavedGroups){try{r.savedGroups=JSON.parse(await Rn(r.encryptedSavedGroups,e,t))}catch(n){console.error(n)}delete r.encryptedSavedGroups}return r}function py(r){let e=r.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(r.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:r.apiHostRequestHeaders,streamingHostRequestHeaders:r.streamingHostRequestHeaders}}function Ja(r,e){return e.hashAttribute+e.hashValue+r.key+e.variationId}var pi=typeof window<"u"&&typeof document<"u",KE=Fv(),Fs=class{constructor(e){if(e=e||{},this.version=KE,this._options=this.context=e,this._renderer=e.renderer||null,this._trackedExperiments=new Set,this._completedChangeIds=new Set,this._trackedFeatures={},this.debug=!!e.debug,this._subscriptions=new Set,this.ready=!1,this._assigned=new Map,this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._initialized=!1,this._redirectedUrl="",this._deferredTrackingCalls=new Map,this._autoExperimentsAllowed=!e.disableExperimentsOnLoad,this._destroyCallbacks=[],this.logs=[],this.log=this.log.bind(this),this._saveDeferredTrack=this._saveDeferredTrack.bind(this),this._onExperimentEval=this._onExperimentEval.bind(this),this._fireSubscriptions=this._fireSubscriptions.bind(this),this._recordChangedId=this._recordChangedId.bind(this),e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch{}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");if(e.stickyBucketService){let t=e.stickyBucketService;this._saveStickyBucketAssignmentDoc=n=>t.saveAssignments(n)}if(e.plugins)for(let t of e.plugins)t(this);if(e.features&&(this.ready=!0),pi&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),this._options.stickyBucketService&&this._options.stickyBucketAssignmentDocs)for(let t in this._options.stickyBucketAssignmentDocs){let n=this._options.stickyBucketAssignmentDocs[t];n&&this._options.stickyBucketService.saveAssignments(n).catch(()=>{})}this.ready&&this.refreshStickyBuckets(this.getPayload())}async setPayload(e){this._payload=e;let t=await dy(e,this._options.decryptionKey);this._decryptedPayload=t,await this.refreshStickyBuckets(t),t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,this._render()}initSync(e){this._initialized=!0;let t=e.payload;if(t.encryptedExperiments||t.encryptedFeatures)throw new Error("initSync does not support encrypted payloads");return this._options.stickyBucketService&&!this._options.stickyBucketAssignmentDocs&&(this._options.stickyBucketAssignmentDocs=this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService,t)),this._payload=t,this._decryptedPayload=t,t.features&&(this._options.features=t.features),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,Va(this,e),this}async init(e){if(this._initialized=!0,e=e||{},e.cacheSettings&&Vv(e.cacheSettings),e.payload)return await this.setPayload(e.payload),Va(this,e),{success:!0,source:"init"};{let{data:t,...n}=await this._refresh({...e,allowStale:!0});return Va(this,e),await this.setPayload(t||{}),n}}async loadFeatures(e){e=e||{},await this.init({skipCache:e.skipCache,timeout:e.timeout,streaming:(this._options.backgroundSync??!0)&&(e.autoRefresh||this._options.subscribeToChanges)})}async refreshFeatures(e){let t=await this._refresh({...e||{},allowStale:!1});t.data&&await this.setPayload(t.data)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){return py(this._options)}getClientKey(){return this._options.clientKey||""}getPayload(){return this._payload||{features:this.getFeatures(),experiments:this.getExperiments()}}getDecryptedPayload(){return this._decryptedPayload||this.getPayload()}isRemoteEval(){return this._options.remoteEval||!1}getCacheKeyAttributes(){return this._options.cacheKeyAttributes}async _refresh({timeout:e,skipCache:t,allowStale:n,streaming:i}){if(!this._options.clientKey)throw new Error("Missing clientKey");return jv({instance:this,timeout:e,skipCache:t||this._options.disableCache,allowStale:n,backgroundSync:i??this._options.backgroundSync??!0})}_render(){if(this._renderer)try{this._renderer()}catch(e){console.error("Failed to render",e)}}setFeatures(e){this._options.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){let i=await Rn(e,t||this._options.decryptionKey,n);this.setFeatures(JSON.parse(i))}setExperiments(e){this._options.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){let i=await Rn(e,t||this._options.decryptionKey,n);this.setExperiments(JSON.parse(i))}async setAttributes(e){if(this._options.attributes=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async updateAttributes(e){return this.setAttributes({...this._options.attributes,...e})}async setAttributeOverrides(e){if(this._options.attributeOverrides=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async setForcedVariations(e){if(this._options.forcedVariations=e||{},this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}setForcedFeatures(e){this._options.forcedFeatureValues=e,this._render()}async setURL(e){if(e!==this._options.url){if(this._options.url=e,this._redirectedUrl="",this._options.remoteEval){await this._refreshForRemoteEval(),this._updateAllAutoExperiments(!0);return}this._updateAllAutoExperiments(!0)}}getAttributes(){return{...this._options.attributes,...this._options.attributeOverrides}}getForcedVariations(){return this._options.forcedVariations||{}}getForcedFeatures(){return this._options.forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._options.stickyBucketAssignmentDocs||{}}getUrl(){return this._options.url||""}getFeatures(){return this._options.features||{}}getExperiments(){return this._options.experiments||[]}getCompletedChangeIds(){return Array.from(this._completedChangeIds)}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}async _refreshForRemoteEval(){if(!this._options.remoteEval||!this._initialized)return;let e=await this._refresh({allowStale:!1});e.data&&await this.setPayload(e.data)}getAllResults(){return new Map(this._assigned)}onDestroy(e){this._destroyCallbacks.push(e)}isDestroyed(){return!!this._destroyed}destroy(e){e=e||{},this._destroyed=!0,this._destroyCallbacks.forEach(t=>{try{t()}catch(n){console.error(n)}}),this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._completedChangeIds.clear(),this._deferredTrackingCalls.clear(),this._trackedFeatures={},this._destroyCallbacks=[],this._payload=void 0,this._saveStickyBucketAssignmentDoc=void 0,Wv(this),e.destroyAllStreams&&sd(),this.logs=[],pi&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(t=>{t.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){if(this._options.forcedVariations=this._options.forcedVariations||{},this._options.forcedVariations[e]=t,this._options.remoteEval){this._refreshForRemoteEval();return}this._updateAllAutoExperiments(),this._render()}run(e){let{result:t}=Xa(e,null,this._getEvalContext());return this._onExperimentEval(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._options.experiments?this._options.experiments.filter(n=>n.key===e).map(n=>this._runAutoExperiment(n)).filter(n=>n!==null):null}triggerAutoExperiments(){this._autoExperimentsAllowed=!0,this._updateAllAutoExperiments(!0)}_getEvalContext(){return{user:this._getUserContext(),global:this._getGlobalContext(),stack:{evaluatedFeatures:new Set}}}_getUserContext(){return{attributes:this._options.user?{...this._options.user,...this._options.attributes}:this._options.attributes,enableDevMode:this._options.enableDevMode,blockedChangeIds:this._options.blockedChangeIds,stickyBucketAssignmentDocs:this._options.stickyBucketAssignmentDocs,url:this._getContextUrl(),forcedVariations:this._options.forcedVariations,forcedFeatureValues:this._options.forcedFeatureValues,attributeOverrides:this._options.attributeOverrides,saveStickyBucketAssignmentDoc:this._saveStickyBucketAssignmentDoc,trackingCallback:this._options.trackingCallback,onFeatureUsage:this._options.onFeatureUsage,devLogs:this.logs,trackedExperiments:this._trackedExperiments,trackedFeatureUsage:this._trackedFeatures}}_getGlobalContext(){return{features:this._options.features,experiments:this._options.experiments,log:this.log,enabled:this._options.enabled,qaMode:this._options.qaMode,savedGroups:this._options.savedGroups,groups:this._options.groups,overrides:this._options.overrides,onExperimentEval:this._onExperimentEval,recordChangeId:this._recordChangedId,saveDeferredTrack:this._saveDeferredTrack,eventLogger:this._options.eventLogger}}_runAutoExperiment(e,t){let n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;let i=this._isAutoExperimentBlockedByContext(e),s,o;i?s=Ce(this._getEvalContext(),e,-1,!1,""):({result:s,trackingCall:o}=Xa(e,null,this._getEvalContext()),this._onExperimentEval(e,s));let a=JSON.stringify(s.value);if(!t&&s.inExperiment&&n&&n.valueHash===a)return s;if(n&&this._undoActiveAutoExperiment(e),s.inExperiment){let l=Da(e);if(l==="redirect"&&s.value.urlRedirect&&e.urlPatterns){let c=e.persistQueryString?Dv(this._getContextUrl(),s.value.urlRedirect):s.value.urlRedirect;if(Fa(c,e.urlPatterns))return this.log("Skipping redirect because original URL matches redirect URL",{id:e.key}),s;this._redirectedUrl=c;let{navigate:u,delay:p}=this._getNavigateFunction();if(u)if(pi)Promise.all([...o?[Ha(o,this._options.maxNavigateDelay??1e3)]:[],new Promise(h=>window.setTimeout(h,this._options.navigateDelay??p))]).then(()=>{try{u(c)}catch(h){console.error(h)}});else try{u(c)}catch(h){console.error(h)}}else if(l==="visual"){let c=this._options.applyDomChangesCallback?this._options.applyDomChangesCallback(s.value):this._applyDOMChanges(s.value);c&&this._activeAutoExperiments.set(e,{undo:c,valueHash:a})}}return s}_undoActiveAutoExperiment(e){let t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){if(!this._autoExperimentsAllowed)return;let t=this._options.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((i,s)=>{n.has(s)||(i.undo(),this._activeAutoExperiments.delete(s))});for(let i of t){let s=this._runAutoExperiment(i,e);if(s&&s.inExperiment&&Da(i)==="redirect")break}}_onExperimentEval(e,t){let n=this._assigned.get(e.key);this._assigned.set(e.key,{experiment:e,result:t}),this._subscriptions.size>0&&this._fireSubscriptions(e,t,n)}_fireSubscriptions(e,t,n){(!n||n.result.inExperiment!==t.inExperiment||n.result.variationId!==t.variationId)&&this._subscriptions.forEach(i=>{try{i(e,t)}catch(s){console.error(s)}})}_recordChangedId(e){this._completedChangeIds.add(e)}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){let n=this.evalFeature(e).value;return n===null?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){return Ya(e,this._getEvalContext())}log(e,t){this.debug&&(this._options.log?this._options.log(e,t):console.log(e,t))}getDeferredTrackingCalls(){return Array.from(this._deferredTrackingCalls.values())}setDeferredTrackingCalls(e){this._deferredTrackingCalls=new Map(e.filter(t=>t&&t.experiment&&t.result).map(t=>[Ja(t.experiment,t.result),t]))}async fireDeferredTrackingCalls(){if(!this._options.trackingCallback)return;let e=[];this._deferredTrackingCalls.forEach(t=>{!t||!t.experiment||!t.result?console.error("Invalid deferred tracking call",{call:t}):e.push(this._options.trackingCallback(t.experiment,t.result))}),this._deferredTrackingCalls.clear(),await Promise.all(e)}setTrackingCallback(e){this._options.trackingCallback=e,this.fireDeferredTrackingCalls()}setEventLogger(e){this._options.eventLogger=e}async logEvent(e,t){if(this._destroyed){console.error("Cannot log event to destroyed GrowthBook instance");return}if(this._options.enableDevMode&&this.logs.push({eventName:e,properties:t,timestamp:Date.now().toString(),logType:"event"}),this._options.eventLogger)try{await this._options.eventLogger(e,t||{},this._getUserContext())}catch(n){console.error(n)}else console.error("No event logger configured")}_saveDeferredTrack(e){this._deferredTrackingCalls.set(Ja(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(pi?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=Da(e);if(t==="visual"){if(this._options.disableVisualExperiments||this._options.disableJsInjection&&e.variations.some(n=>n.js))return!0}else if(t==="redirect"){if(this._options.disableUrlRedirectExperiments)return!0;try{let n=new URL(this._getContextUrl());for(let i of e.variations){if(!i||!i.urlRedirect)continue;let s=new URL(i.urlRedirect);if(this._options.disableCrossOriginUrlRedirectExperiments&&(s.protocol!==n.protocol||s.host!==n.host))return!0}}catch(n){return this.log("Error parsing current or redirect URL",{id:e.key,error:n}),!0}}else return!0;return!!(e.changeId&&(this._options.blockedChangeIds||[]).includes(e.changeId))}getRedirectUrl(){return this._redirectedUrl}_getNavigateFunction(){return this._options.navigate?{navigate:this._options.navigate,delay:0}:pi?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!pi)return;let t=[];if(e.css){let n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){let n=document.createElement("script");n.innerHTML=e.js,this._options.jsInjectionNonce&&(n.nonce=this._options.jsInjectionNonce),document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(n=>{t.push(ty.declarative(n).revert)}),()=>{t.forEach(n=>n())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),n=await uy(t,this._options.stickyBucketService,e);this._options.stickyBucketAssignmentDocs=n}}generateStickyBucketAssignmentDocsSync(e,t){if(!("getAllAssignmentsSync"in e)){console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");return}let n=this._getEvalContext(),i=hd(n,t);return e.getAllAssignmentsSync(i)}inDevMode(){return!!this._options.enableDevMode}};var YE="https://experiment.syntrologie.com",fd=class{constructor(e={}){this.featureListeners=new Set;if(e.client)this.gb=e.client;else{let t=e.onExperimentViewed?(n,i)=>{e.onExperimentViewed(n.key,i.variationId,typeof i.value=="string"?i.value:`variation_${i.variationId}`)}:void 0;this.gb=new Fs({...e,apiHost:e.apiHost??YE,enableDevMode:e.enableDevMode??!0,trackingCallback:t}),e.autoInit&&this.gb.init({streaming:!0})}}get _internal(){return this.gb}async refreshFeatures(){await this.gb.loadFeatures()}setAttributes(e){this.gb.setAttributes({...this.gb.getAttributes(),...e})}setForcedVariations(e){this.gb.setForcedVariations(e)}getFeatureValue(e,t){return this.gb.getFeatureValue(e,t)}getAllFeatures(){let e=this.gb.getFeatures(),t={};for(let n of Object.keys(e))t[n]=this.gb.getFeatureValue(n,null);return t}shouldRenderRectangle(e){return!0}onFeaturesChanged(e){return this.featureListeners.add(e),this.featureListeners.size===1&&this.gb.setRenderer(()=>{for(let t of this.featureListeners)t()}),()=>{this.featureListeners.delete(e),this.featureListeners.size===0&&this.gb.setRenderer(null)}}};function gd(r={}){return new fd(r)}var hy={growthbook:r=>gd({...r,autoInit:!0})};function fy(r,e){let t=hy[r];if(!t)throw new Error(`Unknown experiment provider: ${r}. Supported: ${Object.keys(hy).join(", ")}`);return t(e)}var XE=["cdn.syntrologie.com","localhost","127.0.0.1"];function JE(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] CDN URL must use HTTPS:",r),!1):XE.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] CDN host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid CDN URL:",r),!1}}var md=class{constructor(e){this.name="cdn";if(this.url=`${e.baseUrl}/${e.configId}.json`,this.integrity=e.integrity,!JE(this.url))throw new Error(`[SmartCanvas] CDN URL not allowed: ${this.url}`)}async fetch(){let e=performance.now(),t=await fetch(this.url,{credentials:"omit",cache:"default"});if(!t.ok)throw new Error(`[SmartCanvas] Failed to fetch config from CDN (${t.status})`);let n=await t.text();if(this.integrity){let l=await QE(n),c=this.integrity.replace("sha384-","");if(l!==c)throw new Error(`[SmartCanvas] Config integrity check failed. Expected ${c}, got ${l}`)}let i=JSON.parse(n),s=performance.now()-e,o=t.headers.get("cache-control"),a=t.headers.get("age");return{config:i,meta:{source:"cdn",fetchTimeMs:s,cached:o?.includes("public")??!1,cacheAge:a?parseInt(a,10):void 0}}}};async function QE(r){let t=new TextEncoder().encode(r),n=await crypto.subtle.digest("SHA-384",t),i=new Uint8Array(n);return btoa(String.fromCharCode(...i))}function gy(r){return new md(r)}var e1="syntro_exp",t1="syntro_var",vd=class{constructor(e){this.name="experiments";this.client=e.client,this.featureKey=e.featureKey,this.manifestKey=e.manifestKey,this.variantFlagPrefix=e.variantFlagPrefix}async fetch(){let e=performance.now();if(typeof window<"u"){let i=new URLSearchParams(window.location.search),s=i.get(e1),o=i.get(t1);if(s&&o!==null&&this.client.setForcedVariations){let a=parseInt(o,10);Number.isNaN(a)||(console.log(`[SmartCanvas] Preview mode: forcing "${s}" to variation ${a}`),this.client.setForcedVariations({[s]:a}))}}if(this.manifestKey||this.variantFlagPrefix||this.client.getAllFeatures){let i=this.fetchMultiFlag();if(i){let s=performance.now()-e;return{config:i,meta:{source:"experiments",fetchTimeMs:s,cached:!0}}}}if(!this.featureKey)throw new Error("[SmartCanvas] No featureKey configured and no variant flags found. Ensure at least one config feature flag exists in your experiment platform.");let t=this.client.getFeatureValue?.(this.featureKey,null);if(!t||typeof t!="object")throw new Error(`[SmartCanvas] Feature "${this.featureKey}" not found or invalid. Ensure the feature is configured in your experiment platform.`);let n=performance.now()-e;return{config:t,meta:{source:"experiments",fetchTimeMs:n,cached:!0}}}fetchMultiFlag(){let e=this.getVariantFlagKeys();return!e||e.length===0?null:ha(this.client,e)}getVariantFlagKeys(){if(this.manifestKey){let e=this.client.getFeatureValue?.(this.manifestKey,null);if(e&&typeof e=="object"){let t=e.variant_flags;if(t&&t.length>0)return t}}if(this.client.getAllFeatures){let e=this.client.getAllFeatures();return this.variantFlagPrefix?Object.keys(e).filter(t=>t.startsWith(this.variantFlagPrefix)):Object.keys(e)}return[]}};function my(r){return new vd(r)}var r1="https://cdn.syntrologie.com/configs",vy={cdn:r=>{if(!r.configId)throw new Error("CDN fetcher requires 'configId' option");return gy({baseUrl:r.baseUrl??r1,configId:r.configId,integrity:r.integrity})},experiments:r=>{if(!r.featureKey)throw new Error("Experiments fetcher requires 'featureKey' option");return my({featureKey:r.featureKey})}};function yy(r,e={}){let t=vy[r];if(!t)throw new Error(`Unknown config fetcher type: ${r}. Supported: ${Object.keys(vy).join(", ")}`);return t(e)}var _y="syntro_session_metrics",Qa=class{constructor(e={}){this.metrics=new Map;this.subscribers=new Set;this.experiments=e.experiments,this.attributePrefix=e.attributePrefix??"session_",this.onMetricChange=e.onMetricChange,this.loadFromStorage()}increment(e,t=1){let i=(this.metrics.get(e)??0)+t;return this.metrics.set(e,i),this.saveToStorage(),this.updateExperimentAttributes(e,i),this.onMetricChange?.(e,i),this.notifySubscribers(),i}set(e,t){this.metrics.set(e,t),this.saveToStorage(),this.updateExperimentAttributes(e,t),this.onMetricChange?.(e,t),this.notifySubscribers()}get(e){return this.metrics.get(e)??0}meetsThreshold(e,t){return this.get(e)>=t}getAll(){return Object.fromEntries(this.metrics)}reset(e){this.metrics.delete(e),this.saveToStorage(),this.updateExperimentAttributes(e,0),this.onMetricChange?.(e,0),this.notifySubscribers()}resetAll(){let e=Array.from(this.metrics.keys());this.metrics.clear(),this.saveToStorage();let t={};for(let n of e)t[`${this.attributePrefix}${n}`]=0,this.onMetricChange?.(n,0);this.experiments?.setAttributes?.(t),this.notifySubscribers()}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}destroy(){this.subscribers.clear()}setExperiments(e){this.experiments=e,this.syncAllToExperiments()}updateExperimentAttributes(e,t){if(!this.experiments?.setAttributes)return;let n=`${this.attributePrefix}${e}`;this.experiments.setAttributes({[n]:t})}syncAllToExperiments(){if(!this.experiments?.setAttributes)return;let e={};for(let[t,n]of this.metrics)e[`${this.attributePrefix}${t}`]=n;this.experiments.setAttributes(e)}notifySubscribers(){for(let e of this.subscribers)try{e()}catch{}}loadFromStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e=sessionStorage.getItem(_y);if(e){let t=JSON.parse(e);for(let[n,i]of Object.entries(t))this.metrics.set(n,i.count)}}catch(e){console.warn("[SessionMetricTracker] Failed to load from sessionStorage:",e)}}saveToStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e={};for(let[t,n]of this.metrics)e[t]={count:n,lastUpdated:Date.now()};sessionStorage.setItem(_y,JSON.stringify(e))}catch(e){console.warn("[SessionMetricTracker] Failed to save to sessionStorage:",e)}}};function yd(r={}){return new Qa(r)}var el=class{constructor(e){this.unsubUnload=null;this.unsubLoad=null;this.destroyed=!1;this.adapter=e}activate(){this.destroyed||(this.unsubUnload=this.adapter.onRegionWillUnload(e=>{this.hideContentInSection(e)}),this.unsubLoad=this.adapter.onRegionDidLoad(e=>{this.revealContentInSection(e)}))}destroy(){this.destroyed=!0,this.unsubUnload?.(),this.unsubLoad?.(),this.unsubUnload=null,this.unsubLoad=null}hideContentInSection(e){let t=this.sectionSelector(e),n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.opacity="0",i.style.transition="none"}revealContentInSection(e){let t=this.sectionSelector(e);requestAnimationFrame(()=>{if(this.destroyed)return;let n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.transition="opacity 120ms ease-in",i.style.opacity="1"})}sectionSelector(e){let t=typeof CSS<"u"?CSS.escape(e):e;return document.getElementById(`shopify-section-${e}`)?`#shopify-section-${t}`:`.shopify-section[id$="-${t}"]`}};var tl=class{constructor(e){this.name="shopify";this.loadCallbacks=new Set;this.unloadCallbacks=new Set;this.abortController=null;this.antiFlicker=null;this.initTimeoutMs=e?.initTimeoutMs??3e3}detect(){return typeof window>"u"||typeof document>"u"?!1:!!("Shopify"in window&&window.Shopify!=null||document.querySelector('meta[name="shopify-checkout-api-token"]'))}async onInit(){this.abortController=new AbortController;let{signal:e}=this.abortController;this.attachSectionListeners(e),this.antiFlicker=new el(this),this.antiFlicker.activate(),await this.waitForInitialSections(this.initTimeoutMs,e)}onRegionDidLoad(e){return this.loadCallbacks.add(e),()=>{this.loadCallbacks.delete(e)}}onRegionWillUnload(e){return this.unloadCallbacks.add(e),()=>{this.unloadCallbacks.delete(e)}}onRegionMutated(e){}getAnchorScope(e){let t=e.closest(".shopify-section");return t?.id?`#${typeof CSS<"u"?CSS.escape(t.id):t.id} `:""}destroy(){this.antiFlicker?.destroy(),this.antiFlicker=null,this.abortController&&(this.abortController.abort(),this.abortController=null),this.loadCallbacks.clear(),this.unloadCallbacks.clear()}attachSectionListeners(e){document.addEventListener("shopify:section:load",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.loadCallbacks)try{i(n)}catch{}},{signal:e}),document.addEventListener("shopify:section:unload",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.unloadCallbacks)try{i(n)}catch{}},{signal:e})}waitForInitialSections(e,t){return new Promise(n=>{if(document.querySelector(".shopify-section")){n();return}let i=!1,s=()=>{i||(i=!0,n())};document.addEventListener("shopify:section:load",()=>s(),{once:!0,signal:t});let o=setTimeout(s,e);t.addEventListener("abort",()=>{clearTimeout(o),s()},{once:!0})})}};var n1=[()=>new tl];function by(){for(let r of n1){let e=r();if(e.detect())return e}return null}var _d="syntro_experiments";var s1=720*60*60,rl=class{constructor(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}updateContext(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}destroy(){document.cookie=`${_d}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`}writeCookie(){let e={version:1,distinct_id:this.context.distinctId,telemetry_host:this.context.telemetryHost,telemetry_key:this.context.telemetryKey},t=encodeURIComponent(JSON.stringify(e)),n=`${_d}=${t}; max-age=${s1}; path=/; SameSite=Lax`;document.cookie=n}};function o1(){let r=Date.now();return{page:{url:typeof window<"u"?window.location.href:"",title:typeof document<"u"?document.title:void 0},session:{sessionId:"",startTs:r,pageHistory:[]},viewport:{width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}}}function bd(r,e){if(!e)return;let t;try{t=new URL(r).pathname}catch{t=r}if(t.startsWith("/")||(t=`/${t}`),e.exclude){for(let n of e.exclude)if(xy(t,n))return}if(e.include){for(let n of e.include)if(xy(t,n))return n;return}return t}function xy(r,e){let t=r.replace(/\/$/,"")||"/",n=e.replace(/\/$/,"")||"/";if(t===n)return!0;let i=n.replace(/:[^/]+/g,"[^/]+").replace(/\*/g,".*");return new RegExp(`^${i}$`).test(t)}var nl=class{constructor(e){this.listeners=new Set;this.cleanupFns=[];if(this.telemetry=e.telemetry,this.routes=e.routes,this.navigation=e.navigation,this.context=o1(),this.previousContext={...this.context},e.telemetry?.getSessionId){let t=e.telemetry.getSessionId();t&&(this.context.session.sessionId=t)}e.initialPageHistory&&(this.context.session.pageHistory=e.initialPageHistory),this.context.page.routeId=bd(this.context.page.url,this.routes),this.addPageToHistory(this.context.page.url),typeof window<"u"&&this.setupBrowserListeners()}get(){return{...this.context}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setRoutes(e){this.routes=e;let t=bd(this.context.page.url,this.routes);t!==this.context.page.routeId&&this.updateContext({page:{...this.context.page,routeId:t}})}setAnchors(e){this.updateContext({anchors:e})}setSessionId(e){e!==this.context.session.sessionId&&this.updateContext({session:{...this.context.session,sessionId:e}})}destroy(){for(let e of this.cleanupFns)e();this.cleanupFns=[],this.listeners.clear()}setupBrowserListeners(){let e,t=()=>{clearTimeout(e),e=setTimeout(()=>{this.updateViewport()},100)};window.addEventListener("resize",t),this.cleanupFns.push(()=>window.removeEventListener("resize",t));let n=this.navigation.subscribe(()=>this.updatePage());this.cleanupFns.push(n)}updateViewport(){let e={width:window.innerWidth,height:window.innerHeight};(e.width!==this.context.viewport.width||e.height!==this.context.viewport.height)&&this.updateContext({viewport:e})}updatePage(){let e=window.location.href,{title:t}=document,n=bd(e,this.routes),i={url:e,title:t,routeId:n};(i.url!==this.context.page.url||i.title!==this.context.page.title||i.routeId!==this.context.page.routeId)&&(i.url!==this.context.page.url&&this.addPageToHistory(i.url),this.updateContext({page:i}))}addPageToHistory(e){let t={url:e,ts:Date.now()},n=[...this.context.session.pageHistory||[],t];n.length>50&&n.shift(),this.context.session.pageHistory=n}updateContext(e){this.previousContext={...this.context},this.context={...this.context,...e},this.notifyListeners()}notifyListeners(){for(let e of this.listeners)try{e(this.context,this.previousContext)}catch(t){console.error("[ContextManager] Listener error:",t)}}};function xd(r){return new nl(r)}function wy(r,e){let{context:t,state:n,events:i}=e;switch(r.type){case"page_url":{let{url:s}=r,o=t.page.url.split("?")[0].split("#")[0],a=s.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*");return new RegExp(`^${a}$`).test(o)}case"route":return t.page.routeId===r.routeId;case"anchor_visible":{let s=t.anchors?.find(o=>o.anchorId===r.anchorId);switch(r.state){case"visible":return s?.visible===!0;case"present":return s?.present===!0;case"absent":return!s?.present;default:return!1}}case"event_occurred":{if(!i)return!1;let s=r.withinMs??6e4;return i.hasRecentEvent(r.eventName,s)}case"state_equals":return n?.getValue?n.getValue(r.key)===r.value:!1;case"viewport":{let{width:s,height:o}=t.viewport;return!(r.minWidth!==void 0&&s<r.minWidth||r.maxWidth!==void 0&&s>r.maxWidth||r.minHeight!==void 0&&o<r.minHeight||r.maxHeight!==void 0&&o>r.maxHeight)}case"session_metric":{let s=e.sessionMetrics?e.sessionMetrics.get(r.key):n?.getSessionMetric(r.key);if(s===void 0)return!1;let{operator:o,threshold:a}=r;switch(o){case"gte":return s>=a;case"lte":return s<=a;case"eq":return s===a;case"gt":return s>a;case"lt":return s<a;default:return!1}}case"dismissed":{if(!n)return r.inverted??!1;let s=n.isDismissed(r.key);return r.inverted?!s:s}case"cooldown_active":{if(!n)return r.inverted??!1;let s=n.isCooldownActive(r.key);return r.inverted?!s:s}case"frequency_limit":{if(!n)return r.inverted??!1;let o=n.getFrequencyCount(r.key)>=r.limit;return r.inverted?!o:o}case"event_count":{if(!e.accumulator)return!1;let s=r,o=e.accumulator.getCount(s.key,s.withinMs);switch(s.operator){case"gte":return o>=s.count;case"lte":return o<=s.count;case"eq":return o===s.count;case"gt":return o>s.count;case"lt":return o<s.count;default:return!1}}default:return console.warn("[RuleStrategy] Unknown condition type:",r.type),!1}}function ky(r,e){let t=[];for(let n of r.conditions){let i=wy(n,e);if(t.push({condition:n,result:i}),!i)return{matched:!1,conditionResults:t}}return{matched:!0,conditionResults:t}}function il(r,e){for(let t=0;t<r.rules.length;t++){let n=r.rules[t],{matched:i,conditionResults:s}=ky(n,e);if(i)return{value:n.value,isFallback:!1,matchInfo:{strategyType:"rules",matchedRuleIndex:t,evaluatedConditions:s}}}return{value:r.default,isFallback:!0,matchInfo:{strategyType:"rules"}}}function sl(r,e){let{context:t}=e,n=t.augmented?.[r.field];return n===void 0||typeof n!="number"?{value:r.below,isFallback:!0,matchInfo:{strategyType:"score"}}:{value:n>=r.threshold?r.above:r.below,isFallback:!1,matchInfo:{strategyType:"score"}}}function Sy(r,e){let{state:t,events:n,sessionMetrics:i,accumulator:s}=e;return{context:r,state:t?{isDismissed:o=>t.dismissals.isDismissed(o),isCooldownActive:o=>t.cooldowns.isActive(o),getFrequencyCount:o=>t.frequency.count(o),getSessionMetric:o=>i?.get(o)??0,getValue:o=>t.session.get(o)??t.user.get(o)}:void 0,sessionMetrics:i?{get:o=>i.get(o)??0}:void 0,events:n?{hasRecentEvent:(o,a)=>n.hasRecentEvent(o,a)}:void 0,accumulator:s?{getCount:(o,a)=>s.getCount(o,a)}:void 0}}async function Ey(r,e,t={}){let n=Sy(e,t);switch(r.type){case"rules":return il(r,n);case"score":return sl(r,n);case"model":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"model"}};case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"external"}};default:return console.warn("[DecisionEngine] Unknown strategy type:",r.type),{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function Cy(r,e,t={}){let n=Sy(e,t);switch(r.type){case"rules":return il(r,n);case"score":return sl(r,n);case"model":case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:r.type}};default:return{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function wd(r){return{evaluate:(e,t)=>Ey(e,t,r),evaluateSync:(e,t)=>Cy(e,t,r)}}function kd(r){let{eventBus:e,stateStore:t}=r,n=new Map,i=new Set,s=null,o=t.ns("accumulator");function a(c){let u=!1;for(let p of n.values()){if(!p.predicate(c))continue;let h=o.get(p.stateKey)||{count:0};h.count++,p.needsTimestamps&&(h.timestamps||(h.timestamps=[]),h.timestamps.push(c.ts),h.timestamps.length>200&&(h.timestamps=h.timestamps.slice(-200))),o.set(p.stateKey,h),u=!0}if(u)for(let p of i)try{p()}catch(h){console.error("[EventAccumulator] Subscriber error:",h)}}function l(){s||n.size===0||(s=e.subscribe(a))}return{register(c,u,p=!1){let h=`ev:${c}`,f=n.get(h);if(f){p&&!f.needsTimestamps&&(f.needsTimestamps=!0);return}n.set(h,{stateKey:h,needsTimestamps:p,predicate:u}),l()},getCount(c,u){let p=`ev:${c}`,h=o.get(p);if(!h)return 0;if(u===void 0||!h.timestamps)return h.count;let f=Date.now()-u;return h.timestamps.filter(v=>v>=f).length},subscribe(c){return i.add(c),()=>{i.delete(c)}},destroy(){s&&(s(),s=null),n.clear(),i.clear()}}}var Ds=class{constructor(){this.listeners=new Set;this.destroyed=!1;this.onPopState=()=>{this.notify(window.location.href,"popstate")};this.wasNative=this.isNativeFunction(history.pushState),this.capturedPushState=history.pushState,this.capturedReplaceState=history.replaceState,history.pushState=(...e)=>{this.capturedPushState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"pushState"))},history.replaceState=(...e)=>{this.capturedReplaceState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"replaceState"))},window.addEventListener("popstate",this.onPopState)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}diagnose(){return{isNative:this.wasNative,subscriberCount:this.listeners.size}}destroy(){this.destroyed||(this.destroyed=!0,history.pushState=this.capturedPushState,history.replaceState=this.capturedReplaceState,window.removeEventListener("popstate",this.onPopState),this.listeners.clear())}notify(e,t){if(!this.destroyed)for(let n of this.listeners)try{n(e,t)}catch{}}isNativeFunction(e){try{return Function.prototype.toString.call(e).includes("[native code]")}catch{return!1}}};var Sd="cooldown:";function Ay(r){return{set(e,t){let n=Sd+e,i=Date.now()+t;r.set(n,i)},isActive(e){return this.remaining(e)>0},remaining(e){let t=Sd+e,n=r.get(t);if(n===void 0)return 0;let i=n-Date.now();return i<=0?(r.remove(t),0):i},clear(e){let t=Sd+e;r.remove(t)}}}var Hs="dismissed:";function Ry(r,e){return{mark(t,n=!1){let i=Hs+t;(n?e:r).set(i,!0)},isDismissed(t){let n=Hs+t;return r.has(n)||e.has(n)},clear(t){let n=Hs+t;r.remove(n),e.remove(n)},clearAll(){for(let t of r.keys())t.startsWith(Hs)&&r.remove(t);for(let t of e.keys())t.startsWith(Hs)&&e.remove(t)}}}var Ed="freq:";function Ty(r){function e(t){let n=Ed+t,i=r.get(n);if(i){if(i.resetAt&&Date.now()>=i.resetAt){r.remove(n);return}return i}}return{increment(t,n){let i=Ed+t,s=e(t),o=(s?.count??0)+1,a={count:o,resetAt:s?.resetAt??(n?Date.now()+n:void 0)};return r.set(i,a),o},count(t){return e(t)?.count??0},reset(t){let n=Ed+t;r.remove(n)},hasReachedLimit(t,n){return this.count(t)>=n}}}var a1="syntro";function Cd(r,e){let t=`${e}:`;return{get(n){if(r)try{let i=r.getItem(t+n);if(!i)return;let s=JSON.parse(i);if(s.expiresAt&&Date.now()>=s.expiresAt){r.removeItem(t+n);return}return s.value}catch{return}},set(n,i,s){if(r)try{let o={value:i,expiresAt:s?Date.now()+s:void 0};r.setItem(t+n,JSON.stringify(o))}catch(o){console.warn("[StateStore] Failed to save:",o)}},remove(n){r&&r.removeItem(t+n)},has(n){return r?this.get(n)!==void 0:!1},keys(){if(!r)return[];let n=[];for(let i=0;i<r.length;i++){let s=r.key(i);s?.startsWith(t)&&n.push(s.slice(t.length))}return n},clear(){if(!r)return;let n=this.keys();for(let i of n)r.removeItem(t+i)}}}function Bs(r){let e=new Map,t=`${r}:`;return{get(n){let i=e.get(t+n);if(i){if(i.expiresAt&&Date.now()>=i.expiresAt){e.delete(t+n);return}return i.value}},set(n,i,s){e.set(t+n,{value:i,expiresAt:s?Date.now()+s:void 0})},remove(n){e.delete(t+n)},has(n){return this.get(n)!==void 0},keys(){let n=[];for(let i of e.keys())i.startsWith(t)&&n.push(i.slice(t.length));return n},clear(){for(let n of e.keys())n.startsWith(t)&&e.delete(n)}}}var ol=class{constructor(e={}){this.namespacedStorages=new Map;this.namespace=e.namespace??a1;let t=n=>typeof n=="object"&&n!==null&&typeof n.setItem=="function";typeof window<"u"?(this.session=t(window.sessionStorage)?Cd(window.sessionStorage,this.namespace):Bs(this.namespace),this.user=t(window.localStorage)?Cd(window.localStorage,this.namespace):Bs(this.namespace)):(this.session=Bs(this.namespace),this.user=Bs(this.namespace)),this.dismissals=Ry(this.session,this.user),this.cooldowns=Ay(this.user),this.frequency=Ty(this.session)}ns(e){let t=`${this.namespace}:${e}`;if(!this.namespacedStorages.has(t)){let n=typeof window<"u"&&typeof sessionStorage<"u"?Cd(sessionStorage,t):Bs(t);this.namespacedStorages.set(t,n)}return this.namespacedStorages.get(t)}};function Ad(r={}){return new ol(r)}function Vs(r){return r.startsWith("inline:")?"inline":r.startsWith("adjacent:")?"adjacent":"static"}function al(r){return r.startsWith("inline:")?r.slice(7):r.startsWith("adjacent:")?r.slice(9):null}var Iy={drawer_right:{position:"fixed",top:"0",right:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_left:{position:"fixed",top:"0",left:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_bottom:{position:"fixed",left:"0",right:"0",bottom:"0",maxHeight:"50vh"},overlay_center:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",maxWidth:"90vw",maxHeight:"90vh"},overlay_corner_br:{position:"fixed",bottom:"16px",right:"16px",maxWidth:"400px",maxHeight:"80vh"},overlay_corner_bl:{position:"fixed",bottom:"16px",left:"16px",maxWidth:"400px",maxHeight:"80vh"},toast_top:{position:"fixed",top:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"},toast_bottom:{position:"fixed",bottom:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"}},js={fade:[{opacity:0},{opacity:1}],slide:[{opacity:0,transform:"translateY(10px)"},{opacity:1,transform:"translateY(0)"}],scale:[{opacity:0,transform:"scale(0.95)"},{opacity:1,transform:"scale(1)"}],none:[]},$y={duration:200,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"};function Rd(r,e,t){let n=Iy[e];Object.assign(r.style,n),t&&(t.maxWidth&&(r.style.maxWidth=t.maxWidth),t.maxHeight&&(r.style.maxHeight=t.maxHeight),t.minWidth&&(r.style.minWidth=t.minWidth),t.minHeight&&(r.style.minHeight=t.minHeight))}function Td(r,e,t){let n=t.placement==="auto"?"bottom":t.placement,i=[Po(t.offset?{mainAxis:t.offset.y,crossAxis:t.offset.x}:8)];return t.flip!==!1&&i.push(Lo()),t.shift!==!1&&i.push(No({padding:8})),r.style.position="absolute",r.style.zIndex="2147483646",Oo(e,r,async()=>{let{x:o,y:a,strategy:l}=await Fo(e,r,{placement:n,middleware:i});Object.assign(r.style,{position:l,left:`${o}px`,top:`${a}px`})})}function Id(r,e,t="append"){return r.style.position="relative",r.style.display="inline-block",t==="prepend"?e.insertBefore(r,e.firstChild):e.appendChild(r),()=>{r.remove()}}function $d(r,e){return e==="none"||js[e].length===0?null:r.animate(js[e],$y)}function Md(r,e){if(e==="none"||js[e].length===0)return Promise.resolve();let t=[...js[e]].reverse(),n=r.animate(t,$y);return new Promise(i=>{n.onfinish=()=>i(),n.oncancel=()=>i()})}function Od(r,e){let t=document.createElement("div");return t.setAttribute("data-syntro-surface",r),t.setAttribute("data-syntro-mount-id",e),t.className="syntro-surface",Object.assign(t.style,{pointerEvents:"auto",boxSizing:"border-box",overflow:"auto"}),t}function Pd(r){switch(Vs(r)){case"static":return r.startsWith("drawer")?2147483640:r.startsWith("overlay")?2147483642:r.startsWith("toast")?2147483644:2147483640;case"inline":return 1;case"adjacent":return 2147483638;default:return 2147483640}}function My(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button"]),o=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!s.has(l)){o.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),f=(u==="href"||u==="src")&&p.startsWith("javascript:");(h||f)&&a.removeAttribute(c.name)}}for(let a of o){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML=(n.firstChild,t.innerHTML)}var l1=0;function Nd(r){let{overlayRoot:e,eventBus:t,anchorResolver:n,defaultAnimation:i="fade",widgetRegistry:s}=r,o=new Map,a=new Map,l=new Map;function c(){return`mount-${++l1}`}function u(_,w){t&&t.publish(_,w)}function p(_){let w=l.get(_);if(w){let R=g(_);for(let b of w)try{b(R)}catch(A){console.error("[Surfaces] State callback error:",A)}}}let h=new Map;function f(_,w,R){switch(w.type){case"html":_.innerHTML=My(w.content);return;case"widget":{if(s?.has(w.widgetId)){let b=s.mount(w.widgetId,_,w.config);return R&&h.set(R,b),()=>{b.unmount(),R&&h.delete(R)}}console.warn(`[Surfaces] Widget not found: ${w.widgetId}`),_.innerHTML=`<div data-widget-id="${w.widgetId}" data-widget-missing="true">Widget: ${w.widgetId}</div>`;return}case"custom":return w.mount(_);case"react":_.innerHTML="<div data-react-component>React Component</div>";return;default:console.warn("[Surfaces] Unknown content type");return}}function v(_,w,R){let b=c(),A=Vs(_),$=R?.priority??0,N=R?.animation??i,M=R?.exclusive??!0,K=o.get(_);if(K&&M){if(K.options.priority>$)throw new Error(`Slot ${_} is occupied by higher priority content (${K.options.priority} > ${$})`);m(K)}let L=Od(_,b);L.style.zIndex=String(Pd(_));let O;if(A==="static")Rd(L,_,R?.constraints),e.appendChild(L);else if(A==="inline"){let C=al(_);if(!C)throw new Error(`Invalid inline slot: ${_}`);if(!n)throw new Error("Anchor resolver required for inline slots");let P=n({selector:C,route:"**"});if(!P)throw new Error(`Anchor not found for inline slot: ${C}`);O=Id(L,P)}else if(A==="adjacent"){let C=al(_);if(!C)throw new Error(`Invalid adjacent slot: ${_}`);if(!n)throw new Error("Anchor resolver required for adjacent slots");let P=n({selector:C,route:"**"});if(!P)throw new Error(`Anchor not found for adjacent slot: ${C}`);e.appendChild(L),O=Td(L,P,R?.position??{placement:"bottom"})}let q=f(L,w,b);$d(L,N);let Y={id:b,slot:_,content:w,options:{priority:$,exclusive:M,animation:N,position:R?.position??{placement:"auto"},constraints:R?.constraints??{},adaptiveId:R?.adaptiveId,autoUnmountOnRouteChange:R?.autoUnmountOnRouteChange??!0},container:L,cleanup:()=>{O?.(),q?.()},mountedAt:Date.now()};return o.set(_,Y),a.set(_,(a.get(_)??0)+1),u("surface.mounted",{slot:_,id:b,adaptiveId:R?.adaptiveId}),p(_),{id:b,update(C){let P=o.get(_);if(!P||P.id!==b)throw new Error("Mount no longer active");let G=h.get(b);if(G){if(C.type==="widget"){G.update(C.config),P.content=C;return}G.unmount(),h.delete(b)}P.container.innerHTML="";let pe=f(P.container,C,b);if(P.content=C,pe){let ce=P.cleanup;P.cleanup=()=>{ce?.(),pe()}}},setOptions(C){let P=o.get(_);if(!P||P.id!==b)throw new Error("Mount no longer active");C.priority!==void 0&&(P.options.priority=C.priority),C.animation!==void 0&&(P.options.animation=C.animation),C.constraints&&A==="static"&&(C.constraints.maxWidth&&(P.container.style.maxWidth=C.constraints.maxWidth),C.constraints.maxHeight&&(P.container.style.maxHeight=C.constraints.maxHeight),C.constraints.minWidth&&(P.container.style.minWidth=C.constraints.minWidth),C.constraints.minHeight&&(P.container.style.minHeight=C.constraints.minHeight)),p(_)},async unmount(){let C=o.get(_);!C||C.id!==b||await m(C)},isMounted(){return o.get(_)?.id===b},getContainer(){let C=o.get(_);return C?.id===b?C.container:null}}}async function m(_){_.container.isConnected&&await Md(_.container,_.options.animation);try{_.cleanup?.()}catch(w){console.warn("[Surfaces] Cleanup error during unmount, ignoring:",w)}try{_.container.remove()}catch{}o.delete(_.slot),u("surface.unmounted",{slot:_.slot,id:_.id}),p(_.slot)}function g(_){let w=o.get(_);return{slot:_,occupied:!!w,currentPriority:w?.options.priority,currentAdaptiveId:w?.options.adaptiveId,mountCount:a.get(_)??0,currentMountId:w?.id}}function y(_,w){let R=l.get(_);return R||(R=new Set,l.set(_,R)),R.add(w),()=>{R?.delete(w),R?.size===0&&l.delete(_)}}function x(_,w){let R=o.get(_);return R?w!==void 0?w>=R.options.priority:!1:!0}function k(){for(let _ of o.values())try{_.cleanup?.(),_.container.remove()}catch(w){console.error("[Surfaces] Error during cleanup:",w)}o.clear(),l.clear()}return{mount:v,getState:g,onStateChange:y,canMount:x,destroy:k}}var ll=class{constructor(){this.widgets=new Map;this.mountedWidgets=new Map;this.mountIdCounter=0;this.listeners=new Set}bindRuntime(e){this.runtimeRef=e}register(e,t,n="custom",i){if(this.widgets.has(e)){if(this.widgets.get(e).source==="built-in")throw new Error(`Cannot override built-in widget: ${e}`);console.warn(`[WidgetRegistry] Overriding widget: ${e}`)}this.widgets.set(e,{id:e,widget:t,source:n,metadata:i}),this.notify({type:"registered",widgetId:e})}unregister(e){let t=this.widgets.get(e);return t?t.source==="built-in"?(console.warn(`[WidgetRegistry] Cannot unregister built-in widget: ${e}`),!1):(this.widgets.delete(e),this.notify({type:"unregistered",widgetId:e}),!0):!1}unregisterBySource(e){for(let[t,n]of this.widgets.entries())n.source===e&&this.widgets.delete(t)}get(e){return this.widgets.get(e)?.widget}getRegistration(e){return this.widgets.get(e)}has(e){return this.widgets.has(e)}mount(e,t,n){let i=this.widgets.get(e);if(!i)throw new Error(`Widget not found: ${e}`);let s=`widget-mount-${++this.mountIdCounter}`;t.setAttribute("data-widget-mount-id",s),t.setAttribute("data-widget-id",e);let o={...n,runtime:this.runtimeRef},a=i.widget.mount(t,o);return this.mountedWidgets.set(s,{cleanup:a??void 0,container:t}),{widgetId:e,container:t,unmount:()=>{let c=this.mountedWidgets.get(s);c&&(t.isConnected&&c.cleanup?.(),this.mountedWidgets.delete(s),t.removeAttribute("data-widget-mount-id"),t.removeAttribute("data-widget-id"),t.innerHTML="")},update:c=>{if(i.widget.update)i.widget.update(t,c);else{let u=this.mountedWidgets.get(s);if(u){u.cleanup?.(),t.innerHTML="";let p={...c,runtime:this.runtimeRef},h=i.widget.mount(t,p);u.cleanup=h??void 0}}}}}list(){return Array.from(this.widgets.keys())}listRegistrations(){return Array.from(this.widgets.values())}getBySource(e){return Array.from(this.widgets.values()).filter(t=>t.source===e)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){for(let t of this.listeners)try{t(e)}catch(n){console.error("[WidgetRegistry] Listener error:",n)}}destroy(){for(let[e,t]of this.mountedWidgets.entries())t.cleanup?.(),t.container.innerHTML="";this.mountedWidgets.clear()}},Ld=new ll;var Py="2.0.0";function c1(r,e){if(!e)return!0;let t;try{t=new URL(r).pathname}catch{t=r}t.startsWith("/")||(t=`/${t}`);let n=t.replace(/\/$/,"")||"/";if(e.exclude){for(let i of e.exclude)if(Fd(n,i))return!1}if(e.include&&e.include.length>0){for(let i of e.include)if(Fd(n,i))return!0;return!1}return!0}function Fd(r,e){let t=e.replace(/\/$/,"")||"/";if(r===t)return!0;let n=t.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*").replace(/:[^/]+/g,"[^/]+");return new RegExp(`^${n}$`).test(r)}function Oy(r){let t=(typeof window<"u"?window.location.pathname:"/").replace(/\/$/,"")||"/";return(Array.isArray(r.route)?r.route:[r.route]).some(i=>{let s=i;if(/^https?:\/\//.test(s))try{s=new URL(s).pathname}catch{}return Fd(t,s)})}function Dd(r={}){let{telemetry:e,sessionMetrics:t,routes:n,mode:i="production",namespace:s}=r,o=r.widgets??Ld,a=r.executors??tr,l=r.apps??Yi,c=new Ds,u=xd({telemetry:e,routes:n,navigation:c}),p=r.events??Is(),h=Ad({namespace:s}),f=kd({eventBus:p,stateStore:h}),v=wd({state:h,events:p,sessionMetrics:t,accumulator:f}),m=_v(),g=Bu(),y=M=>Oy(M)?g.resolve(M.selector):null,x=async(M,K)=>{if(!Oy(M))return null;try{return await g.waitFor(M.selector,K)}catch{return null}},k=Nd({overlayRoot:m,eventBus:p,anchorResolver:y,widgetRegistry:o}),_=wu({overlayRoot:m,eventBus:p,surfaces:k,anchorResolver:y,waitForAnchor:x,executorRegistry:a,subscribeNavigation:M=>c.subscribe(M),runtime:{evaluateSync:M=>v.evaluateSync(M,u.get()),context:u,accumulator:f,sessionMetrics:t,events:p?{subscribe:M=>p.subscribe(()=>M())}:void 0}}),w;if(t){let M=t;M.increment("page_views");let K=typeof window<"u"?window.location.pathname:"/";w=c.subscribe((L,O)=>{if(O!=="replaceState")try{let q=new URL(L).pathname;q!==K&&(K=q,M.increment("page_views"),R=0,M.set("time_on_page",0),M.set("scroll_depth",0))}catch{}})}let R=0,b,A;if(t){let M=t;b=setInterval(()=>{R++},1e3),A=setInterval(()=>{M.set("time_on_page",R)},5e3)}let $;if(t&&p){let M=t;$=p.subscribe({names:["ui.scroll"]},K=>{let L=K.props?.scrollPercentage;typeof L=="number"&&L>M.get("scroll_depth")&&M.set("scroll_depth",L)})}let N={telemetry:e,context:u,events:p,state:h,sessionMetrics:t,actions:_,surfaces:k,widgets:o,executors:a,apps:l,accumulator:f,anchorResolver:g,navigation:c,version:Py,mode:i,async evaluate(M){return v.evaluate(M,u.get())},evaluateSync(M){return v.evaluateSync(M,u.get())},async filterTiles(M){let K=u.get().page.url,L=[];for(let O of M){let q=O.activation;if(!q){L.push(O);continue}if(c1(K,q.routes)){if(q.onlyIfPopulated){let Y=O.props?.actions??[];if(Y.length>0&&!Y.some(C=>C.triggerWhen?v.evaluateSync(C.triggerWhen,u.get()).value:!0))continue}L.push(O)}}return L},setRoutes(M){u.setRoutes(M)},destroy(){l.unbind().catch(M=>{console.error("[Runtime] Error unbinding apps registry:",M)}),w?.(),$?.(),b&&clearInterval(b),A&&clearInterval(A),g.destroy(),f.destroy(),c.destroy(),u.destroy(),_.destroy(),k.destroy()}};return l.bind(N),o.bindRuntime(N),N}var Ws=class{constructor(e,t){this.seenSet=new Set;this.triggeredSet=new Set;this.telemetry=e,this.variantId=t}trackServed(e,t){this.telemetry.track?.("syntro_config_served",{variant_id:this.variantId,tiles:e,actions:t})}trackSeen(e,t){this.seenSet.has(e)||(this.seenSet.add(e),this.telemetry.track?.("syntro_intervention_seen",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackTriggered(e,t){this.triggeredSet.has(e)||(this.triggeredSet.add(e),this.telemetry.track?.("syntro_intervention_triggered",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackInteracted(e,t,n){this.telemetry.track?.("syntro_intervention_interacted",{variant_id:this.variantId,intervention_id:e,intervention_kind:t,interaction_type:n})}resetPage(){this.seenSet.clear(),this.triggeredSet.clear()}};function u1(){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let t=0;t<16;t++)e+=r[Math.floor(Math.random()*r.length)];return e}var Hd=class{constructor(){this.sessionId=u1(),console.log(`[Syntro Telemetry] Using noop adapter (no telemetry configured). sessionId=${this.sessionId}`)}trackCanvasOpened(e){}trackCanvasClosed(e){}trackRectangleViewed(e,t){}trackAction(e,t,n){}register(e){}getSessionId(){return this.sessionId}startSessionRecording(){}trackExperiment(e,t,n){}setPersonProperties(e){}setPersonPropertiesOnce(e){}getDistinctId(){return"demo-user"}getAllFeatureFlags(){return{}}getSegmentFlags(){return{}}track(e,t){}};function Bd(){return new Hd}var E=typeof window<"u"?window:void 0,Ze=typeof globalThis<"u"?globalThis:E;typeof self>"u"&&(Ze.self=Ze),typeof File>"u"&&(Ze.File=function(){});var I_=Array.prototype,Ny=I_.forEach,Ly=I_.indexOf,dt=Ze?.navigator,D=Ze?.document,qe=Ze?.location,ip=Ze?.fetch,sp=Ze!=null&&Ze.XMLHttpRequest&&"withCredentials"in new Ze.XMLHttpRequest?Ze.XMLHttpRequest:void 0,Fy=Ze?.AbortController,st=dt?.userAgent,X=E??{},ur={DEBUG:!1,LIB_VERSION:"1.341.0"};function Dy(r,e,t,n,i,s,o){try{var a=r[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(n,i)}function vi(r){return function(){var e=this,t=arguments;return new Promise((function(n,i){var s=r.apply(e,t);function o(l){Dy(s,n,i,o,a,"next",l)}function a(l){Dy(s,n,i,o,a,"throw",l)}o(void 0)}))}}function V(){return V=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},V.apply(null,arguments)}function $_(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.indexOf(n)!==-1)continue;t[n]=r[n]}return t}var d1=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],Hy=function(r,e){if(e===void 0&&(e=[]),!r)return!1;var t=r.toLowerCase();return d1.concat(e).some((n=>{var i=n.toLowerCase();return t.indexOf(i)!==-1}))},p1=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function le(r,e){return r.indexOf(e)!==-1}var Dl=function(r){return r.trim()},op=function(r){return r.replace(/^\$/,"")},h1=Array.isArray,M_=Object.prototype,O_=M_.hasOwnProperty,Hl=M_.toString,fe=h1||function(r){return Hl.call(r)==="[object Array]"},Vr=r=>typeof r=="function",Pe=r=>r===Object(r)&&!fe(r),yi=r=>{if(Pe(r)){for(var e in r)if(O_.call(r,e))return!1;return!0}return!1},H=r=>r===void 0,Ne=r=>Hl.call(r)=="[object String]",ap=r=>Ne(r)&&r.trim().length===0,Nt=r=>r===null,ue=r=>H(r)||Nt(r),mr=r=>Hl.call(r)=="[object Number]"&&r==r,gi=r=>mr(r)&&r>0,gr=r=>Hl.call(r)==="[object Boolean]",f1=r=>r instanceof FormData,g1=r=>le(p1,r);function lp(r){return r===null||typeof r!="object"}function ml(r,e){return Object.prototype.toString.call(r)==="[object "+e+"]"}function P_(r){return!H(Event)&&(function(e,t){try{return e instanceof t}catch{return!1}})(r,Event)}var m1=[!0,"true",1,"1","yes"],Vd=r=>le(m1,r),v1=[!1,"false",0,"0","no"];function qt(r,e,t,n,i){return e>t&&(n.warn("min cannot be greater than max."),e=t),mr(r)?r>t?(n.warn(" cannot be greater than max: "+t+". Using max value instead."),t):r<e?(n.warn(" cannot be less than min: "+e+". Using min value instead."),e):r:(n.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+i),qt(i||t,e,t,n))}var cp=class{constructor(e){this.t={},this.i=e.i,this.o=qt(e.bucketSize,0,100,e.h),this.m=qt(e.refillRate,0,this.o,e.h),this.$=qt(e.refillInterval,0,864e5,e.h)}S(e,t){var n=t-e.lastAccess,i=Math.floor(n/this.$);if(i>0){var s=i*this.m;e.tokens=Math.min(e.tokens+s,this.o),e.lastAccess=e.lastAccess+i*this.$}}consumeRateLimit(e){var t,n=Date.now(),i=String(e),s=this.t[i];return s?this.S(s,n):(s={tokens:this.o,lastAccess:n},this.t[i]=s),s.tokens===0||(s.tokens--,s.tokens===0&&((t=this.i)==null||t.call(this,e)),s.tokens===0)}stop(){this.t={}}},xt="Mobile",vl="iOS",fr="Android",uo="Tablet",N_=fr+" "+uo,L_="iPad",F_="Apple",D_=F_+" Watch",po="Safari",wi="BlackBerry",H_="Samsung",B_=H_+"Browser",V_=H_+" Internet",On="Chrome",y1=On+" OS",j_=On+" "+vl,vh="Internet Explorer",W_=vh+" "+xt,yh="Opera",_1=yh+" Mini",_h="Edge",U_="Microsoft "+_h,bi="Firefox",z_=bi+" "+vl,ho="Nintendo",fo="PlayStation",xi="Xbox",q_=fr+" "+xt,Z_=xt+" "+po,Qs="Windows",up=Qs+" Phone",By="Nokia",dp="Ouya",G_="Generic",b1=G_+" "+xt.toLowerCase(),K_=G_+" "+uo.toLowerCase(),pp="Konqueror",Qe="(\\d+(\\.\\d+)?)",jd=new RegExp("Version/"+Qe),x1=new RegExp(xi,"i"),w1=new RegExp(fo+" \\w+","i"),k1=new RegExp(ho+" \\w+","i"),bh=new RegExp(wi+"|PlayBook|BB10","i"),S1={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},cl,Vy,Wd,E1=(r,e)=>e&&le(e,F_)||(function(t){return le(t,po)&&!le(t,On)&&!le(t,fr)})(r),Y_=function(r,e){return e=e||"",le(r," OPR/")&&le(r,"Mini")?_1:le(r," OPR/")?yh:bh.test(r)?wi:le(r,"IE"+xt)||le(r,"WPDesktop")?W_:le(r,B_)?V_:le(r,_h)||le(r,"Edg/")?U_:le(r,"FBIOS")?"Facebook "+xt:le(r,"UCWEB")||le(r,"UCBrowser")?"UC Browser":le(r,"CriOS")?j_:le(r,"CrMo")||le(r,On)?On:le(r,fr)&&le(r,po)?q_:le(r,"FxiOS")?z_:le(r.toLowerCase(),pp.toLowerCase())?pp:E1(r,e)?le(r,xt)?Z_:po:le(r,bi)?bi:le(r,"MSIE")||le(r,"Trident/")?vh:le(r,"Gecko")?bi:""},C1={[W_]:[new RegExp("rv:"+Qe)],[U_]:[new RegExp(_h+"?\\/"+Qe)],[On]:[new RegExp("("+On+"|CrMo)\\/"+Qe)],[j_]:[new RegExp("CriOS\\/"+Qe)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Qe)],[po]:[jd],[Z_]:[jd],[yh]:[new RegExp("(Opera|OPR)\\/"+Qe)],[bi]:[new RegExp(bi+"\\/"+Qe)],[z_]:[new RegExp("FxiOS\\/"+Qe)],[pp]:[new RegExp("Konqueror[:/]?"+Qe,"i")],[wi]:[new RegExp(wi+" "+Qe),jd],[q_]:[new RegExp("android\\s"+Qe,"i")],[V_]:[new RegExp(B_+"\\/"+Qe)],[vh]:[new RegExp("(rv:|MSIE )"+Qe)],Mozilla:[new RegExp("rv:"+Qe)]},A1=function(r,e){var t=Y_(r,e),n=C1[t];if(H(n))return null;for(var i=0;i<n.length;i++){var s=n[i],o=r.match(s);if(o)return parseFloat(o[o.length-2])}return null},jy=[[new RegExp(xi+"; "+xi+" (.*?)[);]","i"),r=>[xi,r&&r[1]||""]],[new RegExp(ho,"i"),[ho,""]],[new RegExp(fo,"i"),[fo,""]],[bh,[wi,""]],[new RegExp(Qs,"i"),(r,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[up,""];if(new RegExp(xt).test(e)&&!/IEMobile\b/.test(e))return[Qs+" "+xt,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var n=t[1],i=S1[n]||"";return/arm/i.test(e)&&(i="RT"),[Qs,i]}return[Qs,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,r=>{if(r&&r[3]){var e=[r[3],r[4],r[5]||"0"];return[vl,e.join(".")]}return[vl,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,r=>{var e="";return r&&r.length>=3&&(e=H(r[2])?r[3]:r[2]),["watchOS",e]}],[new RegExp("("+fr+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+fr+")","i"),r=>{if(r&&r[2]){var e=[r[2],r[3],r[4]||"0"];return[fr,e.join(".")]}return[fr,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,r=>{var e=["Mac OS X",""];if(r&&r[1]){var t=[r[1],r[2],r[3]||"0"];e[1]=t.join(".")}return e}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[y1,""]],[/Linux|debian/i,["Linux",""]]],Wy=function(r){return k1.test(r)?ho:w1.test(r)?fo:x1.test(r)?xi:new RegExp(dp,"i").test(r)?dp:new RegExp("("+up+"|WPDesktop)","i").test(r)?up:/iPad/.test(r)?L_:/iPod/.test(r)?"iPod Touch":/iPhone/.test(r)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(r)?D_:bh.test(r)?wi:/(kobo)\s(ereader|touch)/i.test(r)?"Kobo":new RegExp(By,"i").test(r)?By:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(r)||/(kf[a-z]+)( bui|\)).+silk\//i.test(r)?"Kindle Fire":/(Android|ZTE)/i.test(r)?new RegExp(xt).test(r)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(r)||/pixel[\daxl ]{1,6}/i.test(r)&&!/pixel c/i.test(r)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(r)||/lmy47v/i.test(r)&&!/QTAQZ3/i.test(r)?fr:N_:new RegExp("(pda|"+xt+")","i").test(r)?b1:new RegExp(uo,"i").test(r)&&!new RegExp(uo+" pc","i").test(r)?K_:""},R1=r=>r instanceof Error;function T1(r){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return Wd&&t.length===Vy||(Vy=t.length,Wd=t.reduce(((n,i)=>{cl||(cl={});var s=cl[i];if(s)n[s[0]]=s[1];else for(var o=r(i),a=o.length-1;a>=0;a--){var l=o[a],c=l?.filename,u=e[i];if(c&&u){n[c]=u,cl[i]=[c,u];break}}return n}),{})),Wd}}var hp=class{constructor(e,t,n){n===void 0&&(n=[]),this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t){t===void 0&&(t={});var n=t&&t.mechanism||{handled:!0,type:"generic"},i=this.buildCoercingContext(n,t,0).apply(e),s=this.buildParsingContext(),o=this.parseStacktrace(i,s);return{$exception_list:this.convertToExceptionList(o,n),$exception_level:"error"}}modifyFrames(e){var t=this;return vi((function*(){for(var n of e)n.stacktrace&&n.stacktrace.frames&&fe(n.stacktrace.frames)&&(n.stacktrace.frames=yield t.applyModifiers(n.stacktrace.frames));return e}))()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:(t=e.syntheticException)==null?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){var n,i;return e.cause!=null&&(n=this.parseStacktrace(e.cause,t)),e.stack!=""&&e.stack!=null&&(i=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?1:0),t.chunkIdMap)),V({},e,{cause:n,stack:i})}applyChunkIds(e,t){return e.map((n=>(n.filename&&t&&(n.chunk_id=t[n.filename]),n)))}applyCoercers(e,t){for(var n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return vi((function*(){var n=e;for(var i of t.modifiers)n=yield i(n);return n}))()}convertToExceptionList(e,t){var n,i,s,o={type:e.type,value:e.value,mechanism:{type:(n=t.type)!==null&&n!==void 0?n:"generic",handled:(i=t.handled)===null||i===void 0||i,synthetic:(s=e.synthetic)!==null&&s!==void 0&&s}};e.stack&&(o.stacktrace={type:"raw",frames:e.stack});var a=[o];return e.cause!=null&&a.push(...this.convertToExceptionList(e.cause,V({},t,{handled:!0}))),a}buildParsingContext(){return{chunkIdMap:T1(this.stackParser)}}buildCoercingContext(e,t,n){n===void 0&&(n=0);var i=(s,o)=>{if(o<=4){var a=this.buildCoercingContext(e,t,o);return this.applyCoercers(s,a)}};return V({},t,{syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:s=>i(s,n),next:s=>i(s,n+1)})}},ki="?";function fp(r,e,t,n,i){var s={platform:r,filename:e,function:t==="<anonymous>"?ki:t,in_app:!0};return H(n)||(s.lineno=n),H(i)||(s.colno=i),s}var X_=(r,e)=>{var t=r.indexOf("safari-extension")!==-1,n=r.indexOf("safari-web-extension")!==-1;return t||n?[r.indexOf("@")!==-1?r.split("@")[0]:ki,t?"safari-extension:"+e:"safari-web-extension:"+e]:[r,e]},I1=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,$1=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,M1=/\((\S*)(?::(\d+))(?::(\d+))\)/,O1=(r,e)=>{var t=I1.exec(r);if(t){var[,n,i,s]=t;return fp(e,n,ki,+i,+s)}var o=$1.exec(r);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=M1.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=X_(o[1]||ki,o[2]);return fp(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},P1=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,N1=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,L1=(r,e)=>{var t=P1.exec(r);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var n=N1.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}var i=t[3],s=t[1]||ki;return[s,i]=X_(s,i),fp(e,i,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Uy=/\(error: (.*)\)/,zy=50;function F1(){return(function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return function(i,s){s===void 0&&(s=0);for(var o=[],a=i.split(`
1008
- `),l=s;l<a.length;l++){var c=a[l];if(!(c.length>1024)){var u=Uy.test(c)?c.replace(Uy,"$1"):c;if(!u.match(/\S*Error: /)){for(var p of t){var h=p(u,r);if(h){o.push(h);break}}if(o.length>=zy)break}}}return(function(f){if(!f.length)return[];var v=Array.from(f);return v.reverse(),v.slice(0,zy).map((m=>{return V({},m,{filename:m.filename||(g=v,g[g.length-1]||{}).filename,function:m.function||ki});var g}))})(o)}})("web:javascript",O1,L1)}var gp=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){var n=Ne(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:n?e.stack:void 0,cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return this.isDOMError(e)?"DOMError":"DOMException"}getValue(e){var t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?t+": "+e.message:t}isDOMException(e){return ml(e,"DOMException")}isDOMError(e){return ml(e,"DOMError")}},mp=class{match(e){return(t=>t instanceof Error)(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){var n=e.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}},vp=class{constructor(){}match(e){return ml(e,"ErrorEvent")&&e.error!=null}coerce(e,t){var n,i=t.apply(e.error);return i||{type:"ErrorEvent",value:e.message,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},D1=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,yp=class{match(e){return typeof e=="string"}coerce(e,t){var n,[i,s]=this.getInfos(e);return{type:i??"Error",value:s??e,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}getInfos(e){var t="Error",n=e,i=e.match(D1);return i&&(t=i[1],n=i[2]),[t,n]}},H1=["fatal","error","warning","log","info","debug"];function J_(r,e){e===void 0&&(e=40);var t=Object.keys(r);if(t.sort(),!t.length)return"[object has no keys]";for(var n=t.length;n>0;n--){var i=t.slice(0,n).join(", ");if(!(i.length>e))return n===t.length||i.length<=e?i:i.slice(0,e)+"..."}return""}var _p=class{match(e){return typeof e=="object"&&e!==null}coerce(e,t){var n,i=this.getErrorPropertyFromObject(e);return i?t.apply(i):{type:this.getType(e),value:this.getValue(e),stack:(n=t.syntheticException)==null?void 0:n.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){return P_(e)?e.constructor.name:"Error"}getValue(e){if("name"in e&&typeof e.name=="string"){var t="'"+e.name+"' captured as exception";return"message"in e&&typeof e.message=="string"&&(t+=" with message: '"+e.message+"'"),t}if("message"in e&&typeof e.message=="string")return e.message;var n=this.getObjectClassName(e);return(n&&n!=="Object"?"'"+n+"'":"Object")+" captured as exception with keys: "+J_(e)}isSeverityLevel(e){return Ne(e)&&!ap(e)&&H1.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];if(R1(n))return n}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},bp=class{match(e){return P_(e)}coerce(e,t){var n,i=e.constructor.name;return{type:i,value:i+" captured as exception with keys: "+J_(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},xp=class{match(e){return lp(e)}coerce(e,t){var n;return{type:"Error",value:"Primitive value captured as exception: "+String(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},wp=class{match(e){return ml(e,"PromiseRejectionEvent")}coerce(e,t){var n,i=this.getUnhandledRejectionReason(e);return lp(i)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(i),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}:t.apply(i)}getUnhandledRejectionReason(e){if(lp(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}},Q_=function(r,e){var{debugEnabled:t}=e===void 0?{}:e,n={k:function(i){if(E&&(ur.DEBUG||X.POSTHOG_DEBUG||t)&&!H(E.console)&&E.console){for(var s=("__rrweb_original__"in E.console[i])?E.console[i].__rrweb_original__:E.console[i],o=arguments.length,a=new Array(o>1?o-1:0),l=1;l<o;l++)a[l-1]=arguments[l];s(r,...a)}},info:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("log",...s)},warn:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("warn",...s)},error:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("error",...s)},critical:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];console.error(r,...s)},uninitializedWarning:i=>{n.error("You must initialize PostHog before calling "+i)},createLogger:(i,s)=>Q_(r+" "+i,s)};return n},B=Q_("[PostHog.js]"),Te=B.createLogger,B1=Te("[ExternalScriptsLoader]"),qy=(r,e,t)=>{if(r.config.disable_external_dependency_loading)return B1.warn(e+" was requested but loading of external scripts is disabled."),t("Loading of external scripts is disabled");var n=D?.querySelectorAll("script");if(n){for(var i,s=function(){if(n[o].src===e){var l=n[o];return l.__posthog_loading_callback_fired?{v:t()}:(l.addEventListener("load",(c=>{l.__posthog_loading_callback_fired=!0,t(void 0,c)})),l.onerror=c=>t(c),{v:void 0})}},o=0;o<n.length;o++)if(i=s())return i.v}var a=()=>{if(!D)return t("document not found");var l=D.createElement("script");if(l.type="text/javascript",l.crossOrigin="anonymous",l.src=e,l.onload=p=>{l.__posthog_loading_callback_fired=!0,t(void 0,p)},l.onerror=p=>t(p),r.config.prepare_external_dependency_script&&(l=r.config.prepare_external_dependency_script(l)),!l)return t("prepare_external_dependency_script returned null");if(r.config.external_scripts_inject_target==="head")D.head.appendChild(l);else{var c,u=D.querySelectorAll("body > script");u.length>0?(c=u[0].parentNode)==null||c.insertBefore(l,u[0]):D.body.appendChild(l)}};D!=null&&D.body?a():D?.addEventListener("DOMContentLoaded",a)};X.__PosthogExtensions__=X.__PosthogExtensions__||{},X.__PosthogExtensions__.loadExternalDependency=(r,e,t)=>{var n="/static/"+e+".js?v="+r.version;if(e==="remote-config"&&(n="/array/"+r.config.token+"/config.js"),e==="toolbar"){var i=3e5;n=n+"&t="+Math.floor(Date.now()/i)*i}var s=r.requestRouter.endpointFor("assets",n);qy(r,s,t)},X.__PosthogExtensions__.loadSiteApp=(r,e,t)=>{var n=r.requestRouter.endpointFor("api",e);qy(r,n,t)};var yl={};function jr(r,e,t){if(fe(r)){if(Ny&&r.forEach===Ny)r.forEach(e,t);else if("length"in r&&r.length===+r.length){for(var n=0,i=r.length;n<i;n++)if(n in r&&e.call(t,r[n],n)===yl)return}}}function xe(r,e,t){if(!ue(r)){if(fe(r))return jr(r,e,t);if(f1(r)){for(var n of r.entries())if(e.call(t,n[1],n[0])===yl)return}else for(var i in r)if(O_.call(r,i)&&e.call(t,r[i],i)===yl)return}}var $e=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return jr(t,(function(i){for(var s in i)i[s]!==void 0&&(r[s]=i[s])})),r},Ei=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return jr(t,(function(i){jr(i,(function(s){r.push(s)}))})),r};function fl(r){for(var e=Object.keys(r),t=e.length,n=new Array(t);t--;)n[t]=[e[t],r[e[t]]];return n}var Zy=function(r){try{return r()}catch{return}},V1=function(r){return function(){try{for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(this,t)}catch(i){B.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),B.critical(i)}}},xh=function(r){var e={};return xe(r,(function(t,n){(Ne(t)&&t.length>0||mr(t))&&(e[n]=t)})),e};function j1(r,e){return t=r,n=s=>Ne(s)&&!Nt(e)?s.slice(0,e):s,i=new Set,(function s(o,a){return o!==Object(o)?n?n(o,a):o:i.has(o)?void 0:(i.add(o),fe(o)?(l=[],jr(o,(c=>{l.push(s(c))}))):(l={},xe(o,((c,u)=>{i.has(c)||(l[u]=s(c,u))}))),l);var l})(t);var t,n,i}var W1=["herokuapp.com","vercel.app","netlify.app"];function U1(r){var e=r?.hostname;if(!Ne(e))return!1;var t=e.split(".").slice(-2).join(".");for(var n of W1)if(t===n)return!1;return!0}function eb(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return r[t]}function Oe(r,e,t,n){var{capture:i=!1,passive:s=!0}=n??{};r?.addEventListener(e,t,{capture:i,passive:s})}var tb="$people_distinct_id",eo="__alias",to="__timers",Gy="$autocapture_disabled_server_side",kp="$heatmaps_enabled_server_side",Ky="$exception_capture_enabled_server_side",Sp="$error_tracking_suppression_rules",Yy="$error_tracking_capture_extension_exceptions",Xy="$web_vitals_enabled_server_side",rb="$dead_clicks_enabled_server_side",Jy="$product_tours_enabled_server_side",Qy="$web_vitals_allowed_metrics",Ud="$session_recording_remote_config",_l="$sesid",nb="$session_is_sampled",_i="$enabled_feature_flags",ro="$early_access_features",Ep="$feature_flag_details",no="$stored_person_properties",Mn="$stored_group_properties",Cp="$surveys",bl="$flag_call_reported",dr="$user_state",Ap="$client_session_props",Rp="$capture_rate_limit",Tp="$initial_campaign_params",Ip="$initial_referrer_info",xl="$initial_person_info",wl="$epp",ib="__POSTHOG_TOOLBAR__",Us="$posthog_cookieless",z1=[tb,eo,"__cmpns",to,"$session_recording_enabled_server_side",kp,_l,_i,Sp,dr,ro,Ep,Mn,no,Cp,bl,Ap,Rp,Tp,Ip,wl,xl,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function e_(r){return r instanceof Element&&(r.id===ib||!(r.closest==null||!r.closest(".toolbar-global-fade-container")))}function Bl(r){return!!r&&r.nodeType===1}function Wr(r,e){return!!r&&!!r.tagName&&r.tagName.toLowerCase()===e.toLowerCase()}function sb(r){return!!r&&r.nodeType===3}function ob(r){return!!r&&r.nodeType===11}function wh(r){return r?Dl(r).split(/\s+/):[]}function t_(r){var e=E?.location.href;return!!(e&&r&&r.some((t=>e.match(t))))}function kl(r){var e="";switch(typeof r.className){case"string":e=r.className;break;case"object":e=(r.className&&"baseVal"in r.className?r.className.baseVal:null)||r.getAttribute("class")||"";break;default:e=""}return wh(e)}function ab(r){return ue(r)?null:Dl(r).split(/(\s+)/).filter((e=>go(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function vo(r){var e="";return $p(r)&&!pb(r)&&r.childNodes&&r.childNodes.length&&xe(r.childNodes,(function(t){var n;sb(t)&&t.textContent&&(e+=(n=ab(t.textContent))!==null&&n!==void 0?n:"")})),Dl(e)}function lb(r){return H(r.target)?r.srcElement||null:(e=r.target)!=null&&e.shadowRoot?r.composedPath()[0]||null:r.target||null;var e}var kh=["a","button","form","input","select","textarea","label"];function cb(r,e){if(H(e))return!0;var t,n=function(s){if(e.some((o=>s.matches(o))))return{v:!0}};for(var i of r)if(t=n(i))return t.v;return!1}function ub(r){var e=r.parentNode;return!(!e||!Bl(e))&&e}var q1=["next","previous","prev",">","<"],r_=10,n_=[".ph-no-rageclick",".ph-no-capture"];function Z1(r,e){if(!E||Sh(r))return!1;var t,n,i;if(gr(e)?(t=!!e&&n_,n=void 0):(t=(i=e?.css_selector_ignorelist)!==null&&i!==void 0?i:n_,n=e?.content_ignorelist),t===!1)return!1;var{targetElementList:s}=db(r,!1);return!(function(o,a){if(o===!1||H(o))return!1;var l;if(o===!0)l=q1;else{if(!fe(o))return!1;if(o.length>r_)return B.error("[PostHog] content_ignorelist array cannot exceed "+r_+" items. Use css_selector_ignorelist for more complex matching."),!1;l=o.map((c=>c.toLowerCase()))}return a.some((c=>{var{safeText:u,ariaLabel:p}=c;return l.some((h=>u.includes(h)||p.includes(h)))}))})(n,s.map((o=>{var a;return{safeText:vo(o).toLowerCase(),ariaLabel:((a=o.getAttribute("aria-label"))==null?void 0:a.toLowerCase().trim())||""}})))&&!cb(s,t)}var Sh=r=>!r||Wr(r,"html")||!Bl(r),db=(r,e)=>{if(!E||Sh(r))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,n=[r],i=r;i.parentNode&&!Wr(i,"body");)if(ob(i.parentNode))n.push(i.parentNode.host),i=i.parentNode.host;else{var s=ub(i);if(!s)break;if(e||kh.indexOf(s.tagName.toLowerCase())>-1)t=!0;else{var o=E.getComputedStyle(s);o&&o.getPropertyValue("cursor")==="pointer"&&(t=!0)}n.push(s),i=s}return{parentIsUsefulElement:t,targetElementList:n}};function G1(r,e,t,n,i){var s,o,a,l;if(t===void 0&&(t=void 0),!E||Sh(r)||(s=t)!=null&&s.url_allowlist&&!t_(t.url_allowlist)||(o=t)!=null&&o.url_ignorelist&&t_(t.url_ignorelist))return!1;if((a=t)!=null&&a.dom_event_allowlist){var c=t.dom_event_allowlist;if(c&&!c.some((v=>e.type===v)))return!1}var{parentIsUsefulElement:u,targetElementList:p}=db(r,n);if(!(function(v,m){var g=m?.element_allowlist;if(H(g))return!0;var y,x=function(_){if(g.some((w=>_.tagName.toLowerCase()===w)))return{v:!0}};for(var k of v)if(y=x(k))return y.v;return!1})(p,t)||!cb(p,(l=t)==null?void 0:l.css_selector_allowlist))return!1;var h=E.getComputedStyle(r);if(h&&h.getPropertyValue("cursor")==="pointer"&&e.type==="click")return!0;var f=r.tagName.toLowerCase();switch(f){case"html":return!1;case"form":return(i||["submit"]).indexOf(e.type)>=0;case"input":case"select":case"textarea":return(i||["change","click"]).indexOf(e.type)>=0;default:return u?(i||["click"]).indexOf(e.type)>=0:(i||["click"]).indexOf(e.type)>=0&&(kh.indexOf(f)>-1||r.getAttribute("contenteditable")==="true")}}function $p(r){for(var e=r;e.parentNode&&!Wr(e,"body");e=e.parentNode){var t=kl(e);if(le(t,"ph-sensitive")||le(t,"ph-no-capture"))return!1}if(le(kl(r),"ph-include"))return!0;var n=r.type||"";if(Ne(n))switch(n.toLowerCase()){case"hidden":case"password":return!1}var i=r.name||r.id||"";return!(Ne(i)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))}function pb(r){return!!(Wr(r,"input")&&!["button","checkbox","submit","reset"].includes(r.type)||Wr(r,"select")||Wr(r,"textarea")||r.getAttribute("contenteditable")==="true")}var hb="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",K1=new RegExp("^(?:"+hb+")$"),Y1=new RegExp(hb),fb="\\d{3}-?\\d{2}-?\\d{4}",X1=new RegExp("^("+fb+")$"),J1=new RegExp("("+fb+")");function go(r,e){return e===void 0&&(e=!0),!(ue(r)||Ne(r)&&(r=Dl(r),(e?K1:Y1).test((r||"").replace(/[- ]/g,""))||(e?X1:J1).test(r)))}function gb(r){var e=vo(r);return go(e=(e+" "+mb(r)).trim())?e:""}function mb(r){var e="";return r&&r.childNodes&&r.childNodes.length&&xe(r.childNodes,(function(t){var n;if(t&&((n=t.tagName)==null?void 0:n.toLowerCase())==="span")try{var i=vo(t);e=(e+" "+i).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+mb(t)).trim())}catch(s){B.error("[AutoCapture]",s)}})),e}function Q1(r){return(function(e){var t=e.map((n=>{var i,s,o="";if(n.tag_name&&(o+=n.tag_name),n.attr_class)for(var a of(n.attr_class.sort(),n.attr_class))o+="."+a.replace(/"/g,"");var l=V({},n.text?{text:n.text}:{},{"nth-child":(i=n.nth_child)!==null&&i!==void 0?i:0,"nth-of-type":(s=n.nth_of_type)!==null&&s!==void 0?s:0},n.href?{href:n.href}:{},n.attr_id?{attr_id:n.attr_id}:{},n.attributes),c={};return fl(l).sort(((u,p)=>{var[h]=u,[f]=p;return h.localeCompare(f)})).forEach((u=>{var[p,h]=u;return c[i_(p.toString())]=i_(h.toString())})),o+=":",o+=fl(c).map((u=>{var[p,h]=u;return p+'="'+h+'"'})).join("")}));return t.join(";")})((function(e){return e.map((t=>{var n,i,s={text:(n=t.$el_text)==null?void 0:n.slice(0,400),tag_name:t.tag_name,href:(i=t.attr__href)==null?void 0:i.slice(0,2048),attr_class:eC(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return fl(t).filter((o=>{var[a]=o;return a.indexOf("attr__")===0})).forEach((o=>{var[a,l]=o;return s.attributes[a]=l})),s}))})(r))}function i_(r){return r.replace(/"|\\"/g,'\\"')}function eC(r){var e=r.attr__class;return e?fe(e)?e:wh(e):void 0}var Sl=class{constructor(e){this.disabled=e===!1;var t=Pe(e)?e:{};this.thresholdPx=t.threshold_px||30,this.timeoutMs=t.timeout_ms||1e3,this.clickCount=t.click_count||3,this.clicks=[]}isRageClick(e,t,n){if(this.disabled)return!1;var i=this.clicks[this.clicks.length-1];if(i&&Math.abs(e-i.x)+Math.abs(t-i.y)<this.thresholdPx&&n-i.timestamp<this.timeoutMs){if(this.clicks.push({x:e,y:t,timestamp:n}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:n}];return!1}},El=r=>{var e=D?.createElement("a");return H(e)?null:(e.href=r,e)},tC=function(r,e){var t,n;e===void 0&&(e="&");var i=[];return xe(r,(function(s,o){H(s)||H(o)||o==="undefined"||(t=encodeURIComponent((a=>a instanceof File)(s)?s.name:s.toString()),n=encodeURIComponent(o),i[i.length]=n+"="+t)})),i.join(e)},Cl=function(r,e){for(var t,n=((r.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),i=0;i<n.length;i++){var s=n[i].split("=");if(s[0]===e){t=s;break}}if(!fe(t)||t.length<2)return"";var o=t[1];try{o=decodeURIComponent(o)}catch{B.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},yo=function(r,e,t){if(!r||!e||!e.length)return r;for(var n=r.split("#"),i=n[0]||"",s=n[1],o=i.split("?"),a=o[1],l=o[0],c=(a||"").split("&"),u=[],p=0;p<c.length;p++){var h=c[p].split("=");fe(h)&&(e.includes(h[0])?u.push(h[0]+"="+t):u.push(c[p]))}var f=l;return a!=null&&(f+="?"+u.join("&")),s!=null&&(f+="#"+s),f},Al=function(r,e){var t=r.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},zd="$copy_autocapture",s_=Te("[AutoCapture]");function qd(r,e){return e.length>r?e.slice(0,r)+"...":e}function rC(r){if(r.previousElementSibling)return r.previousElementSibling;var e=r;do e=e.previousSibling;while(e&&!Bl(e));return e}function nC(r,e,t,n){var i=r.tagName.toLowerCase(),s={tag_name:i};kh.indexOf(i)>-1&&!t&&(i.toLowerCase()==="a"||i.toLowerCase()==="button"?s.$el_text=qd(1024,gb(r)):s.$el_text=qd(1024,vo(r)));var o=kl(r);o.length>0&&(s.classes=o.filter((function(u){return u!==""}))),xe(r.attributes,(function(u){var p;if((!pb(r)||["name","id","class","aria-label"].indexOf(u.name)!==-1)&&(n==null||!n.includes(u.name))&&!e&&go(u.value)&&(p=u.name,!Ne(p)||p.substring(0,10)!=="_ngcontent"&&p.substring(0,7)!=="_nghost")){var h=u.value;u.name==="class"&&(h=wh(h).join(" ")),s["attr__"+u.name]=qd(1024,h)}}));for(var a=1,l=1,c=r;c=rC(c);)a++,c.tagName===r.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function iC(r,e){for(var t,n,{e:i,maskAllElementAttributes:s,maskAllText:o,elementAttributeIgnoreList:a,elementsChainAsString:l}=e,c=[r],u=r;u.parentNode&&!Wr(u,"body");)ob(u.parentNode)?(c.push(u.parentNode.host),u=u.parentNode.host):(c.push(u.parentNode),u=u.parentNode);var p,h=[],f={},v=!1,m=!1;if(xe(c,(_=>{var w=$p(_);_.tagName.toLowerCase()==="a"&&(v=_.getAttribute("href"),v=w&&v&&go(v)&&v),le(kl(_),"ph-no-capture")&&(m=!0),h.push(nC(_,s,o,a));var R=(function(b){if(!$p(b))return{};var A={};return xe(b.attributes,(function($){if($.name&&$.name.indexOf("data-ph-capture-attribute")===0){var N=$.name.replace("data-ph-capture-attribute-",""),M=$.value;N&&M&&go(M)&&(A[N]=M)}})),A})(_);$e(f,R)})),m)return{props:{},explicitNoCapture:m};if(o||(r.tagName.toLowerCase()==="a"||r.tagName.toLowerCase()==="button"?h[0].$el_text=gb(r):h[0].$el_text=vo(r)),v){var g,y;h[0].attr__href=v;var x=(g=El(v))==null?void 0:g.host,k=E==null||(y=E.location)==null?void 0:y.host;x&&k&&x!==k&&(p=v)}return{props:$e({$event_type:i.type,$ce_version:1},l?{}:{$elements:h},{$elements_chain:Q1(h)},(t=h[0])!=null&&t.$el_text?{$el_text:(n=h[0])==null?void 0:n.$el_text}:{},p&&i.type==="click"?{$external_click_url:p}:{},f)}}var Mp=class{constructor(e){this.P=!1,this.T=null,this.I=!1,this.instance=e,this.rageclicks=new Sl(e.config.rageclick),this.C=null}get R(){var e,t,n=Pe(this.instance.config.autocapture)?this.instance.config.autocapture:{};return n.url_allowlist=(e=n.url_allowlist)==null?void 0:e.map((i=>new RegExp(i))),n.url_ignorelist=(t=n.url_ignorelist)==null?void 0:t.map((i=>new RegExp(i))),n}F(){if(this.isBrowserSupported()){if(E&&D){var e=n=>{n=n||E?.event;try{this.O(n)}catch(i){s_.error("Failed to capture event",i)}};if(Oe(D,"submit",e,{capture:!0}),Oe(D,"change",e,{capture:!0}),Oe(D,"click",e,{capture:!0}),this.R.capture_copied_text){var t=n=>{n=n||E?.event,this.O(n,zd)};Oe(D,"copy",t,{capture:!0}),Oe(D,"cut",t,{capture:!0})}}}else s_.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this.I=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[Gy]:!!e.autocapture_opt_out}),this.T=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this.C=e}getElementSelectors(e){var t,n=[];return(t=this.C)==null||t.forEach((i=>{var s=D?.querySelectorAll(i);s?.forEach((o=>{e===o&&n.push(i)}))})),n}get isEnabled(){var e,t,n=(e=this.instance.persistence)==null?void 0:e.props[Gy],i=this.T;if(Nt(i)&&!gr(n)&&!this.instance.M())return!1;var s=(t=this.T)!==null&&t!==void 0?t:!!n;return!!this.instance.config.autocapture&&!s}O(e,t){if(t===void 0&&(t="$autocapture"),this.isEnabled){var n,i=lb(e);sb(i)&&(i=i.parentNode||null),t==="$autocapture"&&e.type==="click"&&e instanceof MouseEvent&&this.instance.config.rageclick&&(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,e.timeStamp||new Date().getTime())&&Z1(i,this.instance.config.rageclick)&&this.O(e,"$rageclick");var s=t===zd;if(i&&G1(i,e,this.R,s,s?["copy","cut"]:void 0)){var{props:o,explicitNoCapture:a}=iC(i,{e,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(a)return!1;var l=this.getElementSelectors(i);if(l&&l.length>0&&(o.$element_selectors=l),t===zd){var c,u=ab(E==null||(c=E.getSelection())==null?void 0:c.toString()),p=e.type||"clipboard";if(!u)return!1;o.$selected_content=u,o.$copy_type=p}return this.instance.capture(t,o),!0}}}isBrowserSupported(){return Vr(D?.querySelectorAll)}};Math.trunc||(Math.trunc=function(r){return r<0?Math.ceil(r):Math.floor(r)}),Number.isInteger||(Number.isInteger=function(r){return mr(r)&&isFinite(r)&&Math.floor(r)===r});var o_="0123456789abcdef",Op=class r{constructor(e){if(this.bytes=e,e.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,n,i){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(i)||e<0||t<0||n<0||i<0||e>0xffffffffffff||t>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");var s=new Uint8Array(16);return s[0]=e/Math.pow(2,40),s[1]=e/Math.pow(2,32),s[2]=e/Math.pow(2,24),s[3]=e/Math.pow(2,16),s[4]=e/Math.pow(2,8),s[5]=e,s[6]=112|t>>>8,s[7]=t,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=i>>>24,s[13]=i>>>16,s[14]=i>>>8,s[15]=i,new r(s)}toString(){for(var e="",t=0;t<this.bytes.length;t++)e=e+o_.charAt(this.bytes[t]>>>4)+o_.charAt(15&this.bytes[t]),t!==3&&t!==5&&t!==7&&t!==9||(e+="-");if(e.length!==36)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new r(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(var t=0;t<16;t++){var n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},Pp=class{constructor(){this.A=0,this.j=0,this.D=new Np}generate(){var e=this.generateOrAbort();if(H(e)){this.A=0;var t=this.generateOrAbort();if(H(t))throw new Error("Could not generate UUID after timestamp reset");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.A)this.A=e,this.L();else{if(!(e+1e4>this.A))return;this.j++,this.j>4398046511103&&(this.A++,this.L())}return Op.fromFieldsV7(this.A,Math.trunc(this.j/Math.pow(2,30)),this.j&Math.pow(2,30)-1,this.D.nextUint32())}L(){this.j=1024*this.D.nextUint32()+(1023&this.D.nextUint32())}},a_,vb=r=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var e=0;e<r.length;e++)r[e]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return r};E&&!H(E.crypto)&&crypto.getRandomValues&&(vb=r=>crypto.getRandomValues(r));var Np=class{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(vb(this.N),this.U=0),this.N[this.U++]}},Br=()=>sC().toString(),sC=()=>(a_||(a_=new Pp)).generate(),zs="",oC=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function aC(r,e){if(e){var t=(function(i,s){if(s===void 0&&(s=D),zs)return zs;if(!s||["localhost","127.0.0.1"].includes(i))return"";for(var o=i.split("."),a=Math.min(o.length,8),l="dmn_chk_"+Br();!zs&&a--;){var c=o.slice(a).join("."),u=l+"=1;domain=."+c+";path=/";s.cookie=u+";max-age=3",s.cookie.includes(l)&&(s.cookie=u+";max-age=0",zs=c)}return zs})(r);if(!t){var n=(i=>{var s=i.match(oC);return s?s[0]:""})(r);n!==t&&B.info("Warning: cookie subdomain discovery mismatch",n,t),t=n}return t?"; domain=."+t:""}return""}var zt={H:()=>!!D,B:function(r){B.error("cookieStore error: "+r)},q:function(r){if(D){try{for(var e=r+"=",t=D.cookie.split(";").filter((s=>s.length)),n=0;n<t.length;n++){for(var i=t[n];i.charAt(0)==" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return decodeURIComponent(i.substring(e.length,i.length))}}catch{}return null}},W:function(r){var e;try{e=JSON.parse(zt.q(r))||{}}catch{}return e},G:function(r,e,t,n,i){if(D)try{var s="",o="",a=aC(D.location.hostname,n);if(t){var l=new Date;l.setTime(l.getTime()+24*t*60*60*1e3),s="; expires="+l.toUTCString()}i&&(o="; secure");var c=r+"="+encodeURIComponent(JSON.stringify(e))+s+"; SameSite=Lax; path=/"+a+o;return c.length>3686.4&&B.warn("cookieStore warning: large cookie, len="+c.length),D.cookie=c,c}catch{return}},V:function(r,e){if(D!=null&&D.cookie)try{zt.G(r,"",-1,e)}catch{return}}},Zd=null,Ae={H:function(){if(!Nt(Zd))return Zd;var r=!0;if(H(E))r=!1;else try{var e="__mplssupport__";Ae.G(e,"xyz"),Ae.q(e)!=='"xyz"'&&(r=!1),Ae.V(e)}catch{r=!1}return r||B.error("localStorage unsupported; falling back to cookie store"),Zd=r,r},B:function(r){B.error("localStorage error: "+r)},q:function(r){try{return E?.localStorage.getItem(r)}catch(e){Ae.B(e)}return null},W:function(r){try{return JSON.parse(Ae.q(r))||{}}catch{}return null},G:function(r,e){try{E?.localStorage.setItem(r,JSON.stringify(e))}catch(t){Ae.B(t)}},V:function(r){try{E?.localStorage.removeItem(r)}catch(e){Ae.B(e)}}},lC=["$device_id","distinct_id",_l,nb,wl,xl],ul={},cC={H:function(){return!0},B:function(r){B.error("memoryStorage error: "+r)},q:function(r){return ul[r]||null},W:function(r){return ul[r]||null},G:function(r,e){ul[r]=e},V:function(r){delete ul[r]}},In=null,ze={H:function(){if(!Nt(In))return In;if(In=!0,H(E))In=!1;else try{var r="__support__";ze.G(r,"xyz"),ze.q(r)!=='"xyz"'&&(In=!1),ze.V(r)}catch{In=!1}return In},B:function(r){B.error("sessionStorage error: ",r)},q:function(r){try{return E?.sessionStorage.getItem(r)}catch(e){ze.B(e)}return null},W:function(r){try{return JSON.parse(ze.q(r))||null}catch{}return null},G:function(r,e){try{E?.sessionStorage.setItem(r,JSON.stringify(e))}catch(t){ze.B(t)}},V:function(r){try{E?.sessionStorage.removeItem(r)}catch(e){ze.B(e)}}},pr=(function(r){return r[r.PENDING=-1]="PENDING",r[r.DENIED=0]="DENIED",r[r.GRANTED=1]="GRANTED",r})({}),Lp=class{constructor(e){this._instance=e}get R(){return this._instance.config}get consent(){return this.J()?pr.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===pr.DENIED||this.consent===pr.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===pr.DENIED}optInOut(e){this.Y.G(this.X,e?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:n}=this._instance.config;return n||(t?t+e:"__ph_opt_in_out_"+e)}get K(){var e=this.Y.q(this.X);return Vd(e)?pr.GRANTED:le(v1,e)?pr.DENIED:pr.PENDING}get Y(){if(!this.Z){var e=this.R.opt_out_capturing_persistence_type;this.Z=e==="localStorage"?Ae:zt;var t=e==="localStorage"?zt:Ae;t.q(this.X)&&(this.Z.q(this.X)||this.optInOut(Vd(t.q(this.X))),t.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!eb([dt?.doNotTrack,dt?.msDoNotTrack,X.doNotTrack],(e=>Vd(e)))}},dl=Te("[Dead Clicks]"),uC=()=>!0,dC=r=>{var e,t=!((e=r.instance.persistence)==null||!e.get_property(rb)),n=r.instance.config.capture_dead_clicks;return gr(n)?n:!!Pe(n)||t},Rl=class{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(e,t,n){this.instance=e,this.isEnabled=t,this.onCapture=n,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[rb]:e?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.initDeadClicksAutocapture&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this.instance,"dead-clicks-autocapture",(i=>{i?dl.error("failed to load script",i):e()}))}et(){var e;if(D){if(!this.tt&&(e=X.__PosthogExtensions__)!=null&&e.initDeadClicksAutocapture){var t=Pe(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this.tt=X.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this.tt.start(D),dl.info("starting...")}}else dl.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,dl.info("stopping..."))}},qs=Te("[ExceptionAutocapture]"),Fp=class{constructor(e){var t,n,i;this.rt=()=>{var s;if(E&&this.isEnabled&&(s=X.__PosthogExtensions__)!=null&&s.errorWrappingFunctions){var o=X.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,a=X.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,l=X.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=o(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=a(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=l(this.captureException.bind(this)))}catch(c){qs.error("failed to start",c),this.ut()}}},this._instance=e,this.ht=!((t=this._instance.persistence)==null||!t.props[Ky]),this.dt=new cp({refillRate:(n=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&n!==void 0?n:1,bucketSize:(i=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&i!==void 0?i:10,refillInterval:1e4,h:qs}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var e=this._instance.config.capture_exceptions,t={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return Pe(e)?t=V({},t,e):(H(e)?this.ht:e)&&(t=V({},t,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),t}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(qs.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.errorWrappingFunctions&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"exception-autocapture",(i=>{if(i)return qs.error("failed to load script",i);e()}))}ut(){var e,t,n;(e=this.st)==null||e.call(this),this.st=void 0,(t=this.nt)==null||t.call(this),this.nt=void 0,(n=this.ot)==null||n.call(this),this.ot=void 0}onRemoteConfig(e){var t=e.autocaptureExceptions;this.ht=!!t||!1,this._instance.persistence&&this._instance.persistence.register({[Ky]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(e){var t,n,i=(t=e==null||(n=e.$exception_list)==null||(n=n[0])==null?void 0:n.type)!==null&&t!==void 0?t:"Exception";this.dt.consumeRateLimit(i)?qs.info("Skipping exception capture because of client rate limiting.",{exception:i}):this._instance.exceptions.sendExceptionEvent(e)}};function l_(r,e,t){try{if(!(e in r))return()=>{};var n=r[e],i=t(n);return Vr(i)&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__posthog_wrapped__:{enumerable:!1,value:!0}})),r[e]=i,()=>{r[e]=n}}catch{return()=>{}}}var Dp=class{constructor(e){var t;this._instance=e,this.ct=(E==null||(t=E.location)==null?void 0:t.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(B.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,B.info("History API monitoring stopped")}monitorHistoryChanges(){var e,t;if(E&&E.history){var n=this;(e=E.history.pushState)!=null&&e.__posthog_wrapped__||l_(E.history,"pushState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("pushState")})),(t=E.history.replaceState)!=null&&t.__posthog_wrapped__||l_(E.history,"replaceState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("replaceState")})),this.bt()}}_t(e){try{var t,n=E==null||(t=E.location)==null?void 0:t.pathname;if(!n)return;n!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:e}),this.ct=n}catch(i){B.error("Error capturing "+e+" pageview",i)}}bt(){if(!this.ft){var e=()=>{this._t("popstate")};Oe(E,"popstate",e),this.ft=()=>{E&&E.removeEventListener("popstate",e)}}}},Gd=Te("[SegmentIntegration]");function pC(r,e){var t=r.config.segment;if(!t)return e();(function(n,i){var s=n.config.segment;if(!s)return i();var o=l=>{var c=()=>l.anonymousId()||Br();n.config.get_device_id=c,l.id()&&(n.register({distinct_id:l.id(),$device_id:c()}),n.persistence.set_property(dr,"identified")),i()},a=s.user();"then"in a&&Vr(a.then)?a.then(o):o(a)})(r,(()=>{t.register((n=>{Promise&&Promise.resolve||Gd.warn("This browser does not have Promise support, and can not use the segment integration");var i=(s,o)=>{if(!o)return s;s.event.userId||s.event.anonymousId===n.get_distinct_id()||(Gd.info("No userId set, resetting PostHog"),n.reset()),s.event.userId&&s.event.userId!==n.get_distinct_id()&&(Gd.info("UserId set, identifying with PostHog"),n.identify(s.event.userId));var a=n.calculateEventProperties(o,s.event.properties);return s.event.properties=Object.assign({},a,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:s=>i(s,s.event.event),page:s=>i(s,"$pageview"),identify:s=>i(s,"$identify"),screen:s=>i(s,"$screen")}})(r)).then((()=>{e()}))}))}var yb="posthog-js";function _b(r,e){var{organization:t,projectId:n,prefix:i,severityAllowList:s=["error"],sendExceptionsToPostHog:o=!0}=e===void 0?{}:e;return a=>{var l,c,u,p,h;if(!(s==="*"||s.includes(a.level))||!r.__loaded)return a;a.tags||(a.tags={});var f=r.requestRouter.endpointFor("ui","/project/"+r.config.token+"/person/"+r.get_distinct_id());a.tags["PostHog Person URL"]=f,r.sessionRecordingStarted()&&(a.tags["PostHog Recording URL"]=r.get_session_replay_url({withTimestamp:!0}));var v=((l=a.exception)==null?void 0:l.values)||[],m=v.map((y=>V({},y,{stacktrace:y.stacktrace?V({},y.stacktrace,{type:"raw",frames:(y.stacktrace.frames||[]).map((x=>V({},x,{platform:"web:javascript"})))}):void 0}))),g={$exception_message:((c=v[0])==null?void 0:c.value)||a.message,$exception_type:(u=v[0])==null?void 0:u.type,$exception_level:a.level,$exception_list:m,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:((p=v[0])==null?void 0:p.value)||a.message,$sentry_exception_type:(h=v[0])==null?void 0:h.type,$sentry_tags:a.tags};return t&&n&&(g.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+n+"&query="+a.event_id),o&&r.exceptions.sendExceptionEvent(g),a}}var Hp=class{constructor(e,t,n,i,s,o){this.name=yb,this.setupOnce=function(a){a(_b(e,{organization:t,projectId:n,prefix:i,severityAllowList:s,sendExceptionsToPostHog:o==null||o}))}}},hC=E!=null&&E.location?Al(E.location.hash,"__posthog")||Al(location.hash,"state"):null,c_="_postHogToolbarParams",u_=Te("[Toolbar]"),Hr=(function(r){return r[r.UNINITIALIZED=0]="UNINITIALIZED",r[r.LOADING=1]="LOADING",r[r.LOADED=2]="LOADED",r})(Hr||{}),Bp=class{constructor(e){this.instance=e}yt(e){X.ph_toolbar_state=e}wt(){var e;return(e=X.ph_toolbar_state)!==null&&e!==void 0?e:Hr.UNINITIALIZED}maybeLoadToolbar(e,t,n){if(e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),!E||!D)return!1;e=e??E.location,n=n??E.history;try{if(!t){try{E.localStorage.setItem("test","test"),E.localStorage.removeItem("test")}catch{return!1}t=E?.localStorage}var i,s=hC||Al(e.hash,"__posthog")||Al(e.hash,"state"),o=s?Zy((()=>JSON.parse(atob(decodeURIComponent(s)))))||Zy((()=>JSON.parse(decodeURIComponent(s)))):null;return o&&o.action==="ph_authorize"?((i=o).source="url",i&&Object.keys(i).length>0&&(o.desiredHash?e.hash=o.desiredHash:n?n.replaceState(n.state,"",e.pathname+e.search):e.hash="")):((i=JSON.parse(t.getItem(c_)||"{}")).source="localstorage",delete i.userIntent),!(!i.token||this.instance.config.token!==i.token)&&(this.loadToolbar(i),!0)}catch{return!1}}xt(e){var t=X.ph_load_toolbar||X.ph_load_editor;!ue(t)&&Vr(t)?t(e,this.instance):u_.warn("No toolbar load function found")}loadToolbar(e){var t=!(D==null||!D.getElementById(ib));if(!E||t)return!1;var n=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,i=V({token:this.instance.config.token},e,{apiURL:this.instance.requestRouter.endpointFor("ui")},n?{instrument:!1}:{});if(E.localStorage.setItem(c_,JSON.stringify(V({},i,{source:void 0}))),this.wt()===Hr.LOADED)this.xt(i);else if(this.wt()===Hr.UNINITIALIZED){var s;this.yt(Hr.LOADING),(s=X.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this.instance,"toolbar",(o=>{if(o)return u_.error("[Toolbar] Failed to load",o),void this.yt(Hr.UNINITIALIZED);this.yt(Hr.LOADED),this.xt(i)})),Oe(E,"turbolinks:load",(()=>{this.yt(Hr.UNINITIALIZED),this.loadToolbar(i)}))}return!0}Et(e){return this.loadToolbar(e)}maybeLoadEditor(e,t,n){return e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),this.maybeLoadToolbar(e,t,n)}},fC=Te("[TracingHeaders]"),Vp=class{constructor(e){this.$t=void 0,this.St=void 0,this.rt=()=>{var t,n;H(this.$t)&&((t=X.__PosthogExtensions__)==null||(t=t.tracingHeadersPatchFns)==null||t._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),H(this.St)&&((n=X.__PosthogExtensions__)==null||(n=n.tracingHeadersPatchFns)==null||n._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=e}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.tracingHeadersPatchFns&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"tracing-headers",(i=>{if(i)return fC.error("failed to load script",i);e()}))}startIfEnabledOrStop(){var e,t;this._instance.config.__add_tracing_headers?this.it(this.rt):((e=this.$t)==null||e.call(this),(t=this.St)==null||t.call(this),this.$t=void 0,this.St=void 0)}},pl="https?://(.*)",Ci=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],gC=Ei(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Ci),_o="<masked>",mC=["li_fat_id"];function bb(r,e,t){if(!D)return{};var n,i=e?Ei([],Ci,t||[]):[],s=xb(yo(D.URL,i,_o),r),o=(n={},xe(mC,(function(a){var l=zt.q(a);n[a]=l||null})),n);return $e(o,s)}function xb(r,e){var t=gC.concat(e||[]),n={};return xe(t,(function(i){var s=Cl(r,i);n[i]=s||null})),n}function wb(r){var e=(function(s){return s?s.search(pl+"google.([^/?]*)")===0?"google":s.search(pl+"bing.com")===0?"bing":s.search(pl+"yahoo.com")===0?"yahoo":s.search(pl+"duckduckgo.com")===0?"duckduckgo":null:null})(r),t=e!="yahoo"?"q":"p",n={};if(!Nt(e)){n.$search_engine=e;var i=D?Cl(D.referrer,t):"";i.length&&(n.ph_keyword=i)}return n}function d_(){return navigator.language||navigator.userLanguage}function kb(){return D?.referrer||"$direct"}function Sb(r,e){var t=r?Ei([],Ci,e||[]):[],n=qe?.href.substring(0,1e3);return{r:kb().substring(0,1e3),u:n?yo(n,t,_o):void 0}}function Eb(r){var e,{r:t,u:n}=r,i={$referrer:t,$referring_domain:t==null?void 0:t=="$direct"?"$direct":(e=El(t))==null?void 0:e.host};if(n){i.$current_url=n;var s=El(n);i.$host=s?.host,i.$pathname=s?.pathname;var o=xb(n);$e(i,o)}if(t){var a=wb(t);$e(i,a)}return i}function Cb(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function vC(){try{return new Date().getTimezoneOffset()}catch{return}}function yC(r,e){if(!st)return{};var t,n,i,s=r?Ei([],Ci,e||[]):[],[o,a]=(function(l){for(var c=0;c<jy.length;c++){var[u,p]=jy[c],h=u.exec(l),f=h&&(Vr(p)?p(h,l):p);if(f)return f}return["",""]})(st);return $e(xh({$os:o,$os_version:a,$browser:Y_(st,navigator.vendor),$device:Wy(st),$device_type:(n=st,i=Wy(n),i===L_||i===N_||i==="Kobo"||i==="Kindle Fire"||i===K_?uo:i===ho||i===xi||i===fo||i===dp?"Console":i===D_?"Wearable":i?xt:"Desktop"),$timezone:Cb(),$timezone_offset:vC()}),{$current_url:yo(qe?.href,s,_o),$host:qe?.host,$pathname:qe?.pathname,$raw_user_agent:st.length>1e3?st.substring(0,997)+"...":st,$browser_version:A1(st,navigator.vendor),$browser_language:d_(),$browser_language_prefix:(t=d_(),typeof t=="string"?t.split("-")[0]:void 0),$screen_height:E?.screen.height,$screen_width:E?.screen.width,$viewport_height:E?.innerHeight,$viewport_width:E?.innerWidth,$lib:"web",$lib_version:ur.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var Lr=Te("[Web Vitals]"),p_=9e5,jp=class{constructor(e){var t;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((n,i)=>V({},n,{["$web_vitals_"+i.name+"_event"]:V({},i),["$web_vitals_"+i.name+"_value"]:i.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=n=>{var i,s=(i=this._instance.sessionManager)==null?void 0:i.checkAndGetSessionAndWindowId(!0);if(H(s))Lr.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var o=this.Ct();H(o)||(ue(n?.name)||ue(n?.value)?Lr.error("Invalid metric received",n):this.Rt&&n.value>=this.Rt?Lr.error("Ignoring metric with value >= "+this.Rt,n):(this.N.url!==o&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),H(this.N.url)&&(this.N.url=o),this.N.firstMetricTimestamp=H(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,n.attribution&&n.attribution.interactionTargetElement&&(n.attribution.interactionTargetElement=void 0),this.N.metrics.push(V({},n,{$current_url:o,$session_id:s.sessionId,$window_id:s.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{if(!this.P){var n,i,s,o,a=X.__PosthogExtensions__;H(a)||H(a.postHogWebVitalsCallbacks)||({onLCP:n,onCLS:i,onFCP:s,onINP:o}=a.postHogWebVitalsCallbacks),n&&i&&s&&o?(this.allowedMetrics.indexOf("LCP")>-1&&n(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&i(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&s(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&o(this.It.bind(this)),this.P=!0):Lr.error("web vitals callbacks not loaded - not starting")}},this._instance=e,this.kt=!((t=this._instance.persistence)==null||!t.props[Xy]),this.startIfEnabled()}get allowedMetrics(){var e,t,n=Pe(this._instance.config.capture_performance)?(e=this._instance.config.capture_performance)==null?void 0:e.web_vitals_allowed_metrics:void 0;return ue(n)?((t=this._instance.persistence)==null?void 0:t.props[Qy])||["CLS","FCP","INP","LCP"]:n}get flushToCaptureTimeoutMs(){return(Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get useAttribution(){var e=Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_attribution:void 0;return e!=null&&e}get Rt(){var e=Pe(this._instance.config.capture_performance)&&mr(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:p_;return 0<e&&e<=6e4?p_:e}get isEnabled(){var e=qe?.protocol;if(e!=="http:"&&e!=="https:")return Lr.info("Web Vitals are disabled on non-http/https protocols"),!1;var t=Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:gr(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return gr(t)?t:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(Lr.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(e){var t=Pe(e.capturePerformance)&&!!e.capturePerformance.web_vitals,n=Pe(e.capturePerformance)?e.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[Xy]:t}),this._instance.persistence.register({[Qy]:n})),this.kt=t,this.startIfEnabled()}it(e){var t,n;if((t=X.__PosthogExtensions__)!=null&&t.postHogWebVitalsCallbacks)e();else{var i=this.useAttribution?"web-vitals-with-attribution":"web-vitals";(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,i,(s=>{s?Lr.error("failed to load script",s):e()}))}}Ct(){var e=E?E.location.href:void 0;if(e){var t=this._instance.config.mask_personal_data_properties,n=this._instance.config.custom_personal_data_properties,i=t?Ei([],Ci,n||[]):[];return yo(e,i,_o)}Lr.error("Could not determine current URL")}},_C=Te("[Heatmaps]");function h_(r){return Pe(r)&&"clientX"in r&&"clientY"in r&&mr(r.clientX)&&mr(r.clientY)}var Wp=class{constructor(e){var t;this.kt=!1,this.P=!1,this.Ft=null,this.instance=e,this.kt=!((t=this.instance.persistence)==null||!t.props[kp]),this.rageclicks=new Sl(e.config.rageclick)}get flushIntervalMilliseconds(){var e=5e3;return Pe(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return ue(this.instance.config.capture_heatmaps)?ue(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;_C.info("starting..."),this.Ot(),this.Mt()}else{var e;clearInterval((e=this.Ft)!==null&&e!==void 0?e:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[kp]:t}),this.kt=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.N;return this.N=void 0,e}jt(e){this.Dt(e.originalEvent,"deadclick")}Mt(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(e){return e?.visibilityState==="visible"})(D)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Ot(){E&&D&&(this.Nt=this.Lt.bind(this),Oe(E,"beforeunload",this.Nt),this.Ut=e=>this.Dt(e||E?.event),Oe(D,"click",this.Ut,{capture:!0}),this.zt=e=>this.Ht(e||E?.event),Oe(D,"mousemove",this.zt,{capture:!0}),this.Bt=new Rl(this.instance,uC,this.jt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Mt.bind(this),Oe(D,"visibilitychange",this.qt),this.P=!0)}At(){var e;E&&D&&(this.Nt&&E.removeEventListener("beforeunload",this.Nt),this.Ut&&D.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&D.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&D.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(e=this.Bt)==null||e.stop(),this.P=!1)}Gt(e,t){var n=this.instance.scrollManager.scrollY(),i=this.instance.scrollManager.scrollX(),s=this.instance.scrollManager.scrollElement(),o=(function(a,l,c){for(var u=a;u&&Bl(u)&&!Wr(u,"body");){if(u===c)return!1;if(le(l,E?.getComputedStyle(u).position))return!0;u=ub(u)}return!1})(lb(e),["fixed","sticky"],s);return{x:e.clientX+(o?0:i),y:e.clientY+(o?0:n),target_fixed:o,type:t}}Dt(e,t){var n;if(t===void 0&&(t="click"),!e_(e.target)&&h_(e)){var i=this.Gt(e,t);(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,new Date().getTime())&&this.Vt(V({},i,{type:"rageclick"})),this.Vt(i)}}Ht(e){!e_(e.target)&&h_(e)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(e,"mousemove"))}),500))}Vt(e){if(E){var t=E.location.href,n=this.instance.config.mask_personal_data_properties,i=this.instance.config.custom_personal_data_properties,s=n?Ei([],Ci,i||[]):[],o=yo(t,s,_o);this.N=this.N||{},this.N[o]||(this.N[o]=[]),this.N[o].push(e)}}Lt(){this.N&&!yi(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},Tl=class{constructor(e){this.Jt=(t,n,i)=>{i&&(i.noSessionId||i.activityTimeout||i.sessionPastMaximumLength)&&(B.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:t,changeReason:i}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.Yt()}Yt(){var e;this.Xt=(e=this._instance.sessionManager)==null?void 0:e.onSessionId(this.Jt)}destroy(){var e;(e=this.Xt)==null||e.call(this),this.Xt=void 0}doPageView(e,t){var n,i=this.Qt(e,t);return this.Kt={pathname:(n=E?.location.pathname)!==null&&n!==void 0?n:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),i}doPageLeave(e){var t;return this.Qt(e,(t=this.Kt)==null?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:(e=this.Kt)==null?void 0:e.pageViewId}}Qt(e,t){var n=this.Kt;if(!n)return{$pageview_id:t};var i={$pageview_id:t,$prev_pageview_id:n.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:o,lastScrollY:a,maxScrollY:l,maxContentHeight:c,lastContentY:u,maxContentY:p}=s;if(!(H(o)||H(a)||H(l)||H(c)||H(u)||H(p))){o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u),p=Math.ceil(p);var h=o<=1?1:qt(a/o,0,1,B),f=o<=1?1:qt(l/o,0,1,B),v=c<=1?1:qt(u/c,0,1,B),m=c<=1?1:qt(p/c,0,1,B);i=$e(i,{$prev_pageview_last_scroll:a,$prev_pageview_last_scroll_percentage:h,$prev_pageview_max_scroll:l,$prev_pageview_max_scroll_percentage:f,$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:v,$prev_pageview_max_content:p,$prev_pageview_max_content_percentage:m})}}return n.pathname&&(i.$prev_pageview_pathname=n.pathname),n.timestamp&&(i.$prev_pageview_duration=(e.getTime()-n.timestamp.getTime())/1e3),i}};var hr=(function(r){return r.GZipJS="gzip-js",r.Base64="base64",r})({}),wt=Uint8Array,et=Uint16Array,Si=Uint32Array,Eh=new wt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ch=new wt([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),f_=new wt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ab=function(r,e){for(var t=new et(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];var i=new Si(t[30]);for(n=1;n<30;++n)for(var s=t[n];s<t[n+1];++s)i[s]=s-t[n]<<5|n;return[t,i]},Rb=Ab(Eh,2),bC=Rb[0],Up=Rb[1];bC[28]=258,Up[258]=28;for(zp=Ab(Ch,0)[1],Il=new et(32768),we=0;we<32768;++we)Fr=(43690&we)>>>1|(21845&we)<<1,Fr=(61680&(Fr=(52428&Fr)>>>2|(13107&Fr)<<2))>>>4|(3855&Fr)<<4,Il[we]=((65280&Fr)>>>8|(255&Fr)<<8)>>>1;var Fr,zp,Il,we,ao=function(r,e,t){for(var n=r.length,i=0,s=new et(e);i<n;++i)++s[r[i]-1];var o,a=new et(e);for(i=0;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;if(t){o=new et(1<<e);var l=15-e;for(i=0;i<n;++i)if(r[i])for(var c=i<<4|r[i],u=e-r[i],p=a[r[i]-1]++<<u,h=p|(1<<u)-1;p<=h;++p)o[Il[p]>>>l]=c}else for(o=new et(n),i=0;i<n;++i)o[i]=Il[a[r[i]-1]++]>>>15-r[i];return o},Pn=new wt(288);for(we=0;we<144;++we)Pn[we]=8;for(we=144;we<256;++we)Pn[we]=9;for(we=256;we<280;++we)Pn[we]=7;for(we=280;we<288;++we)Pn[we]=8;var $l=new wt(32);for(we=0;we<32;++we)$l[we]=5;var xC=ao(Pn,9,0),wC=ao($l,5,0),Tb=function(r){return(r/8>>0)+(7&r&&1)},Ib=function(r,e,t){(t==null||t>r.length)&&(t=r.length);var n=new(r instanceof et?et:r instanceof Si?Si:wt)(t-e);return n.set(r.subarray(e,t)),n},lr=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8},Zs=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16},Kd=function(r,e){for(var t=[],n=0;n<r.length;++n)r[n]&&t.push({s:n,f:r[n]});var i=t.length,s=t.slice();if(!i)return[new wt(0),0];if(i==1){var o=new wt(t[0].s+1);return o[t[0].s]=1,[o,1]}t.sort((function(w,R){return w.f-R.f})),t.push({s:-1,f:25001});var a=t[0],l=t[1],c=0,u=1,p=2;for(t[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=i-1;)a=t[t[c].f<t[p].f?c++:p++],l=t[c!=u&&t[c].f<t[p].f?c++:p++],t[u++]={s:-1,f:a.f+l.f,l:a,r:l};var h=s[0].s;for(n=1;n<i;++n)s[n].s>h&&(h=s[n].s);var f=new et(h+1),v=qp(t[u-1],f,0);if(v>e){n=0;var m=0,g=v-e,y=1<<g;for(s.sort((function(w,R){return f[R.s]-f[w.s]||w.f-R.f}));n<i;++n){var x=s[n].s;if(!(f[x]>e))break;m+=y-(1<<v-f[x]),f[x]=e}for(m>>>=g;m>0;){var k=s[n].s;f[k]<e?m-=1<<e-f[k]++-1:++n}for(;n>=0&&m;--n){var _=s[n].s;f[_]==e&&(--f[_],++m)}v=e}return[new wt(f),v]},qp=function(r,e,t){return r.s==-1?Math.max(qp(r.l,e,t+1),qp(r.r,e,t+1)):e[r.s]=t},g_=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new et(++e),n=0,i=r[0],s=1,o=function(l){t[n++]=l},a=1;a<=e;++a)if(r[a]==i&&a!=e)++s;else{if(!i&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(i),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(i);s=1,i=r[a]}return[t.subarray(0,n),e]},Gs=function(r,e){for(var t=0,n=0;n<e.length;++n)t+=r[n]*e[n];return t},Zp=function(r,e,t){var n=t.length,i=Tb(e+2);r[i]=255&n,r[i+1]=n>>>8,r[i+2]=255^r[i],r[i+3]=255^r[i+1];for(var s=0;s<n;++s)r[i+s+4]=t[s];return 8*(i+4+n)},m_=function(r,e,t,n,i,s,o,a,l,c,u){lr(e,u++,t),++i[256];for(var p=Kd(i,15),h=p[0],f=p[1],v=Kd(s,15),m=v[0],g=v[1],y=g_(h),x=y[0],k=y[1],_=g_(m),w=_[0],R=_[1],b=new et(19),A=0;A<x.length;++A)b[31&x[A]]++;for(A=0;A<w.length;++A)b[31&w[A]]++;for(var $=Kd(b,7),N=$[0],M=$[1],K=19;K>4&&!N[f_[K-1]];--K);var L,O,q,Y,se=c+5<<3,C=Gs(i,Pn)+Gs(s,$l)+o,P=Gs(i,h)+Gs(s,m)+o+14+3*K+Gs(b,N)+(2*b[16]+3*b[17]+7*b[18]);if(se<=C&&se<=P)return Zp(e,u,r.subarray(l,l+c));if(lr(e,u,1+(P<C)),u+=2,P<C){L=ao(h,f,0),O=h,q=ao(m,g,0),Y=m;var G=ao(N,M,0);for(lr(e,u,k-257),lr(e,u+5,R-1),lr(e,u+10,K-4),u+=14,A=0;A<K;++A)lr(e,u+3*A,N[f_[A]]);u+=3*K;for(var pe=[x,w],ce=0;ce<2;++ce){var Be=pe[ce];for(A=0;A<Be.length;++A){var Ee=31&Be[A];lr(e,u,G[Ee]),u+=N[Ee],Ee>15&&(lr(e,u,Be[A]>>>5&127),u+=Be[A]>>>12)}}}else L=xC,O=Pn,q=wC,Y=$l;for(A=0;A<a;++A)if(n[A]>255){Ee=n[A]>>>18&31,Zs(e,u,L[Ee+257]),u+=O[Ee+257],Ee>7&&(lr(e,u,n[A]>>>23&31),u+=Eh[Ee]);var kt=31&n[A];Zs(e,u,q[kt]),u+=Y[kt],kt>3&&(Zs(e,u,n[A]>>>5&8191),u+=Ch[kt])}else Zs(e,u,L[n[A]]),u+=O[n[A]];return Zs(e,u,L[256]),u+O[256]},kC=new Si([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),SC=(function(){for(var r=new Si(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(1&t&&3988292384)^t>>>1;r[e]=t}return r})(),EC=function(r,e,t,n,i){return(function(s,o,a,l,c,u){var p=s.length,h=new wt(l+p+5*(1+Math.floor(p/7e3))+c),f=h.subarray(l,h.length-c),v=0;if(!o||p<8)for(var m=0;m<=p;m+=65535){var g=m+65535;g<p?v=Zp(f,v,s.subarray(m,g)):(f[m]=u,v=Zp(f,v,s.subarray(m,p)))}else{for(var y=kC[o-1],x=y>>>13,k=8191&y,_=(1<<a)-1,w=new et(32768),R=new et(_+1),b=Math.ceil(a/3),A=2*b,$=function(Wl){return(s[Wl]^s[Wl+1]<<b^s[Wl+2]<<A)&_},N=new Si(25e3),M=new et(288),K=new et(32),L=0,O=0,q=(m=0,0),Y=0,se=0;m<p;++m){var C=$(m),P=32767&m,G=R[C];if(w[P]=G,R[C]=P,Y<=m){var pe=p-m;if((L>7e3||q>24576)&&pe>423){v=m_(s,f,0,N,M,K,O,q,se,m-se,v),q=L=O=0,se=m;for(var ce=0;ce<286;++ce)M[ce]=0;for(ce=0;ce<30;++ce)K[ce]=0}var Be=2,Ee=0,kt=k,St=P-G&32767;if(pe>2&&C==$(m-St))for(var Vl=Math.min(x,pe)-1,Ai=Math.min(32767,m),Me=Math.min(258,pe);St<=Ai&&--kt&&P!=G;){if(s[m+Be]==s[m+Be-St]){for(var Lt=0;Lt<Me&&s[m+Lt]==s[m+Lt-St];++Lt);if(Lt>Be){if(Be=Lt,Ee=St,Lt>Vl)break;var Ub=Math.min(St,Lt-2),Oh=0;for(ce=0;ce<Ub;++ce){var jl=m-St+ce+32768&32767,Ph=jl-w[jl]+32768&32767;Ph>Oh&&(Oh=Ph,G=jl)}}}St+=(P=G)-(G=w[P])+32768&32767}if(Ee){N[q++]=268435456|Up[Be]<<18|zp[Ee];var Nh=31&Up[Be],Lh=31&zp[Ee];O+=Eh[Nh]+Ch[Lh],++M[257+Nh],++K[Lh],Y=m+Be,++L}else N[q++]=s[m],++M[s[m]]}}v=m_(s,f,u,N,M,K,O,q,se,m-se,v)}return Ib(h,0,l+Tb(v)+c)})(r,e.level==null?6:e.level,e.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(r.length)))):12+e.mem,t,n,!0)},Yd=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function CC(r,e){e===void 0&&(e={});var t=(function(){var a=4294967295;return{p:function(l){for(var c=a,u=0;u<l.length;++u)c=SC[255&c^l[u]]^c>>>8;a=c},d:function(){return 4294967295^a}}})(),n=r.length;t.p(r);var i,s=EC(r,e,10+((i=e).filename&&i.filename.length+1||0),8),o=s.length;return(function(a,l){var c=l.filename;if(a[0]=31,a[1]=139,a[2]=8,a[8]=l.level<2?4:l.level==9?2:0,a[9]=3,l.mtime!=0&&Yd(a,4,Math.floor(new Date(l.mtime||Date.now())/1e3)),c){a[3]=8;for(var u=0;u<=c.length;++u)a[u+10]=c.charCodeAt(u)}})(s,e),Yd(s,o-8,t.d()),Yd(s,o-4,n),s}var AC=function(r){var e,t,n,i,s="";for(e=t=0,n=(r=(r+"").replace(/\r\n/g,`
1007
+ `,t=document.createElement("style");t.setAttribute("data-syntro","base-overlay"),t.textContent=e,r.appendChild(t),_v=!0}var Uu=async(r={})=>{if(typeof window>"u"||typeof document>"u")throw new Error("SmartCanvas can only be created in a browser-like environment");let e=null;if(r.antiFlicker){let g=typeof r.antiFlicker=="object"?r.antiFlicker:{};e=gv(g)}let t=null,n=null,i=null,{runtime:s}=r;async function o(g){!s?.actions||g.length===0||(i?.isApplied()&&await i.revertAll(),i=await s.actions.applyBatch(g))}async function a(){i?.isApplied()&&(await i.revertAll(),i=null)}if(r.fetcher)try{n=r.fetcher,console.log("[SmartCanvas] Fetching initial config...");let g=await r.fetcher();t=g,console.log("[SmartCanvas] Config fetched:",`tiles=${g.tiles?.length??0},`,`actions=${g.actions?.length??0},`,`theme=${g.theme?.mode??"default"}`),g.actions?.length&&console.log("[SmartCanvas] Actions to apply:",g.actions.map((y,x)=>`[${x}] ${y.kind}${y.anchorId?` anchor="${y.anchorId.selector}"`:""}${y.label?` "${y.label}"`:""}`).join(", ")),g.actions&&g.actions.length>0&&s?.actions&&(await o(g.actions),console.log("[SmartCanvas] Initial actions applied successfully")),g.tiles&&s?.accumulator&&ri(g.tiles,s.accumulator,g.actions)}catch(g){console.error("[SmartCanvas] Error fetching/applying initial config:",g)}e&&e();let l=Pa();Sa();let c=document.createElement("smart-canvas");if(r.tokens)for(let[g,y]of Object.entries(r.tokens))c.style.setProperty(g,y);let u=r.integrations?.experiments,p=r.integrations?.telemetry,h=r.fetcher??ti({configUri:r.configUri,experiments:u,featureKey:r.configUriFeatureKey,credentials:r.fetchCredentials});n||(n=h);let f={fetcher:h,configUri:r.configUri,configUriFeatureKey:r.configUriFeatureKey,fetchCredentials:r.fetchCredentials,experiments:u,telemetry:p,runtime:s,initialBatchHandle:i,initialBatchActions:i?t?.actions??[]:void 0,workspaceTheme:r.workspaceTheme};c.mountLitApp(f),r.defaultOpen&&c.open();let v=()=>{let g=r.target??document.body;if(g){g.appendChild(c);let y=c.getOverlayContainer();y&&bv(y)}};document.body?v():document.addEventListener("DOMContentLoaded",v,{once:!0}),(l||r.editorUrl)&&(console.log(`[SmartCanvas] Loading editor SDK for ${l??"config"} mode`),yv(r.editorUrl).catch(console.error));let m={el:c,open:()=>c.open(),close:()=>c.close(),destroy:()=>{a(),c.remove()},setTokens:g=>{for(let[y,x]of Object.entries(g))c.style.setProperty(y,x)},getConfig:async()=>{if(n)try{let g=await n();return t=g,g}catch(g){console.error("[SmartCanvas] Error fetching config:",g)}return t??{tiles:[],actions:[],fetchedAt:""}},setEnabled:async g=>{g?t&&await o(t.actions):await a()},setOverrideFetcher:g=>{n=g,c.setOverrideFetcher(g),s?.accumulator&&g().then(y=>{y?.tiles&&ri(y.tiles,s.accumulator,y.actions)}).catch(()=>{})},registerTelemetryProperties:g=>{p?.register?.(g)},getSessionId:()=>p?.getSessionId?.(),startSessionRecording:()=>{p?.startSessionRecording?.()},track:(g,y)=>p?.track?(p.track(g,y),!0):!1,runtime:s};if(typeof window<"u"){let g=window.SynOS;g&&(g.handle=m)}return m};typeof window<"u"&&(window.SmartCanvas={async create(r){return Uu(r)}});var zu="syn_";function Is(r){if(!r.startsWith(zu))throw new Error("Invalid Syntro token: must start with 'syn_'");let t=r.slice(zu.length).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t),i=JSON.parse(n);if(i.v!==1)throw new Error(`Unsupported token version: ${i.v}`);return i}function qu(r){let e=JSON.stringify(r),t=btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return zu+t}function bt(r){if(typeof process<"u"&&process.env)return process.env[r];if(typeof import.meta.env<"u"&&import.meta.env)return import.meta.env[r]}var kv="syntro_segment_attributes";function Sv(){if(typeof window>"u")return{};try{let r=localStorage.getItem(kv);if(r){let e=JSON.parse(r);return z("Syntro Bootstrap","Loaded cached segment attributes:",e),e}}catch(r){Je("Syntro Bootstrap","Failed to load cached segment attributes:",r)}return{}}function Ev(r){if(!(typeof window>"u"))try{localStorage.setItem(kv,JSON.stringify(r)),z("Syntro Bootstrap","Cached segment attributes:",r)}catch(e){Je("Syntro Bootstrap","Failed to cache segment attributes:",e)}}function Cv(r){if(!r)return{};let e={};for(let[t,n]of Object.entries(r))t.startsWith("in_segment_")&&(e[t]=n===!0);return e}function Zu(){if(typeof window>"u")return{};let r={};try{let e=new URLSearchParams(window.location.search);for(let t of["utm_source","utm_medium","utm_campaign","utm_content","utm_term"]){let n=e.get(t);n&&(r[t]=n)}}catch{}try{navigator.language&&(r.browser_language=navigator.language),navigator.languages?.length&&(r.browser_languages=[...navigator.languages])}catch{}try{let e=window.innerWidth;r.device_type=e<768?"mobile":e<1024?"tablet":"desktop"}catch{}try{if(document.referrer){r.referrer=document.referrer;try{r.referrer_hostname=new URL(document.referrer).hostname}catch{}}}catch{}try{let e=navigator.userAgent;e.includes("Edg/")?r.browser="Edge":e.includes("OPR/")||e.includes("Opera")?r.browser="Opera":e.includes("Chrome/")&&!e.includes("Chromium")?r.browser="Chrome":e.includes("Safari/")&&!e.includes("Chrome")?r.browser="Safari":e.includes("Firefox/")&&(r.browser="Firefox"),e.includes("Windows")?r.os="Windows":e.includes("iPhone")||e.includes("iPad")?r.os="iOS":e.includes("Mac OS X")||e.includes("Macintosh")?r.os="macOS":e.includes("Android")?r.os="Android":e.includes("Linux")&&(r.os="Linux")}catch{}try{r.page_url=window.location.href,r.page_path=window.location.pathname,r.page_host=window.location.hostname,window.location.search&&(r.page_query=window.location.search)}catch{}try{let e=window.Telegram?.WebApp;e?(r.surface_type="telegram",r.surface_host=e.platform||"unknown"):(r.surface_type="web",r.surface_host="web")}catch{r.surface_type="web",r.surface_host="web"}return r}var wv="syntro_geo",Av="https://geo.syntrologie.com";async function Gu(r){if(typeof window>"u")return{};try{let e=localStorage.getItem(wv);if(e){let t=JSON.parse(e);return z("Syntro Bootstrap","Geo: using cached data:",t),t}}catch{}try{let e=await fetch(r,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),n={};for(let[i,s]of Object.entries(t))typeof s=="string"&&s&&(n[i]=s);try{localStorage.setItem(wv,JSON.stringify(n))}catch{}return z("Syntro Bootstrap","Geo: fetched from worker:",n),n}}catch{}return{}}var Ku=null;if(typeof document<"u")try{let r=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:null;if(r){let e=new URL(r),t=e.pathname.replace(/\/[^/]*$/,"");Ku=`${e.origin}${t}`}}catch{Ku=null}function Rv(){return Ku}var Tv="app:",ZS="syntro:",GS=/^[a-z][a-z0-9_]*$/;function Yu(r){if(!r)return{valid:!1,reason:"Event name cannot be empty"};if(r.startsWith(ZS))return{valid:!1,reason:'"syntro:" prefix is reserved for internal SDK events'};if(!r.startsWith(Tv))return{valid:!1,reason:`Custom events must start with "app:" prefix. Got: "${r}"`};let e=r.slice(Tv.length).split(":");if(e.length<2)return{valid:!1,reason:`Event name must have at least 2 segments after "app:" (app:{category}:{action}). Got: "${r}"`};for(let t of e)if(!GS.test(t))return{valid:!1,reason:`Segment "${t}" must be lowercase alphanumeric + underscores. Got: "${r}"`};return{valid:!0}}function KS(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null}function Iv(r,e,t=0){if(t>=e)return!1;for(let n of Object.values(r))if(n!==null&&typeof n=="object"&&!Array.isArray(n)&&!Iv(n,e,t+1))return!1;return!0}function Xu(r){if(r===void 0)return{valid:!0};if(r===null||typeof r!="object"||Array.isArray(r))return{valid:!1,reason:"Props must be a plain object"};if(!Iv(r,2))return{valid:!1,reason:"Props nesting depth exceeds 2 levels"};let e=[];for(let[t,n]of Object.entries(r))n!==null&&typeof n=="object"||KS(n)||e.push(t);return e.length>0?{valid:!0,stripped:e}:{valid:!0}}function Na(r,e){return e?!(e.names&&e.names.length>0&&!e.names.includes(r.name)||e.patterns&&e.patterns.length>0&&!e.patterns.some(n=>{try{return new RegExp(n).test(r.name)}catch{return!1}})||e.sources&&e.sources.length>0&&!e.sources.includes(r.source)):!0}var La=class{constructor(e={}){this.subscriptions=new Set;this.history=[];this.maxHistorySize=e.maxHistorySize??100,this.debug=e.debug??!1,this.emitHistory=e.history??null,this.posthogCapture=e.posthogCapture??null,this.testMode=e.testMode??!1}subscribe(e,t){let n,i;typeof e=="function"?(n=void 0,i=e):(n=e,i=t);let s={filter:n,callback:i};return this.subscriptions.add(s),()=>{this.subscriptions.delete(s)}}publish(e,t,n="canvas"){let i={ts:Date.now(),name:e,source:n,props:t,schemaVersion:Ie};this.publishEvent(i)}publishEvent(e){this.history.push(e),this.history.length>this.maxHistorySize&&this.history.shift();for(let t of this.subscriptions)if(Na(e,t.filter))try{t.callback(e)}catch(n){console.error("[EventBus] Subscriber error:",n)}}emit(e,t){let n=Yu(e);if(!n.valid)return console.warn(`[EventBus] emit() rejected: ${n.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let i=Xu(t);if(!i.valid)return console.warn(`[EventBus] emit() rejected props: ${i.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let s={ts:Date.now(),name:e,source:"custom",props:t,schemaVersion:Ie};this.history.push(s),this.history.length>this.maxHistorySize&&this.history.shift();let o=0;for(let l of this.subscriptions)if(Na(s,l.filter))try{l.callback(s),o++}catch(c){console.error("[EventBus] Subscriber error:",c),o++}let a=!1;if(this.posthogCapture&&!this.testMode)try{this.posthogCapture(e,t),a=!0}catch(l){console.error("[EventBus] PostHog capture error:",l)}if(this.emitHistory&&this.emitHistory.record({name:e,props:t,source:"custom",timestamp:s.ts,matchedRules:[]}),this.debug)return console.debug("[EventBus] emit()",{name:e,props:t,listenersNotified:o,posthogCaptured:a}),{delivered:!0,matchedRules:[],posthogCaptured:a,listenersNotified:o}}setPosthogCapture(e){this.posthogCapture=e}getRecent(e,t){let n=this.history;return e&&(n=n.filter(i=>Na(i,e))),t&&t>0&&(n=n.slice(-t)),n}hasRecentEvent(e,t,n){let i=Date.now()-t;return this.history.some(s=>s.name===e&&s.ts>=i&&(n===void 0||s.source===n))}countRecentEvents(e,t){let n=this.history.filter(i=>Na(i,e));if(t!==void 0){let i=Date.now()-t;n=n.filter(s=>s.ts>=i)}return n.length}clearHistory(){this.history=[]}getSubscriberCount(){return this.subscriptions.size}};function $s(r={}){return new La(r)}var Ms=class{constructor(e=100){this.entries=[];this.maxSize=e}record(e){this.entries.push(e),this.maxSize>0&&this.entries.length>this.maxSize&&this.entries.shift()}getAll(){return[...this.entries]}clear(){this.entries=[]}};var Mv={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function Ov(){return Mv}function Ju(r){let e=2166136261,t=r.length;for(let n=0;n<t;n++)e^=r.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0}function Os(r,e,t){return t===2?Ju(Ju(r+e)+"")%1e4/1e4:t===1?Ju(e+r)%1e3/1e3:null}function YS(r){return r<=0?[]:new Array(r).fill(1/r)}function Fa(r,e){return r>=e[0]&&r<e[1]}function Pv(r,e){let t=Os("__"+e[0],r,1);return t===null?!1:t>=e[1]&&t<e[2]}function Nv(r,e){for(let t=0;t<e.length;t++)if(Fa(r,e[t]))return t;return-1}function ed(r){try{let e=r.replace(/([^\\])\//g,"$1\\/");return new RegExp(e)}catch(e){console.error(e);return}}function Da(r,e){if(!e.length)return!1;let t=!1,n=!1;for(let i=0;i<e.length;i++){let s=QS(r,e[i].type,e[i].pattern);if(e[i].include===!1){if(s)return!1}else t=!0,s&&(n=!0)}return n||!t}function XS(r,e,t){try{let n=e.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return t&&(n="\\/?"+n.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+n+"$","i").test(r)}catch{return!1}}function JS(r,e){try{let t=new URL(e.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),n=[[r.host,t.host,!1],[r.pathname,t.pathname,!0]];return t.hash&&n.push([r.hash,t.hash,!1]),t.searchParams.forEach((i,s)=>{n.push([r.searchParams.get(s)||"",i,!1])}),!n.some(i=>!XS(i[0],i[1],i[2]))}catch{return!1}}function QS(r,e,t){try{let n=new URL(r,"https://_");if(e==="regex"){let i=ed(t);return i?i.test(n.href)||i.test(n.href.substring(n.origin.length)):!1}else if(e==="simple")return JS(n,t);return!1}catch{return!1}}function Lv(r,e,t){e=e===void 0?1:e,e<0?e=0:e>1&&(e=1);let n=YS(r);t=t||n,t.length!==r&&(t=n);let i=t.reduce((o,a)=>a+o,0);(i<.99||i>1.01)&&(t=n);let s=0;return t.map(o=>{let a=s;return s+=o,[a,a+e*o]})}function Fv(r,e,t){if(!e)return null;let n=e.split("?")[1];if(!n)return null;let i=n.replace(/#.*/,"").split("&").map(s=>s.split("=",2)).filter(([s])=>s===r).map(([,s])=>parseInt(s));return i.length>0&&i[0]>=0&&i[0]<t?i[0]:null}function Dv(r){try{return r()}catch(e){return console.error(e),!1}}var Qu=r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0));async function Tn(r,e,t){if(e=e||"",t=t||globalThis.crypto&&globalThis.crypto.subtle||Mv.SubtleCrypto,!t)throw new Error("No SubtleCrypto implementation found");try{let n=await t.importKey("raw",Qu(e),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[i,s]=r.split("."),o=await t.decrypt({name:"AES-CBC",iv:Qu(i)},n,Qu(s));return new TextDecoder().decode(o)}catch{throw new Error("Failed to decrypt")}}function Ps(r){return typeof r=="string"?r:JSON.stringify(r)}function ct(r){typeof r=="number"&&(r=r+""),(!r||typeof r!="string")&&(r="0");let e=r.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return e.length===3&&e.push("~"),e.map(t=>t.match(/^[0-9]+$/)?t.padStart(5," "):t).join("-")}function Hv(){let r;try{r="1.6.4"}catch{r=""}return r}function Bv(r,e){let t,n;try{t=new URL(r),n=new URL(e)}catch(i){return console.error(`Unable to merge query strings: ${i}`),e}return t.searchParams.forEach((i,s)=>{n.searchParams.has(s)||n.searchParams.set(s,i)}),n.toString()}function $v(r){return typeof r=="object"&&r!==null}function Ha(r){return r.urlPatterns&&r.variations.some(e=>$v(e)&&"urlRedirect"in e)?"redirect":r.variations.some(e=>$v(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function Ba(r,e){return new Promise(t=>{let n=!1,i,s=o=>{n||(n=!0,i&&clearTimeout(i),t(o||null))};e&&(i=setTimeout(()=>s(),e)),r.then(o=>s(o)).catch(()=>s())})}var Ke={staleTTL:1e3*60,maxAge:1e3*60*60*4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4,disableCache:!1},Ut=Ov(),ai={fetchFeaturesCall:({host:r,clientKey:e,headers:t})=>Ut.fetch(`${r}/api/features/${e}`,{headers:t}),fetchRemoteEvalCall:({host:r,clientKey:e,payload:t,headers:n})=>{let i={method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(t)};return Ut.fetch(`${r}/api/eval/${e}`,i)},eventSourceCall:({host:r,clientKey:e,headers:t})=>t?new Ut.EventSource(`${r}/sub/${e}`,{headers:t}):new Ut.EventSource(`${r}/sub/${e}`),startIdleListener:()=>{let r;if(!(typeof window<"u"&&typeof document<"u"))return;let t=()=>{document.visibilityState==="visible"?(window.clearTimeout(r),rE()):document.visibilityState==="hidden"&&(r=window.setTimeout(tE,Ke.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(Ut.localStorage=globalThis.localStorage)}catch{}var li=new Map,Vv=!1,ar=new Map,Va=new Map,ci=new Map,ui=new Set;function Wv(r){Object.assign(Ke,r),Ke.backgroundSync||od()}async function Uv({instance:r,timeout:e,skipCache:t,allowStale:n,backgroundSync:i}){return i||(Ke.backgroundSync=!1),nE({instance:r,allowStale:n,timeout:e,skipCache:t})}function eE(r){let e=Ns(r),t=li.get(e)||new Set;t.add(r),li.set(e,t)}function zv(r){li.forEach(e=>e.delete(r))}function tE(){ci.forEach(r=>{r&&(r.state="idle",id(r))})}function rE(){ci.forEach(r=>{r&&r.state==="idle"&&sd(r)})}async function jv(){try{if(!Ut.localStorage)return;await Ut.localStorage.setItem(Ke.cacheKey,JSON.stringify(Array.from(ar.entries())))}catch{}}async function nE({instance:r,allowStale:e,timeout:t,skipCache:n}){let i=Ns(r),s=rd(r),o=new Date,a=new Date(o.getTime()-Ke.maxAge+Ke.staleTTL);await iE();let l=!Ke.disableCache&&!n?ar.get(s):void 0;return l&&(e||l.staleAt>o)&&l.staleAt>a?(l.sse&&ui.add(i),l.staleAt<o?td(r):nd(r),{data:l.data,success:!0,source:"cache"}):await Ba(td(r),t)||{data:null,success:!1,source:"timeout",error:new Error("Timeout")}}function Ns(r){let[e,t]=r.getApiInfo();return`${e}||${t}`}function rd(r){let e=Ns(r);if(!("isRemoteEval"in r)||!r.isRemoteEval())return e;let t=r.getAttributes(),n=r.getCacheKeyAttributes()||Object.keys(r.getAttributes()),i={};n.forEach(a=>{i[a]=t[a]});let s=r.getForcedVariations(),o=r.getUrl();return`${e}||${JSON.stringify({ca:i,fv:s,url:o})}`}async function iE(){if(!Vv){Vv=!0;try{if(Ut.localStorage){let r=await Ut.localStorage.getItem(Ke.cacheKey);if(!Ke.disableCache&&r){let e=JSON.parse(r);e&&Array.isArray(e)&&e.forEach(([t,n])=>{ar.set(t,{...n,staleAt:new Date(n.staleAt)})}),qv()}}}catch{}if(!Ke.disableIdleStreams){let r=ai.startIdleListener();r&&(ai.stopIdleListener=r)}}}function qv(){let r=Array.from(ar.entries()).map(([t,n])=>({key:t,staleAt:n.staleAt.getTime()})).sort((t,n)=>t.staleAt-n.staleAt),e=Math.min(Math.max(0,ar.size-Ke.maxEntries),ar.size);for(let t=0;t<e;t++)ar.delete(r[t].key)}function Zv(r,e,t){let n=t.dateUpdated||"",i=new Date(Date.now()+Ke.staleTTL),s=Ke.disableCache?void 0:ar.get(e);if(s&&n&&s.version===n){s.staleAt=i,jv();return}Ke.disableCache||(ar.set(e,{data:t,version:n,staleAt:i,sse:ui.has(r)}),qv()),jv();let o=li.get(r);o&&o.forEach(a=>sE(a,t))}async function sE(r,e){await r.setPayload(e||r.getPayload())}async function td(r){let{apiHost:e,apiRequestHeaders:t}=r.getApiHosts(),n=r.getClientKey(),i="isRemoteEval"in r&&r.isRemoteEval(),s=Ns(r),o=rd(r),a=Va.get(o);return a||(a=(i?ai.fetchRemoteEvalCall({host:e,clientKey:n,payload:{attributes:r.getAttributes(),forcedVariations:r.getForcedVariations(),forcedFeatures:Array.from(r.getForcedFeatures().entries()),url:r.getUrl()},headers:t}):ai.fetchFeaturesCall({host:e,clientKey:n,headers:t})).then(c=>{if(!c.ok)throw new Error(`HTTP error: ${c.status}`);return c.headers.get("x-sse-support")==="enabled"&&ui.add(s),c.json()}).then(c=>(Zv(s,o,c),nd(r),Va.delete(o),{data:c,success:!0,source:"network"})).catch(c=>(Va.delete(o),{data:null,source:"error",success:!1,error:c})),Va.set(o,a)),a}function nd(r,e=!1){let t=Ns(r),n=rd(r),{streamingHost:i,streamingHostRequestHeaders:s}=r.getApiHosts(),o=r.getClientKey();if(e&&ui.add(t),Ke.backgroundSync&&ui.has(t)&&Ut.EventSource){if(ci.has(t))return;let a={src:null,host:i,clientKey:o,headers:s,cb:l=>{try{if(l.type==="features-updated"){let c=li.get(t);c&&c.forEach(u=>{td(u)})}else if(l.type==="features"){let c=JSON.parse(l.data);Zv(t,n,c)}a.errors=0}catch{Gv(a)}},errors:0,state:"active"};ci.set(t,a),sd(a)}}function Gv(r){if(r.state!=="idle"&&(r.errors++,r.errors>3||r.src&&r.src.readyState===2)){let e=Math.pow(3,r.errors-3)*(1e3+Math.random()*1e3);id(r),setTimeout(()=>{["idle","active"].includes(r.state)||sd(r)},Math.min(e,3e5))}}function id(r){r.src&&(r.src.onopen=null,r.src.onerror=null,r.src.close(),r.src=null,r.state==="active"&&(r.state="disabled"))}function sd(r){r.src=ai.eventSourceCall({host:r.host,clientKey:r.clientKey,headers:r.headers}),r.state="active",r.src.addEventListener("features",r.cb),r.src.addEventListener("features-updated",r.cb),r.src.onerror=()=>Gv(r),r.src.onopen=()=>{r.errors=0}}function oE(r,e){id(r),ci.delete(e)}function od(){ui.clear(),ci.forEach(oE),li.clear(),ai.stopIdleListener()}function ja(r,e){if(e.streaming){if(!r.getClientKey())throw new Error("Must specify clientKey to enable streaming");e.payload&&nd(r,!0),eE(r)}}var aE=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,cd={revert:function(){}},qa=new Map,ud=new Set;function lE(r){return r==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[r]}}function Za(r){var e=qa.get(r);return e||(e={element:r,attributes:{}},qa.set(r,e)),e}function Ga(r,e,t,n,i){var s=t(r),o={isDirty:!1,originalValue:s,virtualValue:s,mutations:[],el:r,_positionTimeout:null,observer:new MutationObserver(function(){if(!(e==="position"&&o._positionTimeout)){e==="position"&&(o._positionTimeout=setTimeout(function(){o._positionTimeout=null},1e3));var a=t(r);e==="position"&&a.parentNode===o.virtualValue.parentNode&&a.insertBeforeNode===o.virtualValue.insertBeforeNode||a!==o.virtualValue&&(o.originalValue=a,i(o))}}),mutationRunner:i,setValue:n,getCurrentValue:t};return e==="position"&&r.parentNode?o.observer.observe(r.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):o.observer.observe(r,lE(e)),o}function Ka(r,e){var t=e.getCurrentValue(e.el);e.virtualValue=r,r&&typeof r!="string"?(!t||r.parentNode!==t.parentNode||r.insertBeforeNode!==t.insertBeforeNode)&&(e.isDirty=!0,Kv()):r!==t&&(e.isDirty=!0,Kv())}function cE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ka(kE(e),r)}function uE(r){var e=new Set(r.originalValue.split(/\s+/).filter(Boolean));r.mutations.forEach(function(t){return t.mutate(e)}),Ka(Array.from(e).filter(Boolean).join(" "),r)}function dE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ka(e,r)}function pE(r){var e=r.parentSelector,t=r.insertBeforeSelector,n=document.querySelector(e);if(!n)return null;var i=t?document.querySelector(t):null;return t&&!i?null:{parentNode:n,insertBeforeNode:i}}function hE(r){var e=r.originalValue;r.mutations.forEach(function(t){var n=t.mutate(),i=pE(n);e=i||e}),Ka(e,r)}var fE=function(e){return e.innerHTML},gE=function(e,t){return e.innerHTML=t};function Xv(r){var e=Za(r);return e.html||(e.html=Ga(r,"html",fE,gE,cE)),e.html}var mE=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},vE=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Jv(r){var e=Za(r);return e.position||(e.position=Ga(r,"position",mE,vE,hE)),e.position}var yE=function(e,t){return t?e.className=t:e.removeAttribute("class")},_E=function(e){return e.className};function Qv(r){var e=Za(r);return e.classes||(e.classes=Ga(r,"class",_E,yE,uE)),e.classes}var bE=function(e){return function(t){var n;return(n=t.getAttribute(e))!=null?n:null}},xE=function(e){return function(t,n){return n!==null?t.setAttribute(e,n):t.removeAttribute(e)}};function ey(r,e){var t=Za(r);return t.attributes[e]||(t.attributes[e]=Ga(r,e,bE(e),xE(e),dE)),t.attributes[e]}function wE(r,e){var t=qa.get(r);if(t)if(e==="html"){var n,i;(n=t.html)==null||(i=n.observer)==null||i.disconnect(),delete t.html}else if(e==="class"){var s,o;(s=t.classes)==null||(o=s.observer)==null||o.disconnect(),delete t.classes}else if(e==="position"){var a,l;(a=t.position)==null||(l=a.observer)==null||l.disconnect(),delete t.position}else{var c,u,p;(c=t.attributes)==null||(u=c[e])==null||(p=u.observer)==null||p.disconnect(),delete t.attributes[e]}}var Wa;function kE(r){return Wa||(Wa=document.createElement("div")),Wa.innerHTML=r,Wa.innerHTML}function Ua(r,e,t){if(t.isDirty){t.isDirty=!1;var n=t.virtualValue;t.mutations.length||wE(r,e),t.setValue(r,n)}}function SE(r,e){r.html&&Ua(e,"html",r.html),r.classes&&Ua(e,"class",r.classes),r.position&&Ua(e,"position",r.position),Object.keys(r.attributes).forEach(function(t){Ua(e,t,r.attributes[t])})}function Kv(){qa.forEach(SE)}function EE(r,e){var t=null;r.kind==="html"?t=Xv(e):r.kind==="class"?t=Qv(e):r.kind==="attribute"?t=ey(e,r.attribute):r.kind==="position"&&(t=Jv(e)),t&&(t.mutations.push(r),t.mutationRunner(t))}function CE(r,e){var t=null;if(r.kind==="html"?t=Xv(e):r.kind==="class"?t=Qv(e):r.kind==="attribute"?t=ey(e,r.attribute):r.kind==="position"&&(t=Jv(e)),!!t){var n=t.mutations.indexOf(r);n!==-1&&t.mutations.splice(n,1),t.mutationRunner(t)}}function ty(r){if(!(r.kind==="position"&&r.elements.size===1)){var e=new Set(r.elements),t=document.querySelectorAll(r.selector);t.forEach(function(n){e.has(n)||(r.elements.add(n),EE(r,n))})}}function AE(r){r.elements.forEach(function(e){return CE(r,e)}),r.elements.clear(),ud.delete(r)}function Yv(){ud.forEach(ty)}var ad;function RE(){typeof document>"u"||(ad||(ad=new MutationObserver(function(){Yv()})),Yv(),ad.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}RE();function Ya(r){return typeof document>"u"?cd:(ud.add(r),ty(r),{revert:function(){AE(r)}})}function ld(r,e){return Ya({kind:"html",elements:new Set,mutate:e,selector:r})}function ry(r,e){return Ya({kind:"position",elements:new Set,mutate:e,selector:r})}function Ls(r,e){return Ya({kind:"class",elements:new Set,mutate:e,selector:r})}function za(r,e,t){return aE.test(e)?e==="class"||e==="className"?Ls(r,function(n){var i=t(Array.from(n).join(" "));n.clear(),i&&i.split(/\s+/g).filter(Boolean).forEach(function(s){return n.add(s)})}):Ya({kind:"attribute",attribute:e,elements:new Set,mutate:t,selector:r}):cd}function TE(r){var e=r.selector,t=r.action,n=r.value,i=r.attribute,s=r.parentSelector,o=r.insertBeforeSelector;if(i==="html"){if(t==="append")return ld(e,function(a){return a+(n??"")});if(t==="set")return ld(e,function(){return n??""})}else if(i==="class"){if(t==="append")return Ls(e,function(a){n&&a.add(n)});if(t==="remove")return Ls(e,function(a){n&&a.delete(n)});if(t==="set")return Ls(e,function(a){a.clear(),n&&a.add(n)})}else if(i==="position"){if(t==="set"&&s)return ry(e,function(){return{insertBeforeSelector:o,parentSelector:s}})}else{if(t==="append")return za(e,i,function(a){return a!==null?a+(n??""):n??""});if(t==="set")return za(e,i,function(){return n??""});if(t==="remove")return za(e,i,function(){return null})}return cd}var IE={html:ld,classes:Ls,attribute:za,position:ry,declarative:TE},ny=IE;var dd={};function Pr(r,e,t){t=t||{};for(let[n,i]of Object.entries(e))switch(n){case"$or":if(!oy(r,i,t))return!1;break;case"$nor":if(oy(r,i,t))return!1;break;case"$and":if(!NE(r,i,t))return!1;break;case"$not":if(Pr(r,i,t))return!1;break;default:if(!Fs(i,$E(r,n),t))return!1}return!0}function $E(r,e){let t=e.split("."),n=r;for(let i=0;i<t.length;i++)if(n&&typeof n=="object"&&t[i]in n)n=n[t[i]];else return null;return n}function iy(r,e=!1){let t=`${r}${e?"/i":""}`;return dd[t]||(dd[t]=new RegExp(r.replace(/([^\\])\//g,"$1\\/"),e?"i":void 0)),dd[t]}function Fs(r,e,t,n=!1){if(typeof r=="string")return n?String(e).toLowerCase()===r.toLowerCase():e+""===r;if(typeof r=="number")return e*1===r;if(typeof r=="boolean")return e!==null&&!!e===r;if(r===null)return e===null;if(Array.isArray(r)||!ay(r))return JSON.stringify(e)===JSON.stringify(r);for(let i in r)if(!PE(i,e,r[i],t))return!1;return!0}function ay(r){let e=Object.keys(r);return e.length>0&&e.filter(t=>t[0]==="$").length===e.length}function ME(r){if(r===null)return"null";if(Array.isArray(r))return"array";let e=typeof r;return["string","number","boolean","object","undefined"].includes(e)?e:"unknown"}function OE(r,e,t){if(!Array.isArray(r))return!1;let n=ay(e)?i=>Fs(e,i,t):i=>Pr(i,e,t);for(let i=0;i<r.length;i++)if(r[i]&&n(r[i]))return!0;return!1}function di(r,e,t=!1){if(t){let n=i=>typeof i=="string"?i.toLowerCase():i;return Array.isArray(r)?r.some(i=>e.some(s=>n(i)===n(s))):e.some(i=>n(r)===n(i))}return Array.isArray(r)?r.some(n=>e.includes(n)):e.includes(r)}function sy(r,e,t,n=!1){if(!Array.isArray(r))return!1;for(let i=0;i<e.length;i++){let s=!1;for(let o=0;o<r.length;o++)if(Fs(e[i],r[o],t,n)){s=!0;break}if(!s)return!1}return!0}function PE(r,e,t,n){switch(r){case"$veq":return ct(e)===ct(t);case"$vne":return ct(e)!==ct(t);case"$vgt":return ct(e)>ct(t);case"$vgte":return ct(e)>=ct(t);case"$vlt":return ct(e)<ct(t);case"$vlte":return ct(e)<=ct(t);case"$eq":return e===t;case"$ne":return e!==t;case"$lt":return e<t;case"$lte":return e<=t;case"$gt":return e>t;case"$gte":return e>=t;case"$exists":return t?e!=null:e==null;case"$in":return Array.isArray(t)?di(e,t):!1;case"$ini":return Array.isArray(t)?di(e,t,!0):!1;case"$inGroup":return di(e,n[t]||[]);case"$notInGroup":return!di(e,n[t]||[]);case"$nin":return Array.isArray(t)?!di(e,t):!1;case"$nini":return Array.isArray(t)?!di(e,t,!0):!1;case"$not":return!Fs(t,e,n);case"$size":return Array.isArray(e)?Fs(t,e.length,n):!1;case"$elemMatch":return OE(e,t,n);case"$all":return Array.isArray(t)?sy(e,t,n):!1;case"$alli":return Array.isArray(t)?sy(e,t,n,!0):!1;case"$regex":try{return iy(t).test(e)}catch{return!1}case"$regexi":try{return iy(t,!0).test(e)}catch{return!1}case"$type":return ME(e)===t;default:return console.error("Unknown operator: "+r),!1}}function oy(r,e,t){if(!e.length)return!0;for(let n=0;n<e.length;n++)if(Pr(r,e[n],t))return!0;return!1}function NE(r,e,t){for(let n=0;n<e.length;n++)if(!Pr(r,e[n],t))return!1;return!0}var LE="Feature Evaluated",FE="Experiment Viewed";function DE(r){let e=new Map;return r.global.forcedFeatureValues&&r.global.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),r.user.forcedFeatureValues&&r.user.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),e}function HE(r){return r.global.forcedVariations&&r.user.forcedVariations?{...r.global.forcedVariations,...r.user.forcedVariations}:r.global.forcedVariations?r.global.forcedVariations:r.user.forcedVariations?r.user.forcedVariations:{}}async function pi(r){try{await r()}catch{}}function ly(r,e,t){if(r.user.trackedExperiments){let i=Qa(e,t);if(r.user.trackedExperiments.has(i))return[];r.user.trackedExperiments.add(i)}r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({experiment:e,result:t,timestamp:Date.now().toString(),logType:"experiment"});let n=[];if(r.global.trackingCallback){let i=r.global.trackingCallback;n.push(pi(()=>i(e,t,r.user)))}if(r.user.trackingCallback){let i=r.user.trackingCallback;n.push(pi(()=>i(e,t)))}if(r.global.eventLogger){let i=r.global.eventLogger;n.push(pi(()=>i(FE,{experimentId:e.key,variationId:t.key,hashAttribute:t.hashAttribute,hashValue:t.hashValue},r.user)))}return n}function BE(r,e,t){if(r.user.trackedFeatureUsage){let n=JSON.stringify(t.value);if(r.user.trackedFeatureUsage[e]===n)return;r.user.trackedFeatureUsage[e]=n,r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({featureKey:e,result:t,timestamp:Date.now().toString(),logType:"feature"})}if(r.global.onFeatureUsage){let n=r.global.onFeatureUsage;pi(()=>n(e,t,r.user))}if(r.user.onFeatureUsage){let n=r.user.onFeatureUsage;pi(()=>n(e,t))}if(r.global.eventLogger){let n=r.global.eventLogger;pi(()=>n(LE,{feature:e,source:t.source,value:t.value,ruleId:t.source==="defaultValue"?"$default":t.ruleId||"",variationId:t.experimentResult?t.experimentResult.key:""},r.user))}}function Xa(r,e){if(e.stack.evaluatedFeatures.has(r))return Nr(e,r,null,"cyclicPrerequisite");e.stack.evaluatedFeatures.add(r),e.stack.id=r;let t=DE(e);if(t.has(r))return Nr(e,r,t.get(r),"override");if(!e.global.features||!e.global.features[r])return Nr(e,r,null,"unknownFeature");let n=e.global.features[r];if(n.rules){let i=new Set(e.stack.evaluatedFeatures);e:for(let s of n.rules){if(s.parentConditions)for(let l of s.parentConditions){e.stack.evaluatedFeatures=new Set(i);let c=Xa(l.id,e);if(c.source==="cyclicPrerequisite")return Nr(e,r,null,"cyclicPrerequisite");let u={value:c.value};if(!Pr(u,l.condition||{})){if(l.gate)return Nr(e,r,null,"prerequisite");continue e}}if(s.filters&&dy(s.filters,e))continue;if("force"in s){if(s.condition&&!uy(s.condition,e)||!VE(e,s.seed||r,s.hashAttribute,e.user.saveStickyBucketAssignmentDoc&&!s.disableStickyBucketing?s.fallbackAttribute:void 0,s.range,s.coverage,s.hashVersion))continue;return s.tracks&&s.tracks.forEach(l=>{!ly(e,l.experiment,l.result).length&&e.global.saveDeferredTrack&&e.global.saveDeferredTrack({experiment:l.experiment,result:l.result})}),Nr(e,r,s.force,"force",s.id)}if(!s.variations)continue;let o={variations:s.variations,key:s.key||r};"coverage"in s&&(o.coverage=s.coverage),s.weights&&(o.weights=s.weights),s.hashAttribute&&(o.hashAttribute=s.hashAttribute),s.fallbackAttribute&&(o.fallbackAttribute=s.fallbackAttribute),s.disableStickyBucketing&&(o.disableStickyBucketing=s.disableStickyBucketing),s.bucketVersion!==void 0&&(o.bucketVersion=s.bucketVersion),s.minBucketVersion!==void 0&&(o.minBucketVersion=s.minBucketVersion),s.namespace&&(o.namespace=s.namespace),s.meta&&(o.meta=s.meta),s.ranges&&(o.ranges=s.ranges),s.name&&(o.name=s.name),s.phase&&(o.phase=s.phase),s.seed&&(o.seed=s.seed),s.hashVersion&&(o.hashVersion=s.hashVersion),s.filters&&(o.filters=s.filters),s.condition&&(o.condition=s.condition);let{result:a}=Ja(o,r,e);if(e.global.onExperimentEval&&e.global.onExperimentEval(o,a),a.inExperiment&&!a.passthrough)return Nr(e,r,a.value,"experiment",s.id,o,a)}}return Nr(e,r,n.defaultValue===void 0?null:n.defaultValue,"defaultValue")}function Ja(r,e,t){let n=r.key,i=r.variations.length;if(i<2)return{result:Ce(t,r,-1,!1,e)};if(t.global.enabled===!1||t.user.enabled===!1)return{result:Ce(t,r,-1,!1,e)};if(r=jE(r,t),r.urlPatterns&&!Da(t.user.url||"",r.urlPatterns))return{result:Ce(t,r,-1,!1,e)};let s=Fv(n,t.user.url||"",i);if(s!==null)return{result:Ce(t,r,s,!1,e)};let o=HE(t);if(n in o){let g=o[n];return{result:Ce(t,r,g,!1,e)}}if(r.status==="draft"||r.active===!1)return{result:Ce(t,r,-1,!1,e)};let{hashAttribute:a,hashValue:l}=In(t,r.hashAttribute,t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing?r.fallbackAttribute:void 0);if(!l)return{result:Ce(t,r,-1,!1,e)};let c=-1,u=!1,p=!1;if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{variation:g,versionIsBlocked:y}=zE({ctx:t,expKey:r.key,expBucketVersion:r.bucketVersion,expHashAttribute:r.hashAttribute,expFallbackAttribute:r.fallbackAttribute,expMinBucketVersion:r.minBucketVersion,expMeta:r.meta});u=g>=0,c=g,p=!!y}if(!u){if(r.filters){if(dy(r.filters,t))return{result:Ce(t,r,-1,!1,e)}}else if(r.namespace&&!Pv(l,r.namespace))return{result:Ce(t,r,-1,!1,e)};if(r.include&&!Dv(r.include))return{result:Ce(t,r,-1,!1,e)};if(r.condition&&!uy(r.condition,t))return{result:Ce(t,r,-1,!1,e)};if(r.parentConditions){let g=new Set(t.stack.evaluatedFeatures);for(let y of r.parentConditions){t.stack.evaluatedFeatures=new Set(g);let x=Xa(y.id,t);if(x.source==="cyclicPrerequisite")return{result:Ce(t,r,-1,!1,e)};let k={value:x.value};if(!Pr(k,y.condition||{}))return{result:Ce(t,r,-1,!1,e)}}}if(r.groups&&!UE(r.groups,t))return{result:Ce(t,r,-1,!1,e)}}if(r.url&&!WE(r.url,t))return{result:Ce(t,r,-1,!1,e)};let h=Os(r.seed||n,l,r.hashVersion||1);if(h===null)return{result:Ce(t,r,-1,!1,e)};if(!u){let g=r.ranges||Lv(i,r.coverage===void 0?1:r.coverage,r.weights);c=Nv(h,g)}if(p)return{result:Ce(t,r,-1,!1,e,void 0,!0)};if(c<0)return{result:Ce(t,r,-1,!1,e)};if("force"in r)return{result:Ce(t,r,r.force===void 0?-1:r.force,!1,e)};if(t.global.qaMode||t.user.qaMode)return{result:Ce(t,r,-1,!1,e)};if(r.status==="stopped")return{result:Ce(t,r,-1,!1,e)};let f=Ce(t,r,c,!0,e,h,u);if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{changed:g,key:y,doc:x}=ZE(t,a,Ps(l),{[pd(r.key,r.bucketVersion)]:f.key});g&&(t.user.stickyBucketAssignmentDocs=t.user.stickyBucketAssignmentDocs||{},t.user.stickyBucketAssignmentDocs[y]=x,t.user.saveStickyBucketAssignmentDoc(x))}let v=ly(t,r,f);v.length===0&&t.global.saveDeferredTrack&&t.global.saveDeferredTrack({experiment:r,result:f});let m=v.length?v.length===1?v[0]:Promise.all(v).then(()=>{}):void 0;return"changeId"in r&&r.changeId&&t.global.recordChangeId&&t.global.recordChangeId(r.changeId),{result:f,trackingCall:m}}function Nr(r,e,t,n,i,s,o){let a={value:t,on:!!t,off:!t,source:n,ruleId:i||""};return s&&(a.experiment=s),o&&(a.experimentResult=o),n!=="override"&&BE(r,e,a),a}function cy(r){return{...r.user.attributes,...r.user.attributeOverrides}}function uy(r,e){return Pr(cy(e),r,e.global.savedGroups||{})}function dy(r,e){return r.some(t=>{let{hashValue:n}=In(e,t.attribute);if(!n)return!0;let i=Os(t.seed,n,t.hashVersion||2);return i===null?!0:!t.ranges.some(s=>Fa(i,s))})}function VE(r,e,t,n,i,s,o){if(!i&&s===void 0)return!0;if(!i&&s===0)return!1;let{hashValue:a}=In(r,t,n);if(!a)return!1;let l=Os(e,a,o||1);return l===null?!1:i?Fa(l,i):s!==void 0?l<=s:!0}function Ce(r,e,t,n,i,s,o){let a=!0;(t<0||t>=e.variations.length)&&(t=0,a=!1);let{hashAttribute:l,hashValue:c}=In(r,e.hashAttribute,r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),u=e.meta?e.meta[t]:{},p={key:u.key||""+t,featureId:i,inExperiment:a,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:l,hashValue:c,stickyBucketUsed:!!o};return u.name&&(p.name=u.name),s!==void 0&&(p.bucket=s),u.passthrough&&(p.passthrough=u.passthrough),p}function jE(r,e){let t=r.key,n=e.global.overrides;return n&&n[t]&&(r=Object.assign({},r,n[t]),typeof r.url=="string"&&(r.url=ed(r.url))),r}function In(r,e,t){let n=e||"id",i="",s=cy(r);return s[n]&&(i=s[n]),!i&&t&&(s[t]&&(i=s[t]),i&&(n=t)),{hashAttribute:n,hashValue:i}}function WE(r,e){let t=e.user.url;if(!t)return!1;let n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!(r.test(t)||r.test(n))}function UE(r,e){let t=e.global.groups||{};for(let n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}function zE({ctx:r,expKey:e,expBucketVersion:t,expHashAttribute:n,expFallbackAttribute:i,expMinBucketVersion:s,expMeta:o}){t=t||0,s=s||0,n=n||"id",o=o||[];let a=pd(e,t),l=qE(r,n,i);if(s>0)for(let p=0;p<s;p++){let h=pd(e,p);if(l[h]!==void 0)return{variation:-1,versionIsBlocked:!0}}let c=l[a];if(c===void 0)return{variation:-1};let u=o.findIndex(p=>p.key===c);return u<0?{variation:-1}:{variation:u}}function pd(r,e){return e=e||0,`${r}__${e}`}function hd(r,e){return`${r}||${e}`}function qE(r,e,t){if(!r.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:n,hashValue:i}=In(r,e),s=hd(n,Ps(i)),{hashAttribute:o,hashValue:a}=In(r,t),l=a?hd(o,Ps(a)):null,c={};return l&&r.user.stickyBucketAssignmentDocs[l]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[l].assignments||{}),r.user.stickyBucketAssignmentDocs[s]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[s].assignments||{}),c}function ZE(r,e,t,n){let i=hd(e,t),s=r.user.stickyBucketAssignmentDocs&&r.user.stickyBucketAssignmentDocs[i]?r.user.stickyBucketAssignmentDocs[i].assignments||{}:{},o={...s,...n},a=JSON.stringify(s)!==JSON.stringify(o);return{key:i,doc:{attributeName:e,attributeValue:t,assignments:o},changed:a}}function GE(r,e){let t=new Set,n=e&&e.features?e.features:r.global.features||{},i=e&&e.experiments?e.experiments:r.global.experiments||[];return Object.keys(n).forEach(s=>{let o=n[s];if(o.rules)for(let a of o.rules)a.variations&&(t.add(a.hashAttribute||"id"),a.fallbackAttribute&&t.add(a.fallbackAttribute))}),i.map(s=>{t.add(s.hashAttribute||"id"),s.fallbackAttribute&&t.add(s.fallbackAttribute)}),Array.from(t)}async function py(r,e,t){let n=fd(r,t);return e.getAllAssignments(n)}function fd(r,e){let t={};return GE(r,e).forEach(i=>{let{hashValue:s}=In(r,i);t[i]=Ps(s)}),t}async function hy(r,e,t){if(r={...r},r.encryptedFeatures){try{r.features=JSON.parse(await Tn(r.encryptedFeatures,e,t))}catch(n){console.error(n)}delete r.encryptedFeatures}if(r.encryptedExperiments){try{r.experiments=JSON.parse(await Tn(r.encryptedExperiments,e,t))}catch(n){console.error(n)}delete r.encryptedExperiments}if(r.encryptedSavedGroups){try{r.savedGroups=JSON.parse(await Tn(r.encryptedSavedGroups,e,t))}catch(n){console.error(n)}delete r.encryptedSavedGroups}return r}function fy(r){let e=r.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(r.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:r.apiHostRequestHeaders,streamingHostRequestHeaders:r.streamingHostRequestHeaders}}function Qa(r,e){return e.hashAttribute+e.hashValue+r.key+e.variationId}var hi=typeof window<"u"&&typeof document<"u",KE=Hv(),Ds=class{constructor(e){if(e=e||{},this.version=KE,this._options=this.context=e,this._renderer=e.renderer||null,this._trackedExperiments=new Set,this._completedChangeIds=new Set,this._trackedFeatures={},this.debug=!!e.debug,this._subscriptions=new Set,this.ready=!1,this._assigned=new Map,this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._initialized=!1,this._redirectedUrl="",this._deferredTrackingCalls=new Map,this._autoExperimentsAllowed=!e.disableExperimentsOnLoad,this._destroyCallbacks=[],this.logs=[],this.log=this.log.bind(this),this._saveDeferredTrack=this._saveDeferredTrack.bind(this),this._onExperimentEval=this._onExperimentEval.bind(this),this._fireSubscriptions=this._fireSubscriptions.bind(this),this._recordChangedId=this._recordChangedId.bind(this),e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch{}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");if(e.stickyBucketService){let t=e.stickyBucketService;this._saveStickyBucketAssignmentDoc=n=>t.saveAssignments(n)}if(e.plugins)for(let t of e.plugins)t(this);if(e.features&&(this.ready=!0),hi&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),this._options.stickyBucketService&&this._options.stickyBucketAssignmentDocs)for(let t in this._options.stickyBucketAssignmentDocs){let n=this._options.stickyBucketAssignmentDocs[t];n&&this._options.stickyBucketService.saveAssignments(n).catch(()=>{})}this.ready&&this.refreshStickyBuckets(this.getPayload())}async setPayload(e){this._payload=e;let t=await hy(e,this._options.decryptionKey);this._decryptedPayload=t,await this.refreshStickyBuckets(t),t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,this._render()}initSync(e){this._initialized=!0;let t=e.payload;if(t.encryptedExperiments||t.encryptedFeatures)throw new Error("initSync does not support encrypted payloads");return this._options.stickyBucketService&&!this._options.stickyBucketAssignmentDocs&&(this._options.stickyBucketAssignmentDocs=this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService,t)),this._payload=t,this._decryptedPayload=t,t.features&&(this._options.features=t.features),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,ja(this,e),this}async init(e){if(this._initialized=!0,e=e||{},e.cacheSettings&&Wv(e.cacheSettings),e.payload)return await this.setPayload(e.payload),ja(this,e),{success:!0,source:"init"};{let{data:t,...n}=await this._refresh({...e,allowStale:!0});return ja(this,e),await this.setPayload(t||{}),n}}async loadFeatures(e){e=e||{},await this.init({skipCache:e.skipCache,timeout:e.timeout,streaming:(this._options.backgroundSync??!0)&&(e.autoRefresh||this._options.subscribeToChanges)})}async refreshFeatures(e){let t=await this._refresh({...e||{},allowStale:!1});t.data&&await this.setPayload(t.data)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){return fy(this._options)}getClientKey(){return this._options.clientKey||""}getPayload(){return this._payload||{features:this.getFeatures(),experiments:this.getExperiments()}}getDecryptedPayload(){return this._decryptedPayload||this.getPayload()}isRemoteEval(){return this._options.remoteEval||!1}getCacheKeyAttributes(){return this._options.cacheKeyAttributes}async _refresh({timeout:e,skipCache:t,allowStale:n,streaming:i}){if(!this._options.clientKey)throw new Error("Missing clientKey");return Uv({instance:this,timeout:e,skipCache:t||this._options.disableCache,allowStale:n,backgroundSync:i??this._options.backgroundSync??!0})}_render(){if(this._renderer)try{this._renderer()}catch(e){console.error("Failed to render",e)}}setFeatures(e){this._options.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){let i=await Tn(e,t||this._options.decryptionKey,n);this.setFeatures(JSON.parse(i))}setExperiments(e){this._options.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){let i=await Tn(e,t||this._options.decryptionKey,n);this.setExperiments(JSON.parse(i))}async setAttributes(e){if(this._options.attributes=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async updateAttributes(e){return this.setAttributes({...this._options.attributes,...e})}async setAttributeOverrides(e){if(this._options.attributeOverrides=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async setForcedVariations(e){if(this._options.forcedVariations=e||{},this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}setForcedFeatures(e){this._options.forcedFeatureValues=e,this._render()}async setURL(e){if(e!==this._options.url){if(this._options.url=e,this._redirectedUrl="",this._options.remoteEval){await this._refreshForRemoteEval(),this._updateAllAutoExperiments(!0);return}this._updateAllAutoExperiments(!0)}}getAttributes(){return{...this._options.attributes,...this._options.attributeOverrides}}getForcedVariations(){return this._options.forcedVariations||{}}getForcedFeatures(){return this._options.forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._options.stickyBucketAssignmentDocs||{}}getUrl(){return this._options.url||""}getFeatures(){return this._options.features||{}}getExperiments(){return this._options.experiments||[]}getCompletedChangeIds(){return Array.from(this._completedChangeIds)}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}async _refreshForRemoteEval(){if(!this._options.remoteEval||!this._initialized)return;let e=await this._refresh({allowStale:!1});e.data&&await this.setPayload(e.data)}getAllResults(){return new Map(this._assigned)}onDestroy(e){this._destroyCallbacks.push(e)}isDestroyed(){return!!this._destroyed}destroy(e){e=e||{},this._destroyed=!0,this._destroyCallbacks.forEach(t=>{try{t()}catch(n){console.error(n)}}),this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._completedChangeIds.clear(),this._deferredTrackingCalls.clear(),this._trackedFeatures={},this._destroyCallbacks=[],this._payload=void 0,this._saveStickyBucketAssignmentDoc=void 0,zv(this),e.destroyAllStreams&&od(),this.logs=[],hi&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(t=>{t.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){if(this._options.forcedVariations=this._options.forcedVariations||{},this._options.forcedVariations[e]=t,this._options.remoteEval){this._refreshForRemoteEval();return}this._updateAllAutoExperiments(),this._render()}run(e){let{result:t}=Ja(e,null,this._getEvalContext());return this._onExperimentEval(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._options.experiments?this._options.experiments.filter(n=>n.key===e).map(n=>this._runAutoExperiment(n)).filter(n=>n!==null):null}triggerAutoExperiments(){this._autoExperimentsAllowed=!0,this._updateAllAutoExperiments(!0)}_getEvalContext(){return{user:this._getUserContext(),global:this._getGlobalContext(),stack:{evaluatedFeatures:new Set}}}_getUserContext(){return{attributes:this._options.user?{...this._options.user,...this._options.attributes}:this._options.attributes,enableDevMode:this._options.enableDevMode,blockedChangeIds:this._options.blockedChangeIds,stickyBucketAssignmentDocs:this._options.stickyBucketAssignmentDocs,url:this._getContextUrl(),forcedVariations:this._options.forcedVariations,forcedFeatureValues:this._options.forcedFeatureValues,attributeOverrides:this._options.attributeOverrides,saveStickyBucketAssignmentDoc:this._saveStickyBucketAssignmentDoc,trackingCallback:this._options.trackingCallback,onFeatureUsage:this._options.onFeatureUsage,devLogs:this.logs,trackedExperiments:this._trackedExperiments,trackedFeatureUsage:this._trackedFeatures}}_getGlobalContext(){return{features:this._options.features,experiments:this._options.experiments,log:this.log,enabled:this._options.enabled,qaMode:this._options.qaMode,savedGroups:this._options.savedGroups,groups:this._options.groups,overrides:this._options.overrides,onExperimentEval:this._onExperimentEval,recordChangeId:this._recordChangedId,saveDeferredTrack:this._saveDeferredTrack,eventLogger:this._options.eventLogger}}_runAutoExperiment(e,t){let n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;let i=this._isAutoExperimentBlockedByContext(e),s,o;i?s=Ce(this._getEvalContext(),e,-1,!1,""):({result:s,trackingCall:o}=Ja(e,null,this._getEvalContext()),this._onExperimentEval(e,s));let a=JSON.stringify(s.value);if(!t&&s.inExperiment&&n&&n.valueHash===a)return s;if(n&&this._undoActiveAutoExperiment(e),s.inExperiment){let l=Ha(e);if(l==="redirect"&&s.value.urlRedirect&&e.urlPatterns){let c=e.persistQueryString?Bv(this._getContextUrl(),s.value.urlRedirect):s.value.urlRedirect;if(Da(c,e.urlPatterns))return this.log("Skipping redirect because original URL matches redirect URL",{id:e.key}),s;this._redirectedUrl=c;let{navigate:u,delay:p}=this._getNavigateFunction();if(u)if(hi)Promise.all([...o?[Ba(o,this._options.maxNavigateDelay??1e3)]:[],new Promise(h=>window.setTimeout(h,this._options.navigateDelay??p))]).then(()=>{try{u(c)}catch(h){console.error(h)}});else try{u(c)}catch(h){console.error(h)}}else if(l==="visual"){let c=this._options.applyDomChangesCallback?this._options.applyDomChangesCallback(s.value):this._applyDOMChanges(s.value);c&&this._activeAutoExperiments.set(e,{undo:c,valueHash:a})}}return s}_undoActiveAutoExperiment(e){let t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){if(!this._autoExperimentsAllowed)return;let t=this._options.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((i,s)=>{n.has(s)||(i.undo(),this._activeAutoExperiments.delete(s))});for(let i of t){let s=this._runAutoExperiment(i,e);if(s&&s.inExperiment&&Ha(i)==="redirect")break}}_onExperimentEval(e,t){let n=this._assigned.get(e.key);this._assigned.set(e.key,{experiment:e,result:t}),this._subscriptions.size>0&&this._fireSubscriptions(e,t,n)}_fireSubscriptions(e,t,n){(!n||n.result.inExperiment!==t.inExperiment||n.result.variationId!==t.variationId)&&this._subscriptions.forEach(i=>{try{i(e,t)}catch(s){console.error(s)}})}_recordChangedId(e){this._completedChangeIds.add(e)}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){let n=this.evalFeature(e).value;return n===null?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){return Xa(e,this._getEvalContext())}log(e,t){this.debug&&(this._options.log?this._options.log(e,t):console.log(e,t))}getDeferredTrackingCalls(){return Array.from(this._deferredTrackingCalls.values())}setDeferredTrackingCalls(e){this._deferredTrackingCalls=new Map(e.filter(t=>t&&t.experiment&&t.result).map(t=>[Qa(t.experiment,t.result),t]))}async fireDeferredTrackingCalls(){if(!this._options.trackingCallback)return;let e=[];this._deferredTrackingCalls.forEach(t=>{!t||!t.experiment||!t.result?console.error("Invalid deferred tracking call",{call:t}):e.push(this._options.trackingCallback(t.experiment,t.result))}),this._deferredTrackingCalls.clear(),await Promise.all(e)}setTrackingCallback(e){this._options.trackingCallback=e,this.fireDeferredTrackingCalls()}setEventLogger(e){this._options.eventLogger=e}async logEvent(e,t){if(this._destroyed){console.error("Cannot log event to destroyed GrowthBook instance");return}if(this._options.enableDevMode&&this.logs.push({eventName:e,properties:t,timestamp:Date.now().toString(),logType:"event"}),this._options.eventLogger)try{await this._options.eventLogger(e,t||{},this._getUserContext())}catch(n){console.error(n)}else console.error("No event logger configured")}_saveDeferredTrack(e){this._deferredTrackingCalls.set(Qa(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(hi?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=Ha(e);if(t==="visual"){if(this._options.disableVisualExperiments||this._options.disableJsInjection&&e.variations.some(n=>n.js))return!0}else if(t==="redirect"){if(this._options.disableUrlRedirectExperiments)return!0;try{let n=new URL(this._getContextUrl());for(let i of e.variations){if(!i||!i.urlRedirect)continue;let s=new URL(i.urlRedirect);if(this._options.disableCrossOriginUrlRedirectExperiments&&(s.protocol!==n.protocol||s.host!==n.host))return!0}}catch(n){return this.log("Error parsing current or redirect URL",{id:e.key,error:n}),!0}}else return!0;return!!(e.changeId&&(this._options.blockedChangeIds||[]).includes(e.changeId))}getRedirectUrl(){return this._redirectedUrl}_getNavigateFunction(){return this._options.navigate?{navigate:this._options.navigate,delay:0}:hi?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!hi)return;let t=[];if(e.css){let n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){let n=document.createElement("script");n.innerHTML=e.js,this._options.jsInjectionNonce&&(n.nonce=this._options.jsInjectionNonce),document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(n=>{t.push(ny.declarative(n).revert)}),()=>{t.forEach(n=>n())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),n=await py(t,this._options.stickyBucketService,e);this._options.stickyBucketAssignmentDocs=n}}generateStickyBucketAssignmentDocsSync(e,t){if(!("getAllAssignmentsSync"in e)){console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");return}let n=this._getEvalContext(),i=fd(n,t);return e.getAllAssignmentsSync(i)}inDevMode(){return!!this._options.enableDevMode}};var YE="https://experiment.syntrologie.com",gd=class{constructor(e={}){this.featureListeners=new Set;if(e.client)this.gb=e.client;else{let t=e.onExperimentViewed?(n,i)=>{e.onExperimentViewed(n.key,i.variationId,typeof i.value=="string"?i.value:`variation_${i.variationId}`)}:void 0;this.gb=new Ds({...e,apiHost:e.apiHost??YE,enableDevMode:e.enableDevMode??!0,trackingCallback:t}),e.autoInit&&this.gb.init({streaming:!0})}}get _internal(){return this.gb}async refreshFeatures(){await this.gb.loadFeatures()}setAttributes(e){this.gb.setAttributes({...this.gb.getAttributes(),...e})}setForcedVariations(e){this.gb.setForcedVariations(e)}getFeatureValue(e,t){return this.gb.getFeatureValue(e,t)}getAllFeatures(){let e=this.gb.getFeatures(),t={};for(let n of Object.keys(e))t[n]=this.gb.getFeatureValue(n,null);return t}shouldRenderRectangle(e){return!0}onFeaturesChanged(e){return this.featureListeners.add(e),this.featureListeners.size===1&&this.gb.setRenderer(()=>{for(let t of this.featureListeners)t()}),()=>{this.featureListeners.delete(e),this.featureListeners.size===0&&this.gb.setRenderer(null)}}};function md(r={}){return new gd(r)}var gy={growthbook:r=>md({...r,autoInit:!0})};function my(r,e){let t=gy[r];if(!t)throw new Error(`Unknown experiment provider: ${r}. Supported: ${Object.keys(gy).join(", ")}`);return t(e)}var XE=["cdn.syntrologie.com","localhost","127.0.0.1"];function JE(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] CDN URL must use HTTPS:",r),!1):XE.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] CDN host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid CDN URL:",r),!1}}var vd=class{constructor(e){this.name="cdn";if(this.url=`${e.baseUrl}/${e.configId}.json`,this.integrity=e.integrity,!JE(this.url))throw new Error(`[SmartCanvas] CDN URL not allowed: ${this.url}`)}async fetch(){let e=performance.now(),t=await fetch(this.url,{credentials:"omit",cache:"default"});if(!t.ok)throw new Error(`[SmartCanvas] Failed to fetch config from CDN (${t.status})`);let n=await t.text();if(this.integrity){let l=await QE(n),c=this.integrity.replace("sha384-","");if(l!==c)throw new Error(`[SmartCanvas] Config integrity check failed. Expected ${c}, got ${l}`)}let i=JSON.parse(n),s=performance.now()-e,o=t.headers.get("cache-control"),a=t.headers.get("age");return{config:i,meta:{source:"cdn",fetchTimeMs:s,cached:o?.includes("public")??!1,cacheAge:a?parseInt(a,10):void 0}}}};async function QE(r){let t=new TextEncoder().encode(r),n=await crypto.subtle.digest("SHA-384",t),i=new Uint8Array(n);return btoa(String.fromCharCode(...i))}function vy(r){return new vd(r)}var eC="syntro_exp",tC="syntro_var",yd=class{constructor(e){this.name="experiments";this.client=e.client,this.featureKey=e.featureKey,this.manifestKey=e.manifestKey,this.variantFlagPrefix=e.variantFlagPrefix}async fetch(){let e=performance.now();if(typeof window<"u"){let i=new URLSearchParams(window.location.search),s=i.get(eC),o=i.get(tC);if(s&&o!==null&&this.client.setForcedVariations){let a=parseInt(o,10);Number.isNaN(a)||(console.log(`[SmartCanvas] Preview mode: forcing "${s}" to variation ${a}`),this.client.setForcedVariations({[s]:a}))}}if(this.manifestKey||this.variantFlagPrefix||this.client.getAllFeatures){let i=this.fetchMultiFlag();if(i){let s=performance.now()-e;return{config:i,meta:{source:"experiments",fetchTimeMs:s,cached:!0}}}}if(!this.featureKey)throw new Error("[SmartCanvas] No featureKey configured and no variant flags found. Ensure at least one config feature flag exists in your experiment platform.");let t=this.client.getFeatureValue?.(this.featureKey,null);if(!t||typeof t!="object")throw new Error(`[SmartCanvas] Feature "${this.featureKey}" not found or invalid. Ensure the feature is configured in your experiment platform.`);let n=performance.now()-e;return{config:t,meta:{source:"experiments",fetchTimeMs:n,cached:!0}}}fetchMultiFlag(){let e=this.getVariantFlagKeys();return!e||e.length===0?null:ba(this.client,e)}getVariantFlagKeys(){if(this.manifestKey){let e=this.client.getFeatureValue?.(this.manifestKey,null);if(e&&typeof e=="object"){let t=e.variant_flags;if(t&&t.length>0)return t}}if(this.client.getAllFeatures){let e=this.client.getAllFeatures();return this.variantFlagPrefix?Object.keys(e).filter(t=>t.startsWith(this.variantFlagPrefix)):Object.keys(e)}return[]}};function yy(r){return new yd(r)}var rC="https://cdn.syntrologie.com/configs",_y={cdn:r=>{if(!r.configId)throw new Error("CDN fetcher requires 'configId' option");return vy({baseUrl:r.baseUrl??rC,configId:r.configId,integrity:r.integrity})},experiments:r=>{if(!r.featureKey)throw new Error("Experiments fetcher requires 'featureKey' option");return yy({featureKey:r.featureKey})}};function by(r,e={}){let t=_y[r];if(!t)throw new Error(`Unknown config fetcher type: ${r}. Supported: ${Object.keys(_y).join(", ")}`);return t(e)}var xy="syntro_session_metrics",el=class{constructor(e={}){this.metrics=new Map;this.subscribers=new Set;this.experiments=e.experiments,this.attributePrefix=e.attributePrefix??"session_",this.onMetricChange=e.onMetricChange,this.loadFromStorage()}increment(e,t=1){let i=(this.metrics.get(e)??0)+t;return this.metrics.set(e,i),this.saveToStorage(),this.updateExperimentAttributes(e,i),this.onMetricChange?.(e,i),this.notifySubscribers(),i}set(e,t){this.metrics.set(e,t),this.saveToStorage(),this.updateExperimentAttributes(e,t),this.onMetricChange?.(e,t),this.notifySubscribers()}get(e){return this.metrics.get(e)??0}meetsThreshold(e,t){return this.get(e)>=t}getAll(){return Object.fromEntries(this.metrics)}reset(e){this.metrics.delete(e),this.saveToStorage(),this.updateExperimentAttributes(e,0),this.onMetricChange?.(e,0),this.notifySubscribers()}resetAll(){let e=Array.from(this.metrics.keys());this.metrics.clear(),this.saveToStorage();let t={};for(let n of e)t[`${this.attributePrefix}${n}`]=0,this.onMetricChange?.(n,0);this.experiments?.setAttributes?.(t),this.notifySubscribers()}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}destroy(){this.subscribers.clear()}setExperiments(e){this.experiments=e,this.syncAllToExperiments()}updateExperimentAttributes(e,t){if(!this.experiments?.setAttributes)return;let n=`${this.attributePrefix}${e}`;this.experiments.setAttributes({[n]:t})}syncAllToExperiments(){if(!this.experiments?.setAttributes)return;let e={};for(let[t,n]of this.metrics)e[`${this.attributePrefix}${t}`]=n;this.experiments.setAttributes(e)}notifySubscribers(){for(let e of this.subscribers)try{e()}catch{}}loadFromStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e=sessionStorage.getItem(xy);if(e){let t=JSON.parse(e);for(let[n,i]of Object.entries(t))this.metrics.set(n,i.count)}}catch(e){console.warn("[SessionMetricTracker] Failed to load from sessionStorage:",e)}}saveToStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e={};for(let[t,n]of this.metrics)e[t]={count:n,lastUpdated:Date.now()};sessionStorage.setItem(xy,JSON.stringify(e))}catch(e){console.warn("[SessionMetricTracker] Failed to save to sessionStorage:",e)}}};function _d(r={}){return new el(r)}var tl=class{constructor(e){this.unsubUnload=null;this.unsubLoad=null;this.destroyed=!1;this.adapter=e}activate(){this.destroyed||(this.unsubUnload=this.adapter.onRegionWillUnload(e=>{this.hideContentInSection(e)}),this.unsubLoad=this.adapter.onRegionDidLoad(e=>{this.revealContentInSection(e)}))}destroy(){this.destroyed=!0,this.unsubUnload?.(),this.unsubLoad?.(),this.unsubUnload=null,this.unsubLoad=null}hideContentInSection(e){let t=this.sectionSelector(e),n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.opacity="0",i.style.transition="none"}revealContentInSection(e){let t=this.sectionSelector(e);requestAnimationFrame(()=>{if(this.destroyed)return;let n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.transition="opacity 120ms ease-in",i.style.opacity="1"})}sectionSelector(e){let t=typeof CSS<"u"?CSS.escape(e):e;return document.getElementById(`shopify-section-${e}`)?`#shopify-section-${t}`:`.shopify-section[id$="-${t}"]`}};var rl=class{constructor(e){this.name="shopify";this.loadCallbacks=new Set;this.unloadCallbacks=new Set;this.abortController=null;this.antiFlicker=null;this.initTimeoutMs=e?.initTimeoutMs??3e3}detect(){return typeof window>"u"||typeof document>"u"?!1:!!("Shopify"in window&&window.Shopify!=null||document.querySelector('meta[name="shopify-checkout-api-token"]'))}async onInit(){this.abortController=new AbortController;let{signal:e}=this.abortController;this.attachSectionListeners(e),this.antiFlicker=new tl(this),this.antiFlicker.activate(),await this.waitForInitialSections(this.initTimeoutMs,e)}onRegionDidLoad(e){return this.loadCallbacks.add(e),()=>{this.loadCallbacks.delete(e)}}onRegionWillUnload(e){return this.unloadCallbacks.add(e),()=>{this.unloadCallbacks.delete(e)}}onRegionMutated(e){}getAnchorScope(e){let t=e.closest(".shopify-section");return t?.id?`#${typeof CSS<"u"?CSS.escape(t.id):t.id} `:""}destroy(){this.antiFlicker?.destroy(),this.antiFlicker=null,this.abortController&&(this.abortController.abort(),this.abortController=null),this.loadCallbacks.clear(),this.unloadCallbacks.clear()}attachSectionListeners(e){document.addEventListener("shopify:section:load",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.loadCallbacks)try{i(n)}catch{}},{signal:e}),document.addEventListener("shopify:section:unload",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.unloadCallbacks)try{i(n)}catch{}},{signal:e})}waitForInitialSections(e,t){return new Promise(n=>{if(document.querySelector(".shopify-section")){n();return}let i=!1,s=()=>{i||(i=!0,n())};document.addEventListener("shopify:section:load",()=>s(),{once:!0,signal:t});let o=setTimeout(s,e);t.addEventListener("abort",()=>{clearTimeout(o),s()},{once:!0})})}};var nC=[()=>new rl];function wy(){for(let r of nC){let e=r();if(e.detect())return e}return null}var bd="syntro_experiments";var sC=720*60*60,nl=class{constructor(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}updateContext(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}destroy(){document.cookie=`${bd}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`}writeCookie(){let e={version:1,distinct_id:this.context.distinctId,telemetry_host:this.context.telemetryHost,telemetry_key:this.context.telemetryKey},t=encodeURIComponent(JSON.stringify(e)),n=`${bd}=${t}; max-age=${sC}; path=/; SameSite=Lax`;document.cookie=n}};function oC(){let r=Date.now();return{page:{url:typeof window<"u"?window.location.href:"",title:typeof document<"u"?document.title:void 0},session:{sessionId:"",startTs:r,pageHistory:[]},viewport:{width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}}}function xd(r,e){if(!e)return;let t;try{t=new URL(r).pathname}catch{t=r}if(t.startsWith("/")||(t=`/${t}`),e.exclude){for(let n of e.exclude)if(ky(t,n))return}if(e.include){for(let n of e.include)if(ky(t,n))return n;return}return t}function ky(r,e){let t=r.replace(/\/$/,"")||"/",n=e.replace(/\/$/,"")||"/";if(t===n)return!0;let i=n.replace(/:[^/]+/g,"[^/]+").replace(/\*/g,".*");return new RegExp(`^${i}$`).test(t)}var il=class{constructor(e){this.listeners=new Set;this.cleanupFns=[];if(this.telemetry=e.telemetry,this.routes=e.routes,this.navigation=e.navigation,this.context=oC(),this.previousContext={...this.context},e.telemetry?.getSessionId){let t=e.telemetry.getSessionId();t&&(this.context.session.sessionId=t)}e.initialPageHistory&&(this.context.session.pageHistory=e.initialPageHistory),this.context.page.routeId=xd(this.context.page.url,this.routes),this.addPageToHistory(this.context.page.url),typeof window<"u"&&this.setupBrowserListeners()}get(){return{...this.context}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setRoutes(e){this.routes=e;let t=xd(this.context.page.url,this.routes);t!==this.context.page.routeId&&this.updateContext({page:{...this.context.page,routeId:t}})}setAnchors(e){this.updateContext({anchors:e})}setSessionId(e){e!==this.context.session.sessionId&&this.updateContext({session:{...this.context.session,sessionId:e}})}destroy(){for(let e of this.cleanupFns)e();this.cleanupFns=[],this.listeners.clear()}setupBrowserListeners(){let e,t=()=>{clearTimeout(e),e=setTimeout(()=>{this.updateViewport()},100)};window.addEventListener("resize",t),this.cleanupFns.push(()=>window.removeEventListener("resize",t));let n=this.navigation.subscribe(()=>this.updatePage());this.cleanupFns.push(n)}updateViewport(){let e={width:window.innerWidth,height:window.innerHeight};(e.width!==this.context.viewport.width||e.height!==this.context.viewport.height)&&this.updateContext({viewport:e})}updatePage(){let e=window.location.href,{title:t}=document,n=xd(e,this.routes),i={url:e,title:t,routeId:n};(i.url!==this.context.page.url||i.title!==this.context.page.title||i.routeId!==this.context.page.routeId)&&(i.url!==this.context.page.url&&this.addPageToHistory(i.url),this.updateContext({page:i}))}addPageToHistory(e){let t={url:e,ts:Date.now()},n=[...this.context.session.pageHistory||[],t];n.length>50&&n.shift(),this.context.session.pageHistory=n}updateContext(e){this.previousContext={...this.context},this.context={...this.context,...e},this.notifyListeners()}notifyListeners(){for(let e of this.listeners)try{e(this.context,this.previousContext)}catch(t){console.error("[ContextManager] Listener error:",t)}}};function wd(r){return new il(r)}function Sy(r,e){let{context:t,state:n,events:i}=e;switch(r.type){case"page_url":{let{url:s}=r,o=t.page.url.split("?")[0].split("#")[0],a=s.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*");return new RegExp(`^${a}$`).test(o)}case"route":return t.page.routeId===r.routeId;case"anchor_visible":{let s=t.anchors?.find(o=>o.anchorId===r.anchorId);switch(r.state){case"visible":return s?.visible===!0;case"present":return s?.present===!0;case"absent":return!s?.present;default:return!1}}case"event_occurred":{if(!i)return!1;let s=r.withinMs??6e4;return i.hasRecentEvent(r.eventName,s)}case"state_equals":return n?.getValue?n.getValue(r.key)===r.value:!1;case"viewport":{let{width:s,height:o}=t.viewport;return!(r.minWidth!==void 0&&s<r.minWidth||r.maxWidth!==void 0&&s>r.maxWidth||r.minHeight!==void 0&&o<r.minHeight||r.maxHeight!==void 0&&o>r.maxHeight)}case"session_metric":{let s=e.sessionMetrics?e.sessionMetrics.get(r.key):n?.getSessionMetric(r.key);if(s===void 0)return!1;let{operator:o,threshold:a}=r;switch(o){case"gte":return s>=a;case"lte":return s<=a;case"eq":return s===a;case"gt":return s>a;case"lt":return s<a;default:return!1}}case"dismissed":{if(!n)return r.inverted??!1;let s=n.isDismissed(r.key);return r.inverted?!s:s}case"cooldown_active":{if(!n)return r.inverted??!1;let s=n.isCooldownActive(r.key);return r.inverted?!s:s}case"frequency_limit":{if(!n)return r.inverted??!1;let o=n.getFrequencyCount(r.key)>=r.limit;return r.inverted?!o:o}case"event_count":{if(!e.accumulator)return!1;let s=r,o=e.accumulator.getCount(s.key,s.withinMs);switch(s.operator){case"gte":return o>=s.count;case"lte":return o<=s.count;case"eq":return o===s.count;case"gt":return o>s.count;case"lt":return o<s.count;default:return!1}}default:return console.warn("[RuleStrategy] Unknown condition type:",r.type),!1}}function Ey(r,e){let t=[];for(let n of r.conditions){let i=Sy(n,e);if(t.push({condition:n,result:i}),!i)return{matched:!1,conditionResults:t}}return{matched:!0,conditionResults:t}}function sl(r,e){for(let t=0;t<r.rules.length;t++){let n=r.rules[t],{matched:i,conditionResults:s}=Ey(n,e);if(i)return{value:n.value,isFallback:!1,matchInfo:{strategyType:"rules",matchedRuleIndex:t,evaluatedConditions:s}}}return{value:r.default,isFallback:!0,matchInfo:{strategyType:"rules"}}}function ol(r,e){let{context:t}=e,n=t.augmented?.[r.field];return n===void 0||typeof n!="number"?{value:r.below,isFallback:!0,matchInfo:{strategyType:"score"}}:{value:n>=r.threshold?r.above:r.below,isFallback:!1,matchInfo:{strategyType:"score"}}}function Cy(r,e){let{state:t,events:n,sessionMetrics:i,accumulator:s}=e;return{context:r,state:t?{isDismissed:o=>t.dismissals.isDismissed(o),isCooldownActive:o=>t.cooldowns.isActive(o),getFrequencyCount:o=>t.frequency.count(o),getSessionMetric:o=>i?.get(o)??0,getValue:o=>t.session.get(o)??t.user.get(o)}:void 0,sessionMetrics:i?{get:o=>i.get(o)??0}:void 0,events:n?{hasRecentEvent:(o,a)=>n.hasRecentEvent(o,a)}:void 0,accumulator:s?{getCount:(o,a)=>s.getCount(o,a)}:void 0}}async function Ay(r,e,t={}){let n=Cy(e,t);switch(r.type){case"rules":return sl(r,n);case"score":return ol(r,n);case"model":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"model"}};case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"external"}};default:return console.warn("[DecisionEngine] Unknown strategy type:",r.type),{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function Ry(r,e,t={}){let n=Cy(e,t);switch(r.type){case"rules":return sl(r,n);case"score":return ol(r,n);case"model":case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:r.type}};default:return{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function kd(r){return{evaluate:(e,t)=>Ay(e,t,r),evaluateSync:(e,t)=>Ry(e,t,r)}}function Sd(r){let{eventBus:e,stateStore:t}=r,n=new Map,i=new Set,s=null,o=t.ns("accumulator");function a(c){let u=!1;for(let p of n.values()){if(!p.predicate(c))continue;let h=o.get(p.stateKey)||{count:0};h.count++,p.needsTimestamps&&(h.timestamps||(h.timestamps=[]),h.timestamps.push(c.ts),h.timestamps.length>200&&(h.timestamps=h.timestamps.slice(-200))),o.set(p.stateKey,h),u=!0}if(u)for(let p of i)try{p()}catch(h){console.error("[EventAccumulator] Subscriber error:",h)}}function l(){s||n.size===0||(s=e.subscribe(a))}return{register(c,u,p=!1){let h=`ev:${c}`,f=n.get(h);if(f){p&&!f.needsTimestamps&&(f.needsTimestamps=!0);return}n.set(h,{stateKey:h,needsTimestamps:p,predicate:u}),l()},getCount(c,u){let p=`ev:${c}`,h=o.get(p);if(!h)return 0;if(u===void 0||!h.timestamps)return h.count;let f=Date.now()-u;return h.timestamps.filter(v=>v>=f).length},subscribe(c){return i.add(c),()=>{i.delete(c)}},destroy(){s&&(s(),s=null),n.clear(),i.clear()}}}var Hs=class{constructor(){this.listeners=new Set;this.destroyed=!1;this.onPopState=()=>{this.notify(window.location.href,"popstate")};this.wasNative=this.isNativeFunction(history.pushState),this.capturedPushState=history.pushState,this.capturedReplaceState=history.replaceState,history.pushState=(...e)=>{this.capturedPushState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"pushState"))},history.replaceState=(...e)=>{this.capturedReplaceState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"replaceState"))},window.addEventListener("popstate",this.onPopState)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}diagnose(){return{isNative:this.wasNative,subscriberCount:this.listeners.size}}destroy(){this.destroyed||(this.destroyed=!0,history.pushState=this.capturedPushState,history.replaceState=this.capturedReplaceState,window.removeEventListener("popstate",this.onPopState),this.listeners.clear())}notify(e,t){if(!this.destroyed)for(let n of this.listeners)try{n(e,t)}catch{}}isNativeFunction(e){try{return Function.prototype.toString.call(e).includes("[native code]")}catch{return!1}}};var Ed="cooldown:";function Ty(r){return{set(e,t){let n=Ed+e,i=Date.now()+t;r.set(n,i)},isActive(e){return this.remaining(e)>0},remaining(e){let t=Ed+e,n=r.get(t);if(n===void 0)return 0;let i=n-Date.now();return i<=0?(r.remove(t),0):i},clear(e){let t=Ed+e;r.remove(t)}}}var Bs="dismissed:";function Iy(r,e){return{mark(t,n=!1){let i=Bs+t;(n?e:r).set(i,!0)},isDismissed(t){let n=Bs+t;return r.has(n)||e.has(n)},clear(t){let n=Bs+t;r.remove(n),e.remove(n)},clearAll(){for(let t of r.keys())t.startsWith(Bs)&&r.remove(t);for(let t of e.keys())t.startsWith(Bs)&&e.remove(t)}}}var Cd="freq:";function $y(r){function e(t){let n=Cd+t,i=r.get(n);if(i){if(i.resetAt&&Date.now()>=i.resetAt){r.remove(n);return}return i}}return{increment(t,n){let i=Cd+t,s=e(t),o=(s?.count??0)+1,a={count:o,resetAt:s?.resetAt??(n?Date.now()+n:void 0)};return r.set(i,a),o},count(t){return e(t)?.count??0},reset(t){let n=Cd+t;r.remove(n)},hasReachedLimit(t,n){return this.count(t)>=n}}}var aC="syntro";function Ad(r,e){let t=`${e}:`;return{get(n){if(r)try{let i=r.getItem(t+n);if(!i)return;let s=JSON.parse(i);if(s.expiresAt&&Date.now()>=s.expiresAt){r.removeItem(t+n);return}return s.value}catch{return}},set(n,i,s){if(r)try{let o={value:i,expiresAt:s?Date.now()+s:void 0};r.setItem(t+n,JSON.stringify(o))}catch(o){console.warn("[StateStore] Failed to save:",o)}},remove(n){r&&r.removeItem(t+n)},has(n){return r?this.get(n)!==void 0:!1},keys(){if(!r)return[];let n=[];for(let i=0;i<r.length;i++){let s=r.key(i);s?.startsWith(t)&&n.push(s.slice(t.length))}return n},clear(){if(!r)return;let n=this.keys();for(let i of n)r.removeItem(t+i)}}}function Vs(r){let e=new Map,t=`${r}:`;return{get(n){let i=e.get(t+n);if(i){if(i.expiresAt&&Date.now()>=i.expiresAt){e.delete(t+n);return}return i.value}},set(n,i,s){e.set(t+n,{value:i,expiresAt:s?Date.now()+s:void 0})},remove(n){e.delete(t+n)},has(n){return this.get(n)!==void 0},keys(){let n=[];for(let i of e.keys())i.startsWith(t)&&n.push(i.slice(t.length));return n},clear(){for(let n of e.keys())n.startsWith(t)&&e.delete(n)}}}var al=class{constructor(e={}){this.namespacedStorages=new Map;this.namespace=e.namespace??aC;let t=n=>typeof n=="object"&&n!==null&&typeof n.setItem=="function";typeof window<"u"?(this.session=t(window.sessionStorage)?Ad(window.sessionStorage,this.namespace):Vs(this.namespace),this.user=t(window.localStorage)?Ad(window.localStorage,this.namespace):Vs(this.namespace)):(this.session=Vs(this.namespace),this.user=Vs(this.namespace)),this.dismissals=Iy(this.session,this.user),this.cooldowns=Ty(this.user),this.frequency=$y(this.session)}ns(e){let t=`${this.namespace}:${e}`;if(!this.namespacedStorages.has(t)){let n=typeof window<"u"&&typeof sessionStorage<"u"?Ad(sessionStorage,t):Vs(t);this.namespacedStorages.set(t,n)}return this.namespacedStorages.get(t)}};function Rd(r={}){return new al(r)}function js(r){return r.startsWith("inline:")?"inline":r.startsWith("adjacent:")?"adjacent":"static"}function ll(r){return r.startsWith("inline:")?r.slice(7):r.startsWith("adjacent:")?r.slice(9):null}var My={drawer_right:{position:"fixed",top:"0",right:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_left:{position:"fixed",top:"0",left:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_bottom:{position:"fixed",left:"0",right:"0",bottom:"0",maxHeight:"50vh"},overlay_center:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",maxWidth:"90vw",maxHeight:"90vh"},overlay_corner_br:{position:"fixed",bottom:"16px",right:"16px",maxWidth:"400px",maxHeight:"80vh"},overlay_corner_bl:{position:"fixed",bottom:"16px",left:"16px",maxWidth:"400px",maxHeight:"80vh"},toast_top:{position:"fixed",top:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"},toast_bottom:{position:"fixed",bottom:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"}},Ws={fade:[{opacity:0},{opacity:1}],slide:[{opacity:0,transform:"translateY(10px)"},{opacity:1,transform:"translateY(0)"}],scale:[{opacity:0,transform:"scale(0.95)"},{opacity:1,transform:"scale(1)"}],none:[]},Oy={duration:200,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"};function Td(r,e,t){let n=My[e];Object.assign(r.style,n),t&&(t.maxWidth&&(r.style.maxWidth=t.maxWidth),t.maxHeight&&(r.style.maxHeight=t.maxHeight),t.minWidth&&(r.style.minWidth=t.minWidth),t.minHeight&&(r.style.minHeight=t.minHeight))}function Id(r,e,t){let n=t.placement==="auto"?"bottom":t.placement,i=[No(t.offset?{mainAxis:t.offset.y,crossAxis:t.offset.x}:8)];return t.flip!==!1&&i.push(Fo()),t.shift!==!1&&i.push(Lo({padding:8})),r.style.position="absolute",r.style.zIndex="2147483646",Po(e,r,async()=>{let{x:o,y:a,strategy:l}=await Do(e,r,{placement:n,middleware:i});Object.assign(r.style,{position:l,left:`${o}px`,top:`${a}px`})})}function $d(r,e,t="append"){return r.style.position="relative",r.style.display="inline-block",t==="prepend"?e.insertBefore(r,e.firstChild):e.appendChild(r),()=>{r.remove()}}function Md(r,e){return e==="none"||Ws[e].length===0?null:r.animate(Ws[e],Oy)}function Od(r,e){if(e==="none"||Ws[e].length===0)return Promise.resolve();let t=[...Ws[e]].reverse(),n=r.animate(t,Oy);return new Promise(i=>{n.onfinish=()=>i(),n.oncancel=()=>i()})}function Pd(r,e){let t=document.createElement("div");return t.setAttribute("data-syntro-surface",r),t.setAttribute("data-syntro-mount-id",e),t.className="syntro-surface",Object.assign(t.style,{pointerEvents:"auto",boxSizing:"border-box",overflow:"auto"}),t}function Nd(r){switch(js(r)){case"static":return r.startsWith("drawer")?2147483640:r.startsWith("overlay")?2147483642:r.startsWith("toast")?2147483644:2147483640;case"inline":return 1;case"adjacent":return 2147483638;default:return 2147483640}}function Py(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button"]),o=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!s.has(l)){o.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),f=(u==="href"||u==="src")&&p.startsWith("javascript:");(h||f)&&a.removeAttribute(c.name)}}for(let a of o){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML=(n.firstChild,t.innerHTML)}var lC=0;function Ld(r){let{overlayRoot:e,eventBus:t,anchorResolver:n,defaultAnimation:i="fade",widgetRegistry:s}=r,o=new Map,a=new Map,l=new Map;function c(){return`mount-${++lC}`}function u(_,w){t&&t.publish(_,w)}function p(_){let w=l.get(_);if(w){let R=g(_);for(let b of w)try{b(R)}catch(A){console.error("[Surfaces] State callback error:",A)}}}let h=new Map;function f(_,w,R){switch(w.type){case"html":_.innerHTML=Py(w.content);return;case"widget":{if(s?.has(w.widgetId)){let b=s.mount(w.widgetId,_,w.config);return R&&h.set(R,b),()=>{b.unmount(),R&&h.delete(R)}}console.warn(`[Surfaces] Widget not found: ${w.widgetId}`),_.innerHTML=`<div data-widget-id="${w.widgetId}" data-widget-missing="true">Widget: ${w.widgetId}</div>`;return}case"custom":return w.mount(_);case"react":_.innerHTML="<div data-react-component>React Component</div>";return;default:console.warn("[Surfaces] Unknown content type");return}}function v(_,w,R){let b=c(),A=js(_),$=R?.priority??0,N=R?.animation??i,M=R?.exclusive??!0,K=o.get(_);if(K&&M){if(K.options.priority>$)throw new Error(`Slot ${_} is occupied by higher priority content (${K.options.priority} > ${$})`);m(K)}let L=Pd(_,b);L.style.zIndex=String(Nd(_));let O;if(A==="static")Td(L,_,R?.constraints),e.appendChild(L);else if(A==="inline"){let C=ll(_);if(!C)throw new Error(`Invalid inline slot: ${_}`);if(!n)throw new Error("Anchor resolver required for inline slots");let P=n({selector:C,route:"**"});if(!P)throw new Error(`Anchor not found for inline slot: ${C}`);O=$d(L,P)}else if(A==="adjacent"){let C=ll(_);if(!C)throw new Error(`Invalid adjacent slot: ${_}`);if(!n)throw new Error("Anchor resolver required for adjacent slots");let P=n({selector:C,route:"**"});if(!P)throw new Error(`Anchor not found for adjacent slot: ${C}`);e.appendChild(L),O=Id(L,P,R?.position??{placement:"bottom"})}let q=f(L,w,b);Md(L,N);let Y={id:b,slot:_,content:w,options:{priority:$,exclusive:M,animation:N,position:R?.position??{placement:"auto"},constraints:R?.constraints??{},adaptiveId:R?.adaptiveId,autoUnmountOnRouteChange:R?.autoUnmountOnRouteChange??!0},container:L,cleanup:()=>{O?.(),q?.()},mountedAt:Date.now()};return o.set(_,Y),a.set(_,(a.get(_)??0)+1),u("surface.mounted",{slot:_,id:b,adaptiveId:R?.adaptiveId}),p(_),{id:b,update(C){let P=o.get(_);if(!P||P.id!==b)throw new Error("Mount no longer active");let G=h.get(b);if(G){if(C.type==="widget"){G.update(C.config),P.content=C;return}G.unmount(),h.delete(b)}P.container.innerHTML="";let pe=f(P.container,C,b);if(P.content=C,pe){let ce=P.cleanup;P.cleanup=()=>{ce?.(),pe()}}},setOptions(C){let P=o.get(_);if(!P||P.id!==b)throw new Error("Mount no longer active");C.priority!==void 0&&(P.options.priority=C.priority),C.animation!==void 0&&(P.options.animation=C.animation),C.constraints&&A==="static"&&(C.constraints.maxWidth&&(P.container.style.maxWidth=C.constraints.maxWidth),C.constraints.maxHeight&&(P.container.style.maxHeight=C.constraints.maxHeight),C.constraints.minWidth&&(P.container.style.minWidth=C.constraints.minWidth),C.constraints.minHeight&&(P.container.style.minHeight=C.constraints.minHeight)),p(_)},async unmount(){let C=o.get(_);!C||C.id!==b||await m(C)},isMounted(){return o.get(_)?.id===b},getContainer(){let C=o.get(_);return C?.id===b?C.container:null}}}async function m(_){_.container.isConnected&&await Od(_.container,_.options.animation);try{_.cleanup?.()}catch(w){console.warn("[Surfaces] Cleanup error during unmount, ignoring:",w)}try{_.container.remove()}catch{}o.delete(_.slot),u("surface.unmounted",{slot:_.slot,id:_.id}),p(_.slot)}function g(_){let w=o.get(_);return{slot:_,occupied:!!w,currentPriority:w?.options.priority,currentAdaptiveId:w?.options.adaptiveId,mountCount:a.get(_)??0,currentMountId:w?.id}}function y(_,w){let R=l.get(_);return R||(R=new Set,l.set(_,R)),R.add(w),()=>{R?.delete(w),R?.size===0&&l.delete(_)}}function x(_,w){let R=o.get(_);return R?w!==void 0?w>=R.options.priority:!1:!0}function k(){for(let _ of o.values())try{_.cleanup?.(),_.container.remove()}catch(w){console.error("[Surfaces] Error during cleanup:",w)}o.clear(),l.clear()}return{mount:v,getState:g,onStateChange:y,canMount:x,destroy:k}}var cl=class{constructor(){this.widgets=new Map;this.mountedWidgets=new Map;this.mountIdCounter=0;this.listeners=new Set}bindRuntime(e){this.runtimeRef=e}register(e,t,n="custom",i){if(this.widgets.has(e)){if(this.widgets.get(e).source==="built-in")throw new Error(`Cannot override built-in widget: ${e}`);console.warn(`[WidgetRegistry] Overriding widget: ${e}`)}this.widgets.set(e,{id:e,widget:t,source:n,metadata:i}),this.notify({type:"registered",widgetId:e})}unregister(e){let t=this.widgets.get(e);return t?t.source==="built-in"?(console.warn(`[WidgetRegistry] Cannot unregister built-in widget: ${e}`),!1):(this.widgets.delete(e),this.notify({type:"unregistered",widgetId:e}),!0):!1}unregisterBySource(e){for(let[t,n]of this.widgets.entries())n.source===e&&this.widgets.delete(t)}get(e){return this.widgets.get(e)?.widget}getRegistration(e){return this.widgets.get(e)}has(e){return this.widgets.has(e)}mount(e,t,n){let i=this.widgets.get(e);if(!i)throw new Error(`Widget not found: ${e}`);let s=`widget-mount-${++this.mountIdCounter}`;t.setAttribute("data-widget-mount-id",s),t.setAttribute("data-widget-id",e);let o={...n,runtime:this.runtimeRef},a=i.widget.mount(t,o);return this.mountedWidgets.set(s,{cleanup:a??void 0,container:t}),{widgetId:e,container:t,unmount:()=>{let c=this.mountedWidgets.get(s);c&&(t.isConnected&&c.cleanup?.(),this.mountedWidgets.delete(s),t.removeAttribute("data-widget-mount-id"),t.removeAttribute("data-widget-id"),t.innerHTML="")},update:c=>{if(i.widget.update)i.widget.update(t,c);else{let u=this.mountedWidgets.get(s);if(u){u.cleanup?.(),t.innerHTML="";let p={...c,runtime:this.runtimeRef},h=i.widget.mount(t,p);u.cleanup=h??void 0}}}}}list(){return Array.from(this.widgets.keys())}listRegistrations(){return Array.from(this.widgets.values())}getBySource(e){return Array.from(this.widgets.values()).filter(t=>t.source===e)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){for(let t of this.listeners)try{t(e)}catch(n){console.error("[WidgetRegistry] Listener error:",n)}}destroy(){for(let[e,t]of this.mountedWidgets.entries())t.cleanup?.(),t.container.innerHTML="";this.mountedWidgets.clear()}},Fd=new cl;var Ly="2.0.0";function cC(r,e){if(!e)return!0;let t;try{t=new URL(r).pathname}catch{t=r}t.startsWith("/")||(t=`/${t}`);let n=t.replace(/\/$/,"")||"/";if(e.exclude){for(let i of e.exclude)if(Dd(n,i))return!1}if(e.include&&e.include.length>0){for(let i of e.include)if(Dd(n,i))return!0;return!1}return!0}function Dd(r,e){let t=e.replace(/\/$/,"")||"/";if(r===t)return!0;let n=t.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*").replace(/:[^/]+/g,"[^/]+");return new RegExp(`^${n}$`).test(r)}function Ny(r){let t=(typeof window<"u"?window.location.pathname:"/").replace(/\/$/,"")||"/";return(Array.isArray(r.route)?r.route:[r.route]).some(i=>{let s=i;if(/^https?:\/\//.test(s))try{s=new URL(s).pathname}catch{}return Dd(t,s)})}function Hd(r={}){let{telemetry:e,sessionMetrics:t,routes:n,mode:i="production",namespace:s}=r,o=r.widgets??Fd,a=r.executors??sr,l=r.apps??Xi,c=new Hs,u=wd({telemetry:e,routes:n,navigation:c}),p=r.events??$s(),h=Rd({namespace:s}),f=Sd({eventBus:p,stateStore:h}),v=kd({state:h,events:p,sessionMetrics:t,accumulator:f}),m=xv(),g=Vu(),y=M=>Ny(M)?g.resolve(M.selector):null,x=async(M,K)=>{if(!Ny(M))return null;try{return await g.waitFor(M.selector,K)}catch{return null}},k=Ld({overlayRoot:m,eventBus:p,anchorResolver:y,widgetRegistry:o}),_=Fu({overlayRoot:m,eventBus:p,surfaces:k,anchorResolver:y,waitForAnchor:x,executorRegistry:a,subscribeNavigation:M=>c.subscribe(M),runtime:{evaluateSync:M=>v.evaluateSync(M,u.get()),context:u,accumulator:f,sessionMetrics:t,events:p?{subscribe:M=>p.subscribe(()=>M())}:void 0}}),w;if(t){let M=t;M.increment("page_views");let K=typeof window<"u"?window.location.pathname:"/";w=c.subscribe((L,O)=>{if(O!=="replaceState")try{let q=new URL(L).pathname;q!==K&&(K=q,M.increment("page_views"),R=0,M.set("time_on_page",0),M.set("scroll_depth",0))}catch{}})}let R=0,b,A;if(t){let M=t;b=setInterval(()=>{R++},1e3),A=setInterval(()=>{M.set("time_on_page",R)},5e3)}let $;if(t&&p){let M=t;$=p.subscribe({names:["ui.scroll"]},K=>{let L=K.props?.scrollPercentage;typeof L=="number"&&L>M.get("scroll_depth")&&M.set("scroll_depth",L)})}let N={telemetry:e,context:u,events:p,state:h,sessionMetrics:t,actions:_,surfaces:k,widgets:o,executors:a,apps:l,accumulator:f,anchorResolver:g,navigation:c,version:Ly,mode:i,async evaluate(M){return v.evaluate(M,u.get())},evaluateSync(M){return v.evaluateSync(M,u.get())},async filterTiles(M){let K=u.get().page.url,L=[];for(let O of M){let q=O.activation;if(!q){L.push(O);continue}if(cC(K,q.routes)){if(q.onlyIfPopulated){let Y=O.props?.actions??[];if(Y.length>0&&!Y.some(C=>C.triggerWhen?v.evaluateSync(C.triggerWhen,u.get()).value:!0))continue}L.push(O)}}return L},setRoutes(M){u.setRoutes(M)},destroy(){l.unbind().catch(M=>{console.error("[Runtime] Error unbinding apps registry:",M)}),w?.(),$?.(),b&&clearInterval(b),A&&clearInterval(A),g.destroy(),f.destroy(),c.destroy(),u.destroy(),_.destroy(),k.destroy()}};return l.bind(N),o.bindRuntime(N),N}var Us=class{constructor(e,t){this.seenSet=new Set;this.triggeredSet=new Set;this.telemetry=e,this.variantId=t}trackServed(e,t){this.telemetry.track?.("syntro_config_served",{variant_id:this.variantId,tiles:e,actions:t})}trackSeen(e,t){this.seenSet.has(e)||(this.seenSet.add(e),this.telemetry.track?.("syntro_intervention_seen",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackTriggered(e,t){this.triggeredSet.has(e)||(this.triggeredSet.add(e),this.telemetry.track?.("syntro_intervention_triggered",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackInteracted(e,t,n){this.telemetry.track?.("syntro_intervention_interacted",{variant_id:this.variantId,intervention_id:e,intervention_kind:t,interaction_type:n})}resetPage(){this.seenSet.clear(),this.triggeredSet.clear()}};function uC(){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let t=0;t<16;t++)e+=r[Math.floor(Math.random()*r.length)];return e}var Bd=class{constructor(){this.sessionId=uC(),console.log(`[Syntro Telemetry] Using noop adapter (no telemetry configured). sessionId=${this.sessionId}`)}trackCanvasOpened(e){}trackCanvasClosed(e){}trackRectangleViewed(e,t){}trackAction(e,t,n){}register(e){}getSessionId(){return this.sessionId}startSessionRecording(){}trackExperiment(e,t,n){}setPersonProperties(e){}setPersonPropertiesOnce(e){}getDistinctId(){return"demo-user"}getAllFeatureFlags(){return{}}getSegmentFlags(){return{}}track(e,t){}};function Vd(){return new Bd}var E=typeof window<"u"?window:void 0,Ze=typeof globalThis<"u"?globalThis:E;typeof self>"u"&&(Ze.self=Ze),typeof File>"u"&&(Ze.File=function(){});var M_=Array.prototype,Fy=M_.forEach,Dy=M_.indexOf,dt=Ze?.navigator,D=Ze?.document,qe=Ze?.location,sp=Ze?.fetch,op=Ze!=null&&Ze.XMLHttpRequest&&"withCredentials"in new Ze.XMLHttpRequest?Ze.XMLHttpRequest:void 0,Hy=Ze?.AbortController,st=dt?.userAgent,X=E??{},ur={DEBUG:!1,LIB_VERSION:"1.341.0"};function By(r,e,t,n,i,s,o){try{var a=r[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(n,i)}function yi(r){return function(){var e=this,t=arguments;return new Promise((function(n,i){var s=r.apply(e,t);function o(l){By(s,n,i,o,a,"next",l)}function a(l){By(s,n,i,o,a,"throw",l)}o(void 0)}))}}function V(){return V=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},V.apply(null,arguments)}function O_(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.indexOf(n)!==-1)continue;t[n]=r[n]}return t}var dC=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],Vy=function(r,e){if(e===void 0&&(e=[]),!r)return!1;var t=r.toLowerCase();return dC.concat(e).some((n=>{var i=n.toLowerCase();return t.indexOf(i)!==-1}))},pC=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function le(r,e){return r.indexOf(e)!==-1}var Hl=function(r){return r.trim()},ap=function(r){return r.replace(/^\$/,"")},hC=Array.isArray,P_=Object.prototype,N_=P_.hasOwnProperty,Bl=P_.toString,fe=hC||function(r){return Bl.call(r)==="[object Array]"},Vr=r=>typeof r=="function",Pe=r=>r===Object(r)&&!fe(r),_i=r=>{if(Pe(r)){for(var e in r)if(N_.call(r,e))return!1;return!0}return!1},H=r=>r===void 0,Ne=r=>Bl.call(r)=="[object String]",lp=r=>Ne(r)&&r.trim().length===0,Nt=r=>r===null,ue=r=>H(r)||Nt(r),mr=r=>Bl.call(r)=="[object Number]"&&r==r,mi=r=>mr(r)&&r>0,gr=r=>Bl.call(r)==="[object Boolean]",fC=r=>r instanceof FormData,gC=r=>le(pC,r);function cp(r){return r===null||typeof r!="object"}function vl(r,e){return Object.prototype.toString.call(r)==="[object "+e+"]"}function L_(r){return!H(Event)&&(function(e,t){try{return e instanceof t}catch{return!1}})(r,Event)}var mC=[!0,"true",1,"1","yes"],jd=r=>le(mC,r),vC=[!1,"false",0,"0","no"];function qt(r,e,t,n,i){return e>t&&(n.warn("min cannot be greater than max."),e=t),mr(r)?r>t?(n.warn(" cannot be greater than max: "+t+". Using max value instead."),t):r<e?(n.warn(" cannot be less than min: "+e+". Using min value instead."),e):r:(n.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+i),qt(i||t,e,t,n))}var up=class{constructor(e){this.t={},this.i=e.i,this.o=qt(e.bucketSize,0,100,e.h),this.m=qt(e.refillRate,0,this.o,e.h),this.$=qt(e.refillInterval,0,864e5,e.h)}S(e,t){var n=t-e.lastAccess,i=Math.floor(n/this.$);if(i>0){var s=i*this.m;e.tokens=Math.min(e.tokens+s,this.o),e.lastAccess=e.lastAccess+i*this.$}}consumeRateLimit(e){var t,n=Date.now(),i=String(e),s=this.t[i];return s?this.S(s,n):(s={tokens:this.o,lastAccess:n},this.t[i]=s),s.tokens===0||(s.tokens--,s.tokens===0&&((t=this.i)==null||t.call(this,e)),s.tokens===0)}stop(){this.t={}}},xt="Mobile",yl="iOS",fr="Android",po="Tablet",F_=fr+" "+po,D_="iPad",H_="Apple",B_=H_+" Watch",ho="Safari",ki="BlackBerry",V_="Samsung",j_=V_+"Browser",W_=V_+" Internet",Pn="Chrome",yC=Pn+" OS",U_=Pn+" "+yl,yh="Internet Explorer",z_=yh+" "+xt,_h="Opera",_C=_h+" Mini",bh="Edge",q_="Microsoft "+bh,xi="Firefox",Z_=xi+" "+yl,fo="Nintendo",go="PlayStation",wi="Xbox",G_=fr+" "+xt,K_=xt+" "+ho,eo="Windows",dp=eo+" Phone",jy="Nokia",pp="Ouya",Y_="Generic",bC=Y_+" "+xt.toLowerCase(),X_=Y_+" "+po.toLowerCase(),hp="Konqueror",Qe="(\\d+(\\.\\d+)?)",Wd=new RegExp("Version/"+Qe),xC=new RegExp(wi,"i"),wC=new RegExp(go+" \\w+","i"),kC=new RegExp(fo+" \\w+","i"),xh=new RegExp(ki+"|PlayBook|BB10","i"),SC={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},ul,Wy,Ud,EC=(r,e)=>e&&le(e,H_)||(function(t){return le(t,ho)&&!le(t,Pn)&&!le(t,fr)})(r),J_=function(r,e){return e=e||"",le(r," OPR/")&&le(r,"Mini")?_C:le(r," OPR/")?_h:xh.test(r)?ki:le(r,"IE"+xt)||le(r,"WPDesktop")?z_:le(r,j_)?W_:le(r,bh)||le(r,"Edg/")?q_:le(r,"FBIOS")?"Facebook "+xt:le(r,"UCWEB")||le(r,"UCBrowser")?"UC Browser":le(r,"CriOS")?U_:le(r,"CrMo")||le(r,Pn)?Pn:le(r,fr)&&le(r,ho)?G_:le(r,"FxiOS")?Z_:le(r.toLowerCase(),hp.toLowerCase())?hp:EC(r,e)?le(r,xt)?K_:ho:le(r,xi)?xi:le(r,"MSIE")||le(r,"Trident/")?yh:le(r,"Gecko")?xi:""},CC={[z_]:[new RegExp("rv:"+Qe)],[q_]:[new RegExp(bh+"?\\/"+Qe)],[Pn]:[new RegExp("("+Pn+"|CrMo)\\/"+Qe)],[U_]:[new RegExp("CriOS\\/"+Qe)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Qe)],[ho]:[Wd],[K_]:[Wd],[_h]:[new RegExp("(Opera|OPR)\\/"+Qe)],[xi]:[new RegExp(xi+"\\/"+Qe)],[Z_]:[new RegExp("FxiOS\\/"+Qe)],[hp]:[new RegExp("Konqueror[:/]?"+Qe,"i")],[ki]:[new RegExp(ki+" "+Qe),Wd],[G_]:[new RegExp("android\\s"+Qe,"i")],[W_]:[new RegExp(j_+"\\/"+Qe)],[yh]:[new RegExp("(rv:|MSIE )"+Qe)],Mozilla:[new RegExp("rv:"+Qe)]},AC=function(r,e){var t=J_(r,e),n=CC[t];if(H(n))return null;for(var i=0;i<n.length;i++){var s=n[i],o=r.match(s);if(o)return parseFloat(o[o.length-2])}return null},Uy=[[new RegExp(wi+"; "+wi+" (.*?)[);]","i"),r=>[wi,r&&r[1]||""]],[new RegExp(fo,"i"),[fo,""]],[new RegExp(go,"i"),[go,""]],[xh,[ki,""]],[new RegExp(eo,"i"),(r,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[dp,""];if(new RegExp(xt).test(e)&&!/IEMobile\b/.test(e))return[eo+" "+xt,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var n=t[1],i=SC[n]||"";return/arm/i.test(e)&&(i="RT"),[eo,i]}return[eo,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,r=>{if(r&&r[3]){var e=[r[3],r[4],r[5]||"0"];return[yl,e.join(".")]}return[yl,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,r=>{var e="";return r&&r.length>=3&&(e=H(r[2])?r[3]:r[2]),["watchOS",e]}],[new RegExp("("+fr+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+fr+")","i"),r=>{if(r&&r[2]){var e=[r[2],r[3],r[4]||"0"];return[fr,e.join(".")]}return[fr,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,r=>{var e=["Mac OS X",""];if(r&&r[1]){var t=[r[1],r[2],r[3]||"0"];e[1]=t.join(".")}return e}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[yC,""]],[/Linux|debian/i,["Linux",""]]],zy=function(r){return kC.test(r)?fo:wC.test(r)?go:xC.test(r)?wi:new RegExp(pp,"i").test(r)?pp:new RegExp("("+dp+"|WPDesktop)","i").test(r)?dp:/iPad/.test(r)?D_:/iPod/.test(r)?"iPod Touch":/iPhone/.test(r)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(r)?B_:xh.test(r)?ki:/(kobo)\s(ereader|touch)/i.test(r)?"Kobo":new RegExp(jy,"i").test(r)?jy:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(r)||/(kf[a-z]+)( bui|\)).+silk\//i.test(r)?"Kindle Fire":/(Android|ZTE)/i.test(r)?new RegExp(xt).test(r)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(r)||/pixel[\daxl ]{1,6}/i.test(r)&&!/pixel c/i.test(r)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(r)||/lmy47v/i.test(r)&&!/QTAQZ3/i.test(r)?fr:F_:new RegExp("(pda|"+xt+")","i").test(r)?bC:new RegExp(po,"i").test(r)&&!new RegExp(po+" pc","i").test(r)?X_:""},RC=r=>r instanceof Error;function TC(r){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return Ud&&t.length===Wy||(Wy=t.length,Ud=t.reduce(((n,i)=>{ul||(ul={});var s=ul[i];if(s)n[s[0]]=s[1];else for(var o=r(i),a=o.length-1;a>=0;a--){var l=o[a],c=l?.filename,u=e[i];if(c&&u){n[c]=u,ul[i]=[c,u];break}}return n}),{})),Ud}}var fp=class{constructor(e,t,n){n===void 0&&(n=[]),this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t){t===void 0&&(t={});var n=t&&t.mechanism||{handled:!0,type:"generic"},i=this.buildCoercingContext(n,t,0).apply(e),s=this.buildParsingContext(),o=this.parseStacktrace(i,s);return{$exception_list:this.convertToExceptionList(o,n),$exception_level:"error"}}modifyFrames(e){var t=this;return yi((function*(){for(var n of e)n.stacktrace&&n.stacktrace.frames&&fe(n.stacktrace.frames)&&(n.stacktrace.frames=yield t.applyModifiers(n.stacktrace.frames));return e}))()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:(t=e.syntheticException)==null?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){var n,i;return e.cause!=null&&(n=this.parseStacktrace(e.cause,t)),e.stack!=""&&e.stack!=null&&(i=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?1:0),t.chunkIdMap)),V({},e,{cause:n,stack:i})}applyChunkIds(e,t){return e.map((n=>(n.filename&&t&&(n.chunk_id=t[n.filename]),n)))}applyCoercers(e,t){for(var n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return yi((function*(){var n=e;for(var i of t.modifiers)n=yield i(n);return n}))()}convertToExceptionList(e,t){var n,i,s,o={type:e.type,value:e.value,mechanism:{type:(n=t.type)!==null&&n!==void 0?n:"generic",handled:(i=t.handled)===null||i===void 0||i,synthetic:(s=e.synthetic)!==null&&s!==void 0&&s}};e.stack&&(o.stacktrace={type:"raw",frames:e.stack});var a=[o];return e.cause!=null&&a.push(...this.convertToExceptionList(e.cause,V({},t,{handled:!0}))),a}buildParsingContext(){return{chunkIdMap:TC(this.stackParser)}}buildCoercingContext(e,t,n){n===void 0&&(n=0);var i=(s,o)=>{if(o<=4){var a=this.buildCoercingContext(e,t,o);return this.applyCoercers(s,a)}};return V({},t,{syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:s=>i(s,n),next:s=>i(s,n+1)})}},Si="?";function gp(r,e,t,n,i){var s={platform:r,filename:e,function:t==="<anonymous>"?Si:t,in_app:!0};return H(n)||(s.lineno=n),H(i)||(s.colno=i),s}var Q_=(r,e)=>{var t=r.indexOf("safari-extension")!==-1,n=r.indexOf("safari-web-extension")!==-1;return t||n?[r.indexOf("@")!==-1?r.split("@")[0]:Si,t?"safari-extension:"+e:"safari-web-extension:"+e]:[r,e]},IC=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,$C=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,MC=/\((\S*)(?::(\d+))(?::(\d+))\)/,OC=(r,e)=>{var t=IC.exec(r);if(t){var[,n,i,s]=t;return gp(e,n,Si,+i,+s)}var o=$C.exec(r);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=MC.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=Q_(o[1]||Si,o[2]);return gp(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},PC=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,NC=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,LC=(r,e)=>{var t=PC.exec(r);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var n=NC.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}var i=t[3],s=t[1]||Si;return[s,i]=Q_(s,i),gp(e,i,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},qy=/\(error: (.*)\)/,Zy=50;function FC(){return(function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return function(i,s){s===void 0&&(s=0);for(var o=[],a=i.split(`
1008
+ `),l=s;l<a.length;l++){var c=a[l];if(!(c.length>1024)){var u=qy.test(c)?c.replace(qy,"$1"):c;if(!u.match(/\S*Error: /)){for(var p of t){var h=p(u,r);if(h){o.push(h);break}}if(o.length>=Zy)break}}}return(function(f){if(!f.length)return[];var v=Array.from(f);return v.reverse(),v.slice(0,Zy).map((m=>{return V({},m,{filename:m.filename||(g=v,g[g.length-1]||{}).filename,function:m.function||Si});var g}))})(o)}})("web:javascript",OC,LC)}var mp=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){var n=Ne(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:n?e.stack:void 0,cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return this.isDOMError(e)?"DOMError":"DOMException"}getValue(e){var t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?t+": "+e.message:t}isDOMException(e){return vl(e,"DOMException")}isDOMError(e){return vl(e,"DOMError")}},vp=class{match(e){return(t=>t instanceof Error)(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){var n=e.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}},yp=class{constructor(){}match(e){return vl(e,"ErrorEvent")&&e.error!=null}coerce(e,t){var n,i=t.apply(e.error);return i||{type:"ErrorEvent",value:e.message,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},DC=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,_p=class{match(e){return typeof e=="string"}coerce(e,t){var n,[i,s]=this.getInfos(e);return{type:i??"Error",value:s??e,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}getInfos(e){var t="Error",n=e,i=e.match(DC);return i&&(t=i[1],n=i[2]),[t,n]}},HC=["fatal","error","warning","log","info","debug"];function eb(r,e){e===void 0&&(e=40);var t=Object.keys(r);if(t.sort(),!t.length)return"[object has no keys]";for(var n=t.length;n>0;n--){var i=t.slice(0,n).join(", ");if(!(i.length>e))return n===t.length||i.length<=e?i:i.slice(0,e)+"..."}return""}var bp=class{match(e){return typeof e=="object"&&e!==null}coerce(e,t){var n,i=this.getErrorPropertyFromObject(e);return i?t.apply(i):{type:this.getType(e),value:this.getValue(e),stack:(n=t.syntheticException)==null?void 0:n.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){return L_(e)?e.constructor.name:"Error"}getValue(e){if("name"in e&&typeof e.name=="string"){var t="'"+e.name+"' captured as exception";return"message"in e&&typeof e.message=="string"&&(t+=" with message: '"+e.message+"'"),t}if("message"in e&&typeof e.message=="string")return e.message;var n=this.getObjectClassName(e);return(n&&n!=="Object"?"'"+n+"'":"Object")+" captured as exception with keys: "+eb(e)}isSeverityLevel(e){return Ne(e)&&!lp(e)&&HC.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];if(RC(n))return n}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},xp=class{match(e){return L_(e)}coerce(e,t){var n,i=e.constructor.name;return{type:i,value:i+" captured as exception with keys: "+eb(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},wp=class{match(e){return cp(e)}coerce(e,t){var n;return{type:"Error",value:"Primitive value captured as exception: "+String(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},kp=class{match(e){return vl(e,"PromiseRejectionEvent")}coerce(e,t){var n,i=this.getUnhandledRejectionReason(e);return cp(i)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(i),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}:t.apply(i)}getUnhandledRejectionReason(e){if(cp(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}},tb=function(r,e){var{debugEnabled:t}=e===void 0?{}:e,n={k:function(i){if(E&&(ur.DEBUG||X.POSTHOG_DEBUG||t)&&!H(E.console)&&E.console){for(var s=("__rrweb_original__"in E.console[i])?E.console[i].__rrweb_original__:E.console[i],o=arguments.length,a=new Array(o>1?o-1:0),l=1;l<o;l++)a[l-1]=arguments[l];s(r,...a)}},info:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("log",...s)},warn:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("warn",...s)},error:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("error",...s)},critical:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];console.error(r,...s)},uninitializedWarning:i=>{n.error("You must initialize PostHog before calling "+i)},createLogger:(i,s)=>tb(r+" "+i,s)};return n},B=tb("[PostHog.js]"),Te=B.createLogger,BC=Te("[ExternalScriptsLoader]"),Gy=(r,e,t)=>{if(r.config.disable_external_dependency_loading)return BC.warn(e+" was requested but loading of external scripts is disabled."),t("Loading of external scripts is disabled");var n=D?.querySelectorAll("script");if(n){for(var i,s=function(){if(n[o].src===e){var l=n[o];return l.__posthog_loading_callback_fired?{v:t()}:(l.addEventListener("load",(c=>{l.__posthog_loading_callback_fired=!0,t(void 0,c)})),l.onerror=c=>t(c),{v:void 0})}},o=0;o<n.length;o++)if(i=s())return i.v}var a=()=>{if(!D)return t("document not found");var l=D.createElement("script");if(l.type="text/javascript",l.crossOrigin="anonymous",l.src=e,l.onload=p=>{l.__posthog_loading_callback_fired=!0,t(void 0,p)},l.onerror=p=>t(p),r.config.prepare_external_dependency_script&&(l=r.config.prepare_external_dependency_script(l)),!l)return t("prepare_external_dependency_script returned null");if(r.config.external_scripts_inject_target==="head")D.head.appendChild(l);else{var c,u=D.querySelectorAll("body > script");u.length>0?(c=u[0].parentNode)==null||c.insertBefore(l,u[0]):D.body.appendChild(l)}};D!=null&&D.body?a():D?.addEventListener("DOMContentLoaded",a)};X.__PosthogExtensions__=X.__PosthogExtensions__||{},X.__PosthogExtensions__.loadExternalDependency=(r,e,t)=>{var n="/static/"+e+".js?v="+r.version;if(e==="remote-config"&&(n="/array/"+r.config.token+"/config.js"),e==="toolbar"){var i=3e5;n=n+"&t="+Math.floor(Date.now()/i)*i}var s=r.requestRouter.endpointFor("assets",n);Gy(r,s,t)},X.__PosthogExtensions__.loadSiteApp=(r,e,t)=>{var n=r.requestRouter.endpointFor("api",e);Gy(r,n,t)};var _l={};function jr(r,e,t){if(fe(r)){if(Fy&&r.forEach===Fy)r.forEach(e,t);else if("length"in r&&r.length===+r.length){for(var n=0,i=r.length;n<i;n++)if(n in r&&e.call(t,r[n],n)===_l)return}}}function xe(r,e,t){if(!ue(r)){if(fe(r))return jr(r,e,t);if(fC(r)){for(var n of r.entries())if(e.call(t,n[1],n[0])===_l)return}else for(var i in r)if(N_.call(r,i)&&e.call(t,r[i],i)===_l)return}}var $e=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return jr(t,(function(i){for(var s in i)i[s]!==void 0&&(r[s]=i[s])})),r},Ci=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return jr(t,(function(i){jr(i,(function(s){r.push(s)}))})),r};function gl(r){for(var e=Object.keys(r),t=e.length,n=new Array(t);t--;)n[t]=[e[t],r[e[t]]];return n}var Ky=function(r){try{return r()}catch{return}},VC=function(r){return function(){try{for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(this,t)}catch(i){B.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),B.critical(i)}}},wh=function(r){var e={};return xe(r,(function(t,n){(Ne(t)&&t.length>0||mr(t))&&(e[n]=t)})),e};function jC(r,e){return t=r,n=s=>Ne(s)&&!Nt(e)?s.slice(0,e):s,i=new Set,(function s(o,a){return o!==Object(o)?n?n(o,a):o:i.has(o)?void 0:(i.add(o),fe(o)?(l=[],jr(o,(c=>{l.push(s(c))}))):(l={},xe(o,((c,u)=>{i.has(c)||(l[u]=s(c,u))}))),l);var l})(t);var t,n,i}var WC=["herokuapp.com","vercel.app","netlify.app"];function UC(r){var e=r?.hostname;if(!Ne(e))return!1;var t=e.split(".").slice(-2).join(".");for(var n of WC)if(t===n)return!1;return!0}function rb(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return r[t]}function Oe(r,e,t,n){var{capture:i=!1,passive:s=!0}=n??{};r?.addEventListener(e,t,{capture:i,passive:s})}var nb="$people_distinct_id",to="__alias",ro="__timers",Yy="$autocapture_disabled_server_side",Sp="$heatmaps_enabled_server_side",Xy="$exception_capture_enabled_server_side",Ep="$error_tracking_suppression_rules",Jy="$error_tracking_capture_extension_exceptions",Qy="$web_vitals_enabled_server_side",ib="$dead_clicks_enabled_server_side",e_="$product_tours_enabled_server_side",t_="$web_vitals_allowed_metrics",zd="$session_recording_remote_config",bl="$sesid",sb="$session_is_sampled",bi="$enabled_feature_flags",no="$early_access_features",Cp="$feature_flag_details",io="$stored_person_properties",On="$stored_group_properties",Ap="$surveys",xl="$flag_call_reported",dr="$user_state",Rp="$client_session_props",Tp="$capture_rate_limit",Ip="$initial_campaign_params",$p="$initial_referrer_info",wl="$initial_person_info",kl="$epp",ob="__POSTHOG_TOOLBAR__",zs="$posthog_cookieless",zC=[nb,to,"__cmpns",ro,"$session_recording_enabled_server_side",Sp,bl,bi,Ep,dr,no,Cp,On,io,Ap,xl,Rp,Tp,Ip,$p,kl,wl,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function r_(r){return r instanceof Element&&(r.id===ob||!(r.closest==null||!r.closest(".toolbar-global-fade-container")))}function Vl(r){return!!r&&r.nodeType===1}function Wr(r,e){return!!r&&!!r.tagName&&r.tagName.toLowerCase()===e.toLowerCase()}function ab(r){return!!r&&r.nodeType===3}function lb(r){return!!r&&r.nodeType===11}function kh(r){return r?Hl(r).split(/\s+/):[]}function n_(r){var e=E?.location.href;return!!(e&&r&&r.some((t=>e.match(t))))}function Sl(r){var e="";switch(typeof r.className){case"string":e=r.className;break;case"object":e=(r.className&&"baseVal"in r.className?r.className.baseVal:null)||r.getAttribute("class")||"";break;default:e=""}return kh(e)}function cb(r){return ue(r)?null:Hl(r).split(/(\s+)/).filter((e=>mo(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function yo(r){var e="";return Mp(r)&&!fb(r)&&r.childNodes&&r.childNodes.length&&xe(r.childNodes,(function(t){var n;ab(t)&&t.textContent&&(e+=(n=cb(t.textContent))!==null&&n!==void 0?n:"")})),Hl(e)}function ub(r){return H(r.target)?r.srcElement||null:(e=r.target)!=null&&e.shadowRoot?r.composedPath()[0]||null:r.target||null;var e}var Sh=["a","button","form","input","select","textarea","label"];function db(r,e){if(H(e))return!0;var t,n=function(s){if(e.some((o=>s.matches(o))))return{v:!0}};for(var i of r)if(t=n(i))return t.v;return!1}function pb(r){var e=r.parentNode;return!(!e||!Vl(e))&&e}var qC=["next","previous","prev",">","<"],i_=10,s_=[".ph-no-rageclick",".ph-no-capture"];function ZC(r,e){if(!E||Eh(r))return!1;var t,n,i;if(gr(e)?(t=!!e&&s_,n=void 0):(t=(i=e?.css_selector_ignorelist)!==null&&i!==void 0?i:s_,n=e?.content_ignorelist),t===!1)return!1;var{targetElementList:s}=hb(r,!1);return!(function(o,a){if(o===!1||H(o))return!1;var l;if(o===!0)l=qC;else{if(!fe(o))return!1;if(o.length>i_)return B.error("[PostHog] content_ignorelist array cannot exceed "+i_+" items. Use css_selector_ignorelist for more complex matching."),!1;l=o.map((c=>c.toLowerCase()))}return a.some((c=>{var{safeText:u,ariaLabel:p}=c;return l.some((h=>u.includes(h)||p.includes(h)))}))})(n,s.map((o=>{var a;return{safeText:yo(o).toLowerCase(),ariaLabel:((a=o.getAttribute("aria-label"))==null?void 0:a.toLowerCase().trim())||""}})))&&!db(s,t)}var Eh=r=>!r||Wr(r,"html")||!Vl(r),hb=(r,e)=>{if(!E||Eh(r))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,n=[r],i=r;i.parentNode&&!Wr(i,"body");)if(lb(i.parentNode))n.push(i.parentNode.host),i=i.parentNode.host;else{var s=pb(i);if(!s)break;if(e||Sh.indexOf(s.tagName.toLowerCase())>-1)t=!0;else{var o=E.getComputedStyle(s);o&&o.getPropertyValue("cursor")==="pointer"&&(t=!0)}n.push(s),i=s}return{parentIsUsefulElement:t,targetElementList:n}};function GC(r,e,t,n,i){var s,o,a,l;if(t===void 0&&(t=void 0),!E||Eh(r)||(s=t)!=null&&s.url_allowlist&&!n_(t.url_allowlist)||(o=t)!=null&&o.url_ignorelist&&n_(t.url_ignorelist))return!1;if((a=t)!=null&&a.dom_event_allowlist){var c=t.dom_event_allowlist;if(c&&!c.some((v=>e.type===v)))return!1}var{parentIsUsefulElement:u,targetElementList:p}=hb(r,n);if(!(function(v,m){var g=m?.element_allowlist;if(H(g))return!0;var y,x=function(_){if(g.some((w=>_.tagName.toLowerCase()===w)))return{v:!0}};for(var k of v)if(y=x(k))return y.v;return!1})(p,t)||!db(p,(l=t)==null?void 0:l.css_selector_allowlist))return!1;var h=E.getComputedStyle(r);if(h&&h.getPropertyValue("cursor")==="pointer"&&e.type==="click")return!0;var f=r.tagName.toLowerCase();switch(f){case"html":return!1;case"form":return(i||["submit"]).indexOf(e.type)>=0;case"input":case"select":case"textarea":return(i||["change","click"]).indexOf(e.type)>=0;default:return u?(i||["click"]).indexOf(e.type)>=0:(i||["click"]).indexOf(e.type)>=0&&(Sh.indexOf(f)>-1||r.getAttribute("contenteditable")==="true")}}function Mp(r){for(var e=r;e.parentNode&&!Wr(e,"body");e=e.parentNode){var t=Sl(e);if(le(t,"ph-sensitive")||le(t,"ph-no-capture"))return!1}if(le(Sl(r),"ph-include"))return!0;var n=r.type||"";if(Ne(n))switch(n.toLowerCase()){case"hidden":case"password":return!1}var i=r.name||r.id||"";return!(Ne(i)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))}function fb(r){return!!(Wr(r,"input")&&!["button","checkbox","submit","reset"].includes(r.type)||Wr(r,"select")||Wr(r,"textarea")||r.getAttribute("contenteditable")==="true")}var gb="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",KC=new RegExp("^(?:"+gb+")$"),YC=new RegExp(gb),mb="\\d{3}-?\\d{2}-?\\d{4}",XC=new RegExp("^("+mb+")$"),JC=new RegExp("("+mb+")");function mo(r,e){return e===void 0&&(e=!0),!(ue(r)||Ne(r)&&(r=Hl(r),(e?KC:YC).test((r||"").replace(/[- ]/g,""))||(e?XC:JC).test(r)))}function vb(r){var e=yo(r);return mo(e=(e+" "+yb(r)).trim())?e:""}function yb(r){var e="";return r&&r.childNodes&&r.childNodes.length&&xe(r.childNodes,(function(t){var n;if(t&&((n=t.tagName)==null?void 0:n.toLowerCase())==="span")try{var i=yo(t);e=(e+" "+i).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+yb(t)).trim())}catch(s){B.error("[AutoCapture]",s)}})),e}function QC(r){return(function(e){var t=e.map((n=>{var i,s,o="";if(n.tag_name&&(o+=n.tag_name),n.attr_class)for(var a of(n.attr_class.sort(),n.attr_class))o+="."+a.replace(/"/g,"");var l=V({},n.text?{text:n.text}:{},{"nth-child":(i=n.nth_child)!==null&&i!==void 0?i:0,"nth-of-type":(s=n.nth_of_type)!==null&&s!==void 0?s:0},n.href?{href:n.href}:{},n.attr_id?{attr_id:n.attr_id}:{},n.attributes),c={};return gl(l).sort(((u,p)=>{var[h]=u,[f]=p;return h.localeCompare(f)})).forEach((u=>{var[p,h]=u;return c[o_(p.toString())]=o_(h.toString())})),o+=":",o+=gl(c).map((u=>{var[p,h]=u;return p+'="'+h+'"'})).join("")}));return t.join(";")})((function(e){return e.map((t=>{var n,i,s={text:(n=t.$el_text)==null?void 0:n.slice(0,400),tag_name:t.tag_name,href:(i=t.attr__href)==null?void 0:i.slice(0,2048),attr_class:e1(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return gl(t).filter((o=>{var[a]=o;return a.indexOf("attr__")===0})).forEach((o=>{var[a,l]=o;return s.attributes[a]=l})),s}))})(r))}function o_(r){return r.replace(/"|\\"/g,'\\"')}function e1(r){var e=r.attr__class;return e?fe(e)?e:kh(e):void 0}var El=class{constructor(e){this.disabled=e===!1;var t=Pe(e)?e:{};this.thresholdPx=t.threshold_px||30,this.timeoutMs=t.timeout_ms||1e3,this.clickCount=t.click_count||3,this.clicks=[]}isRageClick(e,t,n){if(this.disabled)return!1;var i=this.clicks[this.clicks.length-1];if(i&&Math.abs(e-i.x)+Math.abs(t-i.y)<this.thresholdPx&&n-i.timestamp<this.timeoutMs){if(this.clicks.push({x:e,y:t,timestamp:n}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:n}];return!1}},Cl=r=>{var e=D?.createElement("a");return H(e)?null:(e.href=r,e)},t1=function(r,e){var t,n;e===void 0&&(e="&");var i=[];return xe(r,(function(s,o){H(s)||H(o)||o==="undefined"||(t=encodeURIComponent((a=>a instanceof File)(s)?s.name:s.toString()),n=encodeURIComponent(o),i[i.length]=n+"="+t)})),i.join(e)},Al=function(r,e){for(var t,n=((r.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),i=0;i<n.length;i++){var s=n[i].split("=");if(s[0]===e){t=s;break}}if(!fe(t)||t.length<2)return"";var o=t[1];try{o=decodeURIComponent(o)}catch{B.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},_o=function(r,e,t){if(!r||!e||!e.length)return r;for(var n=r.split("#"),i=n[0]||"",s=n[1],o=i.split("?"),a=o[1],l=o[0],c=(a||"").split("&"),u=[],p=0;p<c.length;p++){var h=c[p].split("=");fe(h)&&(e.includes(h[0])?u.push(h[0]+"="+t):u.push(c[p]))}var f=l;return a!=null&&(f+="?"+u.join("&")),s!=null&&(f+="#"+s),f},Rl=function(r,e){var t=r.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},qd="$copy_autocapture",a_=Te("[AutoCapture]");function Zd(r,e){return e.length>r?e.slice(0,r)+"...":e}function r1(r){if(r.previousElementSibling)return r.previousElementSibling;var e=r;do e=e.previousSibling;while(e&&!Vl(e));return e}function n1(r,e,t,n){var i=r.tagName.toLowerCase(),s={tag_name:i};Sh.indexOf(i)>-1&&!t&&(i.toLowerCase()==="a"||i.toLowerCase()==="button"?s.$el_text=Zd(1024,vb(r)):s.$el_text=Zd(1024,yo(r)));var o=Sl(r);o.length>0&&(s.classes=o.filter((function(u){return u!==""}))),xe(r.attributes,(function(u){var p;if((!fb(r)||["name","id","class","aria-label"].indexOf(u.name)!==-1)&&(n==null||!n.includes(u.name))&&!e&&mo(u.value)&&(p=u.name,!Ne(p)||p.substring(0,10)!=="_ngcontent"&&p.substring(0,7)!=="_nghost")){var h=u.value;u.name==="class"&&(h=kh(h).join(" ")),s["attr__"+u.name]=Zd(1024,h)}}));for(var a=1,l=1,c=r;c=r1(c);)a++,c.tagName===r.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function i1(r,e){for(var t,n,{e:i,maskAllElementAttributes:s,maskAllText:o,elementAttributeIgnoreList:a,elementsChainAsString:l}=e,c=[r],u=r;u.parentNode&&!Wr(u,"body");)lb(u.parentNode)?(c.push(u.parentNode.host),u=u.parentNode.host):(c.push(u.parentNode),u=u.parentNode);var p,h=[],f={},v=!1,m=!1;if(xe(c,(_=>{var w=Mp(_);_.tagName.toLowerCase()==="a"&&(v=_.getAttribute("href"),v=w&&v&&mo(v)&&v),le(Sl(_),"ph-no-capture")&&(m=!0),h.push(n1(_,s,o,a));var R=(function(b){if(!Mp(b))return{};var A={};return xe(b.attributes,(function($){if($.name&&$.name.indexOf("data-ph-capture-attribute")===0){var N=$.name.replace("data-ph-capture-attribute-",""),M=$.value;N&&M&&mo(M)&&(A[N]=M)}})),A})(_);$e(f,R)})),m)return{props:{},explicitNoCapture:m};if(o||(r.tagName.toLowerCase()==="a"||r.tagName.toLowerCase()==="button"?h[0].$el_text=vb(r):h[0].$el_text=yo(r)),v){var g,y;h[0].attr__href=v;var x=(g=Cl(v))==null?void 0:g.host,k=E==null||(y=E.location)==null?void 0:y.host;x&&k&&x!==k&&(p=v)}return{props:$e({$event_type:i.type,$ce_version:1},l?{}:{$elements:h},{$elements_chain:QC(h)},(t=h[0])!=null&&t.$el_text?{$el_text:(n=h[0])==null?void 0:n.$el_text}:{},p&&i.type==="click"?{$external_click_url:p}:{},f)}}var Op=class{constructor(e){this.P=!1,this.T=null,this.I=!1,this.instance=e,this.rageclicks=new El(e.config.rageclick),this.C=null}get R(){var e,t,n=Pe(this.instance.config.autocapture)?this.instance.config.autocapture:{};return n.url_allowlist=(e=n.url_allowlist)==null?void 0:e.map((i=>new RegExp(i))),n.url_ignorelist=(t=n.url_ignorelist)==null?void 0:t.map((i=>new RegExp(i))),n}F(){if(this.isBrowserSupported()){if(E&&D){var e=n=>{n=n||E?.event;try{this.O(n)}catch(i){a_.error("Failed to capture event",i)}};if(Oe(D,"submit",e,{capture:!0}),Oe(D,"change",e,{capture:!0}),Oe(D,"click",e,{capture:!0}),this.R.capture_copied_text){var t=n=>{n=n||E?.event,this.O(n,qd)};Oe(D,"copy",t,{capture:!0}),Oe(D,"cut",t,{capture:!0})}}}else a_.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this.I=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[Yy]:!!e.autocapture_opt_out}),this.T=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this.C=e}getElementSelectors(e){var t,n=[];return(t=this.C)==null||t.forEach((i=>{var s=D?.querySelectorAll(i);s?.forEach((o=>{e===o&&n.push(i)}))})),n}get isEnabled(){var e,t,n=(e=this.instance.persistence)==null?void 0:e.props[Yy],i=this.T;if(Nt(i)&&!gr(n)&&!this.instance.M())return!1;var s=(t=this.T)!==null&&t!==void 0?t:!!n;return!!this.instance.config.autocapture&&!s}O(e,t){if(t===void 0&&(t="$autocapture"),this.isEnabled){var n,i=ub(e);ab(i)&&(i=i.parentNode||null),t==="$autocapture"&&e.type==="click"&&e instanceof MouseEvent&&this.instance.config.rageclick&&(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,e.timeStamp||new Date().getTime())&&ZC(i,this.instance.config.rageclick)&&this.O(e,"$rageclick");var s=t===qd;if(i&&GC(i,e,this.R,s,s?["copy","cut"]:void 0)){var{props:o,explicitNoCapture:a}=i1(i,{e,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(a)return!1;var l=this.getElementSelectors(i);if(l&&l.length>0&&(o.$element_selectors=l),t===qd){var c,u=cb(E==null||(c=E.getSelection())==null?void 0:c.toString()),p=e.type||"clipboard";if(!u)return!1;o.$selected_content=u,o.$copy_type=p}return this.instance.capture(t,o),!0}}}isBrowserSupported(){return Vr(D?.querySelectorAll)}};Math.trunc||(Math.trunc=function(r){return r<0?Math.ceil(r):Math.floor(r)}),Number.isInteger||(Number.isInteger=function(r){return mr(r)&&isFinite(r)&&Math.floor(r)===r});var l_="0123456789abcdef",Pp=class r{constructor(e){if(this.bytes=e,e.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,n,i){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(i)||e<0||t<0||n<0||i<0||e>0xffffffffffff||t>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");var s=new Uint8Array(16);return s[0]=e/Math.pow(2,40),s[1]=e/Math.pow(2,32),s[2]=e/Math.pow(2,24),s[3]=e/Math.pow(2,16),s[4]=e/Math.pow(2,8),s[5]=e,s[6]=112|t>>>8,s[7]=t,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=i>>>24,s[13]=i>>>16,s[14]=i>>>8,s[15]=i,new r(s)}toString(){for(var e="",t=0;t<this.bytes.length;t++)e=e+l_.charAt(this.bytes[t]>>>4)+l_.charAt(15&this.bytes[t]),t!==3&&t!==5&&t!==7&&t!==9||(e+="-");if(e.length!==36)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new r(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(var t=0;t<16;t++){var n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},Np=class{constructor(){this.A=0,this.j=0,this.D=new Lp}generate(){var e=this.generateOrAbort();if(H(e)){this.A=0;var t=this.generateOrAbort();if(H(t))throw new Error("Could not generate UUID after timestamp reset");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.A)this.A=e,this.L();else{if(!(e+1e4>this.A))return;this.j++,this.j>4398046511103&&(this.A++,this.L())}return Pp.fromFieldsV7(this.A,Math.trunc(this.j/Math.pow(2,30)),this.j&Math.pow(2,30)-1,this.D.nextUint32())}L(){this.j=1024*this.D.nextUint32()+(1023&this.D.nextUint32())}},c_,_b=r=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var e=0;e<r.length;e++)r[e]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return r};E&&!H(E.crypto)&&crypto.getRandomValues&&(_b=r=>crypto.getRandomValues(r));var Lp=class{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(_b(this.N),this.U=0),this.N[this.U++]}},Br=()=>s1().toString(),s1=()=>(c_||(c_=new Np)).generate(),qs="",o1=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function a1(r,e){if(e){var t=(function(i,s){if(s===void 0&&(s=D),qs)return qs;if(!s||["localhost","127.0.0.1"].includes(i))return"";for(var o=i.split("."),a=Math.min(o.length,8),l="dmn_chk_"+Br();!qs&&a--;){var c=o.slice(a).join("."),u=l+"=1;domain=."+c+";path=/";s.cookie=u+";max-age=3",s.cookie.includes(l)&&(s.cookie=u+";max-age=0",qs=c)}return qs})(r);if(!t){var n=(i=>{var s=i.match(o1);return s?s[0]:""})(r);n!==t&&B.info("Warning: cookie subdomain discovery mismatch",n,t),t=n}return t?"; domain=."+t:""}return""}var zt={H:()=>!!D,B:function(r){B.error("cookieStore error: "+r)},q:function(r){if(D){try{for(var e=r+"=",t=D.cookie.split(";").filter((s=>s.length)),n=0;n<t.length;n++){for(var i=t[n];i.charAt(0)==" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return decodeURIComponent(i.substring(e.length,i.length))}}catch{}return null}},W:function(r){var e;try{e=JSON.parse(zt.q(r))||{}}catch{}return e},G:function(r,e,t,n,i){if(D)try{var s="",o="",a=a1(D.location.hostname,n);if(t){var l=new Date;l.setTime(l.getTime()+24*t*60*60*1e3),s="; expires="+l.toUTCString()}i&&(o="; secure");var c=r+"="+encodeURIComponent(JSON.stringify(e))+s+"; SameSite=Lax; path=/"+a+o;return c.length>3686.4&&B.warn("cookieStore warning: large cookie, len="+c.length),D.cookie=c,c}catch{return}},V:function(r,e){if(D!=null&&D.cookie)try{zt.G(r,"",-1,e)}catch{return}}},Gd=null,Ae={H:function(){if(!Nt(Gd))return Gd;var r=!0;if(H(E))r=!1;else try{var e="__mplssupport__";Ae.G(e,"xyz"),Ae.q(e)!=='"xyz"'&&(r=!1),Ae.V(e)}catch{r=!1}return r||B.error("localStorage unsupported; falling back to cookie store"),Gd=r,r},B:function(r){B.error("localStorage error: "+r)},q:function(r){try{return E?.localStorage.getItem(r)}catch(e){Ae.B(e)}return null},W:function(r){try{return JSON.parse(Ae.q(r))||{}}catch{}return null},G:function(r,e){try{E?.localStorage.setItem(r,JSON.stringify(e))}catch(t){Ae.B(t)}},V:function(r){try{E?.localStorage.removeItem(r)}catch(e){Ae.B(e)}}},l1=["$device_id","distinct_id",bl,sb,kl,wl],dl={},c1={H:function(){return!0},B:function(r){B.error("memoryStorage error: "+r)},q:function(r){return dl[r]||null},W:function(r){return dl[r]||null},G:function(r,e){dl[r]=e},V:function(r){delete dl[r]}},$n=null,ze={H:function(){if(!Nt($n))return $n;if($n=!0,H(E))$n=!1;else try{var r="__support__";ze.G(r,"xyz"),ze.q(r)!=='"xyz"'&&($n=!1),ze.V(r)}catch{$n=!1}return $n},B:function(r){B.error("sessionStorage error: ",r)},q:function(r){try{return E?.sessionStorage.getItem(r)}catch(e){ze.B(e)}return null},W:function(r){try{return JSON.parse(ze.q(r))||null}catch{}return null},G:function(r,e){try{E?.sessionStorage.setItem(r,JSON.stringify(e))}catch(t){ze.B(t)}},V:function(r){try{E?.sessionStorage.removeItem(r)}catch(e){ze.B(e)}}},pr=(function(r){return r[r.PENDING=-1]="PENDING",r[r.DENIED=0]="DENIED",r[r.GRANTED=1]="GRANTED",r})({}),Fp=class{constructor(e){this._instance=e}get R(){return this._instance.config}get consent(){return this.J()?pr.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===pr.DENIED||this.consent===pr.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===pr.DENIED}optInOut(e){this.Y.G(this.X,e?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:n}=this._instance.config;return n||(t?t+e:"__ph_opt_in_out_"+e)}get K(){var e=this.Y.q(this.X);return jd(e)?pr.GRANTED:le(vC,e)?pr.DENIED:pr.PENDING}get Y(){if(!this.Z){var e=this.R.opt_out_capturing_persistence_type;this.Z=e==="localStorage"?Ae:zt;var t=e==="localStorage"?zt:Ae;t.q(this.X)&&(this.Z.q(this.X)||this.optInOut(jd(t.q(this.X))),t.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!rb([dt?.doNotTrack,dt?.msDoNotTrack,X.doNotTrack],(e=>jd(e)))}},pl=Te("[Dead Clicks]"),u1=()=>!0,d1=r=>{var e,t=!((e=r.instance.persistence)==null||!e.get_property(ib)),n=r.instance.config.capture_dead_clicks;return gr(n)?n:!!Pe(n)||t},Tl=class{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(e,t,n){this.instance=e,this.isEnabled=t,this.onCapture=n,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[ib]:e?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.initDeadClicksAutocapture&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this.instance,"dead-clicks-autocapture",(i=>{i?pl.error("failed to load script",i):e()}))}et(){var e;if(D){if(!this.tt&&(e=X.__PosthogExtensions__)!=null&&e.initDeadClicksAutocapture){var t=Pe(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this.tt=X.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this.tt.start(D),pl.info("starting...")}}else pl.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,pl.info("stopping..."))}},Zs=Te("[ExceptionAutocapture]"),Dp=class{constructor(e){var t,n,i;this.rt=()=>{var s;if(E&&this.isEnabled&&(s=X.__PosthogExtensions__)!=null&&s.errorWrappingFunctions){var o=X.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,a=X.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,l=X.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=o(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=a(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=l(this.captureException.bind(this)))}catch(c){Zs.error("failed to start",c),this.ut()}}},this._instance=e,this.ht=!((t=this._instance.persistence)==null||!t.props[Xy]),this.dt=new up({refillRate:(n=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&n!==void 0?n:1,bucketSize:(i=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&i!==void 0?i:10,refillInterval:1e4,h:Zs}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var e=this._instance.config.capture_exceptions,t={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return Pe(e)?t=V({},t,e):(H(e)?this.ht:e)&&(t=V({},t,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),t}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Zs.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.errorWrappingFunctions&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"exception-autocapture",(i=>{if(i)return Zs.error("failed to load script",i);e()}))}ut(){var e,t,n;(e=this.st)==null||e.call(this),this.st=void 0,(t=this.nt)==null||t.call(this),this.nt=void 0,(n=this.ot)==null||n.call(this),this.ot=void 0}onRemoteConfig(e){var t=e.autocaptureExceptions;this.ht=!!t||!1,this._instance.persistence&&this._instance.persistence.register({[Xy]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(e){var t,n,i=(t=e==null||(n=e.$exception_list)==null||(n=n[0])==null?void 0:n.type)!==null&&t!==void 0?t:"Exception";this.dt.consumeRateLimit(i)?Zs.info("Skipping exception capture because of client rate limiting.",{exception:i}):this._instance.exceptions.sendExceptionEvent(e)}};function u_(r,e,t){try{if(!(e in r))return()=>{};var n=r[e],i=t(n);return Vr(i)&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__posthog_wrapped__:{enumerable:!1,value:!0}})),r[e]=i,()=>{r[e]=n}}catch{return()=>{}}}var Hp=class{constructor(e){var t;this._instance=e,this.ct=(E==null||(t=E.location)==null?void 0:t.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(B.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,B.info("History API monitoring stopped")}monitorHistoryChanges(){var e,t;if(E&&E.history){var n=this;(e=E.history.pushState)!=null&&e.__posthog_wrapped__||u_(E.history,"pushState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("pushState")})),(t=E.history.replaceState)!=null&&t.__posthog_wrapped__||u_(E.history,"replaceState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("replaceState")})),this.bt()}}_t(e){try{var t,n=E==null||(t=E.location)==null?void 0:t.pathname;if(!n)return;n!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:e}),this.ct=n}catch(i){B.error("Error capturing "+e+" pageview",i)}}bt(){if(!this.ft){var e=()=>{this._t("popstate")};Oe(E,"popstate",e),this.ft=()=>{E&&E.removeEventListener("popstate",e)}}}},Kd=Te("[SegmentIntegration]");function p1(r,e){var t=r.config.segment;if(!t)return e();(function(n,i){var s=n.config.segment;if(!s)return i();var o=l=>{var c=()=>l.anonymousId()||Br();n.config.get_device_id=c,l.id()&&(n.register({distinct_id:l.id(),$device_id:c()}),n.persistence.set_property(dr,"identified")),i()},a=s.user();"then"in a&&Vr(a.then)?a.then(o):o(a)})(r,(()=>{t.register((n=>{Promise&&Promise.resolve||Kd.warn("This browser does not have Promise support, and can not use the segment integration");var i=(s,o)=>{if(!o)return s;s.event.userId||s.event.anonymousId===n.get_distinct_id()||(Kd.info("No userId set, resetting PostHog"),n.reset()),s.event.userId&&s.event.userId!==n.get_distinct_id()&&(Kd.info("UserId set, identifying with PostHog"),n.identify(s.event.userId));var a=n.calculateEventProperties(o,s.event.properties);return s.event.properties=Object.assign({},a,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:s=>i(s,s.event.event),page:s=>i(s,"$pageview"),identify:s=>i(s,"$identify"),screen:s=>i(s,"$screen")}})(r)).then((()=>{e()}))}))}var bb="posthog-js";function xb(r,e){var{organization:t,projectId:n,prefix:i,severityAllowList:s=["error"],sendExceptionsToPostHog:o=!0}=e===void 0?{}:e;return a=>{var l,c,u,p,h;if(!(s==="*"||s.includes(a.level))||!r.__loaded)return a;a.tags||(a.tags={});var f=r.requestRouter.endpointFor("ui","/project/"+r.config.token+"/person/"+r.get_distinct_id());a.tags["PostHog Person URL"]=f,r.sessionRecordingStarted()&&(a.tags["PostHog Recording URL"]=r.get_session_replay_url({withTimestamp:!0}));var v=((l=a.exception)==null?void 0:l.values)||[],m=v.map((y=>V({},y,{stacktrace:y.stacktrace?V({},y.stacktrace,{type:"raw",frames:(y.stacktrace.frames||[]).map((x=>V({},x,{platform:"web:javascript"})))}):void 0}))),g={$exception_message:((c=v[0])==null?void 0:c.value)||a.message,$exception_type:(u=v[0])==null?void 0:u.type,$exception_level:a.level,$exception_list:m,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:((p=v[0])==null?void 0:p.value)||a.message,$sentry_exception_type:(h=v[0])==null?void 0:h.type,$sentry_tags:a.tags};return t&&n&&(g.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+n+"&query="+a.event_id),o&&r.exceptions.sendExceptionEvent(g),a}}var Bp=class{constructor(e,t,n,i,s,o){this.name=bb,this.setupOnce=function(a){a(xb(e,{organization:t,projectId:n,prefix:i,severityAllowList:s,sendExceptionsToPostHog:o==null||o}))}}},h1=E!=null&&E.location?Rl(E.location.hash,"__posthog")||Rl(location.hash,"state"):null,d_="_postHogToolbarParams",p_=Te("[Toolbar]"),Hr=(function(r){return r[r.UNINITIALIZED=0]="UNINITIALIZED",r[r.LOADING=1]="LOADING",r[r.LOADED=2]="LOADED",r})(Hr||{}),Vp=class{constructor(e){this.instance=e}yt(e){X.ph_toolbar_state=e}wt(){var e;return(e=X.ph_toolbar_state)!==null&&e!==void 0?e:Hr.UNINITIALIZED}maybeLoadToolbar(e,t,n){if(e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),!E||!D)return!1;e=e??E.location,n=n??E.history;try{if(!t){try{E.localStorage.setItem("test","test"),E.localStorage.removeItem("test")}catch{return!1}t=E?.localStorage}var i,s=h1||Rl(e.hash,"__posthog")||Rl(e.hash,"state"),o=s?Ky((()=>JSON.parse(atob(decodeURIComponent(s)))))||Ky((()=>JSON.parse(decodeURIComponent(s)))):null;return o&&o.action==="ph_authorize"?((i=o).source="url",i&&Object.keys(i).length>0&&(o.desiredHash?e.hash=o.desiredHash:n?n.replaceState(n.state,"",e.pathname+e.search):e.hash="")):((i=JSON.parse(t.getItem(d_)||"{}")).source="localstorage",delete i.userIntent),!(!i.token||this.instance.config.token!==i.token)&&(this.loadToolbar(i),!0)}catch{return!1}}xt(e){var t=X.ph_load_toolbar||X.ph_load_editor;!ue(t)&&Vr(t)?t(e,this.instance):p_.warn("No toolbar load function found")}loadToolbar(e){var t=!(D==null||!D.getElementById(ob));if(!E||t)return!1;var n=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,i=V({token:this.instance.config.token},e,{apiURL:this.instance.requestRouter.endpointFor("ui")},n?{instrument:!1}:{});if(E.localStorage.setItem(d_,JSON.stringify(V({},i,{source:void 0}))),this.wt()===Hr.LOADED)this.xt(i);else if(this.wt()===Hr.UNINITIALIZED){var s;this.yt(Hr.LOADING),(s=X.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this.instance,"toolbar",(o=>{if(o)return p_.error("[Toolbar] Failed to load",o),void this.yt(Hr.UNINITIALIZED);this.yt(Hr.LOADED),this.xt(i)})),Oe(E,"turbolinks:load",(()=>{this.yt(Hr.UNINITIALIZED),this.loadToolbar(i)}))}return!0}Et(e){return this.loadToolbar(e)}maybeLoadEditor(e,t,n){return e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),this.maybeLoadToolbar(e,t,n)}},f1=Te("[TracingHeaders]"),jp=class{constructor(e){this.$t=void 0,this.St=void 0,this.rt=()=>{var t,n;H(this.$t)&&((t=X.__PosthogExtensions__)==null||(t=t.tracingHeadersPatchFns)==null||t._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),H(this.St)&&((n=X.__PosthogExtensions__)==null||(n=n.tracingHeadersPatchFns)==null||n._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=e}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.tracingHeadersPatchFns&&e(),(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"tracing-headers",(i=>{if(i)return f1.error("failed to load script",i);e()}))}startIfEnabledOrStop(){var e,t;this._instance.config.__add_tracing_headers?this.it(this.rt):((e=this.$t)==null||e.call(this),(t=this.St)==null||t.call(this),this.$t=void 0,this.St=void 0)}},hl="https?://(.*)",Ai=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],g1=Ci(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Ai),bo="<masked>",m1=["li_fat_id"];function wb(r,e,t){if(!D)return{};var n,i=e?Ci([],Ai,t||[]):[],s=kb(_o(D.URL,i,bo),r),o=(n={},xe(m1,(function(a){var l=zt.q(a);n[a]=l||null})),n);return $e(o,s)}function kb(r,e){var t=g1.concat(e||[]),n={};return xe(t,(function(i){var s=Al(r,i);n[i]=s||null})),n}function Sb(r){var e=(function(s){return s?s.search(hl+"google.([^/?]*)")===0?"google":s.search(hl+"bing.com")===0?"bing":s.search(hl+"yahoo.com")===0?"yahoo":s.search(hl+"duckduckgo.com")===0?"duckduckgo":null:null})(r),t=e!="yahoo"?"q":"p",n={};if(!Nt(e)){n.$search_engine=e;var i=D?Al(D.referrer,t):"";i.length&&(n.ph_keyword=i)}return n}function h_(){return navigator.language||navigator.userLanguage}function Eb(){return D?.referrer||"$direct"}function Cb(r,e){var t=r?Ci([],Ai,e||[]):[],n=qe?.href.substring(0,1e3);return{r:Eb().substring(0,1e3),u:n?_o(n,t,bo):void 0}}function Ab(r){var e,{r:t,u:n}=r,i={$referrer:t,$referring_domain:t==null?void 0:t=="$direct"?"$direct":(e=Cl(t))==null?void 0:e.host};if(n){i.$current_url=n;var s=Cl(n);i.$host=s?.host,i.$pathname=s?.pathname;var o=kb(n);$e(i,o)}if(t){var a=Sb(t);$e(i,a)}return i}function Rb(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function v1(){try{return new Date().getTimezoneOffset()}catch{return}}function y1(r,e){if(!st)return{};var t,n,i,s=r?Ci([],Ai,e||[]):[],[o,a]=(function(l){for(var c=0;c<Uy.length;c++){var[u,p]=Uy[c],h=u.exec(l),f=h&&(Vr(p)?p(h,l):p);if(f)return f}return["",""]})(st);return $e(wh({$os:o,$os_version:a,$browser:J_(st,navigator.vendor),$device:zy(st),$device_type:(n=st,i=zy(n),i===D_||i===F_||i==="Kobo"||i==="Kindle Fire"||i===X_?po:i===fo||i===wi||i===go||i===pp?"Console":i===B_?"Wearable":i?xt:"Desktop"),$timezone:Rb(),$timezone_offset:v1()}),{$current_url:_o(qe?.href,s,bo),$host:qe?.host,$pathname:qe?.pathname,$raw_user_agent:st.length>1e3?st.substring(0,997)+"...":st,$browser_version:AC(st,navigator.vendor),$browser_language:h_(),$browser_language_prefix:(t=h_(),typeof t=="string"?t.split("-")[0]:void 0),$screen_height:E?.screen.height,$screen_width:E?.screen.width,$viewport_height:E?.innerHeight,$viewport_width:E?.innerWidth,$lib:"web",$lib_version:ur.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var Lr=Te("[Web Vitals]"),f_=9e5,Wp=class{constructor(e){var t;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((n,i)=>V({},n,{["$web_vitals_"+i.name+"_event"]:V({},i),["$web_vitals_"+i.name+"_value"]:i.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=n=>{var i,s=(i=this._instance.sessionManager)==null?void 0:i.checkAndGetSessionAndWindowId(!0);if(H(s))Lr.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var o=this.Ct();H(o)||(ue(n?.name)||ue(n?.value)?Lr.error("Invalid metric received",n):this.Rt&&n.value>=this.Rt?Lr.error("Ignoring metric with value >= "+this.Rt,n):(this.N.url!==o&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),H(this.N.url)&&(this.N.url=o),this.N.firstMetricTimestamp=H(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,n.attribution&&n.attribution.interactionTargetElement&&(n.attribution.interactionTargetElement=void 0),this.N.metrics.push(V({},n,{$current_url:o,$session_id:s.sessionId,$window_id:s.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{if(!this.P){var n,i,s,o,a=X.__PosthogExtensions__;H(a)||H(a.postHogWebVitalsCallbacks)||({onLCP:n,onCLS:i,onFCP:s,onINP:o}=a.postHogWebVitalsCallbacks),n&&i&&s&&o?(this.allowedMetrics.indexOf("LCP")>-1&&n(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&i(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&s(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&o(this.It.bind(this)),this.P=!0):Lr.error("web vitals callbacks not loaded - not starting")}},this._instance=e,this.kt=!((t=this._instance.persistence)==null||!t.props[Qy]),this.startIfEnabled()}get allowedMetrics(){var e,t,n=Pe(this._instance.config.capture_performance)?(e=this._instance.config.capture_performance)==null?void 0:e.web_vitals_allowed_metrics:void 0;return ue(n)?((t=this._instance.persistence)==null?void 0:t.props[t_])||["CLS","FCP","INP","LCP"]:n}get flushToCaptureTimeoutMs(){return(Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get useAttribution(){var e=Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_attribution:void 0;return e!=null&&e}get Rt(){var e=Pe(this._instance.config.capture_performance)&&mr(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:f_;return 0<e&&e<=6e4?f_:e}get isEnabled(){var e=qe?.protocol;if(e!=="http:"&&e!=="https:")return Lr.info("Web Vitals are disabled on non-http/https protocols"),!1;var t=Pe(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:gr(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return gr(t)?t:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(Lr.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(e){var t=Pe(e.capturePerformance)&&!!e.capturePerformance.web_vitals,n=Pe(e.capturePerformance)?e.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[Qy]:t}),this._instance.persistence.register({[t_]:n})),this.kt=t,this.startIfEnabled()}it(e){var t,n;if((t=X.__PosthogExtensions__)!=null&&t.postHogWebVitalsCallbacks)e();else{var i=this.useAttribution?"web-vitals-with-attribution":"web-vitals";(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,i,(s=>{s?Lr.error("failed to load script",s):e()}))}}Ct(){var e=E?E.location.href:void 0;if(e){var t=this._instance.config.mask_personal_data_properties,n=this._instance.config.custom_personal_data_properties,i=t?Ci([],Ai,n||[]):[];return _o(e,i,bo)}Lr.error("Could not determine current URL")}},_1=Te("[Heatmaps]");function g_(r){return Pe(r)&&"clientX"in r&&"clientY"in r&&mr(r.clientX)&&mr(r.clientY)}var Up=class{constructor(e){var t;this.kt=!1,this.P=!1,this.Ft=null,this.instance=e,this.kt=!((t=this.instance.persistence)==null||!t.props[Sp]),this.rageclicks=new El(e.config.rageclick)}get flushIntervalMilliseconds(){var e=5e3;return Pe(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return ue(this.instance.config.capture_heatmaps)?ue(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;_1.info("starting..."),this.Ot(),this.Mt()}else{var e;clearInterval((e=this.Ft)!==null&&e!==void 0?e:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Sp]:t}),this.kt=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.N;return this.N=void 0,e}jt(e){this.Dt(e.originalEvent,"deadclick")}Mt(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(e){return e?.visibilityState==="visible"})(D)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Ot(){E&&D&&(this.Nt=this.Lt.bind(this),Oe(E,"beforeunload",this.Nt),this.Ut=e=>this.Dt(e||E?.event),Oe(D,"click",this.Ut,{capture:!0}),this.zt=e=>this.Ht(e||E?.event),Oe(D,"mousemove",this.zt,{capture:!0}),this.Bt=new Tl(this.instance,u1,this.jt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Mt.bind(this),Oe(D,"visibilitychange",this.qt),this.P=!0)}At(){var e;E&&D&&(this.Nt&&E.removeEventListener("beforeunload",this.Nt),this.Ut&&D.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&D.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&D.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(e=this.Bt)==null||e.stop(),this.P=!1)}Gt(e,t){var n=this.instance.scrollManager.scrollY(),i=this.instance.scrollManager.scrollX(),s=this.instance.scrollManager.scrollElement(),o=(function(a,l,c){for(var u=a;u&&Vl(u)&&!Wr(u,"body");){if(u===c)return!1;if(le(l,E?.getComputedStyle(u).position))return!0;u=pb(u)}return!1})(ub(e),["fixed","sticky"],s);return{x:e.clientX+(o?0:i),y:e.clientY+(o?0:n),target_fixed:o,type:t}}Dt(e,t){var n;if(t===void 0&&(t="click"),!r_(e.target)&&g_(e)){var i=this.Gt(e,t);(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,new Date().getTime())&&this.Vt(V({},i,{type:"rageclick"})),this.Vt(i)}}Ht(e){!r_(e.target)&&g_(e)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(e,"mousemove"))}),500))}Vt(e){if(E){var t=E.location.href,n=this.instance.config.mask_personal_data_properties,i=this.instance.config.custom_personal_data_properties,s=n?Ci([],Ai,i||[]):[],o=_o(t,s,bo);this.N=this.N||{},this.N[o]||(this.N[o]=[]),this.N[o].push(e)}}Lt(){this.N&&!_i(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},Il=class{constructor(e){this.Jt=(t,n,i)=>{i&&(i.noSessionId||i.activityTimeout||i.sessionPastMaximumLength)&&(B.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:t,changeReason:i}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.Yt()}Yt(){var e;this.Xt=(e=this._instance.sessionManager)==null?void 0:e.onSessionId(this.Jt)}destroy(){var e;(e=this.Xt)==null||e.call(this),this.Xt=void 0}doPageView(e,t){var n,i=this.Qt(e,t);return this.Kt={pathname:(n=E?.location.pathname)!==null&&n!==void 0?n:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),i}doPageLeave(e){var t;return this.Qt(e,(t=this.Kt)==null?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:(e=this.Kt)==null?void 0:e.pageViewId}}Qt(e,t){var n=this.Kt;if(!n)return{$pageview_id:t};var i={$pageview_id:t,$prev_pageview_id:n.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:o,lastScrollY:a,maxScrollY:l,maxContentHeight:c,lastContentY:u,maxContentY:p}=s;if(!(H(o)||H(a)||H(l)||H(c)||H(u)||H(p))){o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u),p=Math.ceil(p);var h=o<=1?1:qt(a/o,0,1,B),f=o<=1?1:qt(l/o,0,1,B),v=c<=1?1:qt(u/c,0,1,B),m=c<=1?1:qt(p/c,0,1,B);i=$e(i,{$prev_pageview_last_scroll:a,$prev_pageview_last_scroll_percentage:h,$prev_pageview_max_scroll:l,$prev_pageview_max_scroll_percentage:f,$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:v,$prev_pageview_max_content:p,$prev_pageview_max_content_percentage:m})}}return n.pathname&&(i.$prev_pageview_pathname=n.pathname),n.timestamp&&(i.$prev_pageview_duration=(e.getTime()-n.timestamp.getTime())/1e3),i}};var hr=(function(r){return r.GZipJS="gzip-js",r.Base64="base64",r})({}),wt=Uint8Array,et=Uint16Array,Ei=Uint32Array,Ch=new wt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ah=new wt([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),m_=new wt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Tb=function(r,e){for(var t=new et(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];var i=new Ei(t[30]);for(n=1;n<30;++n)for(var s=t[n];s<t[n+1];++s)i[s]=s-t[n]<<5|n;return[t,i]},Ib=Tb(Ch,2),b1=Ib[0],zp=Ib[1];b1[28]=258,zp[258]=28;for(qp=Tb(Ah,0)[1],$l=new et(32768),we=0;we<32768;++we)Fr=(43690&we)>>>1|(21845&we)<<1,Fr=(61680&(Fr=(52428&Fr)>>>2|(13107&Fr)<<2))>>>4|(3855&Fr)<<4,$l[we]=((65280&Fr)>>>8|(255&Fr)<<8)>>>1;var Fr,qp,$l,we,lo=function(r,e,t){for(var n=r.length,i=0,s=new et(e);i<n;++i)++s[r[i]-1];var o,a=new et(e);for(i=0;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;if(t){o=new et(1<<e);var l=15-e;for(i=0;i<n;++i)if(r[i])for(var c=i<<4|r[i],u=e-r[i],p=a[r[i]-1]++<<u,h=p|(1<<u)-1;p<=h;++p)o[$l[p]>>>l]=c}else for(o=new et(n),i=0;i<n;++i)o[i]=$l[a[r[i]-1]++]>>>15-r[i];return o},Nn=new wt(288);for(we=0;we<144;++we)Nn[we]=8;for(we=144;we<256;++we)Nn[we]=9;for(we=256;we<280;++we)Nn[we]=7;for(we=280;we<288;++we)Nn[we]=8;var Ml=new wt(32);for(we=0;we<32;++we)Ml[we]=5;var x1=lo(Nn,9,0),w1=lo(Ml,5,0),$b=function(r){return(r/8>>0)+(7&r&&1)},Mb=function(r,e,t){(t==null||t>r.length)&&(t=r.length);var n=new(r instanceof et?et:r instanceof Ei?Ei:wt)(t-e);return n.set(r.subarray(e,t)),n},lr=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8},Gs=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16},Yd=function(r,e){for(var t=[],n=0;n<r.length;++n)r[n]&&t.push({s:n,f:r[n]});var i=t.length,s=t.slice();if(!i)return[new wt(0),0];if(i==1){var o=new wt(t[0].s+1);return o[t[0].s]=1,[o,1]}t.sort((function(w,R){return w.f-R.f})),t.push({s:-1,f:25001});var a=t[0],l=t[1],c=0,u=1,p=2;for(t[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=i-1;)a=t[t[c].f<t[p].f?c++:p++],l=t[c!=u&&t[c].f<t[p].f?c++:p++],t[u++]={s:-1,f:a.f+l.f,l:a,r:l};var h=s[0].s;for(n=1;n<i;++n)s[n].s>h&&(h=s[n].s);var f=new et(h+1),v=Zp(t[u-1],f,0);if(v>e){n=0;var m=0,g=v-e,y=1<<g;for(s.sort((function(w,R){return f[R.s]-f[w.s]||w.f-R.f}));n<i;++n){var x=s[n].s;if(!(f[x]>e))break;m+=y-(1<<v-f[x]),f[x]=e}for(m>>>=g;m>0;){var k=s[n].s;f[k]<e?m-=1<<e-f[k]++-1:++n}for(;n>=0&&m;--n){var _=s[n].s;f[_]==e&&(--f[_],++m)}v=e}return[new wt(f),v]},Zp=function(r,e,t){return r.s==-1?Math.max(Zp(r.l,e,t+1),Zp(r.r,e,t+1)):e[r.s]=t},v_=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new et(++e),n=0,i=r[0],s=1,o=function(l){t[n++]=l},a=1;a<=e;++a)if(r[a]==i&&a!=e)++s;else{if(!i&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(i),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(i);s=1,i=r[a]}return[t.subarray(0,n),e]},Ks=function(r,e){for(var t=0,n=0;n<e.length;++n)t+=r[n]*e[n];return t},Gp=function(r,e,t){var n=t.length,i=$b(e+2);r[i]=255&n,r[i+1]=n>>>8,r[i+2]=255^r[i],r[i+3]=255^r[i+1];for(var s=0;s<n;++s)r[i+s+4]=t[s];return 8*(i+4+n)},y_=function(r,e,t,n,i,s,o,a,l,c,u){lr(e,u++,t),++i[256];for(var p=Yd(i,15),h=p[0],f=p[1],v=Yd(s,15),m=v[0],g=v[1],y=v_(h),x=y[0],k=y[1],_=v_(m),w=_[0],R=_[1],b=new et(19),A=0;A<x.length;++A)b[31&x[A]]++;for(A=0;A<w.length;++A)b[31&w[A]]++;for(var $=Yd(b,7),N=$[0],M=$[1],K=19;K>4&&!N[m_[K-1]];--K);var L,O,q,Y,se=c+5<<3,C=Ks(i,Nn)+Ks(s,Ml)+o,P=Ks(i,h)+Ks(s,m)+o+14+3*K+Ks(b,N)+(2*b[16]+3*b[17]+7*b[18]);if(se<=C&&se<=P)return Gp(e,u,r.subarray(l,l+c));if(lr(e,u,1+(P<C)),u+=2,P<C){L=lo(h,f,0),O=h,q=lo(m,g,0),Y=m;var G=lo(N,M,0);for(lr(e,u,k-257),lr(e,u+5,R-1),lr(e,u+10,K-4),u+=14,A=0;A<K;++A)lr(e,u+3*A,N[m_[A]]);u+=3*K;for(var pe=[x,w],ce=0;ce<2;++ce){var Be=pe[ce];for(A=0;A<Be.length;++A){var Ee=31&Be[A];lr(e,u,G[Ee]),u+=N[Ee],Ee>15&&(lr(e,u,Be[A]>>>5&127),u+=Be[A]>>>12)}}}else L=x1,O=Nn,q=w1,Y=Ml;for(A=0;A<a;++A)if(n[A]>255){Ee=n[A]>>>18&31,Gs(e,u,L[Ee+257]),u+=O[Ee+257],Ee>7&&(lr(e,u,n[A]>>>23&31),u+=Ch[Ee]);var kt=31&n[A];Gs(e,u,q[kt]),u+=Y[kt],kt>3&&(Gs(e,u,n[A]>>>5&8191),u+=Ah[kt])}else Gs(e,u,L[n[A]]),u+=O[n[A]];return Gs(e,u,L[256]),u+O[256]},k1=new Ei([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),S1=(function(){for(var r=new Ei(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(1&t&&3988292384)^t>>>1;r[e]=t}return r})(),E1=function(r,e,t,n,i){return(function(s,o,a,l,c,u){var p=s.length,h=new wt(l+p+5*(1+Math.floor(p/7e3))+c),f=h.subarray(l,h.length-c),v=0;if(!o||p<8)for(var m=0;m<=p;m+=65535){var g=m+65535;g<p?v=Gp(f,v,s.subarray(m,g)):(f[m]=u,v=Gp(f,v,s.subarray(m,p)))}else{for(var y=k1[o-1],x=y>>>13,k=8191&y,_=(1<<a)-1,w=new et(32768),R=new et(_+1),b=Math.ceil(a/3),A=2*b,$=function(Ul){return(s[Ul]^s[Ul+1]<<b^s[Ul+2]<<A)&_},N=new Ei(25e3),M=new et(288),K=new et(32),L=0,O=0,q=(m=0,0),Y=0,se=0;m<p;++m){var C=$(m),P=32767&m,G=R[C];if(w[P]=G,R[C]=P,Y<=m){var pe=p-m;if((L>7e3||q>24576)&&pe>423){v=y_(s,f,0,N,M,K,O,q,se,m-se,v),q=L=O=0,se=m;for(var ce=0;ce<286;++ce)M[ce]=0;for(ce=0;ce<30;++ce)K[ce]=0}var Be=2,Ee=0,kt=k,St=P-G&32767;if(pe>2&&C==$(m-St))for(var jl=Math.min(x,pe)-1,Ri=Math.min(32767,m),Me=Math.min(258,pe);St<=Ri&&--kt&&P!=G;){if(s[m+Be]==s[m+Be-St]){for(var Lt=0;Lt<Me&&s[m+Lt]==s[m+Lt-St];++Lt);if(Lt>Be){if(Be=Lt,Ee=St,Lt>jl)break;var qb=Math.min(St,Lt-2),Ph=0;for(ce=0;ce<qb;++ce){var Wl=m-St+ce+32768&32767,Nh=Wl-w[Wl]+32768&32767;Nh>Ph&&(Ph=Nh,G=Wl)}}}St+=(P=G)-(G=w[P])+32768&32767}if(Ee){N[q++]=268435456|zp[Be]<<18|qp[Ee];var Lh=31&zp[Be],Fh=31&qp[Ee];O+=Ch[Lh]+Ah[Fh],++M[257+Lh],++K[Fh],Y=m+Be,++L}else N[q++]=s[m],++M[s[m]]}}v=y_(s,f,u,N,M,K,O,q,se,m-se,v)}return Mb(h,0,l+$b(v)+c)})(r,e.level==null?6:e.level,e.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(r.length)))):12+e.mem,t,n,!0)},Xd=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function C1(r,e){e===void 0&&(e={});var t=(function(){var a=4294967295;return{p:function(l){for(var c=a,u=0;u<l.length;++u)c=S1[255&c^l[u]]^c>>>8;a=c},d:function(){return 4294967295^a}}})(),n=r.length;t.p(r);var i,s=E1(r,e,10+((i=e).filename&&i.filename.length+1||0),8),o=s.length;return(function(a,l){var c=l.filename;if(a[0]=31,a[1]=139,a[2]=8,a[8]=l.level<2?4:l.level==9?2:0,a[9]=3,l.mtime!=0&&Xd(a,4,Math.floor(new Date(l.mtime||Date.now())/1e3)),c){a[3]=8;for(var u=0;u<=c.length;++u)a[u+10]=c.charCodeAt(u)}})(s,e),Xd(s,o-8,t.d()),Xd(s,o-4,n),s}var A1=function(r){var e,t,n,i,s="";for(e=t=0,n=(r=(r+"").replace(/\r\n/g,`
1009
1009
  `).replace(/\r/g,`
1010
- `)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),Nt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},RC=!!sp||!!ip,v_="text/plain",Ml=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=V({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=tC(o);return l&&a.push(l),i+"?"+a.join("&")},io=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Xd=r=>{var{data:e,compression:t}=r;if(e){if(t===hr.GZipJS){var n=CC((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new wt(l.length+(l.length>>>1)),h=0,f=function(y){p[h++]=y},v=0;v<u;++v){if(h+5>p.length){var m=new wt(h+8+(u-v<<1));m.set(p),p=m}var g=l.charCodeAt(v);g<128||c?f(g):g<2048?(f(192|g>>>6),f(128|63&g)):g>55295&&g<57344?(f(240|(g=65536+(1047552&g)|1023&l.charCodeAt(++v))>>>18),f(128|g>>>12&63),f(128|g>>>6&63),f(128|63&g)):(f(224|g>>>12),f(128|g>>>6&63),f(128|63&g))}return Ib(p,0,h)})(io(e)),{mtime:0}),i=new Blob([n],{type:v_});return{contentType:v_,body:i,estimatedSize:i.size}}if(t===hr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,g=0,y="",x=[];if(!l)return l;l=AC(l);do c=(f=l.charCodeAt(m++)<<16|l.charCodeAt(m++)<<8|l.charCodeAt(m++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[g++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(m<l.length);switch(y=x.join(""),l.length%3){case 1:y=y.slice(0,-2)+"==";break;case 2:y=y.slice(0,-1)+"="}return y})(io(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:io(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=io(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},gl=[];ip&&gl.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Xd(r))!==null&&e!==void 0?e:{},o=new Headers;xe(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(Fy){var c=new Fy;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}ip(a,V({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){B.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{B.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),sp&&gl.push({transport:"XHR",method:r=>{var e,t=new sp;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Xd(r))!==null&&e!==void 0?e:{};xe(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),dt!=null&&dt.sendBeacon&&gl.push({transport:"sendBeacon",method:r=>{var e=Ml(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Xd(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;dt.sendBeacon(e,s)}catch{}}});var Ol=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function y_(r,e,t){return io({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var $b={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Ol(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Ol(t,n))))),icontains:(r,e)=>e.map(hl).some((t=>r.map(hl).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(hl).every((t=>r.map(hl).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},hl=r=>r.toLowerCase();function Mb(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Nt(s))return!1;var o=[String(s)],a=$b[i.operator];return!!a&&a(i.values,o)}))}var Jd=Te("[Error tracking]"),Gp=class{constructor(e){var t,n;this.Zt=[],this.ti=new hp([new gp,new wp,new vp,new mp,new bp,new _p,new yp,new xp],F1()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(Sp))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[Sp]:this.Zt,[Yy]:o})}get ii(){var e,t=!!this._instance.get_property(Yy),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void Jd.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Jd.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Jd.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return Ne(s)&&s.length>0&&n.$exception_types.push(s),Ne(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=$b[s.operator],l=fe(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!ue(e)&&fe(e)}},ut=Te("[FeatureFlags]"),Ks=Te("[FeatureFlags]",{debugEnabled:!0}),Qd="$active_feature_flags",hi="$override_feature_flags",__="$feature_flag_payloads",Ys="$override_feature_flag_payloads",b_="$feature_flag_request_id",x_="$feature_flag_evaluated_at",w_=r=>{var e={};for(var[t,n]of fl(r||{}))n&&(e[t]=n);return e},TC=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):ut.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},IC=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Kp=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(ut.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||ut.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(Ep),t=this._instance.get_property(hi),n=this._instance.get_property(Ys);if(!n&&!t)return e||{};var i=$e({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=H(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=H(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=V({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=V({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(ut.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(_i),t=this._instance.get_property(hi);if(!t)return e||{};for(var n=$e({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(ut.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(__),t=this._instance.get_property(Ys);if(!t)return e||{};for(var n=$e({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(ut.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:V({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(no)||{}),group_properties:this._instance.get_property(Mn)};Nt(i)||H(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Cb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:hr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(IC.FeatureFlags))ut.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}ut.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(b_)||void 0,c=this._instance.get_property(x_)||void 0,u=this._instance.get_property(bl)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,m,g,y,x,k;fe(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[bl]:u});var _=this.getFeatureFlagDetails(e),w={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};H(_==null||(v=_.metadata)==null?void 0:v.version)||(w.$feature_flag_version=_.metadata.version);var R,b=(m=_==null||(g=_.reason)==null?void 0:g.description)!==null&&m!==void 0?m:_==null||(y=_.reason)==null?void 0:y.code;b&&(w.$feature_flag_reason=b),_!=null&&(x=_.metadata)!=null&&x.id&&(w.$feature_flag_id=_.metadata.id),H(_?.original_variant)&&H(_?.original_enabled)||(w.$feature_flag_original_response=H(_.original_variant)?_.original_enabled:_.original_variant),_!=null&&(k=_.metadata)!=null&&k.original_payload&&(w.$feature_flag_original_payload=_==null||(R=_.metadata)==null?void 0:R.original_payload),this._instance.capture("$feature_flag_called",w)}if(i){var A=o;if(!H(o))try{A=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:A}}}else ut.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:hr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return H(n)?void 0:!!n}ut.warn('isFeatureEnabled for key "'+e+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this._instance.persistence){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=TC(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var m=o.requestId,g=o.evaluatedAt;if(fe(f)){ut.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var y={};if(f)for(var x=0;x<f.length;x++)y[f[x]]=!0;a&&a.register({[Qd]:f,[_i]:y})}else{var k=f,_=v,w=h;if(o.errorsWhileComputingFlags)if(h){var R=new Set(Object.keys(h).filter((b=>{var A;return!((A=h[b])!=null&&A.failed)})));k=V({},l,Object.fromEntries(Object.entries(k).filter((b=>{var[A]=b;return R.has(A)})))),_=V({},c,Object.fromEntries(Object.entries(_||{}).filter((b=>{var[A]=b;return R.has(A)})))),w=V({},u,Object.fromEntries(Object.entries(w||{}).filter((b=>{var[A]=b;return R.has(A)}))))}else k=V({},l,k),_=V({},c,_),w=V({},u,w);a&&a.register(V({[Qd]:Object.keys(w_(k)),[_i]:k||{},[__]:_||{},[Ep]:w||{}},m?{[b_]:m}:{},g?{[x_]:g}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),ut.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return ut.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(hi),this._instance.persistence.unregister(Ys),this.wi(),Ks.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(hi),Ks.info("Flag overrides cleared");else if(n.flags){if(fe(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[hi]:i})}else this._instance.persistence.register({[hi]:n.flags});Ks.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(Ys),Ks.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[Ys]:n.payloads}),Ks.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(ro)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=V({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[Qd]:Object.keys(w_(l)),[_i]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(ro),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(ro),(l=this._instance.persistence)==null||l.register({[ro]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(no)||{};this._instance.register({[no]:V({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(no)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Mn)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=V({},n[i],e[i]),delete e[i]})),this._instance.register({[Mn]:V({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(Mn)||{};this._instance.register({[Mn]:V({},t,{[e]:{}})})}else this._instance.unregister(Mn)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},$C=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],lo=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&B.info("Persistence loaded",e.persistence,V({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){$C.indexOf(e.persistence.toLowerCase())===-1&&(B.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...lC,...i];return V({},Ae,{W:function(o){try{var a={};try{a=zt.W(o)||{}}catch{}var l=$e(a,JSON.parse(Ae.q(o)||"{}"));return Ae.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Ae.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&zt.G(o,h,l,c,u,p)}catch(f){Ae.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),zt.V(o,a)}catch(l){Ae.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Ae.H()?Ae:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&ze.H()?ze:n==="memory"?cC:n==="cookie"?zt:t.H()?t:zt}properties(){var e={};return xe(this.props,(function(t,n){if(n===_i&&Pe(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(Nt(o=z1)?l:Ly&&o.indexOf===Ly?o.indexOf(a)!=-1:(xe(o,(function(c){if(l||(l=c===a))return yl})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=$e({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(Pe(e)){H(t)&&(t="None"),this.Pi=H(n)?this.Ci:n;var i=!1;if(xe(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(Pe(e)){this.Pi=H(t)?this.Ci:t;var n=!1;if(xe(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=bb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);yi(xh(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?wb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:kb(),$referring_domain:D!=null&&D.referrer&&((e=El(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Tp]||this.props[Ip]||this.register_once({[xl]:Sb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};xe([Ip,Tp],(o=>{var a=this.props[o];a&&xe(a,(function(l,c){e["$initial_"+op(c)]=l}))}));var t,n,i=this.props[xl];if(i){var s=(t=Eb(i),n={},xe(t,(function(o,a){n["$initial_"+op(a)]=o})),n);$e(e,s)}return e}safe_merge(e){return xe(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[to]||{};n[e]=t,this.props[to]=n,this.save()}remove_event_timer(e){var t=(this.props[to]||{})[e];return H(t)||(delete this.props[to][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},k_=Te("[Product Tours]"),ep="ph_product_tours",Yp=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[Jy]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(Jy)||this.it((()=>this.Oi()))}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?k_.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=X.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=X.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!fe(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[ep];if(fe(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return k_.error(a),void e([],{isLoaded:!1,error:a})}var l=fe(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[ep]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){ue(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(ep)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},Xs=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),GP=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),KP=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),YP=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),tp=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),XP=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),JP=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),QP=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),so=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),rp=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),Xp=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),be=Te("[Surveys]"),Ob="seenSurvey_",MC=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},S_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(Ob,r),OC=[tp.Popover,tp.Widget,tp.API],PC={ignoreConditions:!1,ignoreDelay:!1,displayType:Xp.Popover},mo=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function fi(r,e,t){if(ue(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var Jp=class{constructor(e){this.Ai=new mo,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!H((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!H((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!fi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>fi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&fi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>fi(c.text,t.text,t.text_matching||"exact")||fi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!ue(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>fi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||Mb(t.properties.reduce(((n,i)=>{var s=fe(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},Qp=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&Mb(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===Xs.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;H((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new Jp(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,Xs.Activation),this.Yi=this.Zi(e,Xs.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,Xs.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var m=a.indexOf(v.id);m>=0&&a.splice(m,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,Xs.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},eh=class extends Qp{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return so.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return be}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},th=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(ue(t))return be.warn("Flags not loaded yet. Not loading surveys.");var n=fe(t);this.ve=n?t.length>0:t,be.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(Ob)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)be.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)be.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())be.info("Not loading surveys in cookieless mode without consent.");else{var e=X?.__PosthogExtensions__;if(e){if(!H(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else be.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new eh(this._instance),be.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){be.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return be.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(Cp);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;be.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(m){return!(!m.start_date||m.end_date)})(v)&&((function(m){var g;return!((g=m.conditions)==null||(g=g.events)==null||(g=g.values)==null||!g.length)})(v)||(function(m){var g;return!((g=m.conditions)==null||(g=g.actions)==null||(g=g.values)==null||!g.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[Cp]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){be.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!ue(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);be.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(ue(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(ue(this._surveyManager))return be.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return ue(this._surveyManager)?(be.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(ue(this._surveyManager))be.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(OC.includes(s.type)){var o=D?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(be.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;be.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),be.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);be.warn("Survey element not found")}else be.warn("Surveys of type "+s.type+" cannot be rendered in the app");else be.warn("Survey not found")}}displaySurvey(e,t){var n;if(ue(this._surveyManager))be.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=V({},i,{appearance:V({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==Xp.Popover&&t.initialResponses&&be.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void be.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==Xp.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else be.warn("Survey not found")}}cancelPendingSurvey(e){ue(this._surveyManager)?be.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},cr=Te("[Conversations]"),rh=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;ue(t)||(gr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=X?.__PosthogExtensions__;if(e&&!H(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else cr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),cr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else cr.error("Cannot complete initialization: remote config is null")}Se(e,t){cr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():cr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Nt(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return vi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(cr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return vi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(cr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return vi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(cr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return vi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(cr.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},nh=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!ue(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Te("[logs]"),t=X?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},E_=Te("[RateLimiter]"),ih=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{E_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void E_.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(Rp))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(Rp,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},$n=Te("[RemoteConfig]"),sh=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=X._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):($n.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return $n.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void $n.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return $n.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){$n.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):$n.info("__preview_remote_config is disabled. Logging config instead",e):$n.error("Failed to fetch remote config from PostHog.")}},oh=3e3,ah=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=qt(t?.flush_interval_ms||oh,250,5e3,B.createLogger("flush interval"),oh),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(V({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&fe(s.data)&&xe(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return xe(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;H(e[s])&&(e[s]=V({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},NC=["retriesPerformedSoFar"],lh=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!H(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},Oe(E,"online",this.ze),Oe(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=$_(e,NC);gi(t)&&(n.url=Ml(n.url,{retry_count:t})),this._instance._send_request(V({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(V({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),B.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,H(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(V({},e,{transport:"sendBeacon"}))}catch(t){B.error(t)}this.Re=[]}},ch=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){Oe(E,"scroll",this.Ge,{capture:!0}),Oe(E,"scrollend",this.Ge,{capture:!0}),Oe(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=fe(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollTop||0}return E&&(E.scrollY||E.pageYOffset||E.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},LC=r=>Sb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Pl=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[Ap]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||LC,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Ap]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Eb(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return xe(xh(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+op(n)]=t})),e}},np=Te("[SessionId]"),Nl=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new mo,this.er=(u,p)=>!(!gi(u)||!gi(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||Br,this.ar=n||Br;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*qt(o,60,36e3,np.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=ze.W(this.ur),l=ze.W(this.hr);a&&!l?this.rr=a:ze.V(this.ur),ze.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){np.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&ze.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&ze.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?ze.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[_l]:[t,e,n]}))}_r(){var e=this.Xe.props[_l];return fe(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&ze.V(this.hr)},Oe(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=gi(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),np.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=gi(i)&&e&&!l?i:n,f=gi(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},FC=["$set_once","$set"],Dr=Te("[SiteApps]"),uh=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=X._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:m}=e;return{event:V({},$_(e,FC),{properties:V({},e.properties,m?{$set:V({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},m)}:{},v?{$set_once:V({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(Dr.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,Dr.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){Dr.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){Dr.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){Dr.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void Dr.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;X["__$$ph_site_app_"+c]=s._instance,(u=X.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return Dr.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else Dr.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Pb=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&Hy(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>Hy(i?.brand,e))))return!0}catch{}return!!r.webdriver},oo=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),C_="i.posthog.com",dh=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+C_,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=oo.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=oo.EU:this.Sr[this.apiHost]=oo.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===oo.CUSTOM)return this.apiHost+t;var n=C_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},DC={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Ol(e.href,r),not_regex:(r,e)=>!!E&&!Ol(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},ph=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);Ne(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(ue(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Cl(e?.search,"__experiment_id"),n=Cl(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!ue(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(ue(e.conditions)||ue((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||DC[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(ue(e.conditions)||ue((t=e.conditions)==null?void 0:t.utm))return!0;var n=bb();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,m=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&m&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];B.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return dt&&this._instance?Pb(dt,this._instance.config.custom_blocked_useragents):void 0}},HC=Te("[PostHog ExternalIntegrations]"),BC={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},hh=class{constructor(e){this._instance=e}it(e,t){var n;(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return HC.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=X.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(BC[o],(()=>{var u;(u=X.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=X.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=X.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},fh="[SessionRecording]",Js=Te(fh),Ll=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw Js.error("started without valid sessionManager"),new Error(fh+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(fh+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(Ud))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!H(Object.assign)&&!H(Array.from);this.Ar&&n?(this.Dr(e),Js.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(X!=null&&(t=X.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=X.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=X.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return Js.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(nb)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=ue(a)?null:parseFloat(a);ue(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[Ud]:V({enabled:!!o},o,{networkPayloadCapture:V({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:H(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:Js.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):Js.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(Ud);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=X.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=X.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},co={},gh=()=>{},mi="posthog",Nb=!RC&&st?.indexOf("MSIE")===-1&&st?.indexOf("Mozilla")===-1,A_=r=>{var e;return V({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:U1(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:gh,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:qe&&Ne(qe?.search)&&qe.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;B.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:oh},error_tracking:{},_onCapture:gh,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},R_=r=>{var e={};H(r.process_person)||(e.person_profiles=r.process_person),H(r.xhr_headers)||(e.request_headers=r.xhr_headers),H(r.cookie_name)||(e.persistence_name=r.cookie_name),H(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),H(r.store_google)||(e.save_campaign_params=r.store_google),H(r.verbose)||(e.debug=r.verbose);var t=$e({},e,r);return fe(r.property_blacklist)&&(H(r.property_denylist)?t.property_denylist=r.property_blacklist:fe(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:B.error("Invalid value for property_denylist config: "+r.property_denylist)),t},mh=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){B.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Fl=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new mh,this.Br=!1,this.version=ur.LIB_VERSION,this.qr=new mo,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=A_(),this.SentryIntegration=Hp,this.sentryIntegration=e=>(function(t,n){var i=_b(t,n);return{name:yb,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new Kp(this),this.toolbar=new Bp(this),this.scrollManager=new ch(this),this.pageViewManager=new Tl(this),this.surveys=new th(this),this.conversations=new rh(this),this.logs=new nh(this),this.experiments=new ph(this),this.exceptions=new Gp(this),this.rateLimiter=new ih(this),this.requestRouter=new dh(this),this.consent=new Lp(this),this.externalIntegrations=new hh(this),this.people={set:(e,t,n)=>{var i=Ne(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=Ne(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>B.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==mi){var i,s=(i=co[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),co[n]=s,co[mi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||ap(e))return B.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config($e({},A_(t.defaults),R_(t),{name:n,token:e})),this.config.on_xhr_error&&B.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:hr.GZipJS;var s=this.Qr();this.persistence=new lo(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new lo(V({},this.config,{persistence:"sessionStorage"}),s);var o=V({},this.persistence.props),a=V({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new ah((x=>this.ts(x)),this.config.request_queue_config),this.es=new lh(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new Nl(this),this.sessionPropsManager=new Pl(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(B.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(B.info("Initializing extensions synchronously"),this.rs(l)),ur.DEBUG=ur.DEBUG||this.config.debug,ur.DEBUG&&B.info("Starting in debug mode",{this:this,config:t,thisC:V({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(Br()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(dr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,m=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var k;return!((k=t.bootstrap)==null||(k=k.featureFlags)==null||!k[x])})).reduce(((x,k)=>{var _;return x[k]=((_=t.bootstrap)==null||(_=_.featureFlags)==null?void 0:_[k])||!1,x}),{}),g=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>m[x])).reduce(((x,k)=>{var _,w;return(_=t.bootstrap)!=null&&(_=_.featureFlagPayloads)!=null&&_[k]&&(x[k]=(w=t.bootstrap)==null||(w=w.featureFlagPayloads)==null?void 0:w[k]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:m,featureFlagPayloads:g})}if(l)this.register_once({distinct_id:Us,$device_id:null},"");else if(!this.get_distinct_id()){var y=this.config.get_device_id(Br());this.register_once({distinct_id:y,$device_id:y},""),this.persistence.set_property(dr,"anonymous")}return Oe(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?pC(this,(()=>this.ns())):this.ns(),Vr(this.config._onCapture)&&this.config._onCapture!==gh&&(B.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&B.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new Dp(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new Vp(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new uh(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Ll(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Mp(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Yp(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new Wp(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new jp(this)})),n.push((()=>{this.exceptionObserver=new Fp(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Rl(this,dC),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){B.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&B.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!D||!D.body)return B.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=le(e.supportedCompression,hr.GZipJS)?hr.GZipJS:le(e.supportedCompression,hr.Base64)?hr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){B.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&qe!=null&&qe.hostname){var e=qe.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new sh(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&jr(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Nb?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Ml(e.url,{ip:this.config.ip?1:0}),e.headers=V({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=V({},t);o.timeout=o.timeout||6e4,o.url=Ml(o.url,{_:new Date().getTime().toString(),ver:ur.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=gl.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=eb(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(V({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];jr(e,(a=>{a&&(t=a[0],fe(t)?s.push(a):Vr(a)?a.call(this):fe(a)&&t==="alias"?n.push(a):fe(a)&&t.indexOf("capture")!==-1&&Vr(this[t])?s.push(a):i.push(a))}));var o=function(a,l){jr(a,(function(c){if(fe(c[0])){var u=l;xe(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!H(e)&&Ne(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!Ne(t?.$current_url)&&(B.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=Br(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=j1(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,H(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===so.DISMISSED||e===so.SENT){var v=t?.[rp.SURVEY_ID],m=t?.[rp.SURVEY_ITERATION];p={id:v,current_iteration:m},localStorage.getItem(S_(p))||localStorage.setItem(S_(p),"true"),u.$set=V({},u.$set,{[MC({id:v,current_iteration:m},e===so.SENT?"responded":"dismissed")]:!0})}else e===so.SHOWN&&(u.$set=V({},u.$set,{[rp.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var g=V({},u.properties.$set,u.$set);if(yi(g)||this.setPersonPropertiesForFlags(g),!ue(this.config.before_send)){var y=this.cs(u);if(!y)return;u=y}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}B.critical("This capture call is ignored due to client rate limiting.")}}else B.error("No event name provided to posthog.capture")}else B.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=V({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=V({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!Ne(a.distinct_id)&&!mr(a.distinct_id)||ap(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=yC(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&$e(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&$e(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(y){a.$sdk_debug_error_capturing_properties=String(y)}if(this.requestRouter.region===oo.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=$e(a,c),e==="$pageview"&&D&&(a.title=D.title),!H(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}st&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=$e({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),fe(this.config.property_denylist)?xe(this.config.property_denylist,(function(y){delete a[y]})):B.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var m=this.config.sanitize_properties;m&&(B.error("sanitize_properties is deprecated. Use before_send instead"),a=m(a,e));var g=this.fs();return a.$process_person_profile=g,g&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=$e({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(B.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),yi(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=V({},i,e),a=V({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:H(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=PC),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return B.uninitializedWarning("posthog.identify");if(mr(e)&&(e=e.toString(),B.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))B.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(e!==Us){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(eo)&&(this.unregister(eo),this.register({distinct_id:e}));var o=(this.persistence.get_property(dr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(dr,"identified"),this.setPersonPropertiesForFlags(V({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=y_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(bl))}}else B.critical('The string "'+Us+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else B.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=y_(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(V({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):B.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:V({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else B.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(B.info("reset"),!this.__loaded)return B.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(dr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:Us,$device_id:null},"");else{var a=this.config.get_device_id(Br());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(tb)?(B.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(eo,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(B.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=V({},this.config);if(Pe(e)){var n,i,s,o,a,l,c;$e(this.config,R_(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new lo(V({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);gr(p)&&(this.config.debug=p),gr(this.config.debug)&&(this.config.debug?(ur.DEBUG=!0,Ae.H()&&Ae.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:V({},this.config)})):(ur.DEBUG=!1,Ae.H()&&Ae.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(V({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:mi;return t!==mi&&(t=mi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(dr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(dr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&yi(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[eo])&&((t=this.persistence)==null||(t=t.props)==null||!t[wl]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(B.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(wl,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new Nl(this),this.pageViewManager=new Tl(this),this.persistence&&(this.sessionPropsManager=new Pl(this,this.sessionManager,this.persistence)),this.sessionRecording=new Ll(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(H(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:Us,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===pr.GRANTED?"granted":e===pr.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return dt?Pb(dt,this.config.custom_blocked_useragents):void 0}hs(){D&&(D.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:D.title},{send_instantly:!0}),this.Gr&&(D.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),Oe(D,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(E?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(B.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=B,o=(t="advanced_disable_flags")in(e=l)&&!ue(e[t]),a=n in e&&!ue(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(ue(this.config.before_send))return e;var t=fe(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),ue(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return g1(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!yi(n.properties)||B.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=gr(e)&&!e,n=Ae.H()&&Ae.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=V1(r.prototype[e[t]])})(Fl,["identify"]);var T_;var Lb=(T_=co[mi]=new Fl,(function(){function r(){r.done||(r.done=!0,Nb=!1,xe(co,(function(e){e._dom_loaded()})))}D!=null&&D.addEventListener?D.readyState==="complete"?r():Oe(D,"DOMContentLoaded",r,{capture:!1}):E&&B.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),T_);var Ah=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0},a=Lb.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function Rh(r={}){return new Ah(r)}var Fb={posthog:r=>Rh(r),noop:()=>Bd()};function Db(r,e){let t=Fb[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(Fb).join(", ")}`);return t(e)}async function Hb(r){Zc(),z("Syntro Bootstrap","====== INIT ======"),z("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Oa();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",Rs()),console.log("[DIAG] editorConf:",Ma()),z("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let C=!!window.__SYNTRO_EDITOR_PARAMS__,P=!!window.__SYNTRO_AUDIT_LEGEND__,G=!!window.__SYNTRO_REVIEW_DATA__;if(C||P||G){let pe=[C&&"__SYNTRO_EDITOR_PARAMS__",P&&"__SYNTRO_AUDIT_LEGEND__",G&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${pe.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let P=Ma()?.syntro_token;P?.startsWith("syn_")&&(t=P,z("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))z("Syntro Bootstrap","Token starts with syn_, decoding..."),n=Ts(t),Zc(n.d);else if(e)z("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw fa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),fa("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)z("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw fa("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=bt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||bt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=bt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||bt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th,o=bt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||bt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||bt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||bt("VITE_SYNTRO_GEO_HOST")||Ev,l=wv(),c=qu(),u=r.appSignalsInit??{},p={...c,...l,...u};z("Syntro Bootstrap","Phase 1: Browser metadata:",c),z("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&z("Syntro Bootstrap","Phase 1: App signals:",u);let h=Zu(a),f=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(C=>{let P=setTimeout(()=>{window.removeEventListener("message",G),C(null)},500);function G(pe){let ce=pe.data;ce?.jsonrpc==="2.0"&&ce?.id===1&&ce?.result?.hostInfo&&(clearTimeout(P),window.removeEventListener("message",G),C(ce.result.hostInfo))}window.addEventListener("message",G);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(P),window.removeEventListener("message",G),C(null)}})})(),v,m=r.debug||r.testMode,g=Is({debug:r.debug,history:m?new $s(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=jc({elementResolver:typeof window<"u"?(C,P)=>{let G=document.elementFromPoint(C,P);if(!G)return null;let pe={tag_name:G.tagName.toLowerCase()};G.id&&(pe.attr__id=G.id),G.className&&typeof G.className=="string"&&(pe.classes=G.className.split(" ").filter(Boolean));for(let ce of G.attributes)ce.name.startsWith("data-")&&(pe[`attr__${ce.name}`]=ce.value);return pe}:void 0});y.onEvent(C=>g.publishEvent(C)),typeof window<"u"&&(setInterval(()=>y.tick(Date.now()),1e3),document.addEventListener("click",C=>{let P=[],G=C.target;for(;G&&G!==document.body;){let pe={tag_name:G.tagName.toLowerCase()};for(let ce of G.attributes)(ce.name.startsWith("data-")||ce.name==="id"||ce.name==="class"||ce.name==="aria-label")&&(pe[`attr__${ce.name}`]=ce.value);P.push(pe),G=G.parentElement}y.enrichClickAttributes(Date.now(),P)},!0));let x=by(),k,_=C=>{z("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let P=Sv(C);if(z("Syntro Bootstrap","Segment flags from PostHog:",P),kv(P),v){let G=R?.getAll?.()??{},pe={...c,...G,...P,...u};z("Syntro Bootstrap","Updating GrowthBook with attributes:",pe),v.setAttributes?.(pe)}if(k&&w?.getDistinctId){let G=w.getDistinctId();G&&s&&n?.t&&k.updateContext({distinctId:G,telemetryHost:s,telemetryKey:n.t})}},w;if(n?.t){let C=n.t==="noop"?"noop":"posthog";w=Db(C,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,onFeatureFlagsLoaded:_,onCapture:(G,pe)=>{y.ingest({kind:"posthog",event:G,properties:pe,timestamp:Date.now()})},onRRWebEvent:G=>{y.ingest(G)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${C}) with EventBus wiring`),Object.keys(u).length>0&&(w.track?.("app_signals_init",u),z("Syntro Bootstrap","Tracked app signals event:",u));let P=w;if(g.setPosthogCapture((G,pe)=>{P.track?.(G,pe)}),x?.name==="shopify"&&s)try{k=new rl({distinctId:w.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),z("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(G){Je("Syntro Bootstrap","ShopifyPixelBridge init failed",G)}}let R;n?.e&&(v=fy("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(C,P,G)=>{w.trackExperiment(C,P,G)}:void 0})),R=yd({experiments:v,onMetricChange:(C,P)=>{z("Syntro Bootstrap",`Session metric changed: ${C} = ${P}`)}}),z("Syntro Bootstrap","SessionMetricTracker created");let b="production";e==="editor"?b="editor":e==="audit"?b="audit":bt("NODE_ENV")==="development"&&(b="development");let A=Dd({telemetry:w,sessionMetrics:R,mode:b,events:g});z("Syntro Bootstrap","Runtime created:",{version:A.version,mode:A.mode,hasContext:!!A.context,hasEvents:!!A.events,hasState:!!A.state}),z("Syntro Bootstrap","Core app executors already registered");let $=r.cdnBase||bt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||bt("VITE_SYNTRO_CDN_BASE")||Cv()||"https://cdn.syntrologie.com",N=xc({cdnBase:$,registry:A.apps,onLoadStart:C=>{z("Syntro Bootstrap",`Loading app from CDN: ${C}`)},onLoadEnd:(C,P,G)=>{P?z("Syntro Bootstrap",`App loaded successfully: ${C}`):Je("Syntro Bootstrap",`Failed to load app: ${C}`,G)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:A.apps,appLoader:N,runtime:A,version:A.version},z("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&N.loadApp("adaptive-mcp").catch(C=>{z("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",C)});let M=A.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${M.length} apps in registry:`,M.map(C=>`${C.manifest.id}(${C.state})`).join(", "));for(let C of M)if(C.state==="registered")try{await A.apps.activate(C.manifest.id),console.log(`[DIAG] Activated: ${C.manifest.id} \u2192 widgets: [${A.widgets.list().join(", ")}]`)}catch(P){console.error(`[DIAG] FAILED to activate: ${C.manifest.id}`,P),Je("Syntro Bootstrap",`Failed to auto-activate built-in app: ${C.manifest.id}`,P)}if(console.log(`[DIAG] Activation complete. Total widgets: [${A.widgets.list().join(", ")}]`),v?.refreshFeatures)try{await v.refreshFeatures(),z("Syntro Bootstrap","GrowthBook features loaded")}catch(C){Je("Syntro Bootstrap","Failed to load GrowthBook features:",C)}let K=await h;if(v&&Object.keys(K).length>0){let C={...c,...K,...u};z("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",K),v.setAttributes?.(C)}let L=await f;L&&v&&(c.surface_type="mcp-app",c.surface_host=L.name,v.setAttributes?.({...c,...K}),z("Syntro Bootstrap","MCP App detected:",L.name));let O;if(r.fetcher)O=r.fetcher;else if(n?.f){let C=yy(n.f,n.o??{});O=async()=>{let P=await C.fetch();return{...P.config,tiles:P.config.tiles??[]}}}else v&&(O=qn({experiments:v}));let q=new Set,Y=O?async()=>{let C=await O(),P=C.tiles?.length??0,G=C.actions?.length??0,pe=C.meta?.variant_id;if((P>0||G>0)&&(pe||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),w&&pe){let Ee=new Ws(w,pe);Ee.trackServed(P,G),typeof window<"u"&&(window.SynOS.interventionTracker=Ee),A.navigation.subscribe(()=>{Ee.resetPage()})}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${C.tiles?.length??0},`,`actions=${C.actions?.length??0},`,`theme=${C.theme?.name??"none"}`),C.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",C.actions.map((Ee,kt)=>`[${kt}] ${Ee.kind}${Ee.anchorId?` anchor="${Ee.anchorId.selector}"`:""}${Ee.label?` "${Ee.label}"`:""}`).join(", "));let ce=C,Be=N.getRequiredApps(ce);return Be.length>0?console.log("[Syntro Bootstrap] Required external apps:",Be.join(", ")):z("Syntro Bootstrap","No external apps required (all executors are built-in)"),Be.length>0&&await N.loadAppsForConfig(ce).then(async kt=>{let St=kt.filter(Me=>Me.success),Vl=kt.filter(Me=>!Me.success);St.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${St.map(Me=>Me.appId).join(", ")}`);let Ai=Vl.filter(Me=>!q.has(Me.appId));Ai.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",Ai.map(Me=>`${Me.appId} (${Me.error})`).join(", ")),Ai.forEach(Me=>q.add(Me.appId)));for(let Me of Be)if(A.apps.has(Me))try{await A.apps.activate(Me),console.log(`[Syntro Bootstrap] App activated: ${Me}`)}catch(Lt){console.error(`[Syntro Bootstrap] Failed to activate app: ${Me}`,Lt)}else console.error(`[Syntro Bootstrap] App "${Me}" required by config but NOT registered.`,`Available apps: [${Array.from(A.apps.list?.()??[]).join(", ")}]`)}),C}:void 0;if(x){z("Syntro Bootstrap",`Detected platform: ${x.name}`);try{await x.onInit(),z("Syntro Bootstrap",`Platform adapter initialized: ${x.name}`)}catch(C){Je("Syntro Bootstrap",`Platform adapter init failed: ${x.name}`,C)}}return{canvas:await Wu({...r.canvas,fetcher:Y,integrations:{experiments:v,telemetry:w},editorUrl:o,runtime:A}),runtime:A,experiments:v,telemetry:w,sessionMetrics:R,appLoader:N}}async function VC(r){try{return await Hb(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function jC(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function WC(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var Bb={init:VC,loadAdaptive:WC,encodeToken:zu,decodeToken:Ts,events:{emit:jC}};typeof window<"u"&&(window.Syntro=Bb);function bo(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function $N(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=bo(i),o=bo(wr);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${wr}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${wr}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:UC(n,i)}):{valid:!0,warnings:e,errors:t}}function UC(r,e){let t={...r};return bo(e).major===1&&(t=zC(t)),t.schemaVersion=wr,t}function zC(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function MN(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=bo(t),i=bo(wr);return n.major<i.major||!e.schemaVersion}var qC=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),ZC=d.object({url:d.string(),ts:d.number()}),GC=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(ZC).optional()}),KC=d.object({width:d.number(),height:d.number()}),YC=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),XC=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:YC.optional()}),JC=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),QC=d.object({page:qC,session:GC,viewport:KC,anchors:d.array(XC).optional(),augmented:JC.optional()});function NN(r){return QC.safeParse(r)}var Th=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var Ih=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var $h=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var Vb=d.enum(["posthog","canvas","derived"]),eA=d.object({ts:d.number(),name:d.string(),source:Vb,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),tA=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(Vb).optional()});function sL(r){return eA.safeParse(r)}function oL(r){return tA.safeParse(r)}var jb=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),rA=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:jb,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),nA=d.object({kind:d.literal("highlight"),id:d.string(),anchor:jb,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),Mh=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([rA,nA]))});function xL(r){return Mh.parse(r)}var EL=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=Kc({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return Mh.parse(o)};var iA=d.object({value:d.unknown(),expiresAt:d.number().optional()}),sA=d.object({count:d.number(),resetAt:d.number().optional()});function RL(r){return iA.safeParse(r)}function TL(r){return sA.safeParse(r)}var Wb="2026-04-26T22:16:51.492Z (df710eefb21)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${Wb} (Lit)`);let r=window.SynOS,e=r?.appRegistry||Yi;window.SynOS={...r,appRegistry:e,_runtimeBuild:Wb,_renderer:"lit"},va(),qg(e)}export{js as ANIMATION_KEYFRAMES,Ia as ActivationConfigZ,Ym as AddClassZ,_t as AnchorIdZ,XC as AnchorStateZ,Ru as AnchorVisibleConditionZ,Ki as AppRegistry,JC as AugmentationZ,Hm as BadgePositionZ,rv as BadgeZ,YC as BoundingBoxZ,cs as CanvasEvents,Mh as CanvasRecipeZ,$r as ConditionZ,nl as ContextManager,Pu as CooldownActiveConditionZ,bs as CounterDefZ,Hu as CtaButtonZ,Uc as DEFAULT_COOLDOWN,Th as DecisionController,Cs as DecisionStrategyZ,Ou as DismissedConditionZ,Ie as EVENT_SCHEMA_VERSION,Na as EventBus,Lu as EventCountConditionZ,tA as EventFilterZ,$s as EventHistory,Tu as EventOccurredConditionZ,Vb as EventSourceZ,ba as ExecutorRegistry,Es as ExternalStrategyZ,sA as FrequencyEntryZ,Nu as FrequencyLimitConditionZ,nA as HighlightStepZ,Dm as HighlightStyleZ,ev as HighlightZ,Qm as InsertHtmlZ,Wm as InsertPositionZ,Ws as InterventionTracker,Wc as MAX_VISIBLE_TOASTS,_s as MatchOpZ,jm as ModalContentZ,iv as ModalZ,Ss as ModelStrategyZ,av as MountWidgetZ,ov as NavigateZ,Ds as NavigationMonitor,eA as NormalizedEventZ,ls as NotificationsController,qC as PageContextZ,ZC as PageHistoryEntryZ,Cu as PageUrlConditionZ,uv as ParallelZ,Bm as PlacementZ,tv as PulseZ,Wb as RUNTIME_SDK_BUILD,Py as RUNTIME_VERSION,Xm as RemoveClassZ,Au as RouteConditionZ,Fm as RouteFilterZ,ws as RuleStrategyZ,xs as RuleZ,QC as RuntimeContextZ,Ih as RuntimeController,$h as RuntimeEventsController,wr as SDK_SCHEMA_VERSION,Gc as SDK_VERSION,Iy as STATIC_SLOT_STYLES,ks as ScoreStrategyZ,Zm as ScrollBehaviorZ,Du as ScrollLogicalPositionZ,sv as ScrollToZ,jb as SelectorZ,cv as SequenceZ,GC as SessionContextZ,Mu as SessionMetricConditionZ,Qa as SessionMetricTracker,Km as SetAttrZ,Jm as SetStyleZ,Gm as SetTextZ,Yc as SmartCanvasController,Gn as SmartCanvasElementLit,We as StandardEvents,Iu as StateEqualsConditionZ,ol as StateStore,iA as StoredValueZ,Bb as Syntro,us as ThemeController,Vm as TooltipContentZ,rA as TooltipStepZ,Um as TooltipTriggerZ,nv as TooltipZ,qm as TourStepForSchemaZ,dv as TourZ,Ta as TriggerWhenZ,$u as ViewportConditionZ,KC as ViewportContextZ,lv as WaitZ,zm as WidgetConfigZ,ll as WidgetRegistry,Rd as applyStaticSlotStyles,BS as coreActionStepSchemas,wu as createActionEngine,Bu as createAnchorResolver,qn as createCanvasConfigFetcher,xd as createContextManager,wd as createDecisionEngine,kd as createEventAccumulator,Is as createEventBus,gd as createGrowthBookClient,Bd as createNoopClient,EL as createOverlayRecipeFetcher,Rh as createPostHogClient,Yg as createPostHogNormalizer,yd as createSessionMetricTracker,Wu as createSmartCanvas,rm as createSmartCanvasController,Dd as createSmartCanvasRuntime,Ad as createStateStore,Od as createSurfaceContainer,Nd as createSurfaces,MM as decisionSchemas,Ts as decodeToken,zu as encodeToken,Ey as evaluate,wy as evaluateCondition,ky as evaluateRule,il as evaluateRuleStrategy,sl as evaluateScoreStrategy,Cy as evaluateSync,tr as executorRegistry,VS as getAntiFlickerSnippet,gk as getExecutor,al as getSlotAnchorId,Vs as getSlotType,Pd as getSlotZIndex,ou as hasExecutor,MN as needsMigration,os as normalizePostHogEvent,bo as parseVersion,$d as playEnterAnimation,Md as playExitAnimation,Zn as registerConfigPredicates,va as registerSmartCanvasElement,Kc as resolveConfigUri,ck as runtimeContext,Td as setupAdjacentPositioning,Id as setupInlinePositioning,as as shouldNormalizeEvent,Ht as validateAction,ka as validateActions,$M as validateActivationConfig,TM as validateCondition,$N as validateConfig,oL as validateEventFilter,Ku as validateEventName,TL as validateFrequencyEntry,sL as validateNormalizedEvent,Yu as validateProps,xL as validateRecipe,NN as validateRuntimeContext,RL as validateStoredValue,IM as validateStrategy,Ld as widgetRegistry};
1010
+ `)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),Nt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},R1=!!op||!!sp,__="text/plain",Ol=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=V({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=t1(o);return l&&a.push(l),i+"?"+a.join("&")},so=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Jd=r=>{var{data:e,compression:t}=r;if(e){if(t===hr.GZipJS){var n=C1((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new wt(l.length+(l.length>>>1)),h=0,f=function(y){p[h++]=y},v=0;v<u;++v){if(h+5>p.length){var m=new wt(h+8+(u-v<<1));m.set(p),p=m}var g=l.charCodeAt(v);g<128||c?f(g):g<2048?(f(192|g>>>6),f(128|63&g)):g>55295&&g<57344?(f(240|(g=65536+(1047552&g)|1023&l.charCodeAt(++v))>>>18),f(128|g>>>12&63),f(128|g>>>6&63),f(128|63&g)):(f(224|g>>>12),f(128|g>>>6&63),f(128|63&g))}return Mb(p,0,h)})(so(e)),{mtime:0}),i=new Blob([n],{type:__});return{contentType:__,body:i,estimatedSize:i.size}}if(t===hr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,g=0,y="",x=[];if(!l)return l;l=A1(l);do c=(f=l.charCodeAt(m++)<<16|l.charCodeAt(m++)<<8|l.charCodeAt(m++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[g++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(m<l.length);switch(y=x.join(""),l.length%3){case 1:y=y.slice(0,-2)+"==";break;case 2:y=y.slice(0,-1)+"="}return y})(so(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:so(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=so(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},ml=[];sp&&ml.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Jd(r))!==null&&e!==void 0?e:{},o=new Headers;xe(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(Hy){var c=new Hy;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}sp(a,V({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){B.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{B.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),op&&ml.push({transport:"XHR",method:r=>{var e,t=new op;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Jd(r))!==null&&e!==void 0?e:{};xe(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),dt!=null&&dt.sendBeacon&&ml.push({transport:"sendBeacon",method:r=>{var e=Ol(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Jd(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;dt.sendBeacon(e,s)}catch{}}});var Pl=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function b_(r,e,t){return so({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Ob={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Pl(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Pl(t,n))))),icontains:(r,e)=>e.map(fl).some((t=>r.map(fl).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(fl).every((t=>r.map(fl).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},fl=r=>r.toLowerCase();function Pb(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Nt(s))return!1;var o=[String(s)],a=Ob[i.operator];return!!a&&a(i.values,o)}))}var Qd=Te("[Error tracking]"),Kp=class{constructor(e){var t,n;this.Zt=[],this.ti=new fp([new mp,new kp,new yp,new vp,new xp,new bp,new _p,new wp],FC()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(Ep))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[Ep]:this.Zt,[Jy]:o})}get ii(){var e,t=!!this._instance.get_property(Jy),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void Qd.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Qd.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Qd.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return Ne(s)&&s.length>0&&n.$exception_types.push(s),Ne(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=Ob[s.operator],l=fe(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!ue(e)&&fe(e)}},ut=Te("[FeatureFlags]"),Ys=Te("[FeatureFlags]",{debugEnabled:!0}),ep="$active_feature_flags",fi="$override_feature_flags",x_="$feature_flag_payloads",Xs="$override_feature_flag_payloads",w_="$feature_flag_request_id",k_="$feature_flag_evaluated_at",S_=r=>{var e={};for(var[t,n]of gl(r||{}))n&&(e[t]=n);return e},T1=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):ut.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},I1=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Yp=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(ut.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||ut.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(Cp),t=this._instance.get_property(fi),n=this._instance.get_property(Xs);if(!n&&!t)return e||{};var i=$e({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=H(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=H(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=V({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=V({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(ut.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(bi),t=this._instance.get_property(fi);if(!t)return e||{};for(var n=$e({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(ut.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(x_),t=this._instance.get_property(Xs);if(!t)return e||{};for(var n=$e({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(ut.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:V({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(io)||{}),group_properties:this._instance.get_property(On)};Nt(i)||H(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Rb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:hr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(I1.FeatureFlags))ut.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}ut.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(w_)||void 0,c=this._instance.get_property(k_)||void 0,u=this._instance.get_property(xl)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,m,g,y,x,k;fe(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[xl]:u});var _=this.getFeatureFlagDetails(e),w={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};H(_==null||(v=_.metadata)==null?void 0:v.version)||(w.$feature_flag_version=_.metadata.version);var R,b=(m=_==null||(g=_.reason)==null?void 0:g.description)!==null&&m!==void 0?m:_==null||(y=_.reason)==null?void 0:y.code;b&&(w.$feature_flag_reason=b),_!=null&&(x=_.metadata)!=null&&x.id&&(w.$feature_flag_id=_.metadata.id),H(_?.original_variant)&&H(_?.original_enabled)||(w.$feature_flag_original_response=H(_.original_variant)?_.original_enabled:_.original_variant),_!=null&&(k=_.metadata)!=null&&k.original_payload&&(w.$feature_flag_original_payload=_==null||(R=_.metadata)==null?void 0:R.original_payload),this._instance.capture("$feature_flag_called",w)}if(i){var A=o;if(!H(o))try{A=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:A}}}else ut.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:hr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return H(n)?void 0:!!n}ut.warn('isFeatureEnabled for key "'+e+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this._instance.persistence){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=T1(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var m=o.requestId,g=o.evaluatedAt;if(fe(f)){ut.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var y={};if(f)for(var x=0;x<f.length;x++)y[f[x]]=!0;a&&a.register({[ep]:f,[bi]:y})}else{var k=f,_=v,w=h;if(o.errorsWhileComputingFlags)if(h){var R=new Set(Object.keys(h).filter((b=>{var A;return!((A=h[b])!=null&&A.failed)})));k=V({},l,Object.fromEntries(Object.entries(k).filter((b=>{var[A]=b;return R.has(A)})))),_=V({},c,Object.fromEntries(Object.entries(_||{}).filter((b=>{var[A]=b;return R.has(A)})))),w=V({},u,Object.fromEntries(Object.entries(w||{}).filter((b=>{var[A]=b;return R.has(A)}))))}else k=V({},l,k),_=V({},c,_),w=V({},u,w);a&&a.register(V({[ep]:Object.keys(S_(k)),[bi]:k||{},[x_]:_||{},[Cp]:w||{}},m?{[w_]:m}:{},g?{[k_]:g}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),ut.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return ut.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(fi),this._instance.persistence.unregister(Xs),this.wi(),Ys.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(fi),Ys.info("Flag overrides cleared");else if(n.flags){if(fe(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[fi]:i})}else this._instance.persistence.register({[fi]:n.flags});Ys.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(Xs),Ys.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[Xs]:n.payloads}),Ys.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(no)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=V({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[ep]:Object.keys(S_(l)),[bi]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(no),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(no),(l=this._instance.persistence)==null||l.register({[no]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(io)||{};this._instance.register({[io]:V({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(io)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(On)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=V({},n[i],e[i]),delete e[i]})),this._instance.register({[On]:V({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(On)||{};this._instance.register({[On]:V({},t,{[e]:{}})})}else this._instance.unregister(On)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},$1=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],co=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&B.info("Persistence loaded",e.persistence,V({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){$1.indexOf(e.persistence.toLowerCase())===-1&&(B.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...l1,...i];return V({},Ae,{W:function(o){try{var a={};try{a=zt.W(o)||{}}catch{}var l=$e(a,JSON.parse(Ae.q(o)||"{}"));return Ae.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Ae.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&zt.G(o,h,l,c,u,p)}catch(f){Ae.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),zt.V(o,a)}catch(l){Ae.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Ae.H()?Ae:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&ze.H()?ze:n==="memory"?c1:n==="cookie"?zt:t.H()?t:zt}properties(){var e={};return xe(this.props,(function(t,n){if(n===bi&&Pe(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(Nt(o=zC)?l:Dy&&o.indexOf===Dy?o.indexOf(a)!=-1:(xe(o,(function(c){if(l||(l=c===a))return _l})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=$e({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(Pe(e)){H(t)&&(t="None"),this.Pi=H(n)?this.Ci:n;var i=!1;if(xe(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(Pe(e)){this.Pi=H(t)?this.Ci:t;var n=!1;if(xe(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=wb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);_i(wh(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?Sb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:Eb(),$referring_domain:D!=null&&D.referrer&&((e=Cl(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Ip]||this.props[$p]||this.register_once({[wl]:Cb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};xe([$p,Ip],(o=>{var a=this.props[o];a&&xe(a,(function(l,c){e["$initial_"+ap(c)]=l}))}));var t,n,i=this.props[wl];if(i){var s=(t=Ab(i),n={},xe(t,(function(o,a){n["$initial_"+ap(a)]=o})),n);$e(e,s)}return e}safe_merge(e){return xe(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[ro]||{};n[e]=t,this.props[ro]=n,this.save()}remove_event_timer(e){var t=(this.props[ro]||{})[e];return H(t)||(delete this.props[ro][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},E_=Te("[Product Tours]"),tp="ph_product_tours",Xp=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[e_]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(e_)||this.it((()=>this.Oi()))}it(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?E_.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=X.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=X.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!fe(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[tp];if(fe(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return E_.error(a),void e([],{isLoaded:!1,error:a})}var l=fe(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[tp]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){ue(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(tp)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},Js=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),eN=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),tN=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),rN=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),rp=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),nN=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),iN=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),sN=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),oo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),np=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),Jp=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),be=Te("[Surveys]"),Nb="seenSurvey_",M1=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},C_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(Nb,r),O1=[rp.Popover,rp.Widget,rp.API],P1={ignoreConditions:!1,ignoreDelay:!1,displayType:Jp.Popover},vo=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function gi(r,e,t){if(ue(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var Qp=class{constructor(e){this.Ai=new vo,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!H((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!H((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!gi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>gi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&gi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>gi(c.text,t.text,t.text_matching||"exact")||gi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!ue(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>gi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||Pb(t.properties.reduce(((n,i)=>{var s=fe(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},eh=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&Pb(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===Js.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;H((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new Qp(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,Js.Activation),this.Yi=this.Zi(e,Js.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,Js.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var m=a.indexOf(v.id);m>=0&&a.splice(m,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,Js.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},th=class extends eh{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return oo.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return be}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},rh=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(ue(t))return be.warn("Flags not loaded yet. Not loading surveys.");var n=fe(t);this.ve=n?t.length>0:t,be.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(Nb)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)be.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)be.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())be.info("Not loading surveys in cookieless mode without consent.");else{var e=X?.__PosthogExtensions__;if(e){if(!H(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else be.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new th(this._instance),be.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){be.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return be.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(Ap);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;be.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(m){return!(!m.start_date||m.end_date)})(v)&&((function(m){var g;return!((g=m.conditions)==null||(g=g.events)==null||(g=g.values)==null||!g.length)})(v)||(function(m){var g;return!((g=m.conditions)==null||(g=g.actions)==null||(g=g.values)==null||!g.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[Ap]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){be.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!ue(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);be.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(ue(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(ue(this._surveyManager))return be.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return ue(this._surveyManager)?(be.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(ue(this._surveyManager))be.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(O1.includes(s.type)){var o=D?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(be.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;be.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),be.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);be.warn("Survey element not found")}else be.warn("Surveys of type "+s.type+" cannot be rendered in the app");else be.warn("Survey not found")}}displaySurvey(e,t){var n;if(ue(this._surveyManager))be.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=V({},i,{appearance:V({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==Jp.Popover&&t.initialResponses&&be.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void be.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==Jp.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else be.warn("Survey not found")}}cancelPendingSurvey(e){ue(this._surveyManager)?be.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},cr=Te("[Conversations]"),nh=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;ue(t)||(gr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=X?.__PosthogExtensions__;if(e&&!H(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else cr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),cr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else cr.error("Cannot complete initialization: remote config is null")}Se(e,t){cr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():cr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Nt(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return yi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(cr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return yi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(cr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return yi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(cr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return yi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(cr.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},ih=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!ue(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Te("[logs]"),t=X?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},A_=Te("[RateLimiter]"),sh=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{A_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void A_.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(Tp))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(Tp,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},Mn=Te("[RemoteConfig]"),oh=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=X._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=X.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):(Mn.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return Mn.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void Mn.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return Mn.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){Mn.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):Mn.info("__preview_remote_config is disabled. Logging config instead",e):Mn.error("Failed to fetch remote config from PostHog.")}},ah=3e3,lh=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=qt(t?.flush_interval_ms||ah,250,5e3,B.createLogger("flush interval"),ah),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(V({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&fe(s.data)&&xe(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return xe(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;H(e[s])&&(e[s]=V({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},N1=["retriesPerformedSoFar"],ch=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!H(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},Oe(E,"online",this.ze),Oe(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=O_(e,N1);mi(t)&&(n.url=Ol(n.url,{retry_count:t})),this._instance._send_request(V({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(V({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),B.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,H(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(V({},e,{transport:"sendBeacon"}))}catch(t){B.error(t)}this.Re=[]}},uh=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){Oe(E,"scroll",this.Ge,{capture:!0}),Oe(E,"scrollend",this.Ge,{capture:!0}),Oe(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=fe(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollTop||0}return E&&(E.scrollY||E.pageYOffset||E.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},L1=r=>Cb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Nl=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[Rp]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||L1,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Rp]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Ab(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return xe(wh(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+ap(n)]=t})),e}},ip=Te("[SessionId]"),Ll=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new vo,this.er=(u,p)=>!(!mi(u)||!mi(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||Br,this.ar=n||Br;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*qt(o,60,36e3,ip.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=ze.W(this.ur),l=ze.W(this.hr);a&&!l?this.rr=a:ze.V(this.ur),ze.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){ip.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&ze.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&ze.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?ze.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[bl]:[t,e,n]}))}_r(){var e=this.Xe.props[bl];return fe(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&ze.V(this.hr)},Oe(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=mi(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),ip.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=mi(i)&&e&&!l?i:n,f=mi(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},F1=["$set_once","$set"],Dr=Te("[SiteApps]"),dh=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=X._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:m}=e;return{event:V({},O_(e,F1),{properties:V({},e.properties,m?{$set:V({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},m)}:{},v?{$set_once:V({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(Dr.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,Dr.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){Dr.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){Dr.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){Dr.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void Dr.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;X["__$$ph_site_app_"+c]=s._instance,(u=X.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return Dr.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else Dr.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Lb=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&Vy(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>Vy(i?.brand,e))))return!0}catch{}return!!r.webdriver},ao=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),R_="i.posthog.com",ph=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+R_,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=ao.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=ao.EU:this.Sr[this.apiHost]=ao.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===ao.CUSTOM)return this.apiHost+t;var n=R_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},D1={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Pl(e.href,r),not_regex:(r,e)=>!!E&&!Pl(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},hh=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);Ne(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(ue(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Al(e?.search,"__experiment_id"),n=Al(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!ue(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(ue(e.conditions)||ue((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||D1[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(ue(e.conditions)||ue((t=e.conditions)==null?void 0:t.utm))return!0;var n=wb();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,m=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&m&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];B.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return dt&&this._instance?Lb(dt,this._instance.config.custom_blocked_useragents):void 0}},H1=Te("[PostHog ExternalIntegrations]"),B1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},fh=class{constructor(e){this._instance=e}it(e,t){var n;(n=X.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return H1.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=X.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(B1[o],(()=>{var u;(u=X.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=X.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=X.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},gh="[SessionRecording]",Qs=Te(gh),Fl=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw Qs.error("started without valid sessionManager"),new Error(gh+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(gh+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(zd))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!H(Object.assign)&&!H(Array.from);this.Ar&&n?(this.Dr(e),Qs.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(X!=null&&(t=X.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=X.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=X.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return Qs.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(sb)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=ue(a)?null:parseFloat(a);ue(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[zd]:V({enabled:!!o},o,{networkPayloadCapture:V({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:H(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:Qs.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):Qs.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(zd);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=X.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=X.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},uo={},mh=()=>{},vi="posthog",Fb=!R1&&st?.indexOf("MSIE")===-1&&st?.indexOf("Mozilla")===-1,T_=r=>{var e;return V({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:UC(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:mh,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:qe&&Ne(qe?.search)&&qe.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;B.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:ah},error_tracking:{},_onCapture:mh,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},I_=r=>{var e={};H(r.process_person)||(e.person_profiles=r.process_person),H(r.xhr_headers)||(e.request_headers=r.xhr_headers),H(r.cookie_name)||(e.persistence_name=r.cookie_name),H(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),H(r.store_google)||(e.save_campaign_params=r.store_google),H(r.verbose)||(e.debug=r.verbose);var t=$e({},e,r);return fe(r.property_blacklist)&&(H(r.property_denylist)?t.property_denylist=r.property_blacklist:fe(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:B.error("Invalid value for property_denylist config: "+r.property_denylist)),t},vh=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){B.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Dl=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new vh,this.Br=!1,this.version=ur.LIB_VERSION,this.qr=new vo,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=T_(),this.SentryIntegration=Bp,this.sentryIntegration=e=>(function(t,n){var i=xb(t,n);return{name:bb,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new Yp(this),this.toolbar=new Vp(this),this.scrollManager=new uh(this),this.pageViewManager=new Il(this),this.surveys=new rh(this),this.conversations=new nh(this),this.logs=new ih(this),this.experiments=new hh(this),this.exceptions=new Kp(this),this.rateLimiter=new sh(this),this.requestRouter=new ph(this),this.consent=new Fp(this),this.externalIntegrations=new fh(this),this.people={set:(e,t,n)=>{var i=Ne(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=Ne(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>B.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==vi){var i,s=(i=uo[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),uo[n]=s,uo[vi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||lp(e))return B.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config($e({},T_(t.defaults),I_(t),{name:n,token:e})),this.config.on_xhr_error&&B.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:hr.GZipJS;var s=this.Qr();this.persistence=new co(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new co(V({},this.config,{persistence:"sessionStorage"}),s);var o=V({},this.persistence.props),a=V({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new lh((x=>this.ts(x)),this.config.request_queue_config),this.es=new ch(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new Ll(this),this.sessionPropsManager=new Nl(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(B.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(B.info("Initializing extensions synchronously"),this.rs(l)),ur.DEBUG=ur.DEBUG||this.config.debug,ur.DEBUG&&B.info("Starting in debug mode",{this:this,config:t,thisC:V({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(Br()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(dr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,m=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var k;return!((k=t.bootstrap)==null||(k=k.featureFlags)==null||!k[x])})).reduce(((x,k)=>{var _;return x[k]=((_=t.bootstrap)==null||(_=_.featureFlags)==null?void 0:_[k])||!1,x}),{}),g=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>m[x])).reduce(((x,k)=>{var _,w;return(_=t.bootstrap)!=null&&(_=_.featureFlagPayloads)!=null&&_[k]&&(x[k]=(w=t.bootstrap)==null||(w=w.featureFlagPayloads)==null?void 0:w[k]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:m,featureFlagPayloads:g})}if(l)this.register_once({distinct_id:zs,$device_id:null},"");else if(!this.get_distinct_id()){var y=this.config.get_device_id(Br());this.register_once({distinct_id:y,$device_id:y},""),this.persistence.set_property(dr,"anonymous")}return Oe(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?p1(this,(()=>this.ns())):this.ns(),Vr(this.config._onCapture)&&this.config._onCapture!==mh&&(B.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&B.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new Hp(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new jp(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new dh(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Fl(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Op(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Xp(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new Up(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new Wp(this)})),n.push((()=>{this.exceptionObserver=new Dp(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Tl(this,d1),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){B.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&B.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!D||!D.body)return B.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=le(e.supportedCompression,hr.GZipJS)?hr.GZipJS:le(e.supportedCompression,hr.Base64)?hr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){B.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&qe!=null&&qe.hostname){var e=qe.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new oh(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&jr(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Fb?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Ol(e.url,{ip:this.config.ip?1:0}),e.headers=V({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=V({},t);o.timeout=o.timeout||6e4,o.url=Ol(o.url,{_:new Date().getTime().toString(),ver:ur.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=ml.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=rb(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(V({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];jr(e,(a=>{a&&(t=a[0],fe(t)?s.push(a):Vr(a)?a.call(this):fe(a)&&t==="alias"?n.push(a):fe(a)&&t.indexOf("capture")!==-1&&Vr(this[t])?s.push(a):i.push(a))}));var o=function(a,l){jr(a,(function(c){if(fe(c[0])){var u=l;xe(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!H(e)&&Ne(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!Ne(t?.$current_url)&&(B.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=Br(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=jC(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,H(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===oo.DISMISSED||e===oo.SENT){var v=t?.[np.SURVEY_ID],m=t?.[np.SURVEY_ITERATION];p={id:v,current_iteration:m},localStorage.getItem(C_(p))||localStorage.setItem(C_(p),"true"),u.$set=V({},u.$set,{[M1({id:v,current_iteration:m},e===oo.SENT?"responded":"dismissed")]:!0})}else e===oo.SHOWN&&(u.$set=V({},u.$set,{[np.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var g=V({},u.properties.$set,u.$set);if(_i(g)||this.setPersonPropertiesForFlags(g),!ue(this.config.before_send)){var y=this.cs(u);if(!y)return;u=y}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}B.critical("This capture call is ignored due to client rate limiting.")}}else B.error("No event name provided to posthog.capture")}else B.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=V({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=V({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!Ne(a.distinct_id)&&!mr(a.distinct_id)||lp(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=y1(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&$e(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&$e(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(y){a.$sdk_debug_error_capturing_properties=String(y)}if(this.requestRouter.region===ao.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=$e(a,c),e==="$pageview"&&D&&(a.title=D.title),!H(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}st&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=$e({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),fe(this.config.property_denylist)?xe(this.config.property_denylist,(function(y){delete a[y]})):B.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var m=this.config.sanitize_properties;m&&(B.error("sanitize_properties is deprecated. Use before_send instead"),a=m(a,e));var g=this.fs();return a.$process_person_profile=g,g&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=$e({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(B.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),_i(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=V({},i,e),a=V({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:H(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=P1),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return B.uninitializedWarning("posthog.identify");if(mr(e)&&(e=e.toString(),B.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))B.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(e!==zs){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(to)&&(this.unregister(to),this.register({distinct_id:e}));var o=(this.persistence.get_property(dr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(dr,"identified"),this.setPersonPropertiesForFlags(V({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=b_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(xl))}}else B.critical('The string "'+zs+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else B.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=b_(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(V({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):B.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:V({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else B.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(B.info("reset"),!this.__loaded)return B.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(dr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:zs,$device_id:null},"");else{var a=this.config.get_device_id(Br());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(nb)?(B.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(to,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(B.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=V({},this.config);if(Pe(e)){var n,i,s,o,a,l,c;$e(this.config,I_(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new co(V({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);gr(p)&&(this.config.debug=p),gr(this.config.debug)&&(this.config.debug?(ur.DEBUG=!0,Ae.H()&&Ae.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:V({},this.config)})):(ur.DEBUG=!1,Ae.H()&&Ae.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(V({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:vi;return t!==vi&&(t=vi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(dr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(dr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&_i(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[to])&&((t=this.persistence)==null||(t=t.props)==null||!t[kl]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(B.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(kl,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new Ll(this),this.pageViewManager=new Il(this),this.persistence&&(this.sessionPropsManager=new Nl(this,this.sessionManager,this.persistence)),this.sessionRecording=new Fl(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(H(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:zs,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===pr.GRANTED?"granted":e===pr.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return dt?Lb(dt,this.config.custom_blocked_useragents):void 0}hs(){D&&(D.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:D.title},{send_instantly:!0}),this.Gr&&(D.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),Oe(D,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(E?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(B.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=B,o=(t="advanced_disable_flags")in(e=l)&&!ue(e[t]),a=n in e&&!ue(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(ue(this.config.before_send))return e;var t=fe(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),ue(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return gC(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!_i(n.properties)||B.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=gr(e)&&!e,n=Ae.H()&&Ae.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=VC(r.prototype[e[t]])})(Dl,["identify"]);var $_;var Db=($_=uo[vi]=new Dl,(function(){function r(){r.done||(r.done=!0,Fb=!1,xe(uo,(function(e){e._dom_loaded()})))}D!=null&&D.addEventListener?D.readyState==="complete"?r():Oe(D,"DOMContentLoaded",r,{capture:!1}):E&&B.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),$_);var Rh=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0},a=Db.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function Th(r={}){return new Rh(r)}var Hb={posthog:r=>Th(r),noop:()=>Vd()};function Bb(r,e){let t=Hb[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(Hb).join(", ")}`);return t(e)}async function Vb(r){lu(),z("Syntro Bootstrap","====== INIT ======"),z("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Pa();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",Ts()),console.log("[DIAG] editorConf:",Oa()),z("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let C=!!window.__SYNTRO_EDITOR_PARAMS__,P=!!window.__SYNTRO_AUDIT_LEGEND__,G=!!window.__SYNTRO_REVIEW_DATA__;if(C||P||G){let pe=[C&&"__SYNTRO_EDITOR_PARAMS__",P&&"__SYNTRO_AUDIT_LEGEND__",G&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${pe.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let P=Oa()?.syntro_token;P?.startsWith("syn_")&&(t=P,z("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))z("Syntro Bootstrap","Token starts with syn_, decoding..."),n=Is(t),lu(n.d);else if(e)z("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw xa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),xa("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)z("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw xa("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=bt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||bt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=bt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||bt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th,o=bt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||bt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||bt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||bt("VITE_SYNTRO_GEO_HOST")||Av,l=Sv(),c=Zu(),u=r.appSignalsInit??{},p={...c,...l,...u};z("Syntro Bootstrap","Phase 1: Browser metadata:",c),z("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&z("Syntro Bootstrap","Phase 1: App signals:",u);let h=Gu(a),f=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(C=>{let P=setTimeout(()=>{window.removeEventListener("message",G),C(null)},500);function G(pe){let ce=pe.data;ce?.jsonrpc==="2.0"&&ce?.id===1&&ce?.result?.hostInfo&&(clearTimeout(P),window.removeEventListener("message",G),C(ce.result.hostInfo))}window.addEventListener("message",G);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(P),window.removeEventListener("message",G),C(null)}})})(),v,m=r.debug||r.testMode,g=$s({debug:r.debug,history:m?new Ms(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=nu({elementResolver:typeof window<"u"?(C,P)=>{let G=document.elementFromPoint(C,P);if(!G)return null;let pe={tag_name:G.tagName.toLowerCase()};G.id&&(pe.attr__id=G.id),G.className&&typeof G.className=="string"&&(pe.classes=G.className.split(" ").filter(Boolean));for(let ce of G.attributes)ce.name.startsWith("data-")&&(pe[`attr__${ce.name}`]=ce.value);return pe}:void 0});y.onEvent(C=>g.publishEvent(C)),typeof window<"u"&&(setInterval(()=>y.tick(Date.now()),1e3),document.addEventListener("click",C=>{let P=[],G=C.target;for(;G&&G!==document.body;){let pe={tag_name:G.tagName.toLowerCase()};for(let ce of G.attributes)(ce.name.startsWith("data-")||ce.name==="id"||ce.name==="class"||ce.name==="aria-label")&&(pe[`attr__${ce.name}`]=ce.value);P.push(pe),G=G.parentElement}y.enrichClickAttributes(Date.now(),P)},!0));let x=wy(),k,_=C=>{z("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let P=Cv(C);if(z("Syntro Bootstrap","Segment flags from PostHog:",P),Ev(P),v){let G=R?.getAll?.()??{},pe={...c,...G,...P,...u};z("Syntro Bootstrap","Updating GrowthBook with attributes:",pe),v.setAttributes?.(pe)}if(k&&w?.getDistinctId){let G=w.getDistinctId();G&&s&&n?.t&&k.updateContext({distinctId:G,telemetryHost:s,telemetryKey:n.t})}},w;if(n?.t){let C=n.t==="noop"?"noop":"posthog";w=Bb(C,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,onFeatureFlagsLoaded:_,onCapture:(G,pe)=>{y.ingest({kind:"posthog",event:G,properties:pe,timestamp:Date.now()})},onRRWebEvent:G=>{y.ingest(G)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${C}) with EventBus wiring`),Object.keys(u).length>0&&(w.track?.("app_signals_init",u),z("Syntro Bootstrap","Tracked app signals event:",u));let P=w;if(g.setPosthogCapture((G,pe)=>{P.track?.(G,pe)}),x?.name==="shopify"&&s)try{k=new nl({distinctId:w.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),z("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(G){Je("Syntro Bootstrap","ShopifyPixelBridge init failed",G)}}let R;n?.e&&(v=my("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(C,P,G)=>{w.trackExperiment(C,P,G)}:void 0})),R=_d({experiments:v,onMetricChange:(C,P)=>{z("Syntro Bootstrap",`Session metric changed: ${C} = ${P}`)}}),z("Syntro Bootstrap","SessionMetricTracker created");let b="production";e==="editor"?b="editor":e==="audit"?b="audit":bt("NODE_ENV")==="development"&&(b="development");let A=Hd({telemetry:w,sessionMetrics:R,mode:b,events:g});z("Syntro Bootstrap","Runtime created:",{version:A.version,mode:A.mode,hasContext:!!A.context,hasEvents:!!A.events,hasState:!!A.state}),z("Syntro Bootstrap","Core app executors already registered");let $=r.cdnBase||bt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||bt("VITE_SYNTRO_CDN_BASE")||Rv()||"https://cdn.syntrologie.com",N=wc({cdnBase:$,registry:A.apps,onLoadStart:C=>{z("Syntro Bootstrap",`Loading app from CDN: ${C}`)},onLoadEnd:(C,P,G)=>{P?z("Syntro Bootstrap",`App loaded successfully: ${C}`):Je("Syntro Bootstrap",`Failed to load app: ${C}`,G)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:A.apps,appLoader:N,runtime:A,version:A.version},z("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&N.loadApp("adaptive-mcp").catch(C=>{z("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",C)});let M=A.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${M.length} apps in registry:`,M.map(C=>`${C.manifest.id}(${C.state})`).join(", "));for(let C of M)if(C.state==="registered")try{await A.apps.activate(C.manifest.id),console.log(`[DIAG] Activated: ${C.manifest.id} \u2192 widgets: [${A.widgets.list().join(", ")}]`)}catch(P){console.error(`[DIAG] FAILED to activate: ${C.manifest.id}`,P),Je("Syntro Bootstrap",`Failed to auto-activate built-in app: ${C.manifest.id}`,P)}if(console.log(`[DIAG] Activation complete. Total widgets: [${A.widgets.list().join(", ")}]`),v?.refreshFeatures)try{await v.refreshFeatures(),z("Syntro Bootstrap","GrowthBook features loaded")}catch(C){Je("Syntro Bootstrap","Failed to load GrowthBook features:",C)}let K=await h;if(v&&Object.keys(K).length>0){let C={...c,...K,...u};z("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",K),v.setAttributes?.(C)}let L=await f;L&&v&&(c.surface_type="mcp-app",c.surface_host=L.name,v.setAttributes?.({...c,...K}),z("Syntro Bootstrap","MCP App detected:",L.name));let O;if(r.fetcher)O=r.fetcher;else if(n?.f){let C=by(n.f,n.o??{});O=async()=>{let P=await C.fetch();return{...P.config,tiles:P.config.tiles??[]}}}else v&&(O=ti({experiments:v}));let q=new Set,Y=O?async()=>{let C=await O(),P=C.tiles?.length??0,G=C.actions?.length??0,pe=C.meta?.variant_id;if((P>0||G>0)&&(pe||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),w&&pe){let Ee=new Us(w,pe);Ee.trackServed(P,G),typeof window<"u"&&(window.SynOS.interventionTracker=Ee),A.navigation.subscribe(()=>{Ee.resetPage()})}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${C.tiles?.length??0},`,`actions=${C.actions?.length??0},`,`theme=${C.theme?.name??"none"}`),C.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",C.actions.map((Ee,kt)=>`[${kt}] ${Ee.kind}${Ee.anchorId?` anchor="${Ee.anchorId.selector}"`:""}${Ee.label?` "${Ee.label}"`:""}`).join(", "));let ce=C,Be=N.getRequiredApps(ce);return Be.length>0?console.log("[Syntro Bootstrap] Required external apps:",Be.join(", ")):z("Syntro Bootstrap","No external apps required (all executors are built-in)"),Be.length>0&&await N.loadAppsForConfig(ce).then(async kt=>{let St=kt.filter(Me=>Me.success),jl=kt.filter(Me=>!Me.success);St.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${St.map(Me=>Me.appId).join(", ")}`);let Ri=jl.filter(Me=>!q.has(Me.appId));Ri.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",Ri.map(Me=>`${Me.appId} (${Me.error})`).join(", ")),Ri.forEach(Me=>q.add(Me.appId)));for(let Me of Be)if(A.apps.has(Me))try{await A.apps.activate(Me),console.log(`[Syntro Bootstrap] App activated: ${Me}`)}catch(Lt){console.error(`[Syntro Bootstrap] Failed to activate app: ${Me}`,Lt)}else console.error(`[Syntro Bootstrap] App "${Me}" required by config but NOT registered.`,`Available apps: [${Array.from(A.apps.list?.()??[]).join(", ")}]`)}),C}:void 0;if(x){z("Syntro Bootstrap",`Detected platform: ${x.name}`);try{await x.onInit(),z("Syntro Bootstrap",`Platform adapter initialized: ${x.name}`)}catch(C){Je("Syntro Bootstrap",`Platform adapter init failed: ${x.name}`,C)}}return{canvas:await Uu({...r.canvas,fetcher:Y,integrations:{experiments:v,telemetry:w},editorUrl:o,runtime:A}),runtime:A,experiments:v,telemetry:w,sessionMetrics:R,appLoader:N}}async function V1(r){try{return await Vb(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function j1(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function W1(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var jb={init:V1,loadAdaptive:W1,encodeToken:qu,decodeToken:Is,events:{emit:j1}};typeof window<"u"&&(window.Syntro=jb);function xo(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function FN(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=xo(i),o=xo(Ar);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${Ar}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${Ar}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:U1(n,i)}):{valid:!0,warnings:e,errors:t}}function U1(r,e){let t={...r};return xo(e).major===1&&(t=z1(t)),t.schemaVersion=Ar,t}function z1(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function DN(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=xo(t),i=xo(Ar);return n.major<i.major||!e.schemaVersion}var q1=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),Z1=d.object({url:d.string(),ts:d.number()}),G1=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(Z1).optional()}),K1=d.object({width:d.number(),height:d.number()}),Y1=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),X1=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:Y1.optional()}),J1=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),Q1=d.object({page:q1,session:G1,viewport:K1,anchors:d.array(X1).optional(),augmented:J1.optional()});function VN(r){return Q1.safeParse(r)}var Ih=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var $h=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var Mh=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var Wb=d.enum(["posthog","canvas","derived"]),eA=d.object({ts:d.number(),name:d.string(),source:Wb,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),tA=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(Wb).optional()});function dL(r){return eA.safeParse(r)}function pL(r){return tA.safeParse(r)}var Ub=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),rA=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:Ub,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),nA=d.object({kind:d.literal("highlight"),id:d.string(),anchor:Ub,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),Oh=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([rA,nA]))});function AL(r){return Oh.parse(r)}var $L=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=uu({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return Oh.parse(o)};var iA=d.object({value:d.unknown(),expiresAt:d.number().optional()}),sA=d.object({count:d.number(),resetAt:d.number().optional()});function PL(r){return iA.safeParse(r)}function NL(r){return sA.safeParse(r)}var zb="2026-04-27T17:01:56.826Z (e966e5fec4e)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${zb} (Lit)`);let r=window.SynOS,e=r?.appRegistry||Xi;window.SynOS={...r,appRegistry:e,_runtimeBuild:zb,_renderer:"lit"},Sa(),cm(e)}export{Ws as ANIMATION_KEYFRAMES,$a as ActivationConfigZ,Jm as AddClassZ,_t as AnchorIdZ,X1 as AnchorStateZ,Vc as AnchorVisibleConditionZ,Yi as AppRegistry,J1 as AugmentationZ,Vm as BadgePositionZ,iv as BadgeZ,Y1 as BoundingBoxZ,xs as CanvasEvents,Oh as CanvasRecipeZ,Cr as ConditionZ,il as ContextManager,Zc as CooldownActiveConditionZ,as as CounterDefZ,Bu as CtaButtonZ,su as DEFAULT_COOLDOWN,Ih as DecisionController,hs as DecisionStrategyZ,qc as DismissedConditionZ,Ie as EVENT_SCHEMA_VERSION,La as EventBus,Kc as EventCountConditionZ,tA as EventFilterZ,Ms as EventHistory,jc as EventOccurredConditionZ,Wb as EventSourceZ,Aa as ExecutorRegistry,ps as ExternalStrategyZ,sA as FrequencyEntryZ,Gc as FrequencyLimitConditionZ,nA as HighlightStepZ,Bm as HighlightStyleZ,rv as HighlightZ,tv as InsertHtmlZ,zm as InsertPositionZ,Us as InterventionTracker,iu as MAX_VISIBLE_TOASTS,os as MatchOpZ,Um as ModalContentZ,ov as ModalZ,ds as ModelStrategyZ,cv as MountWidgetZ,lv as NavigateZ,Hs as NavigationMonitor,eA as NormalizedEventZ,bs as NotificationsController,q1 as PageContextZ,Z1 as PageHistoryEntryZ,Hc as PageUrlConditionZ,pv as ParallelZ,jm as PlacementZ,nv as PulseZ,zb as RUNTIME_SDK_BUILD,Ly as RUNTIME_VERSION,Qm as RemoveClassZ,Bc as RouteConditionZ,Hm as RouteFilterZ,cs as RuleStrategyZ,ls as RuleZ,Q1 as RuntimeContextZ,$h as RuntimeController,Mh as RuntimeEventsController,Ar as SDK_SCHEMA_VERSION,cu as SDK_VERSION,My as STATIC_SLOT_STYLES,us as ScoreStrategyZ,Km as ScrollBehaviorZ,Hu as ScrollLogicalPositionZ,av as ScrollToZ,Ub as SelectorZ,dv as SequenceZ,G1 as SessionContextZ,zc as SessionMetricConditionZ,el as SessionMetricTracker,Xm as SetAttrZ,ev as SetStyleZ,Ym as SetTextZ,du as SmartCanvasController,ni as SmartCanvasElementLit,Ue as StandardEvents,Wc as StateEqualsConditionZ,al as StateStore,iA as StoredValueZ,jb as Syntro,ws as ThemeController,Wm as TooltipContentZ,rA as TooltipStepZ,qm as TooltipTriggerZ,sv as TooltipZ,Gm as TourStepForSchemaZ,hv as TourZ,oa as TriggerWhenZ,Uc as ViewportConditionZ,K1 as ViewportContextZ,uv as WaitZ,Zm as WidgetConfigZ,cl as WidgetRegistry,Td as applyStaticSlotStyles,BS as coreActionStepSchemas,Fu as createActionEngine,Vu as createAnchorResolver,ti as createCanvasConfigFetcher,wd as createContextManager,kd as createDecisionEngine,Sd as createEventAccumulator,$s as createEventBus,md as createGrowthBookClient,Vd as createNoopClient,$L as createOverlayRecipeFetcher,Th as createPostHogClient,hm as createPostHogNormalizer,_d as createSessionMetricTracker,Uu as createSmartCanvas,_m as createSmartCanvasController,Hd as createSmartCanvasRuntime,Rd as createStateStore,Pd as createSurfaceContainer,Ld as createSurfaces,DM as decisionSchemas,Is as decodeToken,qu as encodeToken,Ay as evaluate,Sy as evaluateCondition,Ey as evaluateRule,sl as evaluateRuleStrategy,ol as evaluateScoreStrategy,Ry as evaluateSync,sr as executorRegistry,VS as getAntiFlickerSnippet,RS as getExecutor,ll as getSlotAnchorId,js as getSlotType,Nd as getSlotZIndex,xu as hasExecutor,DN as needsMigration,ys as normalizePostHogEvent,xo as parseVersion,Md as playEnterAnimation,Od as playExitAnimation,ri as registerConfigPredicates,Sa as registerSmartCanvasElement,uu as resolveConfigUri,kS as runtimeContext,Id as setupAdjacentPositioning,$d as setupInlinePositioning,_s as shouldNormalizeEvent,jt as validateAction,Ia as validateActions,FM as validateActivationConfig,NM as validateCondition,FN as validateConfig,pL as validateEventFilter,Yu as validateEventName,NL as validateFrequencyEntry,dL as validateNormalizedEvent,Xu as validateProps,AL as validateRecipe,VN as validateRuntimeContext,PL as validateStoredValue,LM as validateStrategy,Fd as widgetRegistry};
1011
1011
  /*! Bundled license information:
1012
1012
 
1013
1013
  @lit/reactive-element/css-tag.js: