@pagelines/widget 1.0.929 → 1.0.931
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/widget.js +3 -3
- package/package.json +2 -2
package/dist/widget.js
CHANGED
|
@@ -89,9 +89,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
89
89
|
`).filter(r=>r.length>0),n,i;for(let r of t)r.startsWith("event:")?n=r.slice(6).trim():r.startsWith("data:")&&(i=r.slice(5).trim());if(!n||i===void 0)return null;try{let r=V3.safeParse({event:n,data:JSON.parse(i)});return r.success?r.data:null}catch{return null}}function gI(e){let t;try{t=JSON.parse(e)}catch(i){return{ok:!1,reason:"invalid_json",message:i instanceof Error?i.message:"Invalid JSON"}}let n=W3.safeParse(t);return n.success?{ok:!0,spec:n.data}:{ok:!1,reason:"invalid_spec",message:n.error.issues.map(i=>i.message).join("; ")}}function Q3(e){let t=new Set;for(let n of e)for(let i of Object.keys(n))t.add(i);return t}function yI(e,t,n){let i=Q3(e);for(let r of t)i.has(r.value)||n.addIssue({code:"custom",path:r.path,message:`Unknown data key "${r.value}"`})}function wI(e,t,n){for(let[i,r]of e.entries())for(let o of t){let a=r[o.value];if(typeof a!="number"||!Number.isFinite(a)){n.addIssue({code:"custom",path:["data",i,o.value],message:`Data key "${o.value}" must be numeric`});continue}o.nonnegative&&a<0&&n.addIssue({code:"custom",path:["data",i,o.value],message:`Data key "${o.value}" must be nonnegative`})}}function aD(e){if(e&&typeof e=="object"&&"fallbackMarkdown"in e){let t=e.fallbackMarkdown;if(typeof t=="string"&&t.trim())return t.trim()}}function so(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function lt(e){return typeof e!="string"?void 0:e.trim()||void 0}function Tn(e){return String(e??"").replace(/\r?\n/g," ").replace(/\|/g,"\\|").trim()}function sD(e,t){if(!Array.isArray(e)||e.length===0||e.length>t)return null;let n=[];for(let i of e){if(!so(i))return null;let r=lt(i.label),o=i.value;if(!r||typeof o!="number"||!Number.isFinite(o))return null;n.push({label:r,value:o})}return n}function lD(e){let t=lt(e.type);if(t==="bar"||t==="line"||t==="pie")return t;let n=lt(e.chartType);return t==="chart"&&(n==="bar"||n==="line"||n==="pie")?n:null}function cD(e){if(!so(e)||"version"in e||"visualType"in e)return null;let t=lD(e);if(!t)return null;let n=lt(e.title);if(!n)return null;let i=sD(e.data,t==="pie"?16:120);if(!i)return null;let r=lt(e.subtitle),o=lt(e.source),a={title:n,...r?{description:r}:{},...o?{footer:o}:{}},s=lt(e.fallbackMarkdown);if(t==="pie")return{version:1,visualType:"chart",chartType:"pie",meta:a,nameKey:"label",valueKey:"value",data:i,fallbackMarkdown:s??i.map(p=>`- ${Tn(p.label)}: ${Tn(p.value)}`).join(`
|
|
90
90
|
`)};let l=lt(e.xAxis)??lt(e.xLabel),u=lt(e.yAxis)??lt(e.yLabel),d=u??"Value";return{version:1,visualType:"chart",chartType:t,meta:a,xKey:"label",...l?{xAxisLabel:l}:{},series:[{dataKey:"value",label:d,...u?{axisLabel:u}:{}}],data:i,fallbackMarkdown:s??[`| ${Tn(l??"Label")} | ${Tn(d)} |`,"|---|---:|",...i.map(p=>`| ${Tn(p.label)} | ${Tn(p.value)} |`)].join(`
|
|
91
91
|
`)}}function uD(e){if(!so(e)||(lt(e.visualType)??lt(e.kind))!=="chart")return null;let n=lt(e.chartType);if(n!=="bar"&&n!=="line"&&n!=="scatter")return null;let i=so(e.xAxis)?e.xAxis:void 0,r=lt(e.xKey)??(i?lt(i.key)??lt(i.dataKey):void 0);if(!r)return null;let o=lt(e.xAxisLabel)??(i?lt(i.label):void 0);if(!Array.isArray(e.series))return null;let a=[];for(let f of e.series){if(!so(f))return null;let g=lt(f.dataKey)??lt(f.key);if(!g)return null;let v=lt(f.label)??lt(f.name);a.push({dataKey:g,...v?{label:v}:{}})}if(a.length===0||!Array.isArray(e.data))return null;let s=e.data.filter(so),l=so(e.meta)?e.meta:e,u=lt(l.title);if(!u)return null;let d=lt(l.description)??lt(l.subtitle),p=lt(l.footer)??lt(l.source),m=lt(e.fallbackMarkdown)??[`| ${Tn(o??r)} | ${a.map(f=>Tn(f.label??f.dataKey)).join(" | ")} |`,`|---|${a.map(()=>"---:").join("|")}|`,...s.map(f=>`| ${Tn(f[r])} | ${a.map(g=>Tn(f[g.dataKey])).join(" | ")} |`)].join(`
|
|
92
|
-
`);return{version:1,visualType:"chart",chartType:n,meta:{title:u,...d?{description:d}:{},...p?{footer:p}:{}},xKey:r,...o?{xAxisLabel:o}:{},series:a,data:s,fallbackMarkdown:m}}function kI(e){let t;try{t=JSON.parse(e)}catch(i){let r=e.match(/"fallbackMarkdown"\s*:\s*"((?:[^"\\]|\\.)*)"/),o;if(r)try{o=JSON.parse(`"${r[1]}"`)}catch{}return{ok:!1,reason:"invalid_json",message:i instanceof Error?i.message:"Invalid JSON",fallbackMarkdown:o}}let n=N2.safeParse(t);if(!n.success){let i=cD(t)??uD(t);if(i){let r=N2.safeParse(i);if(r.success)return{ok:!0,spec:r.data}}return{ok:!1,reason:"invalid_spec",message:n.error.issues.map(r=>r.message).join("; "),fallbackMarkdown:aD(t)}}return{ok:!0,spec:n.data}}var f6,h6,Vl,La,Gn,lp,Ma,g6,sp,_2,O2,b6,P2,R2,Nn,QB,e7,t7,r7,n7,co,S2,k6,uo,x6,$6,S6,I6,E6,K0,T6,M2,N6,z6,C6,A6,O6,D6,Ft,P6,R6,U6,j6,M6,L6,s7,L2,V2,F2,B0,c7,V6,B2,F6,I2,B6,Z6,H6,Z2,f7,H2,K6,W6,q6,K2,Fl,J6,G6,W2,Y6,X6,h7,t3,g7,J2,r3,W0,n3,i3,b7,y7,o3,w7,k7,x7,_7,$7,S7,I7,G2,a3,s3,l3,E2,d3,p3,Y2,T2,X2,h3,N7,g3,Q2,v3,Yn,tI,b3,rI,nI,iI,oI,y3,D7,w3,k3,q0,P7,sI,R7,U7,j7,M7,L7,x3,_3,V7,F7,Z7,$3,H7,K7,S3,W7,q7,I3,J7,cI,E3,Z0,Q7,uI,T3,nZ,iZ,dI,N3,pI,oZ,aZ,z3,sZ,lZ,C3,A3,Ll,J0,cZ,uZ,mI,mp,dZ,pZ,O3,D3,P3,R3,U3,mZ,j3,fZ,hZ,
|
|
92
|
+
`);return{version:1,visualType:"chart",chartType:n,meta:{title:u,...d?{description:d}:{},...p?{footer:p}:{}},xKey:r,...o?{xAxisLabel:o}:{},series:a,data:s,fallbackMarkdown:m}}function kI(e){let t;try{t=JSON.parse(e)}catch(i){let r=e.match(/"fallbackMarkdown"\s*:\s*"((?:[^"\\]|\\.)*)"/),o;if(r)try{o=JSON.parse(`"${r[1]}"`)}catch{}return{ok:!1,reason:"invalid_json",message:i instanceof Error?i.message:"Invalid JSON",fallbackMarkdown:o}}let n=N2.safeParse(t);if(!n.success){let i=cD(t)??uD(t);if(i){let r=N2.safeParse(i);if(r.success)return{ok:!0,spec:r.data}}return{ok:!1,reason:"invalid_spec",message:n.error.issues.map(r=>r.message).join("; "),fallbackMarkdown:aD(t)}}return{ok:!0,spec:n.data}}var f6,h6,Vl,La,Gn,lp,Ma,g6,sp,_2,O2,b6,P2,R2,Nn,QB,e7,t7,r7,n7,co,S2,k6,uo,x6,$6,S6,I6,E6,K0,T6,M2,N6,z6,C6,A6,O6,D6,Ft,P6,R6,U6,j6,M6,L6,s7,L2,V2,F2,B0,c7,V6,B2,F6,I2,B6,Z6,H6,Z2,f7,H2,K6,W6,q6,K2,Fl,J6,G6,W2,Y6,X6,h7,t3,g7,J2,r3,W0,n3,i3,b7,y7,o3,w7,k7,x7,_7,$7,S7,I7,G2,a3,s3,l3,E2,d3,p3,Y2,T2,X2,h3,N7,g3,Q2,v3,Yn,tI,b3,rI,nI,iI,oI,y3,D7,w3,k3,q0,P7,sI,R7,U7,j7,M7,L7,x3,_3,V7,F7,Z7,$3,H7,K7,S3,W7,q7,I3,J7,cI,E3,Z0,Q7,uI,T3,nZ,iZ,dI,N3,pI,oZ,aZ,z3,sZ,lZ,C3,A3,Ll,J0,cZ,uZ,mI,mp,dZ,pZ,O3,D3,P3,R3,U3,mZ,j3,fZ,hZ,M3,L3,V3,K3,W3,q3,H0,Xn,Va,J3,vI,G3,Y3,bI,X3,Y0,eD,tD,rD,nD,iD,oD,N2,xI,_I,wZ,kZ,xZ,_Z,$Z,SZ,Zr,dD,pD,mD,z2,fD,hD,EZ,gD,NZ,zZ,vD,CZ,AZ,OZ,DZ,PZ,RZ,UZ,bD,yD,wD,kD,xD,LZ,VZ,FZ,ZZ,KZ,_D,$D,SD,ID,qZ,ED,TD,ND,zD,CD,GZ,AD,XZ,eH,up,OD,DD,$I,PD,RD,UD,jD,SI,rH,nH,iH,oH,sH,C2,II,A2,X0,Zl=te(()=>{"use strict";je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();je();En();En();f6=Object.defineProperty,h6=(e,t)=>{for(var n in t)f6(e,n,{get:t[n],enumerable:!0})},Vl={appName:"pagelines-app",zeroState:{title:"Create your first bot",action:"Get started"},defaultWorkspaceName:"My Workspace",port:3222,primaryRegion:"lax",liveCanary:{email:"smoke-canary@pagelines.com",botHandle:"seneca"},gtmId:"GTM-WRN7DPK7",ga4MeasurementId:"G-WT51X9S6SK",urls:{app:"https://www.pagelines.com",dev:"https://dev-api.pagelines.com",appStore:"https://apps.apple.com/us/app/pagelines/id6764094785",memberGuide:"https://go.pagelines.com/guide"}},La=globalThis.process,Gn=typeof window<"u",lp=typeof La<"u"&&!Gn,Ma=Gn?typeof window<"u"&&window.location&&!window.location.hostname.includes("localhost"):lp&&typeof La<"u"&&La.env?.NODE_ENV==="production",g6=!Ma,sp={error:{priority:50,color:"#FF0000",nodeColor:"\x1B[31m"},warn:{priority:40,color:"#FFA500",nodeColor:"\x1B[33m"},info:{priority:30,color:"#00ABFF",nodeColor:"\x1B[36m"},debug:{priority:20,color:"#00BD0C",nodeColor:"\x1B[32m"},trace:{priority:10,color:"#5233FF",nodeColor:"\x1B[35m"}},_2=["password","token","secret","apikey","authorization","cookie"];O2=new Set(["CONNECT_TIMEOUT","ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENOTFOUND","EHOSTUNREACH","EPIPE"]),b6=new Set([...O2,"CONNECTION_CLOSED","53300"]);P2=class cp{constructor(t={},n){this.enabledInBrowser=!1,this.context=n,this.settings={enabled:t.enabled??!0,minLevel:t.minLevel??this.getDefaultLevel(),timestamps:t.timestamps??!0},Gn&&this.initBrowserLogging()}getDefaultLevel(){if(lp&&typeof La<"u"&&La.env?.LOG_LEVEL)return La.env.LOG_LEVEL;if(Gn&&typeof localStorage<"u"&&typeof localStorage.getItem=="function"){let t=localStorage.getItem("PAGELINES_LOG_LEVEL");if(t)return t}return"info"}initBrowserLogging(){if(!Gn)return;let n=typeof localStorage?.getItem=="function"&&localStorage.getItem("PAGELINES_LOG")==="true",i=window.location?.hostname||"";this.enabledInBrowser=g6||n||i==="localhost"||i.includes("127.0.0.1"),Ma&&!n&&!cp.hasShownHelp&&(console.log("%cPageLines Logger (disabled in production)","color: #888; font-size: 12px"),console.log('%cTo enable: localStorage.setItem("PAGELINES_LOG", "true")',"color: #888; font-size: 11px"),cp.hasShownHelp=!0)}shouldLog(t){if(!this.settings.enabled||Gn&&!this.enabledInBrowser)return!1;let n=sp[t].priority,i=sp[this.settings.minLevel].priority;return n>=i}formatTimestamp(){return new Date().toLocaleTimeString("en-GB",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}formatISOTimestamp(){return new Date().toISOString()}redactSensitive(t){if(typeof t!="object"||t===null)return t;if(Array.isArray(t))return t.map(i=>this.redactSensitive(i));let n={};for(let[i,r]of Object.entries(t))v6(i)?n[i]="[REDACTED]":typeof r=="object"&&r!==null?n[i]=this.redactSensitive(r):n[i]=r;return n}formatData(t,n=5,i=0){if(i>=n)return"[Max Depth]";if(t==null)return t;if(t instanceof Error){let r=D2(t);if(r){let a={name:t.name,code:r.code},s=y6(r);s&&(a.endpoint=s);let l=$2(t.stack)??$2(t.cause?.stack);return l&&(a.at=l),this.redactSensitive(a)}let o={name:t.name,message:t.message,stack:Ma?t.stack?.split(`
|
|
93
93
|
`).slice(0,3).join(`
|
|
94
|
-
`):t.stack};for(let[a,s]of Object.entries(t))o[a]=this.formatData(s,n,i+1);return"cause"in t&&(o.cause=this.formatData(t.cause,n,i+1)),this.redactSensitive(o)}if(t instanceof Date)return t.toISOString();if(typeof t!="object")return t;if(Array.isArray(t))return t.length>20&&Ma?`Array(${t.length}) [${t.slice(0,3).map(r=>this.formatData(r,n,i+1)).join(", ")}, ...]`:t.map(r=>this.formatData(r,n,i+1));try{let r={},o=Object.entries(t),a=Ma?50:200;for(let[s,l]of o.slice(0,a))r[s]=this.formatData(l,n,i+1);return o.length>a&&(r["..."]=`${o.length-a} more properties`),this.redactSensitive(r)}catch{return"[Unserializable]"}}logToBrowser(t){if(!Gn||!this.shouldLog(t.level))return;let{level:n,description:i,context:r,data:o,error:a}=t,s=sp[n],u=`[${r||this.context||"www"}] ${n.toUpperCase()}:`,d=`color: ${s.color}; font-weight: bold;`;o!==void 0?console[n](`%c${u}`,d,i,this.formatData(o)):console[n](`%c${u}`,d,i),a&&(a instanceof Error?console.error(a):console.error("Error details:",a))}logToNode(t){if(!lp||!this.shouldLog(t.level))return;let{level:n,description:i,context:r,data:o,error:a}=t,s=r||this.context||"www";if(Ma){let l={timestamp:this.formatISOTimestamp(),level:n.toUpperCase(),context:s,msg:i,message:i};o!==void 0&&(l.data=this.formatData(o)),a!==void 0&&(l.error=this.formatData(a));let u=JSON.stringify(l);n==="trace"?console.log(u):console[n](u)}else{let l=sp[n],u=this.formatTimestamp(),d="\x1B[0m",p="\x1B[2m",m=l.nodeColor||"",f=`${p}${u}${d} ${m}${n.toUpperCase()} (${s}):${d} ${i}`;console[n](f),o!==void 0&&console.log(JSON.stringify(this.formatData(o),null,2)),a&&(a instanceof Error?(console.error(`\x1B[31mError:${d}`,a.message),a.stack&&console.error(`\x1B[90m${a.stack}${d}`)):console.error("Error:",a))}}log(t){Gn?this.logToBrowser(t):lp&&this.logToNode(t)}error(t,n){this.log({level:"error",description:t,data:n,context:this.context})}warn(t,n){this.log({level:"warn",description:t,data:n,context:this.context})}info(t,n){this.log({level:"info",description:t,data:n,context:this.context})}debug(t,n){this.log({level:"debug",description:t,data:n,context:this.context})}trace(t,n){this.log({level:"trace",description:t,data:n,context:this.context})}isEnabled(){return Gn?this.enabledInBrowser:!0}setLevel(t){this.settings.minLevel=t}createContextLogger(t){let n=new cp(this.settings,t);return{error:(i,r)=>n.error(i,r),warn:(i,r)=>n.warn(i,r),info:(i,r)=>n.info(i,r),debug:(i,r)=>n.debug(i,r),trace:(i,r)=>n.trace(i,r),isEnabled:()=>n.isEnabled(),setLevel:i=>n.setLevel(i)}}};P2.hasShownHelp=!1;R2=P2;Nn=new R2,QB=Nn.error.bind(Nn),e7=Nn.warn.bind(Nn),t7=Nn.info.bind(Nn),r7=Nn.debug.bind(Nn),n7=Nn.trace.bind(Nn),co=class{constructor(e,t){this.objectName=e,this.settings=t,this.logger=lo(e)}};S2={green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"}};k6=class{constructor(){this.tokenName="auth-token",this.deviceIdName="pl-device-id",this.tokenMaxAge=3600*24*90,this.fallbackStorageKey="token"}currentCookieOptions(){return w6(typeof window>"u"?void 0:window.location)}getCookie(e){if(typeof document>"u")return null;let t=document.cookie.split(";");for(let n of t){let[i,r]=n.trim().split("=");if(i===e)return decodeURIComponent(r||"")}return null}setCookie(e,t,n={}){if(typeof document>"u")return;let{secure:i=!0,sameSite:r="lax",maxAge:o=3600*24*7,domain:a,path:s="/"}=n,l=`${e}=${encodeURIComponent(t)}`;l+=`; Path=${s}`,l+=`; Max-Age=${o}`,l+=`; SameSite=${r}`,i&&(l+="; Secure"),a&&(l+=`; Domain=${a}`),document.cookie=l}removeCookie(e,t={}){this.setCookie(e,"",{...t,maxAge:0})}isLocalStorageFunctional(){return typeof window<"u"&&typeof window.localStorage?.getItem=="function"&&typeof window.localStorage?.setItem=="function"&&typeof window.localStorage?.removeItem=="function"}getAuthToken(){let e=this.getCookie(this.tokenName);if(e)return e;if(this.isLocalStorageFunctional()){let t=window.localStorage.getItem(this.fallbackStorageKey);if(t)return this.setAuthToken(t),window.localStorage.removeItem(this.fallbackStorageKey),t}return null}setAuthToken(e){let t=this.currentCookieOptions();this.setCookie(this.tokenName,e,{secure:t.secure,sameSite:"lax",maxAge:this.tokenMaxAge,domain:t.domain,path:t.path})}removeAuthToken(){let e=this.currentCookieOptions();this.removeCookie(this.tokenName,{domain:e.domain,path:e.path}),this.removeCookie(this.tokenName,{domain:".pagelines.com",path:"/"}),this.isLocalStorageFunctional()&&window.localStorage.removeItem(this.fallbackStorageKey)}getDeviceId(){return this.getCookie(this.deviceIdName)}},uo=new k6,x6=["https://redirect-a.invalid","https://redirect-b.invalid"];$6=c.enum(["linkedin","x","facebook","tiktok","youtube","github","instagram","threads","email","phone","website","calendar"]),S6=c.object({platform:$6,handle:c.string(),url:c.string().optional()}),I6=c.preprocess(e=>Array.isArray(e)?e.filter(t=>t&&typeof t=="object"&&t.platform&&t.handle):e,c.array(S6)),E6=["image","audio","video","document"],K0=c.enum(E6),T6=["avatar","cover","general"],M2=c.enum(T6),N6=c.enum(["processing","active","failed","deleted"]),z6=c.enum(["low","standard","high"]),C6=c.enum(["jpg","jpeg","png","gif","webp","svg"]),A6=c.enum(["mp4","webm","ogg","mov","avi"]),O6=c.enum(["mp3","wav","ogg","opus","aac","flac","webm","m4a","mp4"]),D6=c.object({mediaId:c.string(),userId:c.string(),orgId:c.string(),botId:c.string().nullable().optional(),filename:c.string(),mimeType:c.string(),size:c.number(),src:c.string(),alt:c.string().optional(),context:M2.default("general"),status:N6.default("processing"),quality:z6.default("standard"),createdAt:c.string().optional(),updatedAt:c.string().optional()}),Ft=D6.extend({mediaType:K0.optional(),className:c.string().optional(),width:c.number().optional(),height:c.number().optional(),duration:c.number().optional(),blurhash:c.string().optional()}).partial(),P6=c.object({duration:c.number().optional(),thumbnail:c.string().optional(),autoplay:c.boolean().optional(),loop:c.boolean().optional(),muted:c.boolean().optional(),controls:c.boolean().optional()}),R6=c.object({duration:c.number().optional(),autoplay:c.boolean().optional(),loop:c.boolean().optional(),muted:c.boolean().optional(),controls:c.boolean().optional()}),U6=Ft.extend({mediaType:c.literal("image"),imageFormat:C6.optional()}),j6=Ft.extend({mediaType:c.literal("video"),videoFormat:A6.optional(),video:P6.optional()}),M6=Ft.extend({mediaType:c.literal("audio"),audioFormat:O6.optional(),audio:R6.optional()}),L6=Ft.extend({mediaType:c.literal("document")}),s7=c.discriminatedUnion("mediaType",[U6,j6,M6,L6]),L2=c.enum(["xxs","xs","sm","md","lg","xl"]),V2=c.enum(["primary","default","overlay","red","green","indigo","orange"]),F2=c.enum(["ghost","link","outline","solid"]),B0=c.object({key:c.string().optional(),label:c.string().optional(),href:c.string().optional(),size:L2.optional(),theme:V2.optional(),design:F2.optional(),icon:c.union([c.string(),Ft]).optional(),iconAfter:c.union([c.string(),Ft]).optional(),rounding:c.enum(["full","md","lg"]).optional(),loading:c.boolean().optional(),disabled:c.boolean().optional(),tooltip:c.string().optional(),onClick:c.any().optional(),testId:c.string().optional(),target:c.enum(["_blank","_self"]).optional(),type:c.enum(["button","submit","reset"]).optional()}),c7=c.object({buttons:c.array(B0).optional(),size:L2.optional(),theme:V2.optional(),design:F2.optional()}),V6=["COMPUTER_BOOT_FAILED","COMPUTER_CREATE_FAILED","BOT_DELETED","COMPUTER_DELETE_FAILED","COMPUTER_INACTIVE","COMPUTER_LIMIT","COMPUTER_NOT_FOUND","BOT_NOT_FOUND","COMPUTER_NOT_DEPLOYED","BOT_TOKENS_MISSING","COMPUTER_UNREACHABLE","COMPUTER_UPDATE_FAILED","COMPUTER_WAKE_TIMEOUT","ADMISSION_REQUIRED","ALREADY_MEMBER","ATTACHMENT_TYPE_UNSUPPORTED","AUTH_ACCOUNT_NOT_FOUND","AUTH_BOT_BLOCKED","AUTH_DISPOSABLE_EMAIL","AUTH_EMAIL_IN_USE","AUTH_INVALID","AUTH_INVALID_CODE","AUTH_INVALID_HANDOFF","AUTH_LOCKED_OUT","AUTH_MISSING","AUTH_PROVIDER_FAILED","AUTH_PROVIDER_NOT_CONFIGURED","AUTH_RATE_LIMITED","AUTH_REVOKED","AUTH_TURNSTILE_MISSING","AUTH_UNKNOWN","AUTH_WRONG_TYPE","ROUTINE_CHANNEL_UNAVAILABLE","ROUTINE_PURPOSE_REQUIRED","BOT_REPLY_FAILED","BILLING_BUDGET_REACHED","BILLING_DEMO_SPENT","BILLING_NO_PLAN","BILLING_PAST_DUE","BILLING_RUNAWAY_CAP","BILLING_SEAT_LIMIT","CHECKOUT_FAILED","CONFIRMATION_REQUIRED","CREATE_FAILED","CREDIT_LIMIT","DELETE_FAILED","DUPLICATE_INVITE","EMAIL_DELIVERY_FAILED","EMAIL_FAILED","EMAIL_MISMATCH","EMAIL_RATE_LIMITED","EMAIL_REASON_NOT_ELIGIBLE","EMPTY_STREAM","EMPTY_PATCH","ENV_VAR_CONFLICT","ENV_VAR_RESERVED","EXTENSION_INACTIVE","FORBIDDEN","HANDLE_TAKEN","IMAGE_GENERATION_FAILED","IMAGE_GENERATION_UNCONFIGURED","INTERNAL_ERROR","INVALID_FILE","INVALID_PRIMARY_CHANNEL","UNKNOWN_ROUTINE_CHANNEL","INVITE_CONFLICT","INVITE_EXPIRED","INVITE_INVALID","INVITE_LIMIT","MCP_NOT_AVAILABLE","MCP_NOT_CONFIGURED","MEDIA_NOT_FOUND","MEDIA_SERVER_UNAVAILABLE","MEDIA_UPLOAD_FAILED","MEMORY_NOT_FOUND","MISSING_IDEMPOTENCY_KEY","NETWORK_ERROR","NO_WORKSPACE","NOT_A_MEMBER","NOT_AUTHORIZED","NOT_FOUND","ORG_NOT_FOUND","OVERAGE_CAP","OWNER_LOCK","OWNER_TURN_REQUIRED","PAIRING_VERIFY_FAILED","PAYMENT_FAILED","PLAN_LIMIT","PROVISIONER_UNAVAILABLE","RATE_LIMIT","RATE_LIMITED","REBUILD_FAILED","RESTART_FAILED","RUNTIME_UNPROVEN","SEND_FAILED","STOP_FAILED","STREAM_DISCONNECT","STREAM_TIMEOUT","STRIPE_LOAD","TIMEOUT","TOKEN_ERROR","TOOL_PROTOCOL","TRIAL_ENDED","TURN_ACTIVE","UPLOAD_FAILED","VALIDATION_ERROR","VOICE_BUSY","VOICE_UNAVAILABLE","WAKE_FAILED"],B2=c.enum(V6),F6=9900,I2=`$${F6/100}/month`,B6=c.enum(["account","error"]),Z6=["billing_no_plan","billing_seat_limit","billing_past_due","billing_runaway_cap","billing_budget_reached","billing_demo_spent","bot_deleted","computer_not_deployed","computer_boot_failed","computer_unreachable","computer_wake_timeout","provisioner_unavailable","stream_timeout","stream_disconnect","empty_stream","tool_protocol","rate_limit"],H6=c.enum(Z6),Z2=c.object({bucket:B6,code:H6,title:c.string(),help:c.string().optional(),actionLabel:c.string(),actionUrl:c.string()}),f7={billing_no_plan:{bucket:"account",title:"Billing needed",help:`Add a payment method to turn live replies back on. Plans start at ${I2} per active assistant, cancel anytime.`,actionLabel:"Open billing",oneLine:`The workspace needs a payment method before this assistant can reply; plans start at ${I2} per active assistant.`},billing_seat_limit:{bucket:"account",title:"Active assistant limit reached",help:"Your active assistants are all in use. Put one assistant to sleep or ask us to raise the ceiling.",actionLabel:"Open billing",oneLine:"The workspace has no unused active-assistant slots; one assistant must sleep or the limit must be raised."},billing_past_due:{bucket:"account",title:"Assistants paused",help:"Payment is overdue. Fix it and we\u2019ll bring your assistants back online.",actionLabel:"Fix payment",oneLine:"The workspace payment is overdue; its owner must fix it before assistants come back online."},billing_runaway_cap:{bucket:"account",title:"Usage limit reached",help:"Your workspace reached its usage limit. Review billing or contact support to keep your assistant running.",actionLabel:"Contact support",oneLine:"The workspace reached its usage limit; its owner can review billing or contact support."},billing_budget_reached:{bucket:"account",title:"Not enough credits",help:"Your workspace needs more included credits for another reply. They refill at the next billing period.",actionLabel:"Review billing",oneLine:"The workspace needs more included credits; they refill at the next billing period."},billing_demo_spent:{bucket:"account",title:"Weekly usage used up",help:"Your bot has used this week's included usage. It refills next week.",actionLabel:"",oneLine:"This bot has used this week's included usage; it refills next week."},bot_deleted:{bucket:"error",title:"Assistant deleted",help:"This chat is still here, but the assistant can no longer reply.",actionLabel:"",oneLine:"This assistant was deleted. The chat history remains, but it can no longer reply."},computer_not_deployed:{bucket:"error",title:"Assistant asleep",help:"Open the assistant profile to wake it up before chatting.",actionLabel:"Open assistant",oneLine:"This assistant needs to wake up before it can reply."},computer_boot_failed:{bucket:"error",title:"Couldn't wake up",help:"Open the assistant profile to restart it or check what failed.",actionLabel:"Open assistant",oneLine:"This assistant tried to wake up but hit an error."},computer_unreachable:{bucket:"error",title:"Not responding",help:"Open the assistant profile to check status or restart it.",actionLabel:"Open assistant",oneLine:"This assistant is not responding right now; its owner can check its status."},computer_wake_timeout:{bucket:"error",title:"Still starting",help:"It is still starting up. Send your message again in a minute, or open the assistant to see what it is doing.",actionLabel:"Open assistant",oneLine:"This assistant is still starting up; send your message again in a minute."},provisioner_unavailable:{bucket:"error",title:"Couldn't reach computer",help:"PageLines couldn't reach your assistant's computer for a moment. Send your message again.",actionLabel:"Try again",oneLine:"PageLines couldn't reach this assistant's computer for a moment; try the message again."},stream_timeout:{bucket:"error",title:"Reply too slow",help:"Your assistant took too long to start replying. Try your message again.",actionLabel:"Try again",oneLine:"This assistant took too long to start replying; try the message again."},stream_disconnect:{bucket:"error",title:"Connection lost",help:"The connection dropped while your assistant was replying. Send your message again to retry.",actionLabel:"Try again",oneLine:"The connection dropped while this assistant was replying; try the message again."},empty_stream:{bucket:"error",title:"Empty reply",help:"Your assistant could not generate a reply. Try your message again.",actionLabel:"Try again",oneLine:"This assistant did not return a reply; try the message again."},tool_protocol:{bucket:"error",title:"Tool call failed",help:"Your assistant tried to use a tool in a format PageLines could not run. Try the message again.",actionLabel:"Try again",oneLine:"This assistant tried to use a tool in a format PageLines could not run; try the message again."},rate_limit:{bucket:"error",title:"Slow down",help:"Too many messages at once. Wait a moment, then send your message again.",actionLabel:"Try again",oneLine:"Too many messages arrived at once; wait a moment and try again."}},H2=c.enum(["unknown","stopped","starting","running","unreachable","error"]),K6=c.enum(["wake","restart","rebuild","config_apply","setup"]),W6=c.enum(["running","coalesced","failed"]),q6=c.object({kind:K6,status:W6,startedAt:c.string().datetime(),detail:c.string().optional()}).strict(),K2=c.object({lifecycle:H2,changedAt:c.string().datetime().optional(),detail:c.string().optional(),blocker:Z2.optional(),operation:q6.optional()}).strict(),Fl=Object.freeze({lifecycle:"unknown"}),J6={running:"green",starting:"amber",unreachable:"red",error:"red",stopped:"grey",unknown:"grey"},G6=c.enum(["awake","asleep","changing","stuck"]),W2={awake:"Awake",asleep:"Asleep",changing:"Changing",stuck:"Needs attention"};Y6={running:"Online",starting:"Waking up",unreachable:"Unreachable",error:"Error",stopped:"Asleep",unknown:"Checking"},X6={wake:"Waking up",restart:"Restarting",rebuild:"Restarting",config_apply:"Applying config",setup:"Setting up"};h7=c.enum(["wake","sleep","restart","rebuild"]);t3=c.object({key:c.string().optional(),id:c.string().optional(),label:c.string().optional(),srLabel:c.string().optional(),subLabel:c.string().optional(),value:c.union([c.string(),c.number()]).optional(),description:c.string().optional(),state:G6.optional(),count:c.number().optional(),className:c.string().optional(),media:Ft.optional(),subMedia:Ft.optional(),cover:Ft.optional(),icon:Ft.optional(),iconAfter:Ft.optional(),subIcon:c.string().optional(),href:c.string().optional(),target:c.enum(["_self","_blank"]).optional(),onClick:c.any().optional(),theme:c.enum(["primary","default"]).optional(),isActive:c.boolean().optional(),isDisabled:c.boolean().optional(),isHidden:c.boolean().optional(),priority:c.number().optional(),testId:c.string().optional(),items:c.array(c.any()).optional(),badges:c.array(B0).optional(),meta:c.array(B0).optional(),menuItems:c.array(c.any()).optional()}),g7=c.object({title:c.string().optional(),description:c.string().optional(),items:c.array(t3).optional()}),J2=c.string().trim().transform(e=>{if(!e.includes("/"))return e;try{let t=new URL(/^https?:\/\//i.test(e)?e:`https://${e}`),[n,i]=t.pathname.split("/").filter(Boolean),r=t.hostname.toLowerCase();if((r==="linkedin.com"||r.endsWith(".linkedin.com"))&&n?.toLowerCase()==="in"&&i)return i}catch{}return e}).pipe(c.string().min(3).max(100).regex(/^[a-zA-Z0-9-]+$/,"Use a LinkedIn username or profile URL")),r3=c.string().trim().transform((e,t)=>{try{let n=new URL(/^https?:\/\//i.test(e)?e:`https://${e}`),i=n.hostname.toLowerCase().replace(/^www\./,""),r=n.pathname.split("/").filter(Boolean)[0];if(!r||!["x.com","twitter.com","facebook.com"].includes(i))throw new Error("unsupported profile");return i==="twitter.com"?`https://x.com/${r}`:`https://${i}/${r}`}catch{return t.addIssue({code:"custom",message:"Use a LinkedIn username or an X or Facebook profile URL"}),c.NEVER}}),W0=c.string().trim().toLowerCase().pipe(c.email()),n3=c.enum(["member","pending"]),i3=c.object({lastBotId:c.string().nullable().optional(),userId:c.string(),email:c.string().optional(),handle:c.string().optional(),fullName:c.string().optional(),bio:c.string().optional(),linkedinUsername:J2.optional(),avatarId:c.string().optional(),avatar:Ft.optional(),isEmailVerified:c.boolean().optional(),primaryOrgId:c.string().optional(),lastActiveOrgId:c.string().optional(),onboarding:c.any().optional(),location:c.string().optional(),geo:c.any().optional(),systemRole:c.string().optional(),status:c.string().optional(),lastSeenAt:c.string().optional(),admittedAt:c.string().optional(),access:n3.optional(),isMember:c.boolean().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional(),onboarded:c.boolean().optional()}),b7=c.object({email:W0}),y7=c.object({email:W0,code:c.string().min(6,"Verification code is required"),timezone:c.string().max(64).optional(),phone:c.string().trim().min(7).max(30).optional(),phoneProof:c.string().max(300).optional()}),o3=c.object({phone:c.string().trim().min(7).max(30),purpose:c.enum(["apply","sign_in"]).optional(),invite:c.string().trim().max(64).optional()}),w7=c.object({codeSent:c.boolean()}),k7=o3.extend({code:c.string().trim().min(4).max(10)}),x7=c.object({phoneProof:c.string()}),_7=c.object({phone:c.string().trim().min(7).max(30),phoneProof:c.string().max(300),timezone:c.string().max(64).optional(),join:c.object({inviteCode:c.string().trim().max(64),name:c.string().trim().min(1,"Add your name").max(120),email:c.string().trim().toLowerCase().email("Enter your email").max(255),city:c.string().trim().min(1,"Add your city").max(120),placeId:c.string().max(16).optional()}).optional()}),$7=c.object({newEmail:W0}),S7=c.object({credential:c.string().optional(),code:c.string().optional(),timezone:c.string().max(64).optional(),source:c.enum(["web","ios"]).optional()}).refine(e=>e.credential||e.code,{message:"Either credential or code must be provided"}),I7=c.object({identityToken:c.string().min(1),fullName:c.string().optional(),timezone:c.string().max(64).optional()}),G2=c.object({orgId:c.string().optional(),handle:c.string().optional(),name:c.string().optional(),email:c.string().nullable().optional(),website:c.string().url().nullable().optional(),summary:c.string().nullable().optional(),avatarId:c.string().nullable().optional(),avatar:Ft.optional(),coverId:c.string().nullable().optional(),cover:Ft.optional(),accounts:I6.nullable().optional(),ownerId:c.string().optional(),isPersonal:c.boolean().optional(),stripeCustomerIdTest:c.string().nullable().optional(),stripeCustomerIdLive:c.string().nullable().optional(),maxUsers:c.number().optional(),timezone:c.string().nullable().optional(),apiKey:c.string().nullable().optional(),syncedPlan:c.string().nullable().optional(),syncedBillingStatus:c.string().nullable().optional(),firstPaidAt:c.string().nullable().optional(),entitlementDeleteAt:c.string().nullable().optional(),billingLastSyncedAt:c.string().nullable().optional(),syncedPeriodStart:c.string().nullable().optional(),syncedPeriodEnd:c.string().nullable().optional(),onboarding:c.any().optional(),status:c.string().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional()}),a3=c.object({completedAt:c.string().datetime().optional(),setupBy:c.string().optional(),billingSetup:c.boolean().optional(),teamInvitesSetup:c.boolean().optional(),brandingSetup:c.boolean().optional(),domainsSetup:c.boolean().optional()}),s3=c.object({membershipId:c.string(),orgId:c.string(),name:c.string(),handle:c.string(),avatarId:c.string().optional(),avatar:Ft.optional(),coverId:c.string().optional(),cover:Ft.optional(),role:c.enum(["owner","admin","member","observer"]),inviterName:c.string().optional(),memberCount:c.number().optional(),hasComputer:c.boolean().optional(),computerCount:c.number().optional(),joinedAt:c.string().datetime(),onboarding:a3.optional()}),l3=i3.extend({orgs:c.array(s3).optional()}),E2=[["#6366f1","#8b5cf6"],["#3b82f6","#06b6d4"],["#10b981","#34d399"],["#f59e0b","#f97316"],["#ef4444","#f97316"],["#ec4899","#8b5cf6"],["#14b8a6","#3b82f6"],["#8b5cf6","#ec4899"]];d3=["[SILENT]","SILENT","NO_REPLY","NO REPLY","NO-OP","NOOP","NO_OP","NO OP","[NO-OP]","[NOOP]","[NO_OP]","[NO OP]","HEARTBEAT_OK"],p3=new Set(d3);Y2={wake:300*1e3,bootGrace:420*1e3,provision:600*1e3,firstStart:45*1e3,stop:30*1e3},T2={AUTH_ACCOUNT_NOT_FOUND:"Account not found. Ask your workspace admin for an invite.",AUTH_INVALID:"Your session has expired. Sign in again to continue.",AUTH_LOCKED_OUT:"Too many failed attempts. Request a new code to try again.",AUTH_INVALID_CODE:"That code didn't match. Double-check the email and try again.",AUTH_INVALID_HANDOFF:"This link has expired. Open the dashboard from the app again.",AUTH_DISPOSABLE_EMAIL:"Please use your work email address.",AUTH_RATE_LIMITED:"Too many requests. Wait a minute and try again.",AUTH_PROVIDER_FAILED:"Sign-in failed. Try again or use email instead.",AUTH_PROVIDER_NOT_CONFIGURED:"That sign-in method isn't available right now.",ADMISSION_REQUIRED:"PageLines is invite-only. Request access to create your bot.",PLAN_LIMIT:"Your active computers are all in use. Put one computer to sleep or ask us to raise the ceiling.",CREDIT_LIMIT:"Your workspace reached its usage limit. Review billing or contact support to keep your assistant running.",STRIPE_LOAD:"Couldn't open checkout. Try again \u2014 if it persists, contact support.",CHECKOUT_FAILED:"Couldn't start checkout. Try again in a moment.",PAYMENT_FAILED:"Your payment couldn't go through. Update your card to continue.",WAKE_FAILED:"Your assistant didn't wake up. Try again in a moment.",VOICE_BUSY:"Your assistant is on another call. Try again in a moment.",VOICE_UNAVAILABLE:"Voice isn't available right now. Try again in a moment.",STOP_FAILED:"Couldn't put your assistant to sleep. Try again.",RESTART_FAILED:"Restart didn't finish. Try again \u2014 if it persists, rebuild.",REBUILD_FAILED:"Restart didn't finish. Try again or contact support.",CREATE_FAILED:"Couldn't create your assistant. Try again in a moment.",DELETE_FAILED:"Couldn't delete your assistant. Try again \u2014 your data is safe.",BOT_NOT_FOUND:"We couldn't find that assistant.",COMPUTER_NOT_FOUND:"We couldn't find that computer.",COMPUTER_INACTIVE:"This computer is off. Turn it on to start it.",ATTACHMENT_TYPE_UNSUPPORTED:"Your assistant can't read this file type yet.",ROUTINE_CHANNEL_UNAVAILABLE:"Your delivery channel isn't reachable. Pair it again or choose PageLines Messenger.",ROUTINE_PURPOSE_REQUIRED:"Say what the scheduled message or work should contain.",NETWORK_ERROR:"Network issue. Check your connection and try again.",TIMEOUT:"The request took too long. Try again in a moment.",FORBIDDEN:"You don't have access to this.",RATE_LIMITED:"Too many requests. Wait a moment and try again."};X2=c.enum(["active","stopped"]),h3=c.enum(["notFound","busy","rateLimited","timeout","invalidConfig","transient","fatal"]),N7=c.object({ok:c.literal(!1),error:c.string(),code:B2.optional(),issue:Z2.optional(),providerErrorKind:h3.optional()}),g3=c.object({kind:c.enum(["icon","favicon","service"]),icon:c.string().min(1).optional(),domain:c.string().min(1).optional(),serviceKey:c.string().min(1).optional()}).strict(),Q2=c.object({activityId:c.string().min(1),turnId:c.string().min(1),status:c.enum(["started","completed","failed"]),label:c.string().trim().min(1),kind:c.enum(["search","file","image","service","routine","handoff","other"]),toolName:c.string().min(1).optional(),serviceKey:c.string().min(1).optional(),startedAt:c.string().datetime().optional(),endedAt:c.string().datetime().optional(),durationMs:c.number().int().nonnegative().optional(),note:c.string().trim().min(1).optional(),visual:g3.optional()}).strict(),v3=Q2.extend({status:c.enum(["completed","failed"])}),Yn=c.string().min(1).max(64).refine(e=>{try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(new Date(0)),!0}catch{return!1}},"Invalid IANA timezone");tI=K0,b3=c.object({kind:c.literal("inline"),offset:c.number().int().nonnegative()}),rI=c.object({type:tI,src:c.url(),filename:c.string().min(1),mimeType:c.string().min(1),mediaId:c.string().min(1).optional(),size:c.number().int().nonnegative().optional(),width:c.number().int().positive().optional(),height:c.number().int().positive().optional(),duration:c.number().nonnegative().optional(),text:c.string().optional(),placement:b3.optional()}),nI=c.object({ref:c.string().min(1).max(256)}).strict(),iI=c.enum(["handled","dismissed","deferred"]),oI=c.iso.datetime();y3=nI.extend({disposition:iI.optional(),revisitAt:oI.optional()}).superRefine(aI),D7=nI.extend({disposition:iI,revisitAt:oI.optional()}).superRefine(aI),w3=c.object({turnId:c.string().min(1).optional(),turnOutcome:c.enum(["failed","stopped"]).optional(),attachments:c.array(rI).optional(),toolActivities:c.array(v3).optional(),issue:c.object({code:c.string(),bucket:c.enum(["account","error"]),actionLabel:c.string(),actionUrl:c.string(),help:c.string().optional()}).optional(),notification:c.object({push:c.boolean().optional(),excludeUserId:c.string().min(1).optional()}).optional(),routine:c.object({run:c.object({routineRunId:c.string(),name:c.string().optional(),sourceKind:c.enum(["webhook","schedule","manual","heartbeat"]),sourceLabel:c.string().optional(),deliveryId:c.string().optional(),status:c.enum(["received","forwarded","owner_notified","needs_approval","completed","failed","dropped"])}).catchall(c.unknown())}).catchall(c.unknown()).optional(),voiceDelegated:c.literal(!0).optional(),ownerHandoff:c.literal(!0).optional(),attention:c.array(y3).max(20).optional()}).catchall(c.unknown()),k3=c.object({messageId:c.string().min(1),conversationId:c.string().min(1),role:c.enum(["user","assistant","system"]),authorParticipantId:c.string().nullable(),systemKind:c.string().nullable(),content:c.string(),sequence:c.string().min(1),clientNonce:c.string().nullable().optional(),metadata:w3.nullable().optional(),status:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}),q0=c.object({type:tI,mediaId:c.string().min(1)}),P7=c.object({conversationId:c.string().min(1),content:c.string().max(1e4).default(""),clientNonce:c.string().max(64).optional(),attachments:c.array(q0).max(10).optional(),channel:c.enum(["ios","dashboard"]).optional(),actionUrls:c.object({billing:c.string().max(500),bot:c.string().max(500)}).optional(),viewerTimezone:Yn.optional()}).refine(e=>e.content.trim().length>0||(e.attachments?.length??0)>0,{path:["content"],message:"Message or attachment required"}),sI=c.object({type:c.enum(["user","bot"]),id:c.string().min(1)}).strict();R7=c.object({orgId:c.string().min(1),participants:c.array(sI).min(1).max(20)}).strict().superRefine(lI),U7=c.object({orgId:c.string().min(1),participants:c.array(sI).min(1).max(20)}).strict().superRefine((e,t)=>{lI(e,t),e.participants.some(n=>n.type==="bot")||t.addIssue({code:"custom",path:["participants"],message:"New sessions require at least one agent participant."})}),j7=c.object({category:c.string().min(1).max(30).optional(),reason:c.string().max(2e3).optional()}).strict(),M7=c.object({shareId:c.string(),url:c.string(),createdAt:c.string()}),L7=c.object({shareId:c.string(),botName:c.string(),botAvatarUrl:c.string().nullable(),prompt:c.string().nullable(),content:c.string(),createdAt:c.string()}),x3=c.enum(["1:1","4:3","3:4","16:9","9:16"]),_3=c.enum(["1K","2K","4K"]),V7=c.object({prompt:c.string().trim().min(1).max(4e3),aspectRatio:x3.default("1:1"),outputFormat:c.enum(["png","jpeg","webp"]).default("webp"),resolution:_3.default("2K"),style:c.string().trim().max(200).optional(),altText:c.string().trim().max(500).optional(),referenceMediaIds:c.array(c.string().min(1)).max(4).optional()}).strict(),F7=c.object({mediaId:c.string().min(1),src:c.url(),filename:c.string().min(1),mimeType:c.string().min(1),width:c.number().int().positive().optional(),height:c.number().int().positive().optional(),provider:c.string().min(1).optional(),providerRequestId:c.string().min(1).optional(),media:c.string().startsWith("MEDIA:"),attachment:rI.extend({type:c.literal("image")})}),Z7=c.object({identityToken:c.string().min(1),fullName:c.string().optional()}),$3=c.object({redirect:c.string(),redirectReason:c.string(),isNew:c.boolean(),deviceId:c.string()}),H7=c.object({ok:c.literal(!0),data:$3,token:c.string()}),K7=c.object({path:c.string().startsWith("/","path must be a relative dashboard path").refine(_6,"path must be a relative dashboard path")}),S3=c.object({url:c.string()}),W7=c.object({ok:c.literal(!0),data:S3}),q7=c.object({token:c.string().min(1)}),I3=c.object({redirect:c.string(),redirectReason:c.string(),deviceId:c.string()}),J7=c.object({ok:c.literal(!0),data:I3,token:c.string()}),cI=M2,E3=K0,Z0=c.object({mediaId:c.string(),src:c.string(),alt:c.string().nullable().optional(),filename:c.string().optional(),displayName:c.string().nullable().optional(),mimeType:c.string().optional(),mediaType:E3.optional(),size:c.number().optional(),width:c.number().nullable().optional(),height:c.number().nullable().optional(),duration:c.number().nullable().optional(),context:cI.nullable().optional(),blurhash:c.string().nullable().optional(),quality:c.string().optional(),status:c.string().optional(),userId:c.string().optional(),orgId:c.string().optional(),botId:c.string().nullable().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional()}),Q7=c.object({file:c.string().describe("Binary file. multipart/form-data field \u2014 the actual upload. The server validates type + size and normalizes image uploads before storage. Audio/video/document uploads use the same uploader and are classified by MIME type."),context:cI.optional().default("general"),botId:c.string().optional(),orgId:c.string().optional(),duration:c.number().optional()}),uI=c.object({viewerTimezone:Yn.optional(),location:c.object({label:c.string().max(500),city:c.string().optional(),region:c.string().optional(),countryCode:c.string().optional(),timezone:c.string().optional(),source:c.literal("geoip"),precision:c.enum(["city","region","country"]),confidence:c.enum(["medium","low"]),vpnOrDatacenter:c.enum(["likely","unknown"])}).optional()}),T3=c.object({status:c.enum(["available","unavailable"]),user:c.string().max(16e3).optional(),memory:c.string().max(16e3).optional(),agents:c.string().max(4e3).optional()}).strict(),nZ=c.object({bot:c.object({id:c.string(),name:c.string(),title:c.string().nullable().optional(),timezone:Yn}),scope:c.enum(["private","org","public"]),channel:c.string().max(120),currentTime:c.iso.datetime(),scopePrompt:c.string().optional(),observations:uI.optional(),lastObservedTimezone:Yn.optional(),lean:T3.optional(),servicesNeedingSetup:c.array(c.object({name:c.string(),state:c.string()})).optional()}),iZ=c.object({reason:c.enum(["idle-timeout","session-cap","unavailable"])}).strict(),dI=c.enum(["woman","man"]),N3=[{key:"ava",gender:"woman",accent:"American",character:"Warm, patient and understanding",isDefault:!0},{key:"hope",gender:"woman",accent:"American",character:"Soft-spoken, smooth and kind"},{key:"lauren",gender:"woman",accent:"American",character:"Friendly, comforting and soft"},{key:"amy",gender:"woman",accent:"American",character:"Natural and sweet"},{key:"eve",gender:"woman",accent:"American",character:"Authentic, energetic and happy"},{key:"jessica",gender:"woman",accent:"British",character:"Smooth, articulate and warm"},{key:"adam",gender:"man",accent:"American",character:"Engaging, friendly and bright",isDefault:!0},{key:"jon",gender:"man",accent:"American",character:"Relaxed, deep and approachable"},{key:"joe",gender:"man",accent:"British",character:"Reflective and thoughtful"},{key:"peter",gender:"man",accent:"Australian",character:"Deep, warm and direct"}],pI=c.enum(N3.map(e=>e.key)),oZ=c.object({conversationId:c.string().min(1),viewerTimezone:Yn.optional()}).strict(),aZ=c.object({conversationId:c.string().min(1),botId:c.string().min(1),personaName:c.string().min(1),personaTitle:c.string().max(255).nullable().optional(),gender:dI,voiceKey:pI.nullable(),sessionScope:c.enum(["private","org","public"]),observations:uI.optional(),threadSummary:c.string(),capabilities:c.array(c.object({name:c.string().min(1),description:c.string().min(1)})).optional(),maxDurationSeconds:c.number().int().positive().max(3600).optional(),expiresAt:c.iso.datetime()}),z3=c.literal("livekit"),sZ=c.object({name:c.enum(["voice.ready","voice.first_playback","voice.failed"]),client:c.enum(["web","ios"]),botId:c.string().min(1).max(64).optional(),conversationId:c.string().min(1).max(64).optional(),provider:z3.optional(),durationMs:c.number().int().min(0).max(36e5),phase:c.enum(["idle","minting","connecting","live","ended"]).optional(),code:c.string().min(1).max(64).optional(),detail:c.string().min(1).max(300).optional(),appVersion:c.string().min(1).max(32).optional(),appBuild:c.string().min(1).max(32).optional()}).strict(),lZ=c.object({provider:c.literal("livekit"),url:c.string().min(1),token:c.string().min(1),room:c.string().min(1)}).strict(),C3=c.enum(["identity","working-style","complete"]),A3=c.string().min(1).max(50).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),Ll=c.object({botId:c.string().min(1),computerId:c.string().min(1),handle:c.string().min(2).max(50),name:c.string().min(1).max(100),emoji:c.string().max(8).nullable().optional(),title:c.string().max(120).nullable().optional(),summary:c.string().max(500).nullable().optional(),avatarId:c.string().nullable().optional(),coverId:c.string().nullable().optional(),avatar:Ft.optional(),cover:Ft.optional(),email:c.email().nullable().optional(),website:c.url().nullable().optional(),accounts:c.array(c.object({platform:c.enum(["linkedin","x","facebook","tiktok","youtube","github","instagram","threads","email","phone","website"]),handle:c.string()})).nullable().optional(),gender:dI.optional(),voiceKey:pI.nullable().optional(),isPrimary:c.boolean(),collaborationEnabled:c.boolean(),publicChatEnabled:c.boolean(),status:c.enum(["active","deleted"]),onboardingStage:C3.nullable().optional(),onboardedAt:c.string().nullable().optional(),routinePrimaryChannel:A3.optional(),firstMessageAt:c.string().nullable().optional(),firstValueAt:c.string().nullable().optional(),lastMessageAt:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}).strict(),J0=Ll.pick({name:!0,emoji:!0,title:!0,summary:!0,gender:!0,voiceKey:!0}).extend({handle:Ll.shape.handle.optional(),avatarPreset:c.string().min(1).max(64).optional(),avatarMediaId:c.string().optional()}).strict(),cZ=J0.extend({computerId:c.string().min(1)}).strict(),uZ=Ll.pick({name:!0,handle:!0,emoji:!0,title:!0,summary:!0,email:!0,website:!0,gender:!0,voiceKey:!0,routinePrimaryChannel:!0,collaborationEnabled:!0,publicChatEnabled:!0}).partial().extend({avatarMediaId:c.string().nullable().optional(),coverMediaId:c.string().nullable().optional()}).strict(),mI=c.enum(["essential","pro","business"]),mp=K2.partial().extend({computerId:c.string().min(1),ownerId:c.string().min(1),owner:c.object({userId:c.string(),fullName:c.string().optional(),avatar:Z0.optional()}).optional(),orgId:c.string().min(1),name:c.string().min(1).max(100),model:c.string().nullable(),timezone:Yn,billingTier:mI,desiredStatus:X2.nullable(),status:c.enum(["active","deleted"]),lastActiveAt:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}).strict(),dZ=c.object({orgId:c.string().min(1),name:mp.shape.name.optional(),timezone:Yn.optional(),primaryBot:J0}).strict(),pZ=mp.pick({name:!0,model:!0,timezone:!0}).partial().strict(),O3=c.enum(["none","active_assistant"]),D3=c.enum(["none","active","trial","canceling","past_due","paused"]),P3=c.object({brand:c.string(),last4:c.string(),expMonth:c.number(),expYear:c.number()}),R3=c.object({date:c.string(),amount:c.number(),status:c.string(),invoicePdf:c.string().optional()}),U3=c.object({graceEndsAt:c.string().optional(),suspended:c.boolean(),url:c.string().optional()}),mZ=c.object({plan:O3,status:D3,price:c.number(),tierRates:c.record(c.string(),c.number()).optional(),maxComputers:c.number(),activeComputers:c.number(),workspaceTier:mI.exclude(["essential"]).optional(),upcomingAmountDue:c.number().optional(),upcomingDueDate:c.string().optional(),nextBillDate:c.string().optional(),cancelAtPeriodEnd:c.boolean().optional(),cancelAt:c.string().optional(),trialEnd:c.string().optional(),trialDaysRemaining:c.number().optional(),paymentMethod:P3.optional(),paymentRecovery:U3.optional(),invoices:c.array(R3),stripeError:c.string().optional()}),j3=c.enum(["demo_computer_exists","subscription_required","plan_limit"]),fZ=c.object({canCreate:c.boolean(),activeComputers:c.number().int().nonnegative(),computerLimit:c.number().int().nonnegative(),isDemo:c.boolean(),reason:j3.optional()}),hZ=c.object({orgId:c.string(),computerName:c.string().optional(),runtime:c.string().optional()}),gZ=c.object({created:c.number(),skipped:c.number(),errors:c.array(c.string())}),vZ=c.object({updated:c.number(),errors:c.array(c.string())}),M3=K2,L3=c.object({code:B2,message:c.string(),bucket:c.enum(["account","error"]),actionLabel:c.string().optional(),actionUrl:c.string().optional(),help:c.string().optional()}),V3=c.discriminatedUnion("event",[c.object({event:c.literal("status"),data:M3}),c.object({event:c.literal("message"),data:c.object({message:k3})}),c.object({event:c.literal("message_delta"),data:c.object({delta:c.string(),turnId:c.string(),messageId:c.string().optional(),role:c.enum(["assistant","system"]).optional()})}),c.object({event:c.literal("working_state"),data:c.object({description:c.string(),turnId:c.string().optional()})}),c.object({event:c.literal("tool_activity"),data:Q2}),c.object({event:c.literal("working_end"),data:c.object({turnId:c.string().optional()}).strict()}),c.object({event:c.literal("stream_end"),data:c.object({turnId:c.string().optional()}).strict()}),c.object({event:c.literal("error"),data:L3})]);K3=c.object({label:c.string().trim().min(1).max(40),reply:c.string().trim().min(1).max(500),style:c.enum(["primary","default","destructive"]).optional()}).strip(),W3=c.object({version:c.literal(1),title:c.string().trim().min(1).max(200),body:c.string().trim().min(1).max(8e3).optional(),actions:c.array(K3).min(1).max(3).optional()}).strip();q3=c.string().trim().min(1).max(240),H0=c.string().trim().min(1).max(800),Xn=c.string().trim().min(1).max(80).regex(/^[A-Za-z0-9_.:-]+$/),Va=c.string().trim().min(1).max(120),J3=c.union([c.string().max(500),c.number().finite(),c.boolean(),c.null()]),vI=c.record(Xn,J3),G3=c.enum(["compact","currency","duration","integer","percent","raw"]),Y3=c.object({title:q3,description:H0.optional(),footer:H0.optional()}).strip(),bI=c.object({dataKey:Xn,label:Va.optional(),axisLabel:Va.optional(),valueFormat:G3.optional(),valuePrefix:c.string().trim().max(12).optional(),valueSuffix:c.string().trim().max(12).optional()}).strip(),X3=c.object({kind:c.literal("linear"),dataKey:Xn,label:Va.optional()}).strip(),Y0=c.object({version:c.literal(1),meta:Y3,fallbackMarkdown:c.string().trim().min(1).max(4e3)}).strip();eD=Y0.extend({visualType:c.literal("chart"),chartType:c.enum(["bar","line","scatter"]),xKey:Xn,xAxisLabel:Va.optional(),series:c.array(bI).min(1).max(6),data:c.array(vI).min(1).max(120),layout:c.enum(["horizontal","vertical"]).optional(),stacking:c.enum(["grouped","stacked"]).optional(),trendLine:X3.optional()}).strip().superRefine((e,t)=>{e.stacking&&e.chartType!=="bar"&&t.addIssue({code:"custom",path:["stacking"],message:"Stacking is only supported for bar charts"}),e.trendLine&&e.chartType!=="line"&&e.chartType!=="scatter"&&t.addIssue({code:"custom",path:["trendLine"],message:"Trend lines are only supported for line and scatter charts"}),yI(e.data,[{path:["xKey"],value:e.xKey},...e.series.map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey})),...e.trendLine?[{path:["trendLine","dataKey"],value:e.trendLine.dataKey}]:[]],t),wI(e.data,[...e.series.map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey})),...e.trendLine?[{path:["trendLine","dataKey"],value:e.trendLine.dataKey}]:[]],t)}),tD=Y0.extend({visualType:c.literal("chart"),chartType:c.literal("pie"),nameKey:Xn,valueKey:Xn,series:c.array(bI).max(1).optional(),data:c.array(vI).min(1).max(16)}).strip().superRefine((e,t)=>{yI(e.data,[{path:["nameKey"],value:e.nameKey},{path:["valueKey"],value:e.valueKey},...(e.series??[]).map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey}))],t),wI(e.data,[{path:["valueKey"],value:e.valueKey,nonnegative:!0}],t)}),rD=c.discriminatedUnion("chartType",[eD,tD]),nD=c.object({id:Xn,label:Va,detail:H0.optional(),kind:c.enum(["actor","agent","decision","event","input","output","system","task"]).optional()}).strip(),iD=c.object({from:Xn,to:Xn,label:Va.optional()}).strip(),oD=Y0.extend({visualType:c.literal("diagram"),diagramType:c.enum(["flow","org","sequence","state"]),layout:c.enum(["auto","left-to-right","radial","top-to-bottom"]).default("auto"),nodes:c.array(nD).min(1).max(24),edges:c.array(iD).max(48)}).strip().superRefine((e,t)=>{let n=new Set(e.nodes.map(i=>i.id));for(let[i,r]of e.edges.entries())n.has(r.from)||t.addIssue({code:"custom",path:["edges",i,"from"],message:`Unknown node id "${r.from}"`}),n.has(r.to)||t.addIssue({code:"custom",path:["edges",i,"to"],message:`Unknown node id "${r.to}"`})}),N2=c.union([rD,oD]);xI=c.object({conversationParticipantId:c.string().min(1),type:c.enum(["user","bot","anonymous"]),id:c.string(),role:c.enum(["owner","requester","member"]),status:c.enum(["active","left","deleted"]),displayName:c.string().optional(),handle:c.string().optional(),avatarUrl:c.string().optional()}).strict(),_I=c.object({messageId:c.string(),role:c.enum(["user","assistant","system"]),content:c.string(),sequence:c.string(),createdAt:c.string()}),xZ=c.object({conversationId:c.string(),orgId:c.string(),kind:c.enum(["direct","group"]),updatedAt:c.string(),viewerRole:c.enum(["owner","requester","member"]),participants:c.array(xI),lastMessage:_I.nullable(),openingMessage:c.string().nullable(),unreadCount:c.number().int().nonnegative(),latestSequence:c.string().nullable()}),_Z=c.object({sequence:c.string().min(1)}),$Z=c.object({turnId:c.string().min(1).optional()}).strict(),SZ=c.object({cancelled:c.boolean(),cancelledTurnIds:c.array(c.string())}).strict(),IZ=c.object({conversationId:c.string(),messageId:c.string(),sequence:c.string(),snippet:c.string(),createdAt:c.string(),participants:c.array(xI)}),EZ=c.object({conversationId:c.string(),lastMessage:_I.nullable(),unreadCount:c.number().int().nonnegative(),latestSequence:c.string().nullable()}),Zr=c.preprocess(e=>e===void 0?null:e,c.string().nullable()),dD=c.preprocess(e=>e===void 0?null:e,H2.nullable()),pD=c.preprocess(e=>e===void 0?null:e,X2.nullable()),mD=c.preprocess(e=>e===void 0?null:e,c.enum(["user","assistant","system"]).nullable()),z2=c.preprocess(e=>e===void 0?0:e,c.number()),fD=c.object({computerId:c.string(),handle:c.string(),name:c.string(),orgId:c.string(),orgName:Zr,orgHandle:Zr,ownerEmail:Zr,ownerName:Zr,state:dD,desiredStatus:pD,runtime:c.string(),imageVersion:Zr,lastHealthyAt:Zr,lastActiveAt:Zr,lastUserMessageAt:Zr,lastMessageAt:Zr,lastMessageRole:mD,lastMessageChannel:Zr,primaryChannel:Zr,totalMessages:z2,totalSessions:z2,error:Zr,appHandle:c.string(),hostAppExists:c.boolean(),plan:c.string(),billingStatus:c.string(),billingActive:c.boolean(),createdAt:c.string(),updatedAt:c.string()}),hD=c.object({running:c.number(),stopped:c.number(),error:c.number(),starting:c.number(),unknown:c.number(),total:c.number()}),NZ=c.object({computers:c.array(fD),summary:hD,orphanedApps:c.array(c.string()),dailyMessages30d:c.array(c.number().int()).optional(),hostAppCount:c.number().optional(),latestVersions:c.record(c.string(),c.string()).optional()}),gD=c.object({mediaId:c.string().optional(),src:c.string().optional(),alt:c.string().optional(),width:c.number().optional(),height:c.number().optional(),mimeType:c.string().optional(),mediaType:c.string().optional(),blurhash:c.string().optional()}),CZ=c.object({membershipId:c.string(),userId:c.string(),orgId:c.string(),email:c.string(),fullName:c.string().optional(),role:c.enum(["owner","admin","member","observer"]),status:c.enum(["active","suspended"]),joinedAt:c.string(),lastSeenAt:c.string().optional(),avatar:gD.optional()}),AZ=c.object({invitationId:c.string(),email:c.string(),role:c.enum(["admin","member"]),status:c.string(),expiresAt:c.string(),createdAt:c.string()}),vD=c.object({token:c.string(),email:c.string(),orgId:c.string(),orgName:c.string(),orgInitial:c.string(),inviterName:c.string().optional(),inviterEmail:c.string(),role:c.enum(["owner","admin","member","observer"]),status:c.enum(["pending","accepted","expired","revoked"]),expiresAt:c.string(),memberCount:c.number().optional()}),OZ=c.object({email:c.string().email(),role:c.enum(["admin","member"]).optional(),message:c.string().max(500).optional()}).strict(),DZ=c.object({role:c.enum(["admin","member"])}).strict(),PZ=c.object({token:c.string().min(1)}).strict(),RZ=c.object({message:c.string()}),UZ=c.object({invitationId:c.string(),message:c.string()}),jZ=c.object({message:c.string(),membershipId:c.string(),orgId:c.string(),role:c.enum(["owner","admin","member","observer"])}),MZ=c.object({invite:vD.nullable()}),bD={};h6(bD,{zNotificationTelemetryAck:()=>xD,zNotificationTelemetryEvent:()=>kD,zRegisterDeviceRequest:()=>yD,zRegisterDeviceResponse:()=>wD});yD=c.object({deviceId:c.string().min(1).max(64),pushToken:c.string().min(1).max(200),appVersion:c.string().max(40).optional(),osVersion:c.string().max(40).optional(),model:c.string().max(80).optional()}),wD=c.object({deviceId:c.string().min(1).max(64)}),kD=c.object({deviceId:c.string().min(1).max(64),kind:c.string().min(1).max(30),action:c.enum(["displayed","tapped","dismissed"]),messageId:c.string().max(32).optional()}),xD=c.object({updated:c.boolean()}),FZ=G2.pick({orgId:!0,handle:!0,name:!0,email:!0,website:!0,avatarId:!0,coverId:!0,summary:!0,timezone:!0,isPersonal:!0,status:!0,updatedAt:!0}).extend({avatar:Z0.nullable().optional(),cover:Z0.nullable().optional()}),BZ=c.object({name:c.string().min(1).max(255),handle:c.string().min(2).max(50).optional(),timezone:Yn.optional()}).strict(),ZZ=G2.pick({name:!0,email:!0,website:!0,summary:!0,timezone:!0}).extend({name:c.string().min(1).max(255).optional(),email:c.preprocess(e=>e===""?null:e,c.string().email().nullable()).optional(),timezone:Yn.optional(),avatarMediaId:c.string().nullable().optional(),coverMediaId:c.string().nullable().optional()}).strict(),KZ=c.object({used:c.number().int().nonnegative(),limit:c.number().int().nonnegative(),remaining:c.number().int().nonnegative(),periodEnd:c.string(),isDemo:c.boolean(),state:c.enum(["ok","warning","exhausted"])}),qZ=c.object({messagesHandled:c.number().int().nonnegative(),proactiveRuns:c.number().int().nonnegative(),approvalsWaiting:c.number().int().nonnegative(),approvalConversationId:c.string().optional(),approvalBotId:c.string().optional(),dailyHandled:c.array(c.number().int().nonnegative()).length(30),messagesByAssistant:c.array(c.object({botId:c.string(),count:c.number().int().nonnegative()})),briefingsDelivered:c.number().int().nonnegative(),scheduledRuns:c.number().int().nonnegative(),prev30MessagesHandled:c.number().int().nonnegative(),prev30BriefingsDelivered:c.number().int().nonnegative(),prev30ScheduledRuns:c.number().int().nonnegative(),since:c.string()}),_D=c.enum(["success","info","warning"]),$D=c.object({orgId:c.string(),name:c.string(),avatarUrl:c.string().nullable()}),SD=c.object({key:c.string(),label:c.string(),tone:_D,status:c.string(),trialDaysRemaining:c.number().optional()}),ID=c.object({activeComputerLimit:c.number().int().nonnegative(),activeComputerCount:c.number().int().nonnegative(),computerCount:c.number().int().nonnegative()}),GZ=c.object({org:$D,plan:SD,quota:ID,memberCount:c.number().int().nonnegative()}),ED=c.object({sender:c.enum(["user","agent"]),text:c.string()}),TD=c.enum(["works-now","guided-setup","coming-soon","custom-workflow"]),ND=c.object({docsUrl:c.string(),verifiedAt:c.string(),version:c.string().optional(),versionPolicy:c.enum(["date-versioned","header-versioned","path-versioned","endpoint-versioned","unversioned"]),note:c.string().optional()}),zD=c.object({key:c.string(),label:c.string(),rank:c.number()}),CD=c.object({text:c.string(),tone:c.enum(["info","warning","success","danger"])}),XZ=c.object({serviceKey:c.string(),name:c.string(),description:c.string(),shortDescription:c.string(),subtitle:c.string().optional(),icon:c.string().optional(),category:c.string(),categoryLabel:c.string(),categoryRank:c.number(),featuredRank:c.number().optional(),secondaryCategories:c.array(zD),badges:c.array(CD),tags:c.array(c.string()),searchAliases:c.array(c.string()),jtbd:c.string(),useCase:c.string(),demoScenario:c.string(),sampleConversation:c.array(ED),publicStatus:TD,apiVerification:ND.optional(),setupDifficulty:c.string(),risk:c.string(),price:c.string(),kind:c.string(),tier:c.string(),installLevel:c.enum(["computer","org","both"]),setupSummary:c.string().optional(),pagePath:c.string()}),AD=c.object({title:c.string().optional(),text:c.string()}),eH=c.object({content:c.string(),mediaType:c.enum(["application/json","text/plain"]),copyLabel:c.string(),action:c.object({label:c.string(),url:c.url()}),steps:c.array(AD)}),rH=c.object({fullName:c.string().min(1).max(100).optional(),bio:c.string().max(500).nullable().optional(),linkedinUsername:J2.nullable().optional(),profileUrl:r3.nullable().optional(),avatarMediaId:c.string().nullable().optional(),lastBotId:c.string().nullable().optional(),lastActiveOrgId:c.string().nullable().optional()}).strict(),up=8e3,OD=c.string().regex(/^[A-Z][A-Z0-9_]*$/),DD=c.object({name:c.string().trim().min(1).max(100),instructions:c.string().trim().min(1).max(up),credentialNames:c.array(OD).max(10)}),$I=c.object({mediaId:c.string().min(1),sha256:c.string().regex(/^[a-f0-9]{64}$/).optional(),name:c.string().min(1).max(100)}).strict(),PD=DD.extend({toolId:c.string().min(1),assets:c.array($I)}).strict(),RD=c.object({moment:c.enum(["briefing","checkin","closeout","custom"]),name:c.string().trim().min(1).max(100),policy:c.string().trim().min(1).max(up),time:c.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),active:c.boolean()}).strict(),UD=c.object({serviceKey:c.string().min(1).max(50)}).strict(),jD={schemaVersion:c.literal(1),name:c.string().min(1).max(100),summary:c.string().max(500)},SI=c.object({...jD,identity:J0.pick({name:!0,emoji:!0,title:!0,summary:!0,gender:!0}).strict(),guidance:c.string().max(up),examples:c.array(c.string().max(up)),tools:c.array(PD),assets:c.array($I),routines:c.array(RD).optional(),services:c.array(UD).optional()}).strict(),iH=c.object({templateId:c.string(),publisherId:c.string(),publisher:c.object({userId:c.string(),fullName:c.string(),avatar:c.object({src:c.string()}).strict().optional()}).strict(),name:c.string(),description:c.string(),snapshot:SI,createdAt:c.string()}).strict(),oH=c.object({reviewed:c.literal(!0),orgId:c.string().min(1),sourceBotId:c.string().min(1),snapshot:SI}).strict(),aH=c.object({templateId:c.string().min(1),destination:c.discriminatedUnion("kind",[c.object({kind:c.literal("computer"),computerId:c.string().min(1)}).strict(),c.object({kind:c.literal("first-computer"),orgId:c.string().min(1)}).strict()]),includedToolIds:c.array(c.string().min(1))}).strict(),sH=c.object({"idempotency-key":c.uuid().describe("One UUID per Add intent; reuse it for retries.")}),cH=c.object({user:l3,computers:c.array(mp),bots:c.array(Ll)}),C2=Object.keys(mp.shape),II=class extends co{constructor(e){super("Computer",e),this.computerId=G(this.settings.computerId),this.ownerId=G(this.settings.ownerId),this.owner=G(this.settings.owner),this.orgId=G(this.settings.orgId),this.name=G(this.settings.name),this.model=G(this.settings.model),this.timezone=G(this.settings.timezone),this.billingTier=G(this.settings.billingTier),this.desiredStatus=G(this.settings.desiredStatus),this.status=G(this.settings.status),this.lastActiveAt=G(this.settings.lastActiveAt),this.createdAt=G(this.settings.createdAt),this.updatedAt=G(this.settings.updatedAt),this.lifecycle=G(this.settings.lifecycle),this.changedAt=G(this.settings.changedAt),this.detail=G(this.settings.detail),this.blocker=G(this.settings.blocker),this.operation=G(this.settings.operation),this.ownerMarkUrl=R(()=>{let t=this.owner.value;return t?.avatar?.src||Bl(t?.fullName||this.ownerId.value)}),this.state=R(()=>Q6({lifecycle:this.lifecycle.value??"unknown",changedAt:this.changedAt.value,detail:this.detail.value,blocker:this.blocker.value,operation:this.operation.value},this.name.value))}merge(e){if(e.computerId!==void 0&&e.computerId!==this.computerId.value)throw new Error("Cannot change a computer identity");for(let t of C2){if(!(t in e))continue;let n=this[t];n&&typeof n=="object"&&"value"in n&&(n.value=e[t])}}toData(){let e={};for(let t of C2){let n=this[t];n&&typeof n=="object"&&"value"in n&&(e[t]=n.value)}return e}toJSON(){return this.toData()}},A2=Object.keys(Ll.shape),X0=class extends co{constructor(e,t){if(e.computerId!==t.computerId.value)throw new Error("Bot and computer identities do not match");super("Bot",e),this.botId=G(this.settings.botId),this.computerId=G(this.settings.computerId),this.name=G(this.settings.name),this.handle=G(this.settings.handle),this.emoji=G(this.settings.emoji),this.title=G(this.settings.title),this.summary=G(this.settings.summary),this.avatarId=G(this.settings.avatarId),this.coverId=G(this.settings.coverId),this.avatar=G(this.settings.avatar),this.cover=G(this.settings.cover),this.email=G(this.settings.email),this.website=G(this.settings.website),this.accounts=G(this.settings.accounts),this.gender=G(this.settings.gender),this.voiceKey=G(this.settings.voiceKey),this.publicChatEnabled=G(this.settings.publicChatEnabled),this.isPrimary=G(this.settings.isPrimary),this.collaborationEnabled=G(this.settings.collaborationEnabled),this.status=G(this.settings.status),this.onboardingStage=G(this.settings.onboardingStage),this.onboardedAt=G(this.settings.onboardedAt),this.routinePrimaryChannel=G(this.settings.routinePrimaryChannel),this.firstMessageAt=G(this.settings.firstMessageAt),this.firstValueAt=G(this.settings.firstValueAt),this.lastMessageAt=G(this.settings.lastMessageAt),this.createdAt=G(this.settings.createdAt),this.updatedAt=G(this.settings.updatedAt),this.displayName=R(()=>this.name.value||"Unnamed"),this.avatarUrl=R(()=>this.avatar.value?.src||Bl(this.name.value)),this.hasCustomHandle=R(()=>!!this.handle.value&&!/\d{13,}$/.test(this.handle.value)),this.displayHandle=R(()=>this.hasCustomHandle.value?`@${this.handle.value}`:void 0),this.hasReceivedMessage=R(()=>!!this.lastMessageAt.value),this.computer=t}get owner(){return this.computer.owner}get ownerMarkUrl(){return this.computer.ownerMarkUrl}get ownerId(){return this.computer.ownerId}get orgId(){return this.computer.orgId}get model(){return this.computer.model}get timezone(){return this.computer.timezone}get billingTier(){return this.computer.billingTier}get desiredStatus(){return this.computer.desiredStatus}get lifecycle(){return this.computer.lifecycle}get changedAt(){return this.computer.changedAt}get detail(){return this.computer.detail}get blocker(){return this.computer.blocker}get operation(){return this.computer.operation}get state(){return this.computer.state}get lastActiveAt(){return this.computer.lastActiveAt}merge(e){if(e.botId!==void 0&&e.botId!==this.botId.value)throw new Error("Cannot change a bot identity");if(e.computerId!==void 0&&e.computerId!==this.computerId.value)throw new Error("Cannot move a bot between computers");for(let t of A2){if(!(t in e))continue;let n=this[t];n&&typeof n=="object"&&"value"in n&&(n.value=e[t])}}toData(){let e={};for(let t of A2){let n=this[t];n&&typeof n=="object"&&"value"in n&&(e[t]=n.value)}return e}toJSON(){return this.toData()}}});function Qn(e,t){let n=Number(globalThis.process?.env?.PORT)||Vl.port;return e||(t?`http://localhost:${n}`:Vl.urls.app)}function MD(e,t,n){let i=Qn(e.apiBase,e.isDev);return async(r,o)=>{let a=uo.getAuthToken(),s=new Headers(o?.headers);s.has("Content-Type")||s.set("Content-Type","application/json"),a&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${a}`);let l=typeof r=="string"&&r.startsWith("/")?`${i}${r}`:r,u=await fetch(l,{...o,headers:s,credentials:"include"});if(n&&u.status===401&&(await u.clone().json().catch(()=>{}))?.code==="TOKEN_ERROR"&&n(),t){let d=u.json.bind(u);u.json=async()=>{let p=await d();return typeof p=="object"&&p&&"ok"in p&&("user"in p||"token"in p)&&t(p),p}}return u}}function Kl(e){"@babel/helpers - typeof";return Kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kl(e)}function FD(e,t){if(Kl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Kl(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function BD(e){var t=FD(e,"string");return Kl(t)=="symbol"?t:t+""}function q(e,t,n){return(t=BD(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}async function Fa(e,t){e.loading.value=!0,e.error.value=null;try{return await t()}finally{e.loading.value=!1}}function TI(e){if(e.role==="assistant"||e.role==="system")return{id:e.messageId,text:e.content,sender:e.role==="system"?"system":"bot",timestamp:e.createdAt,conversationId:e.conversationId,sequence:e.sequence,systemKind:e.systemKind,...e.metadata?.routine?{routine:e.metadata.routine}:{},...e.metadata?.turnOutcome?{turnOutcome:e.metadata.turnOutcome}:{},...e.metadata?.attachments?.length?{attachments:e.metadata.attachments}:{},...e.metadata?.toolActivities?.length?{toolActivities:e.metadata.toolActivities}:{},...e.metadata?.issue?{issue:e.metadata.issue}:{}}}var EI,Sr,Hl,NI,ey,LD,VD,ty,Ba,fp,hp,gp,ZD,HD,KD,Q0,WD,qD,JD,GD,YD,vp,Wl,ry=te(()=>{"use strict";Pn();Zl();En();Sr=[],Hl=0,NI=null,ey=4,LD=(EI=globalThis).nanostoresGlobal||(EI.nanostoresGlobal={epoch:0}),VD=()=>{let e,t;for(;Hl<Sr.length;){t=Hl,Hl+=ey;let n=NI?.get(Sr[t]);if(n){if(!n.has(Sr[t+1]))continue;n.clear()}try{Sr[t](Sr[t+1].value,Sr[t+2],Sr[t+3])}catch(i){e=i}}if(Sr.length=Hl=0,e)throw e},ty=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(i){return n.lc=t.push(i),()=>{NI?.get(i)?.delete(n);for(let o=Hl;o<Sr.length;)Sr[o]===i&&Sr[o+1]===n?Sr.splice(o,ey):o+=ey;let r=t.indexOf(i);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(i,r){LD.epoch++;let o=!Sr.length&&!0;for(let a of t)Sr.push(a,n,i,r);o&&VD()},off(){},set(i){let r=n.value;n.eq(r,i)||(n.value=i,n.notify(r))},subscribe(i){let r=n.listen(i);return i(n.value),r},value:e};return n};Ba=globalThis,fp=Ba.__PL_AUTH_USER__??(Ba.__PL_AUTH_USER__=ty(void 0)),hp=Ba.__PL_AUTH_TOKEN__??(Ba.__PL_AUTH_TOKEN__=ty(null)),gp=Ba.__PL_AUTH_DEVICE_ID__??(Ba.__PL_AUTH_DEVICE_ID__=ty(null)),ZD=class{constructor(){q(this,"logger",lo("SDKStorage"))}isLocalStorageFunctional(){return typeof window<"u"&&typeof localStorage?.getItem=="function"&&typeof localStorage?.setItem=="function"&&typeof localStorage?.removeItem=="function"}syncWithGlobalStores(e){let{activeUser:t,token:n,deviceId:i}=e,r=fp.get(),o=hp.get(),a=gp.get();r&&(t.value=r),o&&(n.value=o),a&&(i.value=a),mt(t,s=>fp.set(s),{immediate:!0}),mt(n,s=>hp.set(s),{immediate:!0}),mt(i,s=>gp.set(s),{immediate:!0}),fp.subscribe(s=>{s!==t.value&&(t.value=s)}),hp.subscribe(s=>{s!==n.value&&(n.value=s)}),gp.subscribe(s=>{s!==i.value&&(i.value=s)})}loadFromStorage(e){if(typeof window>"u")return;let t=uo.getAuthToken();t&&(e.token.value=t);let n=uo.getDeviceId();if(n&&(e.deviceId.value=n),this.isLocalStorageFunctional())try{let i=localStorage.getItem("pagelines-user");i&&(e.activeUser.value=JSON.parse(i))}catch(i){this.logger.error("Failed to load user from localStorage",{data:i})}}saveToStorage(e){if(typeof window<"u"&&(e.token.value?uo.setAuthToken(e.token.value):uo.removeAuthToken(),this.isLocalStorageFunctional()))try{e.activeUser.value?localStorage.setItem("pagelines-user",JSON.stringify(e.activeUser.value)):localStorage.removeItem("pagelines-user")}catch(t){this.logger.error("Failed to save user to localStorage",{data:t})}}clearStorage(){if(typeof window<"u"){if(uo.removeAuthToken(),this.isLocalStorageFunctional())try{localStorage.removeItem("pagelines-user")}catch(e){this.logger.error("Failed to clear user from localStorage",{data:e})}fp.set(void 0),hp.set(null),gp.set(null)}}getItem(e){if(!this.isLocalStorageFunctional())return null;try{return localStorage.getItem(e)}catch(t){return this.logger.error("Failed to get item from localStorage",{key:e,error:t}),null}}setItem(e,t){if(this.isLocalStorageFunctional())try{localStorage.setItem(e,t)}catch(n){this.logger.error("Failed to set item in localStorage",{key:e,error:n})}}},HD=class{constructor(e){q(this,"ctx",void 0),q(this,"computers",Ia(new Map)),q(this,"bots",Ia(new Map)),this.ctx=e}get(e){return this.bots.get(e)}computer(e){return this.computers.get(e)}all(){return[...this.bots.values()]}hydrate(e){for(let t of e.computers){let n=this.computers.get(t.computerId);n?n.merge(t):this.computers.set(t.computerId,new II(t))}return e.bots.map(t=>{let n=this.computers.get(t.computerId);if(!n)throw Error("Bot references an unknown computer");let i=this.bots.get(t.botId);if(i)return i.merge(t),i;let r=new X0(t,n);return this.bots.set(t.botId,r),r})}clear(){this.bots.clear(),this.computers.clear()}async webhook(e){let t=await this.ctx.apiFetch(`/api/bot-api/webhooks/routine-triggers/${encodeURIComponent(e.triggerId)}`,{method:"POST",headers:{"Content-Type":"application/json","X-PageLines-Key":e.key},body:JSON.stringify({type:e.type,data:e.data,...e.meta?{meta:e.meta}:{}})});if(!t.ok)throw Error(`Webhook delivery failed (${t.status})`);return t.json()}},KD=class{constructor(e,t){q(this,"ctx",void 0),q(this,"registry",void 0),this.ctx=e,this.registry=t}async create(e){let t=this.ctx.token.value,n=await(await this.ctx.apiFetch("/api/computers",{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID()},body:JSON.stringify(e)})).json();if(t!==this.ctx.token.value)throw Error("Your account changed. Try again.");if(!n.ok)throw Error(n.error||"Failed to create computer");return this.registry.hydrate({computers:[n.data.computer],bots:[n.data.bot]})[0]}async getLiveStatus(e){let t=this.ctx.token.value;try{let n=await(await this.ctx.apiFetch(`/api/computers/state?ids=${encodeURIComponent(e)}`)).json(),i=n.ok?n.data[e]??Fl:Fl;return t===this.ctx.token.value?(this.registry.computer(e)?.merge(i),i):Fl}catch(n){return this.ctx.logger.warn("Computer status unavailable",{computerId:e,error:n}),Fl}}async waitUntilReady(e){let t=Date.now(),n;for(;Date.now()-t<(e.timeoutMs??Y2.wake);){let i=await this.getLiveStatus(e.computerId);if(i.lifecycle!==n&&(e.onStatus?.(i.lifecycle),n=i.lifecycle),i.lifecycle==="running")return;if(i.lifecycle==="error")throw Error("Your computer hit a problem starting");await new Promise(r=>setTimeout(r,e.pollIntervalMs??3e3))}throw Error("Your computer is taking longer than expected. Please try again.")}},Q0="Signed in, but your account could not be loaded. Try again.";WD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async authenticateWithCode(e,t){let n=await(await this.ctx.apiFetch("/api/auth/verify-code",{method:"POST",body:JSON.stringify({email:e,code:t})})).json();if(!n.ok)throw Error(n.error);let i=await this.getCurrentUser();if(!i)throw Error(Q0);return i}async sendCode(e){return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/auth/check-email",{method:"POST",body:JSON.stringify({email:e})})).json();if(!t.ok)throw this.ctx.error.value=t.error,Error(t.error)}catch(t){this.ctx.logger.error("Send code error",{data:t});let n=t instanceof Error?t.message:"Failed to send verification code";throw this.ctx.error.value=n,t}})}async verifyCode(e,t){return Fa(this.ctx,async()=>{try{await this.authenticateWithCode(e,t)}catch(n){this.ctx.logger.error("Verify code error",{data:n});let i=n instanceof Error?n.message:"Failed to verify code";throw this.ctx.error.value=i,n}})}async logout(){return Fa(this.ctx,async()=>{try{await this.ctx.apiFetch("/api/auth/logout",{method:"POST"})}catch(e){this.ctx.logger.error("Logout error (user still logged out locally)",{data:e})}this.ctx.activeUser.value=void 0,this.ctx.token.value=null,this.ctx.storage.clearStorage(),this.ctx.clearRoster()})}async getCurrentUser(){let e=this.ctx.token.value;if(e)return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/users/me",{method:"GET"})).json();if(e!==this.ctx.token.value)return;if(!t.ok){this.ctx.error.value=t.error,t.error.includes("Authentication")&&(this.ctx.activeUser.value=void 0,this.ctx.token.value=null,this.ctx.storage.clearStorage(),this.ctx.clearRoster());return}return this.ctx.activeUser.value=t.data.user,this.ctx.hydrateRoster(t.data),t.data.user}catch(t){this.ctx.logger.error("Get current user error",{data:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to get user info";return}})}async requestAuthCode(e){return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/auth/check-email",{method:"POST",body:JSON.stringify({email:e.email})})).json();return t.ok?(this.ctx.logger.info("Auth code requested successfully",{email:e.email}),!0):(this.ctx.error.value=t.error,this.ctx.logger.error("Failed to request auth code",{email:e.email,error:t.error}),!1)}catch(t){return this.ctx.logger.error("Request auth code error",{email:e.email,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to request auth code",!1}})}async loginWithCode(e){return Fa(this.ctx,async()=>{try{return await this.authenticateWithCode(e.email,e.code),this.ctx.logger.info("Login successful",{email:e.email}),!0}catch(t){return this.ctx.logger.error("Login with code error",{email:e.email,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Login failed",!1}})}loginWithGoogle(e){if(typeof window>"u"){this.ctx.logger.error("loginWithGoogle: Only available in browser");return}let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=window.location.origin,i=`${t}/auth/google-popup?origin=${encodeURIComponent(n)}`,r=window.screenX+(window.outerWidth-500)/2,o=window.screenY+(window.outerHeight-600)/2,a=window.open(i,"google-auth",`width=500,height=600,left=${r},top=${o},popup=yes`);if(!a){let u="Popup was blocked. Please allow popups for this site.";this.ctx.error.value=u,e?.onError?.(u);return}let s=async u=>{let d=new URL(t).origin;if(u.origin===d){if(u.data?.type==="auth-success"){window.removeEventListener("message",s);let{token:p}=u.data;this.ctx.processApiResponse({ok:!0,data:{},token:p});let m=await this.getCurrentUser();if(!m){this.ctx.error.value=Q0,this.ctx.logger.error("Google login: token accepted but user hydration failed"),e?.onError?.(Q0);return}this.ctx.logger.info("Google login successful"),e?.onSuccess?.(m)}else if(u.data?.type==="auth-error"){window.removeEventListener("message",s);let p=u.data.error||"Google authentication failed";this.ctx.error.value=p,this.ctx.logger.error("Google login failed",{error:p}),e?.onError?.(p)}}};window.addEventListener("message",s);let l=setInterval(()=>{a.closed&&(clearInterval(l),window.removeEventListener("message",s))},500)}},qD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async confirmCheckout(e){if(e?.sessionId){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=await(await fetch(`${t}/api/billing/complete-checkout`,{method:"POST",headers:{"Content-Type":"application/json",...this.ctx.token.value&&{Authorization:`Bearer ${this.ctx.token.value}`}},body:JSON.stringify({sessionId:e.sessionId})})).json();if(!n.ok){let i=n.error||"Failed to complete checkout";throw this.ctx.error.value=i,Error(i)}}return this.getStatus()}async getStatus(){let e=this.resolveOrgId(),t=Qn(this.ctx.apiBase,this.ctx.isDev),n=await(await fetch(`${t}/api/billing/details/${e}`,{headers:{...this.ctx.token.value&&{Authorization:`Bearer ${this.ctx.token.value}`}}})).json();if(!n.ok||!n.data)return{plan:void 0,status:"none",hasActiveBilling:!1,maxBots:0};let i=["active","trial","canceling"].includes(n.data.status)||n.data.status==="past_due"&&n.data.paymentRecovery?.suspended!==!0;return{plan:n.data.plan,status:n.data.status,hasActiveBilling:i,maxBots:n.data.maxBots,...n.data.trialEnd&&{trialEnd:n.data.trialEnd},...n.data.trialDaysRemaining!==void 0&&{trialDaysRemaining:n.data.trialDaysRemaining},...n.data.paymentRecovery&&{paymentRecovery:n.data.paymentRecovery}}}resolveOrgId(){let e=this.ctx.activeUser.value?.orgs?.[0]?.orgId;if(!e)throw Error("No organization found. Please sign in first.");return e}};JD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async cancelConversationTurn(e){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=this.ctx.token.value?{Authorization:`Bearer ${this.ctx.token.value}`}:{},i=await fetch(`${t}/api/conversations/${encodeURIComponent(e.conversationId)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(e.turnId?{turnId:e.turnId}:{})}),r=await i.json();if(!r.ok)throw Error(r.error||`Cancel failed: HTTP ${i.status}`);return r.data}async chatStreamPublic(e){let t=`${Qn(this.ctx.apiBase,this.ctx.isDev)}/api/bots/public/${encodeURIComponent(e.handle)}/chat/stream`,n="",i=!1,r=!1,o;try{let a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e.message,anonymousId:e.anonymousId,...e.attachments?.length?{attachments:e.attachments.map(({type:s,src:l,filename:u,mimeType:d,mediaId:p})=>({type:s,url:l,name:u,mimeType:d,mediaId:p}))}:{},...e.context?{context:e.context}:{}})});if(!a.ok){let s=await a.json().catch(()=>({error:"Request failed"}));e.onError(ln("api",s.error||`HTTP ${a.status}`,s.code));return}if(n=a.headers.get("X-Conversation-Id")||"",o=a.body?.getReader(),!o){e.onError(ln("stream-open","No response stream"));return}for await(let s of G0(o))if(s.event==="working_state")e.onStatus?.(s.data.description);else if(s.event==="tool_activity")e.onToolActivity?.(s.data);else if(s.event==="working_end")e.onWorkingEnd?.();else if(s.event==="message_delta")e.onDelta(s.data.delta,s.data.role);else if(s.event==="error"){i=!0,e.onError(s.data);break}else if(s.event==="message"&&(s.data.message.role==="assistant"||s.data.message.role==="system")){r=!0;let l=TI(s.data.message);l&&e.onMessage?.(l)}else if(s.event==="stream_end")break;!i&&r?e.onDone(n):i||e.onError(ln("no-reply","Stream ended before reply arrived"))}catch(a){e.onError(ln("stream-read",a instanceof Error?a.message:"Stream failed","NETWORK_ERROR"))}finally{try{await o?.cancel()}catch{}}}async chatStreamAuthenticated(e){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=this.ctx.token.value?{Authorization:`Bearer ${this.ctx.token.value}`}:{},i=e.conversationId,r=e.latestSequence??null;if(!i)try{let l=await fetch(`${t}/api/conversations`,{method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify({orgId:e.orgId,participants:[{type:"bot",id:e.botId}]})}),u=await l.json();if(!u.ok){e.onError(ln("api",u.error||`Conversation failed: HTTP ${l.status}`,u.code));return}i=u.data.conversationId,r=u.data.latestSequence??null}catch(l){e.onError(ln("api",l instanceof Error?l.message:"Conversation failed","NETWORK_ERROR"));return}let o=r?`${t}/api/conversations/${encodeURIComponent(i)}/stream?since=${encodeURIComponent(r)}`:`${t}/api/conversations/${encodeURIComponent(i)}/stream`,a=`nonce_${U2(16)}`,s=eI();await hI({streamUrl:o,sendUrl:`${t}/api/messages`,headers:n,sendBody:{conversationId:i,content:e.message,clientNonce:a,...s?{viewerTimezone:s}:{},...e.attachments&&e.attachments.length>0?{attachments:e.attachments}:{}},onStatus:e.onStatus,onDelta:e.onDelta,onToolActivity:e.onToolActivity,onWorkingEnd:e.onWorkingEnd,onMessage:l=>{let u=TI(l);u&&e.onMessage?.(u)},onDone:()=>e.onDone(i),onChatError:e.onError,onTransportError:e.onError})}},GD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async getPublicBot(e){this.ctx.loading.value=!0,this.ctx.error.value=null;try{let t=await(await this.ctx.apiFetch(`/api/pub/bot/get-by-handle?handle=${encodeURIComponent(e.handle)}`)).json();if(!t.ok){this.ctx.error.value=t.error,this.ctx.logger.error("Failed to fetch public bot",{handle:e.handle,error:t.error});return}return this.ctx.hydrateRoster({bots:[t.data.bot],computers:[t.data.computer]})[0]}catch(t){this.ctx.logger.error("Get public bot error",{handle:e.handle,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to fetch bot";return}finally{this.ctx.loading.value=!1}}generateAnonId(){let e="pagelinesAnonId",t=this.ctx.storage.getItem(e);return t||(t=dp({prefix:"anon"}),this.ctx.storage.setItem(e,t)),t}track(e){try{typeof window<"u"&&window.parent!==window&&window.parent.postMessage({type:"pagelines_track",event:e.event,botId:e.botId,properties:e.properties||{}},"*"),this.ctx.logger.info("SDK event tracked",{event:e.event,botId:e.botId})}catch(t){this.ctx.logger.error("Track event error",{error:t,args:e})}}},YD=class{constructor(){q(this,"key","__PAGELINES_SDK__")}get(){if(typeof window<"u")return globalThis[this.key]}set(e){typeof window<"u"&&(globalThis[this.key]=e)}delete(){typeof window<"u"&&delete globalThis[this.key]}},vp=new YD,Wl=class zI extends co{static getInstance(t={}){return vp.get()||new zI(t)}get isDev(){return this.settings.isDev??(typeof window<"u"?window.location.hostname==="localhost"||window.location.hostname.includes("127.0.0.1"):!1)}constructor(t={}){let n=vp.get();if(n)return console.debug("[PageLinesSDK] Returning existing singleton instance"),n;super("PageLinesSDK",t),q(this,"activeUser",G()),q(this,"token",G(null)),q(this,"deviceId",G(null)),q(this,"loading",G(!1)),q(this,"error",G(null)),q(this,"apiBase",this.settings.apiBase||void 0),q(this,"storage",new ZD),q(this,"sessionId",dp({prefix:"ses"})),q(this,"currentBot",R(()=>{let r=this.activeUser.value;return(r?.lastBotId?this.bot.get(r.lastBotId):void 0)??this.bot.all().find(o=>o.isPrimary.value&&o.ownerId.value===r?.userId)})),q(this,"currentOrg",R(()=>{let r=this.currentBot.value?.computer.orgId.value??this.activeUser.value?.lastActiveOrgId??this.activeUser.value?.primaryOrgId;return this.activeUser.value?.orgs?.find(o=>o.orgId===r)})),q(this,"initialized",void 0),q(this,"resolveUser",void 0),q(this,"bot",void 0),q(this,"computer",void 0),q(this,"auth",void 0),q(this,"billing",void 0),q(this,"chat",void 0),q(this,"user",void 0),q(this,"stopAccountWatch",void 0),vp.set(this);let i={apiFetch:MD({isDev:this.isDev,apiBase:this.apiBase},this.processApiResponse.bind(this),()=>this.clearSession()),apiBase:this.apiBase,isDev:this.isDev,activeUser:this.activeUser,token:this.token,loading:this.loading,error:this.error,currentBot:this.currentBot,hydrateRoster:r=>this.bot.hydrate(r),clearRoster:()=>this.bot.clear(),storage:this.storage,sessionId:this.sessionId,logger:this.logger,processApiResponse:this.processApiResponse.bind(this)};this.bot=new HD(i),this.computer=new KD(i,this.bot),this.auth=new WD(i),this.billing=new qD(i),this.chat=new JD(i),this.user=new GD(i),this.stopAccountWatch=mt(()=>this.activeUser.value?.userId,()=>this.bot.clear(),{flush:"sync"}),this.logger.info("PageLinesSDK initialized"),this.storage.loadFromStorage(this.authRefs()),this.storage.syncWithGlobalStores(this.authRefs()),this.initialized=new Promise(r=>{this.resolveUser=r}),this.token.value&&!this.activeUser.value?this.auth.getCurrentUser().then(r=>{this.resolveUser&&(this.resolveUser(r),this.resolveUser=void 0)}).catch(r=>{this.logger.error("Auto user fetch failed",{data:r}),this.resolveUser&&(this.resolveUser(void 0),this.resolveUser=void 0)}):this.activeUser.value?this.resolveUser?.(this.activeUser.value):this.resolveUser?.(void 0)}processApiResponse(t){if(!t.ok)return;let n=!1;t.user&&(this.activeUser.value=t.user,this.logger.info("User updated from API response",{data:t.user}),n=!0),t.token&&(this.token.value!==t.token&&(this.activeUser.value=void 0,this.bot.clear()),this.token.value=t.token,this.logger.info("Token updated from API response"),n=!0);let i=t.data?.deviceId;i&&(this.deviceId.value=i,n=!0),n&&this.persistAuth(),this.resolveUser&&(this.resolveUser(t.user),this.resolveUser=void 0)}authRefs(){return{activeUser:this.activeUser,token:this.token,deviceId:this.deviceId}}persistAuth(){this.storage.saveToStorage(this.authRefs())}clearSession(){this.bot.clear(),this.logger.info("Clearing session"),this.activeUser.value=void 0,this.token.value=null,this.deviceId.value=null,this.error.value=null,this.storage.clearStorage()}clear(){this.logger.info("Clearing SDK completely"),this.clearSession(),this.loading.value=!1,this.sessionId=dp({prefix:"ses"}),this.stopAccountWatch?.(),vp.delete()}}});function e5(e,t){return w(),$("div",QD,[...t[0]||(t[0]=[b("svg",{class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},[b("circle",{class:"ring-path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"})],-1)])])}function t5(e){let t=Math.max(0,Math.floor(e.ms/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,"0")}`}function r5(e){return e.mimeType.includes("mp4")||e.mimeType.includes("m4a")?"m4a":e.mimeType.includes("ogg")?"ogg":e.mimeType.includes("wav")?"wav":"webm"}function n5(){return typeof MediaRecorder>"u"?"":["audio/webm;codecs=opus","audio/mp4","audio/webm"].find(e=>MediaRecorder.isTypeSupported?.(e))||""}function a5(e){return e.turnOutcome==="failed"?"failed":e.turnOutcome==="stopped"?"stopped":e.sender==="system"?"failed":"completed"}function Ip(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function qa(e){return Ip(e.endedAt)??Ip(e.startedAt)??0}function yy(e,t){return qa(e)-qa(t)}function Ql(e,t){let n=e.filter(r=>r.status==="completed"||r.status==="failed"&&!!r.note).filter(r=>!t.has(r.activityId)).slice().sort(yy),i=[];for(let r of n){let o=r.status==="completed"?"done":"failed",a=i[i.length-1];o==="done"&&a?.tone==="done"&&a.label===r.label&&qa(r)-a.lastMs<=s5?(a.count+=1,a.lastMs=qa(r)):i.push({id:r.activityId,tone:o,label:r.label,note:r.note,count:1,lastMs:qa(r)})}return i.map(r=>({id:r.id,tone:r.tone,label:r.count>1?`${r.label} \xB7 ${r.count}`:r.label,...r.note?{note:r.note}:{}}))}function $p(e){return e.length<=ny?{visibleRows:e,hiddenRows:[]}:{visibleRows:e.slice(e.length-ny),hiddenRows:e.slice(0,e.length-ny)}}function wy(e){let{activities:t,outcome:n,nowMs:i,canNotifyOnCompletion:r,lastVisibleProgressAtMs:o,includeFailureNote:a=!0}=e;if(n==="completed")return{outcome:n,visibleRows:[],hiddenRows:Ql(t,new Set),terminal:{id:"work-complete",tone:"completed",label:mo.completed}};if(n==="failed"){let A=t.filter(Q=>Q.status==="failed").sort(yy).pop(),j=new Set;A&&j.add(A.activityId);let{visibleRows:O,hiddenRows:P}=$p(Ql(t,j));return{outcome:n,visibleRows:O,hiddenRows:P,terminal:{id:"work-failed",tone:"failed",label:mo.failed,...a&&A?.note?{note:A.note}:{}}}}if(n==="stopped"){let{visibleRows:A,hiddenRows:j}=$p(Ql(t,new Set));return{outcome:n,visibleRows:A,hiddenRows:j,terminal:{id:"work-stopped",tone:"stopped",label:mo.stopped}}}let{visibleRows:s,hiddenRows:l}=$p(Ql(t,new Set)),u=t.filter(A=>A.status==="started").sort(yy).pop(),d=t.reduce((A,j)=>Math.max(A,qa(j)),o??-1/0),p=Number.isFinite(d)?d:i,m=t.reduce((A,j)=>{let O=Ip(j.startedAt)??Ip(j.endedAt);return O===void 0?A:Math.min(A,O)},1/0),f=p+aE,g=(Number.isFinite(m)?m:p)+l5,v=i>=f,x=u||v?{id:u?.activityId??"work-active",tone:"active",label:u?.label??mo.finishing}:void 0,C=v&&i>=g?r?mo.notifyHint:mo.leaveHint:void 0,S=[f,g].filter(A=>A>i).sort((A,j)=>A-j)[0];return{outcome:n,visibleRows:s,hiddenRows:l,...x?{terminal:x}:{},...C?{hint:C}:{},...S===void 0?{}:{nextBoundaryAtMs:S}}}function c5(e){let{segments:t,activities:n,nowMs:i,canNotifyOnCompletion:r,lastVisibleProgressAtMs:o}=e,a=new Map(n.map(f=>[f.activityId,f])),s=f=>wy({activities:f,outcome:"running",nowMs:i,canNotifyOnCompletion:r,...o===void 0?{}:{lastVisibleProgressAtMs:o}}),l=f=>{let{visibleRows:g,hiddenRows:v}=$p(Ql(f,new Set));if(g.length!==0||v.length!==0)return{outcome:"running",visibleRows:g,hiddenRows:v}},u=[],d=new Set(t.flatMap(f=>f.kind==="work"?f.activityIds:[])),p=l(n.filter(f=>!d.has(f.activityId)));p&&u.push({kind:"work",id:"work-unsegmented",journal:p}),t.forEach((f,g)=>{if(f.kind==="text"){f.content&&u.push({kind:"text",id:`text-${g}`,content:f.content});return}let v=f.activityIds.map(C=>a.get(C)).filter(C=>C!==void 0);if(v.length===0)return;let x=l(v);x&&u.push({kind:"work",id:`work-${f.activityIds[0]??g}`,journal:x})});let m=s(n);return m.terminal||m.hint?u.push({kind:"work",id:"work-tail",journal:{outcome:"running",visibleRows:[],hiddenRows:[],...m.terminal?{terminal:m.terminal}:{},...m.hint?{hint:m.hint}:{},...m.nextBoundaryAtMs===void 0?{}:{nextBoundaryAtMs:m.nextBoundaryAtMs}}}):u.push({kind:"loading",id:"work-tail"}),u}function bp(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function u5(){return typeof navigator<"u"&&!!navigator.mediaDevices?.getUserMedia&&typeof RTCPeerConnection<"u"}function CI(e){return e?typeof e=="string"?e:e.src||"":""}function sE(e){return CI(e.cover)||CI(e.avatar)||Bl(e.name)}function tc(e){let t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src=Bl())}function lE(e){let{template:t,bot:n}=e;return t.replace(/{name}/g,n.name||"Assistant").replace(/{title}/g,n.title||"").replace(/{handle}/g,n.handle||"")}function y5(e,t){switch(e){case"bot":return`${t} ended the call`;case"idle-timeout":return"Call ended after 30 seconds of silence";case"network":return"Call dropped. Connection lost.";case"session-cap":return"Call reached its time limit";case"unavailable":return"Call couldn\u2019t connect"}}function A5(e,t){this.v=e,this.k=t}function AI(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function O5(e){if(Array.isArray(e))return e}function D5(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}function P5(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
94
|
+
`):t.stack};for(let[a,s]of Object.entries(t))o[a]=this.formatData(s,n,i+1);return"cause"in t&&(o.cause=this.formatData(t.cause,n,i+1)),this.redactSensitive(o)}if(t instanceof Date)return t.toISOString();if(typeof t!="object")return t;if(Array.isArray(t))return t.length>20&&Ma?`Array(${t.length}) [${t.slice(0,3).map(r=>this.formatData(r,n,i+1)).join(", ")}, ...]`:t.map(r=>this.formatData(r,n,i+1));try{let r={},o=Object.entries(t),a=Ma?50:200;for(let[s,l]of o.slice(0,a))r[s]=this.formatData(l,n,i+1);return o.length>a&&(r["..."]=`${o.length-a} more properties`),this.redactSensitive(r)}catch{return"[Unserializable]"}}logToBrowser(t){if(!Gn||!this.shouldLog(t.level))return;let{level:n,description:i,context:r,data:o,error:a}=t,s=sp[n],u=`[${r||this.context||"www"}] ${n.toUpperCase()}:`,d=`color: ${s.color}; font-weight: bold;`;o!==void 0?console[n](`%c${u}`,d,i,this.formatData(o)):console[n](`%c${u}`,d,i),a&&(a instanceof Error?console.error(a):console.error("Error details:",a))}logToNode(t){if(!lp||!this.shouldLog(t.level))return;let{level:n,description:i,context:r,data:o,error:a}=t,s=r||this.context||"www";if(Ma){let l={timestamp:this.formatISOTimestamp(),level:n.toUpperCase(),context:s,msg:i,message:i};o!==void 0&&(l.data=this.formatData(o)),a!==void 0&&(l.error=this.formatData(a));let u=JSON.stringify(l);n==="trace"?console.log(u):console[n](u)}else{let l=sp[n],u=this.formatTimestamp(),d="\x1B[0m",p="\x1B[2m",m=l.nodeColor||"",f=`${p}${u}${d} ${m}${n.toUpperCase()} (${s}):${d} ${i}`;console[n](f),o!==void 0&&console.log(JSON.stringify(this.formatData(o),null,2)),a&&(a instanceof Error?(console.error(`\x1B[31mError:${d}`,a.message),a.stack&&console.error(`\x1B[90m${a.stack}${d}`)):console.error("Error:",a))}}log(t){Gn?this.logToBrowser(t):lp&&this.logToNode(t)}error(t,n){this.log({level:"error",description:t,data:n,context:this.context})}warn(t,n){this.log({level:"warn",description:t,data:n,context:this.context})}info(t,n){this.log({level:"info",description:t,data:n,context:this.context})}debug(t,n){this.log({level:"debug",description:t,data:n,context:this.context})}trace(t,n){this.log({level:"trace",description:t,data:n,context:this.context})}isEnabled(){return Gn?this.enabledInBrowser:!0}setLevel(t){this.settings.minLevel=t}createContextLogger(t){let n=new cp(this.settings,t);return{error:(i,r)=>n.error(i,r),warn:(i,r)=>n.warn(i,r),info:(i,r)=>n.info(i,r),debug:(i,r)=>n.debug(i,r),trace:(i,r)=>n.trace(i,r),isEnabled:()=>n.isEnabled(),setLevel:i=>n.setLevel(i)}}};P2.hasShownHelp=!1;R2=P2;Nn=new R2,QB=Nn.error.bind(Nn),e7=Nn.warn.bind(Nn),t7=Nn.info.bind(Nn),r7=Nn.debug.bind(Nn),n7=Nn.trace.bind(Nn),co=class{constructor(e,t){this.objectName=e,this.settings=t,this.logger=lo(e)}};S2={green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"}};k6=class{constructor(){this.tokenName="auth-token",this.deviceIdName="pl-device-id",this.tokenMaxAge=3600*24*90,this.fallbackStorageKey="token"}currentCookieOptions(){return w6(typeof window>"u"?void 0:window.location)}getCookie(e){if(typeof document>"u")return null;let t=document.cookie.split(";");for(let n of t){let[i,r]=n.trim().split("=");if(i===e)return decodeURIComponent(r||"")}return null}setCookie(e,t,n={}){if(typeof document>"u")return;let{secure:i=!0,sameSite:r="lax",maxAge:o=3600*24*7,domain:a,path:s="/"}=n,l=`${e}=${encodeURIComponent(t)}`;l+=`; Path=${s}`,l+=`; Max-Age=${o}`,l+=`; SameSite=${r}`,i&&(l+="; Secure"),a&&(l+=`; Domain=${a}`),document.cookie=l}removeCookie(e,t={}){this.setCookie(e,"",{...t,maxAge:0})}isLocalStorageFunctional(){return typeof window<"u"&&typeof window.localStorage?.getItem=="function"&&typeof window.localStorage?.setItem=="function"&&typeof window.localStorage?.removeItem=="function"}getAuthToken(){let e=this.getCookie(this.tokenName);if(e)return e;if(this.isLocalStorageFunctional()){let t=window.localStorage.getItem(this.fallbackStorageKey);if(t)return this.setAuthToken(t),window.localStorage.removeItem(this.fallbackStorageKey),t}return null}setAuthToken(e){let t=this.currentCookieOptions();this.setCookie(this.tokenName,e,{secure:t.secure,sameSite:"lax",maxAge:this.tokenMaxAge,domain:t.domain,path:t.path})}removeAuthToken(){let e=this.currentCookieOptions();this.removeCookie(this.tokenName,{domain:e.domain,path:e.path}),this.removeCookie(this.tokenName,{domain:".pagelines.com",path:"/"}),this.isLocalStorageFunctional()&&window.localStorage.removeItem(this.fallbackStorageKey)}getDeviceId(){return this.getCookie(this.deviceIdName)}},uo=new k6,x6=["https://redirect-a.invalid","https://redirect-b.invalid"];$6=c.enum(["linkedin","x","facebook","tiktok","youtube","github","instagram","threads","email","phone","website","calendar"]),S6=c.object({platform:$6,handle:c.string(),url:c.string().optional()}),I6=c.preprocess(e=>Array.isArray(e)?e.filter(t=>t&&typeof t=="object"&&t.platform&&t.handle):e,c.array(S6)),E6=["image","audio","video","document"],K0=c.enum(E6),T6=["avatar","cover","general"],M2=c.enum(T6),N6=c.enum(["processing","active","failed","deleted"]),z6=c.enum(["low","standard","high"]),C6=c.enum(["jpg","jpeg","png","gif","webp","svg"]),A6=c.enum(["mp4","webm","ogg","mov","avi"]),O6=c.enum(["mp3","wav","ogg","opus","aac","flac","webm","m4a","mp4"]),D6=c.object({mediaId:c.string(),userId:c.string(),orgId:c.string(),botId:c.string().nullable().optional(),filename:c.string(),mimeType:c.string(),size:c.number(),src:c.string(),alt:c.string().optional(),context:M2.default("general"),status:N6.default("processing"),quality:z6.default("standard"),createdAt:c.string().optional(),updatedAt:c.string().optional()}),Ft=D6.extend({mediaType:K0.optional(),className:c.string().optional(),width:c.number().optional(),height:c.number().optional(),duration:c.number().optional(),blurhash:c.string().optional()}).partial(),P6=c.object({duration:c.number().optional(),thumbnail:c.string().optional(),autoplay:c.boolean().optional(),loop:c.boolean().optional(),muted:c.boolean().optional(),controls:c.boolean().optional()}),R6=c.object({duration:c.number().optional(),autoplay:c.boolean().optional(),loop:c.boolean().optional(),muted:c.boolean().optional(),controls:c.boolean().optional()}),U6=Ft.extend({mediaType:c.literal("image"),imageFormat:C6.optional()}),j6=Ft.extend({mediaType:c.literal("video"),videoFormat:A6.optional(),video:P6.optional()}),M6=Ft.extend({mediaType:c.literal("audio"),audioFormat:O6.optional(),audio:R6.optional()}),L6=Ft.extend({mediaType:c.literal("document")}),s7=c.discriminatedUnion("mediaType",[U6,j6,M6,L6]),L2=c.enum(["xxs","xs","sm","md","lg","xl"]),V2=c.enum(["primary","default","overlay","red","green","indigo","orange"]),F2=c.enum(["ghost","link","outline","solid"]),B0=c.object({key:c.string().optional(),label:c.string().optional(),href:c.string().optional(),size:L2.optional(),theme:V2.optional(),design:F2.optional(),icon:c.union([c.string(),Ft]).optional(),iconAfter:c.union([c.string(),Ft]).optional(),rounding:c.enum(["full","md","lg"]).optional(),loading:c.boolean().optional(),disabled:c.boolean().optional(),tooltip:c.string().optional(),onClick:c.any().optional(),testId:c.string().optional(),target:c.enum(["_blank","_self"]).optional(),type:c.enum(["button","submit","reset"]).optional()}),c7=c.object({buttons:c.array(B0).optional(),size:L2.optional(),theme:V2.optional(),design:F2.optional()}),V6=["COMPUTER_BOOT_FAILED","COMPUTER_CREATE_FAILED","BOT_DELETED","COMPUTER_DELETE_FAILED","COMPUTER_INACTIVE","COMPUTER_LIMIT","COMPUTER_NOT_FOUND","BOT_NOT_FOUND","COMPUTER_NOT_DEPLOYED","BOT_TOKENS_MISSING","COMPUTER_UNREACHABLE","COMPUTER_UPDATE_FAILED","COMPUTER_WAKE_TIMEOUT","ADMISSION_REQUIRED","ALREADY_MEMBER","ATTACHMENT_TYPE_UNSUPPORTED","AUTH_ACCOUNT_NOT_FOUND","AUTH_BOT_BLOCKED","AUTH_DISPOSABLE_EMAIL","AUTH_EMAIL_IN_USE","AUTH_INVALID","AUTH_INVALID_CODE","AUTH_INVALID_HANDOFF","AUTH_LOCKED_OUT","AUTH_MISSING","AUTH_PROVIDER_FAILED","AUTH_PROVIDER_NOT_CONFIGURED","AUTH_RATE_LIMITED","AUTH_REVOKED","AUTH_TURNSTILE_MISSING","AUTH_UNKNOWN","AUTH_WRONG_TYPE","ROUTINE_CHANNEL_UNAVAILABLE","ROUTINE_PURPOSE_REQUIRED","BOT_REPLY_FAILED","BILLING_BUDGET_REACHED","BILLING_DEMO_SPENT","BILLING_NO_PLAN","BILLING_PAST_DUE","BILLING_RUNAWAY_CAP","BILLING_SEAT_LIMIT","CHECKOUT_FAILED","CONFIRMATION_REQUIRED","CREATE_FAILED","CREDIT_LIMIT","DELETE_FAILED","DUPLICATE_INVITE","EMAIL_DELIVERY_FAILED","EMAIL_FAILED","EMAIL_MISMATCH","EMAIL_RATE_LIMITED","EMAIL_REASON_NOT_ELIGIBLE","EMPTY_STREAM","EMPTY_PATCH","ENV_VAR_CONFLICT","ENV_VAR_RESERVED","EXTENSION_INACTIVE","FORBIDDEN","HANDLE_TAKEN","IMAGE_GENERATION_FAILED","IMAGE_GENERATION_UNCONFIGURED","INTERNAL_ERROR","INVALID_FILE","INVALID_PRIMARY_CHANNEL","UNKNOWN_ROUTINE_CHANNEL","INVITE_CONFLICT","INVITE_EXPIRED","INVITE_INVALID","INVITE_LIMIT","MCP_NOT_AVAILABLE","MCP_NOT_CONFIGURED","MEDIA_NOT_FOUND","MEDIA_SERVER_UNAVAILABLE","MEDIA_UPLOAD_FAILED","MEMORY_NOT_FOUND","MISSING_IDEMPOTENCY_KEY","NETWORK_ERROR","NO_WORKSPACE","NOT_A_MEMBER","NOT_AUTHORIZED","NOT_FOUND","ORG_NOT_FOUND","OVERAGE_CAP","OWNER_LOCK","OWNER_TURN_REQUIRED","PAIRING_VERIFY_FAILED","PAYMENT_FAILED","PHONE_COUNTRY_CLOSED","PLAN_LIMIT","PROVISIONER_UNAVAILABLE","RATE_LIMIT","RATE_LIMITED","REBUILD_FAILED","RESTART_FAILED","RUNTIME_UNPROVEN","SEND_FAILED","STOP_FAILED","STREAM_DISCONNECT","STREAM_TIMEOUT","STRIPE_LOAD","TIMEOUT","TOKEN_ERROR","TOOL_PROTOCOL","TRIAL_ENDED","TURN_ACTIVE","UPLOAD_FAILED","VALIDATION_ERROR","VOICE_BUSY","VOICE_UNAVAILABLE","WAKE_FAILED"],B2=c.enum(V6),F6=9900,I2=`$${F6/100}/month`,B6=c.enum(["account","error"]),Z6=["billing_no_plan","billing_seat_limit","billing_past_due","billing_runaway_cap","billing_budget_reached","billing_demo_spent","bot_deleted","computer_not_deployed","computer_boot_failed","computer_unreachable","computer_wake_timeout","provisioner_unavailable","stream_timeout","stream_disconnect","empty_stream","tool_protocol","rate_limit"],H6=c.enum(Z6),Z2=c.object({bucket:B6,code:H6,title:c.string(),help:c.string().optional(),actionLabel:c.string(),actionUrl:c.string()}),f7={billing_no_plan:{bucket:"account",title:"Billing needed",help:`Add a payment method to turn live replies back on. Plans start at ${I2} per active assistant, cancel anytime.`,actionLabel:"Open billing",oneLine:`The workspace needs a payment method before this assistant can reply; plans start at ${I2} per active assistant.`},billing_seat_limit:{bucket:"account",title:"Active assistant limit reached",help:"Your active assistants are all in use. Put one assistant to sleep or ask us to raise the ceiling.",actionLabel:"Open billing",oneLine:"The workspace has no unused active-assistant slots; one assistant must sleep or the limit must be raised."},billing_past_due:{bucket:"account",title:"Assistants paused",help:"Payment is overdue. Fix it and we\u2019ll bring your assistants back online.",actionLabel:"Fix payment",oneLine:"The workspace payment is overdue; its owner must fix it before assistants come back online."},billing_runaway_cap:{bucket:"account",title:"Usage limit reached",help:"Your workspace reached its usage limit. Review billing or contact support to keep your assistant running.",actionLabel:"Contact support",oneLine:"The workspace reached its usage limit; its owner can review billing or contact support."},billing_budget_reached:{bucket:"account",title:"Not enough credits",help:"Your workspace needs more included credits for another reply. They refill at the next billing period.",actionLabel:"Review billing",oneLine:"The workspace needs more included credits; they refill at the next billing period."},billing_demo_spent:{bucket:"account",title:"Weekly usage used up",help:"Your bot has used this week's included usage. It refills next week.",actionLabel:"",oneLine:"This bot has used this week's included usage; it refills next week."},bot_deleted:{bucket:"error",title:"Assistant deleted",help:"This chat is still here, but the assistant can no longer reply.",actionLabel:"",oneLine:"This assistant was deleted. The chat history remains, but it can no longer reply."},computer_not_deployed:{bucket:"error",title:"Assistant asleep",help:"Open the assistant profile to wake it up before chatting.",actionLabel:"Open assistant",oneLine:"This assistant needs to wake up before it can reply."},computer_boot_failed:{bucket:"error",title:"Couldn't wake up",help:"Open the assistant profile to restart it or check what failed.",actionLabel:"Open assistant",oneLine:"This assistant tried to wake up but hit an error."},computer_unreachable:{bucket:"error",title:"Not responding",help:"Open the assistant profile to check status or restart it.",actionLabel:"Open assistant",oneLine:"This assistant is not responding right now; its owner can check its status."},computer_wake_timeout:{bucket:"error",title:"Still starting",help:"It is still starting up. Send your message again in a minute, or open the assistant to see what it is doing.",actionLabel:"Open assistant",oneLine:"This assistant is still starting up; send your message again in a minute."},provisioner_unavailable:{bucket:"error",title:"Couldn't reach computer",help:"PageLines couldn't reach your assistant's computer for a moment. Send your message again.",actionLabel:"Try again",oneLine:"PageLines couldn't reach this assistant's computer for a moment; try the message again."},stream_timeout:{bucket:"error",title:"Reply too slow",help:"Your assistant took too long to start replying. Try your message again.",actionLabel:"Try again",oneLine:"This assistant took too long to start replying; try the message again."},stream_disconnect:{bucket:"error",title:"Connection lost",help:"The connection dropped while your assistant was replying. Send your message again to retry.",actionLabel:"Try again",oneLine:"The connection dropped while this assistant was replying; try the message again."},empty_stream:{bucket:"error",title:"Empty reply",help:"Your assistant could not generate a reply. Try your message again.",actionLabel:"Try again",oneLine:"This assistant did not return a reply; try the message again."},tool_protocol:{bucket:"error",title:"Tool call failed",help:"Your assistant tried to use a tool in a format PageLines could not run. Try the message again.",actionLabel:"Try again",oneLine:"This assistant tried to use a tool in a format PageLines could not run; try the message again."},rate_limit:{bucket:"error",title:"Slow down",help:"Too many messages at once. Wait a moment, then send your message again.",actionLabel:"Try again",oneLine:"Too many messages arrived at once; wait a moment and try again."}},H2=c.enum(["unknown","stopped","starting","running","unreachable","error"]),K6=c.enum(["wake","restart","rebuild","config_apply","setup"]),W6=c.enum(["running","coalesced","failed"]),q6=c.object({kind:K6,status:W6,startedAt:c.string().datetime(),detail:c.string().optional()}).strict(),K2=c.object({lifecycle:H2,changedAt:c.string().datetime().optional(),detail:c.string().optional(),blocker:Z2.optional(),operation:q6.optional()}).strict(),Fl=Object.freeze({lifecycle:"unknown"}),J6={running:"green",starting:"amber",unreachable:"red",error:"red",stopped:"grey",unknown:"grey"},G6=c.enum(["awake","asleep","changing","stuck"]),W2={awake:"Awake",asleep:"Asleep",changing:"Changing",stuck:"Needs attention"};Y6={running:"Online",starting:"Waking up",unreachable:"Unreachable",error:"Error",stopped:"Asleep",unknown:"Checking"},X6={wake:"Waking up",restart:"Restarting",rebuild:"Restarting",config_apply:"Applying config",setup:"Setting up"};h7=c.enum(["wake","sleep","restart","rebuild"]);t3=c.object({key:c.string().optional(),id:c.string().optional(),label:c.string().optional(),srLabel:c.string().optional(),subLabel:c.string().optional(),value:c.union([c.string(),c.number()]).optional(),description:c.string().optional(),state:G6.optional(),count:c.number().optional(),className:c.string().optional(),media:Ft.optional(),subMedia:Ft.optional(),cover:Ft.optional(),icon:Ft.optional(),iconAfter:Ft.optional(),subIcon:c.string().optional(),href:c.string().optional(),target:c.enum(["_self","_blank"]).optional(),onClick:c.any().optional(),theme:c.enum(["primary","default"]).optional(),isActive:c.boolean().optional(),isDisabled:c.boolean().optional(),isHidden:c.boolean().optional(),priority:c.number().optional(),testId:c.string().optional(),items:c.array(c.any()).optional(),badges:c.array(B0).optional(),meta:c.array(B0).optional(),menuItems:c.array(c.any()).optional()}),g7=c.object({title:c.string().optional(),description:c.string().optional(),items:c.array(t3).optional()}),J2=c.string().trim().transform(e=>{if(!e.includes("/"))return e;try{let t=new URL(/^https?:\/\//i.test(e)?e:`https://${e}`),[n,i]=t.pathname.split("/").filter(Boolean),r=t.hostname.toLowerCase();if((r==="linkedin.com"||r.endsWith(".linkedin.com"))&&n?.toLowerCase()==="in"&&i)return i}catch{}return e}).pipe(c.string().min(3).max(100).regex(/^[a-zA-Z0-9-]+$/,"Use a LinkedIn username or profile URL")),r3=c.string().trim().transform((e,t)=>{try{let n=new URL(/^https?:\/\//i.test(e)?e:`https://${e}`),i=n.hostname.toLowerCase().replace(/^www\./,""),r=n.pathname.split("/").filter(Boolean)[0];if(!r||!["x.com","twitter.com","facebook.com"].includes(i))throw new Error("unsupported profile");return i==="twitter.com"?`https://x.com/${r}`:`https://${i}/${r}`}catch{return t.addIssue({code:"custom",message:"Use a LinkedIn username or an X or Facebook profile URL"}),c.NEVER}}),W0=c.string().trim().toLowerCase().pipe(c.email()),n3=c.enum(["member","pending"]),i3=c.object({lastBotId:c.string().nullable().optional(),userId:c.string(),email:c.string().optional(),handle:c.string().optional(),fullName:c.string().optional(),bio:c.string().optional(),linkedinUsername:J2.optional(),avatarId:c.string().optional(),avatar:Ft.optional(),isEmailVerified:c.boolean().optional(),primaryOrgId:c.string().optional(),lastActiveOrgId:c.string().optional(),onboarding:c.any().optional(),location:c.string().optional(),geo:c.any().optional(),systemRole:c.string().optional(),status:c.string().optional(),lastSeenAt:c.string().optional(),admittedAt:c.string().optional(),access:n3.optional(),isMember:c.boolean().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional(),onboarded:c.boolean().optional()}),b7=c.object({email:W0}),y7=c.object({email:W0,code:c.string().min(6,"Verification code is required"),timezone:c.string().max(64).optional(),phone:c.string().trim().min(7).max(30).optional(),phoneProof:c.string().max(300).optional()}),o3=c.object({phone:c.string().trim().min(7).max(30),purpose:c.enum(["apply","sign_in"]).optional(),invite:c.string().trim().max(64).optional()}),w7=c.object({codeSent:c.boolean()}),k7=o3.extend({code:c.string().trim().min(4).max(10)}),x7=c.object({phoneProof:c.string()}),_7=c.object({phone:c.string().trim().min(7).max(30),phoneProof:c.string().max(300),timezone:c.string().max(64).optional(),join:c.object({inviteCode:c.string().trim().max(64),name:c.string().trim().min(1,"Add your name").max(120),email:c.string().trim().toLowerCase().email("Enter your email").max(255),city:c.string().trim().min(1,"Add your city").max(120),placeId:c.string().max(16).optional()}).optional()}),$7=c.object({newEmail:W0}),S7=c.object({credential:c.string().optional(),code:c.string().optional(),timezone:c.string().max(64).optional(),source:c.enum(["web","ios"]).optional()}).refine(e=>e.credential||e.code,{message:"Either credential or code must be provided"}),I7=c.object({identityToken:c.string().min(1),fullName:c.string().optional(),timezone:c.string().max(64).optional()}),G2=c.object({orgId:c.string().optional(),handle:c.string().optional(),name:c.string().optional(),email:c.string().nullable().optional(),website:c.string().url().nullable().optional(),summary:c.string().nullable().optional(),avatarId:c.string().nullable().optional(),avatar:Ft.optional(),coverId:c.string().nullable().optional(),cover:Ft.optional(),accounts:I6.nullable().optional(),ownerId:c.string().optional(),isPersonal:c.boolean().optional(),stripeCustomerIdTest:c.string().nullable().optional(),stripeCustomerIdLive:c.string().nullable().optional(),maxUsers:c.number().optional(),timezone:c.string().nullable().optional(),apiKey:c.string().nullable().optional(),syncedPlan:c.string().nullable().optional(),syncedBillingStatus:c.string().nullable().optional(),firstPaidAt:c.string().nullable().optional(),entitlementDeleteAt:c.string().nullable().optional(),billingLastSyncedAt:c.string().nullable().optional(),syncedPeriodStart:c.string().nullable().optional(),syncedPeriodEnd:c.string().nullable().optional(),onboarding:c.any().optional(),status:c.string().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional()}),a3=c.object({completedAt:c.string().datetime().optional(),setupBy:c.string().optional(),billingSetup:c.boolean().optional(),teamInvitesSetup:c.boolean().optional(),brandingSetup:c.boolean().optional(),domainsSetup:c.boolean().optional()}),s3=c.object({membershipId:c.string(),orgId:c.string(),name:c.string(),handle:c.string(),avatarId:c.string().optional(),avatar:Ft.optional(),coverId:c.string().optional(),cover:Ft.optional(),role:c.enum(["owner","admin","member","observer"]),inviterName:c.string().optional(),memberCount:c.number().optional(),hasComputer:c.boolean().optional(),computerCount:c.number().optional(),joinedAt:c.string().datetime(),onboarding:a3.optional()}),l3=i3.extend({orgs:c.array(s3).optional()}),E2=[["#6366f1","#8b5cf6"],["#3b82f6","#06b6d4"],["#10b981","#34d399"],["#f59e0b","#f97316"],["#ef4444","#f97316"],["#ec4899","#8b5cf6"],["#14b8a6","#3b82f6"],["#8b5cf6","#ec4899"]];d3=["[SILENT]","SILENT","NO_REPLY","NO REPLY","NO-OP","NOOP","NO_OP","NO OP","[NO-OP]","[NOOP]","[NO_OP]","[NO OP]","HEARTBEAT_OK"],p3=new Set(d3);Y2={wake:300*1e3,bootGrace:420*1e3,provision:600*1e3,firstStart:45*1e3,stop:30*1e3},T2={AUTH_ACCOUNT_NOT_FOUND:"Account not found. Ask your workspace admin for an invite.",AUTH_INVALID:"Your session has expired. Sign in again to continue.",AUTH_LOCKED_OUT:"Too many failed attempts. Request a new code to try again.",AUTH_INVALID_CODE:"That code didn't match. Double-check the email and try again.",AUTH_INVALID_HANDOFF:"This link has expired. Open the dashboard from the app again.",AUTH_DISPOSABLE_EMAIL:"Please use your work email address.",AUTH_RATE_LIMITED:"Too many requests. Wait a minute and try again.",AUTH_PROVIDER_FAILED:"Sign-in failed. Try again or use email instead.",AUTH_PROVIDER_NOT_CONFIGURED:"That sign-in method isn't available right now.",ADMISSION_REQUIRED:"PageLines is invite-only. Request access to create your bot.",PLAN_LIMIT:"Your active computers are all in use. Put one computer to sleep or ask us to raise the ceiling.",CREDIT_LIMIT:"Your workspace reached its usage limit. Review billing or contact support to keep your assistant running.",STRIPE_LOAD:"Couldn't open checkout. Try again \u2014 if it persists, contact support.",CHECKOUT_FAILED:"Couldn't start checkout. Try again in a moment.",PAYMENT_FAILED:"Your payment couldn't go through. Update your card to continue.",WAKE_FAILED:"Your assistant didn't wake up. Try again in a moment.",VOICE_BUSY:"Your assistant is on another call. Try again in a moment.",VOICE_UNAVAILABLE:"Voice isn't available right now. Try again in a moment.",STOP_FAILED:"Couldn't put your assistant to sleep. Try again.",RESTART_FAILED:"Restart didn't finish. Try again \u2014 if it persists, rebuild.",REBUILD_FAILED:"Restart didn't finish. Try again or contact support.",CREATE_FAILED:"Couldn't create your assistant. Try again in a moment.",DELETE_FAILED:"Couldn't delete your assistant. Try again \u2014 your data is safe.",BOT_NOT_FOUND:"We couldn't find that assistant.",COMPUTER_NOT_FOUND:"We couldn't find that computer.",COMPUTER_INACTIVE:"This computer is off. Turn it on to start it.",ATTACHMENT_TYPE_UNSUPPORTED:"Your assistant can't read this file type yet.",ROUTINE_CHANNEL_UNAVAILABLE:"Your delivery channel isn't reachable. Pair it again or choose PageLines Messenger.",ROUTINE_PURPOSE_REQUIRED:"Say what the scheduled message or work should contain.",NETWORK_ERROR:"Network issue. Check your connection and try again.",TIMEOUT:"The request took too long. Try again in a moment.",FORBIDDEN:"You don't have access to this.",RATE_LIMITED:"Too many requests. Wait a moment and try again."};X2=c.enum(["active","stopped"]),h3=c.enum(["notFound","busy","rateLimited","timeout","invalidConfig","transient","fatal"]),N7=c.object({ok:c.literal(!1),error:c.string(),code:B2.optional(),issue:Z2.optional(),providerErrorKind:h3.optional()}),g3=c.object({kind:c.enum(["icon","favicon","service"]),icon:c.string().min(1).optional(),domain:c.string().min(1).optional(),serviceKey:c.string().min(1).optional()}).strict(),Q2=c.object({activityId:c.string().min(1),turnId:c.string().min(1),status:c.enum(["started","completed","failed"]),label:c.string().trim().min(1),kind:c.enum(["search","file","image","service","routine","handoff","other"]),toolName:c.string().min(1).optional(),serviceKey:c.string().min(1).optional(),startedAt:c.string().datetime().optional(),endedAt:c.string().datetime().optional(),durationMs:c.number().int().nonnegative().optional(),note:c.string().trim().min(1).optional(),visual:g3.optional()}).strict(),v3=Q2.extend({status:c.enum(["completed","failed"])}),Yn=c.string().min(1).max(64).refine(e=>{try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(new Date(0)),!0}catch{return!1}},"Invalid IANA timezone");tI=K0,b3=c.object({kind:c.literal("inline"),offset:c.number().int().nonnegative()}),rI=c.object({type:tI,src:c.url(),filename:c.string().min(1),mimeType:c.string().min(1),mediaId:c.string().min(1).optional(),size:c.number().int().nonnegative().optional(),width:c.number().int().positive().optional(),height:c.number().int().positive().optional(),duration:c.number().nonnegative().optional(),text:c.string().optional(),placement:b3.optional()}),nI=c.object({ref:c.string().min(1).max(256)}).strict(),iI=c.enum(["handled","dismissed","deferred"]),oI=c.iso.datetime();y3=nI.extend({disposition:iI.optional(),revisitAt:oI.optional()}).superRefine(aI),D7=nI.extend({disposition:iI,revisitAt:oI.optional()}).superRefine(aI),w3=c.object({turnId:c.string().min(1).optional(),turnOutcome:c.enum(["failed","stopped"]).optional(),attachments:c.array(rI).optional(),toolActivities:c.array(v3).optional(),issue:c.object({code:c.string(),bucket:c.enum(["account","error"]),actionLabel:c.string(),actionUrl:c.string(),help:c.string().optional()}).optional(),notification:c.object({push:c.boolean().optional(),excludeUserId:c.string().min(1).optional()}).optional(),routine:c.object({run:c.object({routineRunId:c.string(),name:c.string().optional(),sourceKind:c.enum(["webhook","schedule","manual","heartbeat"]),sourceLabel:c.string().optional(),deliveryId:c.string().optional(),status:c.enum(["received","forwarded","owner_notified","needs_approval","completed","failed","dropped"])}).catchall(c.unknown())}).catchall(c.unknown()).optional(),voiceDelegated:c.literal(!0).optional(),ownerHandoff:c.literal(!0).optional(),attention:c.array(y3).max(20).optional()}).catchall(c.unknown()),k3=c.object({messageId:c.string().min(1),conversationId:c.string().min(1),role:c.enum(["user","assistant","system"]),authorParticipantId:c.string().nullable(),systemKind:c.string().nullable(),content:c.string(),sequence:c.string().min(1),clientNonce:c.string().nullable().optional(),metadata:w3.nullable().optional(),status:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}),q0=c.object({type:tI,mediaId:c.string().min(1)}),P7=c.object({conversationId:c.string().min(1),content:c.string().max(1e4).default(""),clientNonce:c.string().max(64).optional(),attachments:c.array(q0).max(10).optional(),channel:c.enum(["ios","dashboard"]).optional(),actionUrls:c.object({billing:c.string().max(500),bot:c.string().max(500)}).optional(),viewerTimezone:Yn.optional()}).refine(e=>e.content.trim().length>0||(e.attachments?.length??0)>0,{path:["content"],message:"Message or attachment required"}),sI=c.object({type:c.enum(["user","bot"]),id:c.string().min(1)}).strict();R7=c.object({orgId:c.string().min(1),participants:c.array(sI).min(1).max(20)}).strict().superRefine(lI),U7=c.object({orgId:c.string().min(1),participants:c.array(sI).min(1).max(20)}).strict().superRefine((e,t)=>{lI(e,t),e.participants.some(n=>n.type==="bot")||t.addIssue({code:"custom",path:["participants"],message:"New sessions require at least one agent participant."})}),j7=c.object({category:c.string().min(1).max(30).optional(),reason:c.string().max(2e3).optional()}).strict(),M7=c.object({shareId:c.string(),url:c.string(),createdAt:c.string()}),L7=c.object({shareId:c.string(),botName:c.string(),botAvatarUrl:c.string().nullable(),prompt:c.string().nullable(),content:c.string(),createdAt:c.string()}),x3=c.enum(["1:1","4:3","3:4","16:9","9:16"]),_3=c.enum(["1K","2K","4K"]),V7=c.object({prompt:c.string().trim().min(1).max(4e3),aspectRatio:x3.default("1:1"),outputFormat:c.enum(["png","jpeg","webp"]).default("webp"),resolution:_3.default("2K"),style:c.string().trim().max(200).optional(),altText:c.string().trim().max(500).optional(),referenceMediaIds:c.array(c.string().min(1)).max(4).optional()}).strict(),F7=c.object({mediaId:c.string().min(1),src:c.url(),filename:c.string().min(1),mimeType:c.string().min(1),width:c.number().int().positive().optional(),height:c.number().int().positive().optional(),provider:c.string().min(1).optional(),providerRequestId:c.string().min(1).optional(),media:c.string().startsWith("MEDIA:"),attachment:rI.extend({type:c.literal("image")})}),Z7=c.object({identityToken:c.string().min(1),fullName:c.string().optional()}),$3=c.object({redirect:c.string(),redirectReason:c.string(),isNew:c.boolean(),deviceId:c.string()}),H7=c.object({ok:c.literal(!0),data:$3,token:c.string()}),K7=c.object({path:c.string().startsWith("/","path must be a relative dashboard path").refine(_6,"path must be a relative dashboard path")}),S3=c.object({url:c.string()}),W7=c.object({ok:c.literal(!0),data:S3}),q7=c.object({token:c.string().min(1)}),I3=c.object({redirect:c.string(),redirectReason:c.string(),deviceId:c.string()}),J7=c.object({ok:c.literal(!0),data:I3,token:c.string()}),cI=M2,E3=K0,Z0=c.object({mediaId:c.string(),src:c.string(),alt:c.string().nullable().optional(),filename:c.string().optional(),displayName:c.string().nullable().optional(),mimeType:c.string().optional(),mediaType:E3.optional(),size:c.number().optional(),width:c.number().nullable().optional(),height:c.number().nullable().optional(),duration:c.number().nullable().optional(),context:cI.nullable().optional(),blurhash:c.string().nullable().optional(),quality:c.string().optional(),status:c.string().optional(),userId:c.string().optional(),orgId:c.string().optional(),botId:c.string().nullable().optional(),createdAt:c.string().optional(),updatedAt:c.string().optional()}),Q7=c.object({file:c.string().describe("Binary file. multipart/form-data field \u2014 the actual upload. The server validates type + size and normalizes image uploads before storage. Audio/video/document uploads use the same uploader and are classified by MIME type."),context:cI.optional().default("general"),botId:c.string().optional(),orgId:c.string().optional(),duration:c.number().optional()}),uI=c.object({viewerTimezone:Yn.optional(),location:c.object({label:c.string().max(500),city:c.string().optional(),region:c.string().optional(),countryCode:c.string().optional(),timezone:c.string().optional(),source:c.literal("geoip"),precision:c.enum(["city","region","country"]),confidence:c.enum(["medium","low"]),vpnOrDatacenter:c.enum(["likely","unknown"])}).optional()}),T3=c.object({status:c.enum(["available","unavailable"]),user:c.string().max(16e3).optional(),memory:c.string().max(16e3).optional(),agents:c.string().max(4e3).optional()}).strict(),nZ=c.object({bot:c.object({id:c.string(),name:c.string(),title:c.string().nullable().optional(),timezone:Yn}),scope:c.enum(["private","org","public"]),channel:c.string().max(120),currentTime:c.iso.datetime(),scopePrompt:c.string().optional(),observations:uI.optional(),lastObservedTimezone:Yn.optional(),lean:T3.optional(),servicesNeedingSetup:c.array(c.object({name:c.string(),state:c.string()})).optional()}),iZ=c.object({reason:c.enum(["idle-timeout","session-cap","unavailable"])}).strict(),dI=c.enum(["woman","man"]),N3=[{key:"ava",gender:"woman",accent:"American",character:"Warm, patient and understanding",isDefault:!0},{key:"hope",gender:"woman",accent:"American",character:"Soft-spoken, smooth and kind"},{key:"lauren",gender:"woman",accent:"American",character:"Friendly, comforting and soft"},{key:"amy",gender:"woman",accent:"American",character:"Natural and sweet"},{key:"eve",gender:"woman",accent:"American",character:"Authentic, energetic and happy"},{key:"jessica",gender:"woman",accent:"British",character:"Smooth, articulate and warm"},{key:"adam",gender:"man",accent:"American",character:"Engaging, friendly and bright",isDefault:!0},{key:"jon",gender:"man",accent:"American",character:"Relaxed, deep and approachable"},{key:"joe",gender:"man",accent:"British",character:"Reflective and thoughtful"},{key:"peter",gender:"man",accent:"Australian",character:"Deep, warm and direct"}],pI=c.enum(N3.map(e=>e.key)),oZ=c.object({conversationId:c.string().min(1),viewerTimezone:Yn.optional()}).strict(),aZ=c.object({conversationId:c.string().min(1),botId:c.string().min(1),personaName:c.string().min(1),personaTitle:c.string().max(255).nullable().optional(),gender:dI,voiceKey:pI.nullable(),sessionScope:c.enum(["private","org","public"]),observations:uI.optional(),threadSummary:c.string(),capabilities:c.array(c.object({name:c.string().min(1),description:c.string().min(1)})).optional(),maxDurationSeconds:c.number().int().positive().max(3600).optional(),expiresAt:c.iso.datetime()}),z3=c.literal("livekit"),sZ=c.object({name:c.enum(["voice.ready","voice.first_playback","voice.failed"]),client:c.enum(["web","ios"]),botId:c.string().min(1).max(64).optional(),conversationId:c.string().min(1).max(64).optional(),provider:z3.optional(),durationMs:c.number().int().min(0).max(36e5),phase:c.enum(["idle","minting","connecting","live","ended"]).optional(),code:c.string().min(1).max(64).optional(),detail:c.string().min(1).max(300).optional(),appVersion:c.string().min(1).max(32).optional(),appBuild:c.string().min(1).max(32).optional()}).strict(),lZ=c.object({provider:c.literal("livekit"),url:c.string().min(1),token:c.string().min(1),room:c.string().min(1)}).strict(),C3=c.enum(["identity","working-style","complete"]),A3=c.string().min(1).max(50).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),Ll=c.object({botId:c.string().min(1),computerId:c.string().min(1),handle:c.string().min(2).max(50),name:c.string().min(1).max(100),emoji:c.string().max(8).nullable().optional(),title:c.string().max(120).nullable().optional(),summary:c.string().max(500).nullable().optional(),avatarId:c.string().nullable().optional(),coverId:c.string().nullable().optional(),avatar:Ft.optional(),cover:Ft.optional(),email:c.email().nullable().optional(),website:c.url().nullable().optional(),accounts:c.array(c.object({platform:c.enum(["linkedin","x","facebook","tiktok","youtube","github","instagram","threads","email","phone","website"]),handle:c.string()})).nullable().optional(),gender:dI.optional(),voiceKey:pI.nullable().optional(),isPrimary:c.boolean(),collaborationEnabled:c.boolean(),publicChatEnabled:c.boolean(),status:c.enum(["active","deleted"]),onboardingStage:C3.nullable().optional(),onboardedAt:c.string().nullable().optional(),routinePrimaryChannel:A3.optional(),firstMessageAt:c.string().nullable().optional(),firstValueAt:c.string().nullable().optional(),lastMessageAt:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}).strict(),J0=Ll.pick({name:!0,emoji:!0,title:!0,summary:!0,gender:!0,voiceKey:!0}).extend({handle:Ll.shape.handle.optional(),avatarPreset:c.string().min(1).max(64).optional(),avatarMediaId:c.string().optional()}).strict(),cZ=J0.extend({computerId:c.string().min(1)}).strict(),uZ=Ll.pick({name:!0,handle:!0,emoji:!0,title:!0,summary:!0,email:!0,website:!0,gender:!0,voiceKey:!0,routinePrimaryChannel:!0,collaborationEnabled:!0,publicChatEnabled:!0}).partial().extend({avatarMediaId:c.string().nullable().optional(),coverMediaId:c.string().nullable().optional()}).strict(),mI=c.enum(["essential","pro","business"]),mp=K2.partial().extend({computerId:c.string().min(1),ownerId:c.string().min(1),owner:c.object({userId:c.string(),fullName:c.string().optional(),avatar:Z0.optional()}).optional(),orgId:c.string().min(1),name:c.string().min(1).max(100),model:c.string().nullable(),timezone:Yn,billingTier:mI,desiredStatus:X2.nullable(),status:c.enum(["active","deleted"]),lastActiveAt:c.string().nullable().optional(),createdAt:c.string(),updatedAt:c.string()}).strict(),dZ=c.object({orgId:c.string().min(1),name:mp.shape.name.optional(),timezone:Yn.optional(),primaryBot:J0}).strict(),pZ=mp.pick({name:!0,model:!0,timezone:!0}).partial().strict(),O3=c.enum(["none","active_assistant"]),D3=c.enum(["none","active","trial","canceling","past_due","paused"]),P3=c.object({brand:c.string(),last4:c.string(),expMonth:c.number(),expYear:c.number()}),R3=c.object({date:c.string(),amount:c.number(),status:c.string(),invoicePdf:c.string().optional()}),U3=c.object({graceEndsAt:c.string().optional(),suspended:c.boolean(),url:c.string().optional()}),mZ=c.object({plan:O3,status:D3,price:c.number(),tierRates:c.record(c.string(),c.number()).optional(),maxComputers:c.number(),activeComputers:c.number(),workspaceTier:mI.exclude(["essential"]).optional(),upcomingAmountDue:c.number().optional(),upcomingDueDate:c.string().optional(),nextBillDate:c.string().optional(),cancelAtPeriodEnd:c.boolean().optional(),cancelAt:c.string().optional(),trialEnd:c.string().optional(),trialDaysRemaining:c.number().optional(),paymentMethod:P3.optional(),paymentRecovery:U3.optional(),invoices:c.array(R3),stripeError:c.string().optional()}),j3=c.enum(["demo_computer_exists","subscription_required","plan_limit"]),fZ=c.object({canCreate:c.boolean(),activeComputers:c.number().int().nonnegative(),computerLimit:c.number().int().nonnegative(),isDemo:c.boolean(),reason:j3.optional()}),hZ=c.object({orgId:c.string(),computerName:c.string().optional(),runtime:c.string().optional()}),M3=K2,L3=c.object({code:B2,message:c.string(),bucket:c.enum(["account","error"]),actionLabel:c.string().optional(),actionUrl:c.string().optional(),help:c.string().optional()}),V3=c.discriminatedUnion("event",[c.object({event:c.literal("status"),data:M3}),c.object({event:c.literal("message"),data:c.object({message:k3})}),c.object({event:c.literal("message_delta"),data:c.object({delta:c.string(),turnId:c.string(),messageId:c.string().optional(),role:c.enum(["assistant","system"]).optional()})}),c.object({event:c.literal("working_state"),data:c.object({description:c.string(),turnId:c.string().optional()})}),c.object({event:c.literal("tool_activity"),data:Q2}),c.object({event:c.literal("working_end"),data:c.object({turnId:c.string().optional()}).strict()}),c.object({event:c.literal("stream_end"),data:c.object({turnId:c.string().optional()}).strict()}),c.object({event:c.literal("error"),data:L3})]);K3=c.object({label:c.string().trim().min(1).max(40),reply:c.string().trim().min(1).max(500),style:c.enum(["primary","default","destructive"]).optional()}).strip(),W3=c.object({version:c.literal(1),title:c.string().trim().min(1).max(200),body:c.string().trim().min(1).max(8e3).optional(),actions:c.array(K3).min(1).max(3).optional()}).strip();q3=c.string().trim().min(1).max(240),H0=c.string().trim().min(1).max(800),Xn=c.string().trim().min(1).max(80).regex(/^[A-Za-z0-9_.:-]+$/),Va=c.string().trim().min(1).max(120),J3=c.union([c.string().max(500),c.number().finite(),c.boolean(),c.null()]),vI=c.record(Xn,J3),G3=c.enum(["compact","currency","duration","integer","percent","raw"]),Y3=c.object({title:q3,description:H0.optional(),footer:H0.optional()}).strip(),bI=c.object({dataKey:Xn,label:Va.optional(),axisLabel:Va.optional(),valueFormat:G3.optional(),valuePrefix:c.string().trim().max(12).optional(),valueSuffix:c.string().trim().max(12).optional()}).strip(),X3=c.object({kind:c.literal("linear"),dataKey:Xn,label:Va.optional()}).strip(),Y0=c.object({version:c.literal(1),meta:Y3,fallbackMarkdown:c.string().trim().min(1).max(4e3)}).strip();eD=Y0.extend({visualType:c.literal("chart"),chartType:c.enum(["bar","line","scatter"]),xKey:Xn,xAxisLabel:Va.optional(),series:c.array(bI).min(1).max(6),data:c.array(vI).min(1).max(120),layout:c.enum(["horizontal","vertical"]).optional(),stacking:c.enum(["grouped","stacked"]).optional(),trendLine:X3.optional()}).strip().superRefine((e,t)=>{e.stacking&&e.chartType!=="bar"&&t.addIssue({code:"custom",path:["stacking"],message:"Stacking is only supported for bar charts"}),e.trendLine&&e.chartType!=="line"&&e.chartType!=="scatter"&&t.addIssue({code:"custom",path:["trendLine"],message:"Trend lines are only supported for line and scatter charts"}),yI(e.data,[{path:["xKey"],value:e.xKey},...e.series.map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey})),...e.trendLine?[{path:["trendLine","dataKey"],value:e.trendLine.dataKey}]:[]],t),wI(e.data,[...e.series.map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey})),...e.trendLine?[{path:["trendLine","dataKey"],value:e.trendLine.dataKey}]:[]],t)}),tD=Y0.extend({visualType:c.literal("chart"),chartType:c.literal("pie"),nameKey:Xn,valueKey:Xn,series:c.array(bI).max(1).optional(),data:c.array(vI).min(1).max(16)}).strip().superRefine((e,t)=>{yI(e.data,[{path:["nameKey"],value:e.nameKey},{path:["valueKey"],value:e.valueKey},...(e.series??[]).map((n,i)=>({path:["series",i,"dataKey"],value:n.dataKey}))],t),wI(e.data,[{path:["valueKey"],value:e.valueKey,nonnegative:!0}],t)}),rD=c.discriminatedUnion("chartType",[eD,tD]),nD=c.object({id:Xn,label:Va,detail:H0.optional(),kind:c.enum(["actor","agent","decision","event","input","output","system","task"]).optional()}).strip(),iD=c.object({from:Xn,to:Xn,label:Va.optional()}).strip(),oD=Y0.extend({visualType:c.literal("diagram"),diagramType:c.enum(["flow","org","sequence","state"]),layout:c.enum(["auto","left-to-right","radial","top-to-bottom"]).default("auto"),nodes:c.array(nD).min(1).max(24),edges:c.array(iD).max(48)}).strip().superRefine((e,t)=>{let n=new Set(e.nodes.map(i=>i.id));for(let[i,r]of e.edges.entries())n.has(r.from)||t.addIssue({code:"custom",path:["edges",i,"from"],message:`Unknown node id "${r.from}"`}),n.has(r.to)||t.addIssue({code:"custom",path:["edges",i,"to"],message:`Unknown node id "${r.to}"`})}),N2=c.union([rD,oD]);xI=c.object({conversationParticipantId:c.string().min(1),type:c.enum(["user","bot","anonymous"]),id:c.string(),role:c.enum(["owner","requester","member"]),status:c.enum(["active","left","deleted"]),displayName:c.string().optional(),handle:c.string().optional(),avatarUrl:c.string().optional()}).strict(),_I=c.object({messageId:c.string(),role:c.enum(["user","assistant","system"]),content:c.string(),sequence:c.string(),createdAt:c.string()}),wZ=c.object({conversationId:c.string(),orgId:c.string(),kind:c.enum(["direct","group"]),updatedAt:c.string(),viewerRole:c.enum(["owner","requester","member"]),participants:c.array(xI),lastMessage:_I.nullable(),openingMessage:c.string().nullable(),unreadCount:c.number().int().nonnegative(),latestSequence:c.string().nullable()}),kZ=c.object({sequence:c.string().min(1)}),xZ=c.object({turnId:c.string().min(1).optional()}).strict(),_Z=c.object({cancelled:c.boolean(),cancelledTurnIds:c.array(c.string())}).strict(),$Z=c.object({conversationId:c.string(),messageId:c.string(),sequence:c.string(),snippet:c.string(),createdAt:c.string(),participants:c.array(xI)}),SZ=c.object({conversationId:c.string(),lastMessage:_I.nullable(),unreadCount:c.number().int().nonnegative(),latestSequence:c.string().nullable()}),Zr=c.preprocess(e=>e===void 0?null:e,c.string().nullable()),dD=c.preprocess(e=>e===void 0?null:e,H2.nullable()),pD=c.preprocess(e=>e===void 0?null:e,X2.nullable()),mD=c.preprocess(e=>e===void 0?null:e,c.enum(["user","assistant","system"]).nullable()),z2=c.preprocess(e=>e===void 0?0:e,c.number()),fD=c.object({computerId:c.string(),handle:c.string(),name:c.string(),orgId:c.string(),orgName:Zr,orgHandle:Zr,ownerEmail:Zr,ownerName:Zr,state:dD,desiredStatus:pD,runtime:c.string(),imageVersion:Zr,lastHealthyAt:Zr,lastActiveAt:Zr,lastUserMessageAt:Zr,lastMessageAt:Zr,lastMessageRole:mD,lastMessageChannel:Zr,primaryChannel:Zr,totalMessages:z2,totalSessions:z2,error:Zr,appHandle:c.string(),hostAppExists:c.boolean(),plan:c.string(),billingStatus:c.string(),billingActive:c.boolean(),createdAt:c.string(),updatedAt:c.string()}),hD=c.object({running:c.number(),stopped:c.number(),error:c.number(),starting:c.number(),unknown:c.number(),total:c.number()}),EZ=c.object({computers:c.array(fD),summary:hD,orphanedApps:c.array(c.string()),dailyMessages30d:c.array(c.number().int()).optional(),hostAppCount:c.number().optional(),latestVersions:c.record(c.string(),c.string()).optional()}),gD=c.object({mediaId:c.string().optional(),src:c.string().optional(),alt:c.string().optional(),width:c.number().optional(),height:c.number().optional(),mimeType:c.string().optional(),mediaType:c.string().optional(),blurhash:c.string().optional()}),NZ=c.object({membershipId:c.string(),userId:c.string(),orgId:c.string(),email:c.string(),fullName:c.string().optional(),role:c.enum(["owner","admin","member","observer"]),status:c.enum(["active","suspended"]),joinedAt:c.string(),lastSeenAt:c.string().optional(),avatar:gD.optional()}),zZ=c.object({invitationId:c.string(),email:c.string(),role:c.enum(["admin","member"]),status:c.string(),expiresAt:c.string(),createdAt:c.string()}),vD=c.object({token:c.string(),email:c.string(),orgId:c.string(),orgName:c.string(),orgInitial:c.string(),inviterName:c.string().optional(),inviterEmail:c.string(),role:c.enum(["owner","admin","member","observer"]),status:c.enum(["pending","accepted","expired","revoked"]),expiresAt:c.string(),memberCount:c.number().optional()}),CZ=c.object({email:c.string().email(),role:c.enum(["admin","member"]).optional(),message:c.string().max(500).optional()}).strict(),AZ=c.object({role:c.enum(["admin","member"])}).strict(),OZ=c.object({token:c.string().min(1)}).strict(),DZ=c.object({message:c.string()}),PZ=c.object({invitationId:c.string(),message:c.string()}),RZ=c.object({message:c.string(),membershipId:c.string(),orgId:c.string(),role:c.enum(["owner","admin","member","observer"])}),UZ=c.object({invite:vD.nullable()}),bD={};h6(bD,{zNotificationTelemetryAck:()=>xD,zNotificationTelemetryEvent:()=>kD,zRegisterDeviceRequest:()=>yD,zRegisterDeviceResponse:()=>wD});yD=c.object({deviceId:c.string().min(1).max(64),pushToken:c.string().min(1).max(200),appVersion:c.string().max(40).optional(),osVersion:c.string().max(40).optional(),model:c.string().max(80).optional()}),wD=c.object({deviceId:c.string().min(1).max(64)}),kD=c.object({deviceId:c.string().min(1).max(64),kind:c.string().min(1).max(30),action:c.enum(["displayed","tapped","dismissed"]),messageId:c.string().max(32).optional()}),xD=c.object({updated:c.boolean()}),LZ=G2.pick({orgId:!0,handle:!0,name:!0,email:!0,website:!0,avatarId:!0,coverId:!0,summary:!0,timezone:!0,isPersonal:!0,status:!0,updatedAt:!0}).extend({avatar:Z0.nullable().optional(),cover:Z0.nullable().optional()}),VZ=c.object({name:c.string().min(1).max(255),handle:c.string().min(2).max(50).optional(),timezone:Yn.optional()}).strict(),FZ=G2.pick({name:!0,email:!0,website:!0,summary:!0,timezone:!0}).extend({name:c.string().min(1).max(255).optional(),email:c.preprocess(e=>e===""?null:e,c.string().email().nullable()).optional(),timezone:Yn.optional(),avatarMediaId:c.string().nullable().optional(),coverMediaId:c.string().nullable().optional()}).strict(),ZZ=c.object({used:c.number().int().nonnegative(),limit:c.number().int().nonnegative(),remaining:c.number().int().nonnegative(),periodEnd:c.string(),isDemo:c.boolean(),state:c.enum(["ok","warning","exhausted"])}),KZ=c.object({messagesHandled:c.number().int().nonnegative(),proactiveRuns:c.number().int().nonnegative(),approvalsWaiting:c.number().int().nonnegative(),approvalConversationId:c.string().optional(),approvalBotId:c.string().optional(),dailyHandled:c.array(c.number().int().nonnegative()).length(30),messagesByAssistant:c.array(c.object({botId:c.string(),count:c.number().int().nonnegative()})),briefingsDelivered:c.number().int().nonnegative(),scheduledRuns:c.number().int().nonnegative(),prev30MessagesHandled:c.number().int().nonnegative(),prev30BriefingsDelivered:c.number().int().nonnegative(),prev30ScheduledRuns:c.number().int().nonnegative(),since:c.string()}),_D=c.enum(["success","info","warning"]),$D=c.object({orgId:c.string(),name:c.string(),avatarUrl:c.string().nullable()}),SD=c.object({key:c.string(),label:c.string(),tone:_D,status:c.string(),trialDaysRemaining:c.number().optional()}),ID=c.object({activeComputerLimit:c.number().int().nonnegative(),activeComputerCount:c.number().int().nonnegative(),computerCount:c.number().int().nonnegative()}),qZ=c.object({org:$D,plan:SD,quota:ID,memberCount:c.number().int().nonnegative()}),ED=c.object({sender:c.enum(["user","agent"]),text:c.string()}),TD=c.enum(["works-now","guided-setup","coming-soon","custom-workflow"]),ND=c.object({docsUrl:c.string(),verifiedAt:c.string(),version:c.string().optional(),versionPolicy:c.enum(["date-versioned","header-versioned","path-versioned","endpoint-versioned","unversioned"]),note:c.string().optional()}),zD=c.object({key:c.string(),label:c.string(),rank:c.number()}),CD=c.object({text:c.string(),tone:c.enum(["info","warning","success","danger"])}),GZ=c.object({serviceKey:c.string(),name:c.string(),description:c.string(),shortDescription:c.string(),subtitle:c.string().optional(),icon:c.string().optional(),category:c.string(),categoryLabel:c.string(),categoryRank:c.number(),featuredRank:c.number().optional(),secondaryCategories:c.array(zD),badges:c.array(CD),tags:c.array(c.string()),searchAliases:c.array(c.string()),jtbd:c.string(),useCase:c.string(),demoScenario:c.string(),sampleConversation:c.array(ED),publicStatus:TD,apiVerification:ND.optional(),setupDifficulty:c.string(),risk:c.string(),price:c.string(),kind:c.string(),tier:c.string(),installLevel:c.enum(["computer","org","both"]),setupSummary:c.string().optional(),pagePath:c.string()}),AD=c.object({title:c.string().optional(),text:c.string()}),XZ=c.object({content:c.string(),mediaType:c.enum(["application/json","text/plain"]),copyLabel:c.string(),action:c.object({label:c.string(),url:c.url()}),steps:c.array(AD)}),eH=c.object({fullName:c.string().min(1).max(100).optional(),bio:c.string().max(500).nullable().optional(),linkedinUsername:J2.nullable().optional(),profileUrl:r3.nullable().optional(),avatarMediaId:c.string().nullable().optional(),lastBotId:c.string().nullable().optional(),lastActiveOrgId:c.string().nullable().optional()}).strict(),up=8e3,OD=c.string().regex(/^[A-Z][A-Z0-9_]*$/),DD=c.object({name:c.string().trim().min(1).max(100),instructions:c.string().trim().min(1).max(up),credentialNames:c.array(OD).max(10)}),$I=c.object({mediaId:c.string().min(1),sha256:c.string().regex(/^[a-f0-9]{64}$/).optional(),name:c.string().min(1).max(100)}).strict(),PD=DD.extend({toolId:c.string().min(1),assets:c.array($I)}).strict(),RD=c.object({moment:c.enum(["briefing","checkin","closeout","custom"]),name:c.string().trim().min(1).max(100),policy:c.string().trim().min(1).max(up),time:c.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),active:c.boolean()}).strict(),UD=c.object({serviceKey:c.string().min(1).max(50)}).strict(),jD={schemaVersion:c.literal(1),name:c.string().min(1).max(100),summary:c.string().max(500)},SI=c.object({...jD,identity:J0.pick({name:!0,emoji:!0,title:!0,summary:!0,gender:!0}).strict(),guidance:c.string().max(up),examples:c.array(c.string().max(up)),tools:c.array(PD),assets:c.array($I),routines:c.array(RD).optional(),services:c.array(UD).optional()}).strict(),rH=c.object({templateId:c.string(),publisherId:c.string(),publisher:c.object({userId:c.string(),fullName:c.string(),avatar:c.object({src:c.string()}).strict().optional()}).strict(),name:c.string(),description:c.string(),snapshot:SI,createdAt:c.string()}).strict(),nH=c.object({reviewed:c.literal(!0),orgId:c.string().min(1),sourceBotId:c.string().min(1),snapshot:SI}).strict(),iH=c.object({templateId:c.string().min(1),destination:c.discriminatedUnion("kind",[c.object({kind:c.literal("computer"),computerId:c.string().min(1)}).strict(),c.object({kind:c.literal("first-computer"),orgId:c.string().min(1)}).strict()]),includedToolIds:c.array(c.string().min(1))}).strict(),oH=c.object({"idempotency-key":c.uuid().describe("One UUID per Add intent; reuse it for retries.")}),sH=c.object({user:l3,computers:c.array(mp),bots:c.array(Ll)}),C2=Object.keys(mp.shape),II=class extends co{constructor(e){super("Computer",e),this.computerId=G(this.settings.computerId),this.ownerId=G(this.settings.ownerId),this.owner=G(this.settings.owner),this.orgId=G(this.settings.orgId),this.name=G(this.settings.name),this.model=G(this.settings.model),this.timezone=G(this.settings.timezone),this.billingTier=G(this.settings.billingTier),this.desiredStatus=G(this.settings.desiredStatus),this.status=G(this.settings.status),this.lastActiveAt=G(this.settings.lastActiveAt),this.createdAt=G(this.settings.createdAt),this.updatedAt=G(this.settings.updatedAt),this.lifecycle=G(this.settings.lifecycle),this.changedAt=G(this.settings.changedAt),this.detail=G(this.settings.detail),this.blocker=G(this.settings.blocker),this.operation=G(this.settings.operation),this.ownerMarkUrl=R(()=>{let t=this.owner.value;return t?.avatar?.src||Bl(t?.fullName||this.ownerId.value)}),this.state=R(()=>Q6({lifecycle:this.lifecycle.value??"unknown",changedAt:this.changedAt.value,detail:this.detail.value,blocker:this.blocker.value,operation:this.operation.value},this.name.value))}merge(e){if(e.computerId!==void 0&&e.computerId!==this.computerId.value)throw new Error("Cannot change a computer identity");for(let t of C2){if(!(t in e))continue;let n=this[t];n&&typeof n=="object"&&"value"in n&&(n.value=e[t])}}toData(){let e={};for(let t of C2){let n=this[t];n&&typeof n=="object"&&"value"in n&&(e[t]=n.value)}return e}toJSON(){return this.toData()}},A2=Object.keys(Ll.shape),X0=class extends co{constructor(e,t){if(e.computerId!==t.computerId.value)throw new Error("Bot and computer identities do not match");super("Bot",e),this.botId=G(this.settings.botId),this.computerId=G(this.settings.computerId),this.name=G(this.settings.name),this.handle=G(this.settings.handle),this.emoji=G(this.settings.emoji),this.title=G(this.settings.title),this.summary=G(this.settings.summary),this.avatarId=G(this.settings.avatarId),this.coverId=G(this.settings.coverId),this.avatar=G(this.settings.avatar),this.cover=G(this.settings.cover),this.email=G(this.settings.email),this.website=G(this.settings.website),this.accounts=G(this.settings.accounts),this.gender=G(this.settings.gender),this.voiceKey=G(this.settings.voiceKey),this.publicChatEnabled=G(this.settings.publicChatEnabled),this.isPrimary=G(this.settings.isPrimary),this.collaborationEnabled=G(this.settings.collaborationEnabled),this.status=G(this.settings.status),this.onboardingStage=G(this.settings.onboardingStage),this.onboardedAt=G(this.settings.onboardedAt),this.routinePrimaryChannel=G(this.settings.routinePrimaryChannel),this.firstMessageAt=G(this.settings.firstMessageAt),this.firstValueAt=G(this.settings.firstValueAt),this.lastMessageAt=G(this.settings.lastMessageAt),this.createdAt=G(this.settings.createdAt),this.updatedAt=G(this.settings.updatedAt),this.displayName=R(()=>this.name.value||"Unnamed"),this.avatarUrl=R(()=>this.avatar.value?.src||Bl(this.name.value)),this.hasCustomHandle=R(()=>!!this.handle.value&&!/\d{13,}$/.test(this.handle.value)),this.displayHandle=R(()=>this.hasCustomHandle.value?`@${this.handle.value}`:void 0),this.hasReceivedMessage=R(()=>!!this.lastMessageAt.value),this.computer=t}get owner(){return this.computer.owner}get ownerMarkUrl(){return this.computer.ownerMarkUrl}get ownerId(){return this.computer.ownerId}get orgId(){return this.computer.orgId}get model(){return this.computer.model}get timezone(){return this.computer.timezone}get billingTier(){return this.computer.billingTier}get desiredStatus(){return this.computer.desiredStatus}get lifecycle(){return this.computer.lifecycle}get changedAt(){return this.computer.changedAt}get detail(){return this.computer.detail}get blocker(){return this.computer.blocker}get operation(){return this.computer.operation}get state(){return this.computer.state}get lastActiveAt(){return this.computer.lastActiveAt}merge(e){if(e.botId!==void 0&&e.botId!==this.botId.value)throw new Error("Cannot change a bot identity");if(e.computerId!==void 0&&e.computerId!==this.computerId.value)throw new Error("Cannot move a bot between computers");for(let t of A2){if(!(t in e))continue;let n=this[t];n&&typeof n=="object"&&"value"in n&&(n.value=e[t])}}toData(){let e={};for(let t of A2){let n=this[t];n&&typeof n=="object"&&"value"in n&&(e[t]=n.value)}return e}toJSON(){return this.toData()}}});function Qn(e,t){let n=Number(globalThis.process?.env?.PORT)||Vl.port;return e||(t?`http://localhost:${n}`:Vl.urls.app)}function MD(e,t,n){let i=Qn(e.apiBase,e.isDev);return async(r,o)=>{let a=uo.getAuthToken(),s=new Headers(o?.headers);s.has("Content-Type")||s.set("Content-Type","application/json"),a&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${a}`);let l=typeof r=="string"&&r.startsWith("/")?`${i}${r}`:r,u=await fetch(l,{...o,headers:s,credentials:"include"});if(n&&u.status===401&&(await u.clone().json().catch(()=>{}))?.code==="TOKEN_ERROR"&&n(),t){let d=u.json.bind(u);u.json=async()=>{let p=await d();return typeof p=="object"&&p&&"ok"in p&&("user"in p||"token"in p)&&t(p),p}}return u}}function Kl(e){"@babel/helpers - typeof";return Kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kl(e)}function FD(e,t){if(Kl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Kl(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function BD(e){var t=FD(e,"string");return Kl(t)=="symbol"?t:t+""}function q(e,t,n){return(t=BD(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}async function Fa(e,t){e.loading.value=!0,e.error.value=null;try{return await t()}finally{e.loading.value=!1}}function TI(e){if(e.role==="assistant"||e.role==="system")return{id:e.messageId,text:e.content,sender:e.role==="system"?"system":"bot",timestamp:e.createdAt,conversationId:e.conversationId,sequence:e.sequence,systemKind:e.systemKind,...e.metadata?.routine?{routine:e.metadata.routine}:{},...e.metadata?.turnOutcome?{turnOutcome:e.metadata.turnOutcome}:{},...e.metadata?.attachments?.length?{attachments:e.metadata.attachments}:{},...e.metadata?.toolActivities?.length?{toolActivities:e.metadata.toolActivities}:{},...e.metadata?.issue?{issue:e.metadata.issue}:{}}}var EI,Sr,Hl,NI,ey,LD,VD,ty,Ba,fp,hp,gp,ZD,HD,KD,Q0,WD,qD,JD,GD,YD,vp,Wl,ry=te(()=>{"use strict";Pn();Zl();En();Sr=[],Hl=0,NI=null,ey=4,LD=(EI=globalThis).nanostoresGlobal||(EI.nanostoresGlobal={epoch:0}),VD=()=>{let e,t;for(;Hl<Sr.length;){t=Hl,Hl+=ey;let n=NI?.get(Sr[t]);if(n){if(!n.has(Sr[t+1]))continue;n.clear()}try{Sr[t](Sr[t+1].value,Sr[t+2],Sr[t+3])}catch(i){e=i}}if(Sr.length=Hl=0,e)throw e},ty=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(i){return n.lc=t.push(i),()=>{NI?.get(i)?.delete(n);for(let o=Hl;o<Sr.length;)Sr[o]===i&&Sr[o+1]===n?Sr.splice(o,ey):o+=ey;let r=t.indexOf(i);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(i,r){LD.epoch++;let o=!Sr.length&&!0;for(let a of t)Sr.push(a,n,i,r);o&&VD()},off(){},set(i){let r=n.value;n.eq(r,i)||(n.value=i,n.notify(r))},subscribe(i){let r=n.listen(i);return i(n.value),r},value:e};return n};Ba=globalThis,fp=Ba.__PL_AUTH_USER__??(Ba.__PL_AUTH_USER__=ty(void 0)),hp=Ba.__PL_AUTH_TOKEN__??(Ba.__PL_AUTH_TOKEN__=ty(null)),gp=Ba.__PL_AUTH_DEVICE_ID__??(Ba.__PL_AUTH_DEVICE_ID__=ty(null)),ZD=class{constructor(){q(this,"logger",lo("SDKStorage"))}isLocalStorageFunctional(){return typeof window<"u"&&typeof localStorage?.getItem=="function"&&typeof localStorage?.setItem=="function"&&typeof localStorage?.removeItem=="function"}syncWithGlobalStores(e){let{activeUser:t,token:n,deviceId:i}=e,r=fp.get(),o=hp.get(),a=gp.get();r&&(t.value=r),o&&(n.value=o),a&&(i.value=a),mt(t,s=>fp.set(s),{immediate:!0}),mt(n,s=>hp.set(s),{immediate:!0}),mt(i,s=>gp.set(s),{immediate:!0}),fp.subscribe(s=>{s!==t.value&&(t.value=s)}),hp.subscribe(s=>{s!==n.value&&(n.value=s)}),gp.subscribe(s=>{s!==i.value&&(i.value=s)})}loadFromStorage(e){if(typeof window>"u")return;let t=uo.getAuthToken();t&&(e.token.value=t);let n=uo.getDeviceId();if(n&&(e.deviceId.value=n),this.isLocalStorageFunctional())try{let i=localStorage.getItem("pagelines-user");i&&(e.activeUser.value=JSON.parse(i))}catch(i){this.logger.error("Failed to load user from localStorage",{data:i})}}saveToStorage(e){if(typeof window<"u"&&(e.token.value?uo.setAuthToken(e.token.value):uo.removeAuthToken(),this.isLocalStorageFunctional()))try{e.activeUser.value?localStorage.setItem("pagelines-user",JSON.stringify(e.activeUser.value)):localStorage.removeItem("pagelines-user")}catch(t){this.logger.error("Failed to save user to localStorage",{data:t})}}clearStorage(){if(typeof window<"u"){if(uo.removeAuthToken(),this.isLocalStorageFunctional())try{localStorage.removeItem("pagelines-user")}catch(e){this.logger.error("Failed to clear user from localStorage",{data:e})}fp.set(void 0),hp.set(null),gp.set(null)}}getItem(e){if(!this.isLocalStorageFunctional())return null;try{return localStorage.getItem(e)}catch(t){return this.logger.error("Failed to get item from localStorage",{key:e,error:t}),null}}setItem(e,t){if(this.isLocalStorageFunctional())try{localStorage.setItem(e,t)}catch(n){this.logger.error("Failed to set item in localStorage",{key:e,error:n})}}},HD=class{constructor(e){q(this,"ctx",void 0),q(this,"computers",Ia(new Map)),q(this,"bots",Ia(new Map)),this.ctx=e}get(e){return this.bots.get(e)}computer(e){return this.computers.get(e)}all(){return[...this.bots.values()]}hydrate(e){for(let t of e.computers){let n=this.computers.get(t.computerId);n?n.merge(t):this.computers.set(t.computerId,new II(t))}return e.bots.map(t=>{let n=this.computers.get(t.computerId);if(!n)throw Error("Bot references an unknown computer");let i=this.bots.get(t.botId);if(i)return i.merge(t),i;let r=new X0(t,n);return this.bots.set(t.botId,r),r})}clear(){this.bots.clear(),this.computers.clear()}async webhook(e){let t=await this.ctx.apiFetch(`/api/bot-api/webhooks/routine-triggers/${encodeURIComponent(e.triggerId)}`,{method:"POST",headers:{"Content-Type":"application/json","X-PageLines-Key":e.key},body:JSON.stringify({type:e.type,data:e.data,...e.meta?{meta:e.meta}:{}})});if(!t.ok)throw Error(`Webhook delivery failed (${t.status})`);return t.json()}},KD=class{constructor(e,t){q(this,"ctx",void 0),q(this,"registry",void 0),this.ctx=e,this.registry=t}async create(e){let t=this.ctx.token.value,n=await(await this.ctx.apiFetch("/api/computers",{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID()},body:JSON.stringify(e)})).json();if(t!==this.ctx.token.value)throw Error("Your account changed. Try again.");if(!n.ok)throw Error(n.error||"Failed to create computer");return this.registry.hydrate({computers:[n.data.computer],bots:[n.data.bot]})[0]}async getLiveStatus(e){let t=this.ctx.token.value;try{let n=await(await this.ctx.apiFetch(`/api/computers/state?ids=${encodeURIComponent(e)}`)).json(),i=n.ok?n.data[e]??Fl:Fl;return t===this.ctx.token.value?(this.registry.computer(e)?.merge(i),i):Fl}catch(n){return this.ctx.logger.warn("Computer status unavailable",{computerId:e,error:n}),Fl}}async waitUntilReady(e){let t=Date.now(),n;for(;Date.now()-t<(e.timeoutMs??Y2.wake);){let i=await this.getLiveStatus(e.computerId);if(i.lifecycle!==n&&(e.onStatus?.(i.lifecycle),n=i.lifecycle),i.lifecycle==="running")return;if(i.lifecycle==="error")throw Error("Your computer hit a problem starting");await new Promise(r=>setTimeout(r,e.pollIntervalMs??3e3))}throw Error("Your computer is taking longer than expected. Please try again.")}},Q0="Signed in, but your account could not be loaded. Try again.";WD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async authenticateWithCode(e,t){let n=await(await this.ctx.apiFetch("/api/auth/verify-code",{method:"POST",body:JSON.stringify({email:e,code:t})})).json();if(!n.ok)throw Error(n.error);let i=await this.getCurrentUser();if(!i)throw Error(Q0);return i}async sendCode(e){return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/auth/check-email",{method:"POST",body:JSON.stringify({email:e})})).json();if(!t.ok)throw this.ctx.error.value=t.error,Error(t.error)}catch(t){this.ctx.logger.error("Send code error",{data:t});let n=t instanceof Error?t.message:"Failed to send verification code";throw this.ctx.error.value=n,t}})}async verifyCode(e,t){return Fa(this.ctx,async()=>{try{await this.authenticateWithCode(e,t)}catch(n){this.ctx.logger.error("Verify code error",{data:n});let i=n instanceof Error?n.message:"Failed to verify code";throw this.ctx.error.value=i,n}})}async logout(){return Fa(this.ctx,async()=>{try{await this.ctx.apiFetch("/api/auth/logout",{method:"POST"})}catch(e){this.ctx.logger.error("Logout error (user still logged out locally)",{data:e})}this.ctx.activeUser.value=void 0,this.ctx.token.value=null,this.ctx.storage.clearStorage(),this.ctx.clearRoster()})}async getCurrentUser(){let e=this.ctx.token.value;if(e)return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/users/me",{method:"GET"})).json();if(e!==this.ctx.token.value)return;if(!t.ok){this.ctx.error.value=t.error,t.error.includes("Authentication")&&(this.ctx.activeUser.value=void 0,this.ctx.token.value=null,this.ctx.storage.clearStorage(),this.ctx.clearRoster());return}return this.ctx.activeUser.value=t.data.user,this.ctx.hydrateRoster(t.data),t.data.user}catch(t){this.ctx.logger.error("Get current user error",{data:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to get user info";return}})}async requestAuthCode(e){return Fa(this.ctx,async()=>{try{let t=await(await this.ctx.apiFetch("/api/auth/check-email",{method:"POST",body:JSON.stringify({email:e.email})})).json();return t.ok?(this.ctx.logger.info("Auth code requested successfully",{email:e.email}),!0):(this.ctx.error.value=t.error,this.ctx.logger.error("Failed to request auth code",{email:e.email,error:t.error}),!1)}catch(t){return this.ctx.logger.error("Request auth code error",{email:e.email,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to request auth code",!1}})}async loginWithCode(e){return Fa(this.ctx,async()=>{try{return await this.authenticateWithCode(e.email,e.code),this.ctx.logger.info("Login successful",{email:e.email}),!0}catch(t){return this.ctx.logger.error("Login with code error",{email:e.email,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Login failed",!1}})}loginWithGoogle(e){if(typeof window>"u"){this.ctx.logger.error("loginWithGoogle: Only available in browser");return}let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=window.location.origin,i=`${t}/auth/google-popup?origin=${encodeURIComponent(n)}`,r=window.screenX+(window.outerWidth-500)/2,o=window.screenY+(window.outerHeight-600)/2,a=window.open(i,"google-auth",`width=500,height=600,left=${r},top=${o},popup=yes`);if(!a){let u="Popup was blocked. Please allow popups for this site.";this.ctx.error.value=u,e?.onError?.(u);return}let s=async u=>{let d=new URL(t).origin;if(u.origin===d){if(u.data?.type==="auth-success"){window.removeEventListener("message",s);let{token:p}=u.data;this.ctx.processApiResponse({ok:!0,data:{},token:p});let m=await this.getCurrentUser();if(!m){this.ctx.error.value=Q0,this.ctx.logger.error("Google login: token accepted but user hydration failed"),e?.onError?.(Q0);return}this.ctx.logger.info("Google login successful"),e?.onSuccess?.(m)}else if(u.data?.type==="auth-error"){window.removeEventListener("message",s);let p=u.data.error||"Google authentication failed";this.ctx.error.value=p,this.ctx.logger.error("Google login failed",{error:p}),e?.onError?.(p)}}};window.addEventListener("message",s);let l=setInterval(()=>{a.closed&&(clearInterval(l),window.removeEventListener("message",s))},500)}},qD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async confirmCheckout(e){if(e?.sessionId){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=await(await fetch(`${t}/api/billing/complete-checkout`,{method:"POST",headers:{"Content-Type":"application/json",...this.ctx.token.value&&{Authorization:`Bearer ${this.ctx.token.value}`}},body:JSON.stringify({sessionId:e.sessionId})})).json();if(!n.ok){let i=n.error||"Failed to complete checkout";throw this.ctx.error.value=i,Error(i)}}return this.getStatus()}async getStatus(){let e=this.resolveOrgId(),t=Qn(this.ctx.apiBase,this.ctx.isDev),n=await(await fetch(`${t}/api/billing/details/${e}`,{headers:{...this.ctx.token.value&&{Authorization:`Bearer ${this.ctx.token.value}`}}})).json();if(!n.ok||!n.data)return{plan:void 0,status:"none",hasActiveBilling:!1,maxBots:0};let i=["active","trial","canceling"].includes(n.data.status)||n.data.status==="past_due"&&n.data.paymentRecovery?.suspended!==!0;return{plan:n.data.plan,status:n.data.status,hasActiveBilling:i,maxBots:n.data.maxBots,...n.data.trialEnd&&{trialEnd:n.data.trialEnd},...n.data.trialDaysRemaining!==void 0&&{trialDaysRemaining:n.data.trialDaysRemaining},...n.data.paymentRecovery&&{paymentRecovery:n.data.paymentRecovery}}}resolveOrgId(){let e=this.ctx.activeUser.value?.orgs?.[0]?.orgId;if(!e)throw Error("No organization found. Please sign in first.");return e}};JD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async cancelConversationTurn(e){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=this.ctx.token.value?{Authorization:`Bearer ${this.ctx.token.value}`}:{},i=await fetch(`${t}/api/conversations/${encodeURIComponent(e.conversationId)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(e.turnId?{turnId:e.turnId}:{})}),r=await i.json();if(!r.ok)throw Error(r.error||`Cancel failed: HTTP ${i.status}`);return r.data}async chatStreamPublic(e){let t=`${Qn(this.ctx.apiBase,this.ctx.isDev)}/api/bots/public/${encodeURIComponent(e.handle)}/chat/stream`,n="",i=!1,r=!1,o;try{let a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e.message,anonymousId:e.anonymousId,...e.attachments?.length?{attachments:e.attachments.map(({type:s,src:l,filename:u,mimeType:d,mediaId:p})=>({type:s,url:l,name:u,mimeType:d,mediaId:p}))}:{},...e.context?{context:e.context}:{}})});if(!a.ok){let s=await a.json().catch(()=>({error:"Request failed"}));e.onError(ln("api",s.error||`HTTP ${a.status}`,s.code));return}if(n=a.headers.get("X-Conversation-Id")||"",o=a.body?.getReader(),!o){e.onError(ln("stream-open","No response stream"));return}for await(let s of G0(o))if(s.event==="working_state")e.onStatus?.(s.data.description);else if(s.event==="tool_activity")e.onToolActivity?.(s.data);else if(s.event==="working_end")e.onWorkingEnd?.();else if(s.event==="message_delta")e.onDelta(s.data.delta,s.data.role);else if(s.event==="error"){i=!0,e.onError(s.data);break}else if(s.event==="message"&&(s.data.message.role==="assistant"||s.data.message.role==="system")){r=!0;let l=TI(s.data.message);l&&e.onMessage?.(l)}else if(s.event==="stream_end")break;!i&&r?e.onDone(n):i||e.onError(ln("no-reply","Stream ended before reply arrived"))}catch(a){e.onError(ln("stream-read",a instanceof Error?a.message:"Stream failed","NETWORK_ERROR"))}finally{try{await o?.cancel()}catch{}}}async chatStreamAuthenticated(e){let t=Qn(this.ctx.apiBase,this.ctx.isDev),n=this.ctx.token.value?{Authorization:`Bearer ${this.ctx.token.value}`}:{},i=e.conversationId,r=e.latestSequence??null;if(!i)try{let l=await fetch(`${t}/api/conversations`,{method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify({orgId:e.orgId,participants:[{type:"bot",id:e.botId}]})}),u=await l.json();if(!u.ok){e.onError(ln("api",u.error||`Conversation failed: HTTP ${l.status}`,u.code));return}i=u.data.conversationId,r=u.data.latestSequence??null}catch(l){e.onError(ln("api",l instanceof Error?l.message:"Conversation failed","NETWORK_ERROR"));return}let o=r?`${t}/api/conversations/${encodeURIComponent(i)}/stream?since=${encodeURIComponent(r)}`:`${t}/api/conversations/${encodeURIComponent(i)}/stream`,a=`nonce_${U2(16)}`,s=eI();await hI({streamUrl:o,sendUrl:`${t}/api/messages`,headers:n,sendBody:{conversationId:i,content:e.message,clientNonce:a,...s?{viewerTimezone:s}:{},...e.attachments&&e.attachments.length>0?{attachments:e.attachments}:{}},onStatus:e.onStatus,onDelta:e.onDelta,onToolActivity:e.onToolActivity,onWorkingEnd:e.onWorkingEnd,onMessage:l=>{let u=TI(l);u&&e.onMessage?.(u)},onDone:()=>e.onDone(i),onChatError:e.onError,onTransportError:e.onError})}},GD=class{constructor(e){q(this,"ctx",void 0),this.ctx=e}async getPublicBot(e){this.ctx.loading.value=!0,this.ctx.error.value=null;try{let t=await(await this.ctx.apiFetch(`/api/pub/bot/get-by-handle?handle=${encodeURIComponent(e.handle)}`)).json();if(!t.ok){this.ctx.error.value=t.error,this.ctx.logger.error("Failed to fetch public bot",{handle:e.handle,error:t.error});return}return this.ctx.hydrateRoster({bots:[t.data.bot],computers:[t.data.computer]})[0]}catch(t){this.ctx.logger.error("Get public bot error",{handle:e.handle,error:t}),this.ctx.error.value=t instanceof Error?t.message:"Failed to fetch bot";return}finally{this.ctx.loading.value=!1}}generateAnonId(){let e="pagelinesAnonId",t=this.ctx.storage.getItem(e);return t||(t=dp({prefix:"anon"}),this.ctx.storage.setItem(e,t)),t}track(e){try{typeof window<"u"&&window.parent!==window&&window.parent.postMessage({type:"pagelines_track",event:e.event,botId:e.botId,properties:e.properties||{}},"*"),this.ctx.logger.info("SDK event tracked",{event:e.event,botId:e.botId})}catch(t){this.ctx.logger.error("Track event error",{error:t,args:e})}}},YD=class{constructor(){q(this,"key","__PAGELINES_SDK__")}get(){if(typeof window<"u")return globalThis[this.key]}set(e){typeof window<"u"&&(globalThis[this.key]=e)}delete(){typeof window<"u"&&delete globalThis[this.key]}},vp=new YD,Wl=class zI extends co{static getInstance(t={}){return vp.get()||new zI(t)}get isDev(){return this.settings.isDev??(typeof window<"u"?window.location.hostname==="localhost"||window.location.hostname.includes("127.0.0.1"):!1)}constructor(t={}){let n=vp.get();if(n)return console.debug("[PageLinesSDK] Returning existing singleton instance"),n;super("PageLinesSDK",t),q(this,"activeUser",G()),q(this,"token",G(null)),q(this,"deviceId",G(null)),q(this,"loading",G(!1)),q(this,"error",G(null)),q(this,"apiBase",this.settings.apiBase||void 0),q(this,"storage",new ZD),q(this,"sessionId",dp({prefix:"ses"})),q(this,"currentBot",R(()=>{let r=this.activeUser.value;return(r?.lastBotId?this.bot.get(r.lastBotId):void 0)??this.bot.all().find(o=>o.isPrimary.value&&o.ownerId.value===r?.userId)})),q(this,"currentOrg",R(()=>{let r=this.currentBot.value?.computer.orgId.value??this.activeUser.value?.lastActiveOrgId??this.activeUser.value?.primaryOrgId;return this.activeUser.value?.orgs?.find(o=>o.orgId===r)})),q(this,"initialized",void 0),q(this,"resolveUser",void 0),q(this,"bot",void 0),q(this,"computer",void 0),q(this,"auth",void 0),q(this,"billing",void 0),q(this,"chat",void 0),q(this,"user",void 0),q(this,"stopAccountWatch",void 0),vp.set(this);let i={apiFetch:MD({isDev:this.isDev,apiBase:this.apiBase},this.processApiResponse.bind(this),()=>this.clearSession()),apiBase:this.apiBase,isDev:this.isDev,activeUser:this.activeUser,token:this.token,loading:this.loading,error:this.error,currentBot:this.currentBot,hydrateRoster:r=>this.bot.hydrate(r),clearRoster:()=>this.bot.clear(),storage:this.storage,sessionId:this.sessionId,logger:this.logger,processApiResponse:this.processApiResponse.bind(this)};this.bot=new HD(i),this.computer=new KD(i,this.bot),this.auth=new WD(i),this.billing=new qD(i),this.chat=new JD(i),this.user=new GD(i),this.stopAccountWatch=mt(()=>this.activeUser.value?.userId,()=>this.bot.clear(),{flush:"sync"}),this.logger.info("PageLinesSDK initialized"),this.storage.loadFromStorage(this.authRefs()),this.storage.syncWithGlobalStores(this.authRefs()),this.initialized=new Promise(r=>{this.resolveUser=r}),this.token.value&&!this.activeUser.value?this.auth.getCurrentUser().then(r=>{this.resolveUser&&(this.resolveUser(r),this.resolveUser=void 0)}).catch(r=>{this.logger.error("Auto user fetch failed",{data:r}),this.resolveUser&&(this.resolveUser(void 0),this.resolveUser=void 0)}):this.activeUser.value?this.resolveUser?.(this.activeUser.value):this.resolveUser?.(void 0)}processApiResponse(t){if(!t.ok)return;let n=!1;t.user&&(this.activeUser.value=t.user,this.logger.info("User updated from API response",{data:t.user}),n=!0),t.token&&(this.token.value!==t.token&&(this.activeUser.value=void 0,this.bot.clear()),this.token.value=t.token,this.logger.info("Token updated from API response"),n=!0);let i=t.data?.deviceId;i&&(this.deviceId.value=i,n=!0),n&&this.persistAuth(),this.resolveUser&&(this.resolveUser(t.user),this.resolveUser=void 0)}authRefs(){return{activeUser:this.activeUser,token:this.token,deviceId:this.deviceId}}persistAuth(){this.storage.saveToStorage(this.authRefs())}clearSession(){this.bot.clear(),this.logger.info("Clearing session"),this.activeUser.value=void 0,this.token.value=null,this.deviceId.value=null,this.error.value=null,this.storage.clearStorage()}clear(){this.logger.info("Clearing SDK completely"),this.clearSession(),this.loading.value=!1,this.sessionId=dp({prefix:"ses"}),this.stopAccountWatch?.(),vp.delete()}}});function e5(e,t){return w(),$("div",QD,[...t[0]||(t[0]=[b("svg",{class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},[b("circle",{class:"ring-path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"})],-1)])])}function t5(e){let t=Math.max(0,Math.floor(e.ms/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,"0")}`}function r5(e){return e.mimeType.includes("mp4")||e.mimeType.includes("m4a")?"m4a":e.mimeType.includes("ogg")?"ogg":e.mimeType.includes("wav")?"wav":"webm"}function n5(){return typeof MediaRecorder>"u"?"":["audio/webm;codecs=opus","audio/mp4","audio/webm"].find(e=>MediaRecorder.isTypeSupported?.(e))||""}function a5(e){return e.turnOutcome==="failed"?"failed":e.turnOutcome==="stopped"?"stopped":e.sender==="system"?"failed":"completed"}function Ip(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function qa(e){return Ip(e.endedAt)??Ip(e.startedAt)??0}function yy(e,t){return qa(e)-qa(t)}function Ql(e,t){let n=e.filter(r=>r.status==="completed"||r.status==="failed"&&!!r.note).filter(r=>!t.has(r.activityId)).slice().sort(yy),i=[];for(let r of n){let o=r.status==="completed"?"done":"failed",a=i[i.length-1];o==="done"&&a?.tone==="done"&&a.label===r.label&&qa(r)-a.lastMs<=s5?(a.count+=1,a.lastMs=qa(r)):i.push({id:r.activityId,tone:o,label:r.label,note:r.note,count:1,lastMs:qa(r)})}return i.map(r=>({id:r.id,tone:r.tone,label:r.count>1?`${r.label} \xB7 ${r.count}`:r.label,...r.note?{note:r.note}:{}}))}function $p(e){return e.length<=ny?{visibleRows:e,hiddenRows:[]}:{visibleRows:e.slice(e.length-ny),hiddenRows:e.slice(0,e.length-ny)}}function wy(e){let{activities:t,outcome:n,nowMs:i,canNotifyOnCompletion:r,lastVisibleProgressAtMs:o,includeFailureNote:a=!0}=e;if(n==="completed")return{outcome:n,visibleRows:[],hiddenRows:Ql(t,new Set),terminal:{id:"work-complete",tone:"completed",label:mo.completed}};if(n==="failed"){let A=t.filter(Q=>Q.status==="failed").sort(yy).pop(),j=new Set;A&&j.add(A.activityId);let{visibleRows:O,hiddenRows:P}=$p(Ql(t,j));return{outcome:n,visibleRows:O,hiddenRows:P,terminal:{id:"work-failed",tone:"failed",label:mo.failed,...a&&A?.note?{note:A.note}:{}}}}if(n==="stopped"){let{visibleRows:A,hiddenRows:j}=$p(Ql(t,new Set));return{outcome:n,visibleRows:A,hiddenRows:j,terminal:{id:"work-stopped",tone:"stopped",label:mo.stopped}}}let{visibleRows:s,hiddenRows:l}=$p(Ql(t,new Set)),u=t.filter(A=>A.status==="started").sort(yy).pop(),d=t.reduce((A,j)=>Math.max(A,qa(j)),o??-1/0),p=Number.isFinite(d)?d:i,m=t.reduce((A,j)=>{let O=Ip(j.startedAt)??Ip(j.endedAt);return O===void 0?A:Math.min(A,O)},1/0),f=p+aE,g=(Number.isFinite(m)?m:p)+l5,v=i>=f,x=u||v?{id:u?.activityId??"work-active",tone:"active",label:u?.label??mo.finishing}:void 0,C=v&&i>=g?r?mo.notifyHint:mo.leaveHint:void 0,S=[f,g].filter(A=>A>i).sort((A,j)=>A-j)[0];return{outcome:n,visibleRows:s,hiddenRows:l,...x?{terminal:x}:{},...C?{hint:C}:{},...S===void 0?{}:{nextBoundaryAtMs:S}}}function c5(e){let{segments:t,activities:n,nowMs:i,canNotifyOnCompletion:r,lastVisibleProgressAtMs:o}=e,a=new Map(n.map(f=>[f.activityId,f])),s=f=>wy({activities:f,outcome:"running",nowMs:i,canNotifyOnCompletion:r,...o===void 0?{}:{lastVisibleProgressAtMs:o}}),l=f=>{let{visibleRows:g,hiddenRows:v}=$p(Ql(f,new Set));if(g.length!==0||v.length!==0)return{outcome:"running",visibleRows:g,hiddenRows:v}},u=[],d=new Set(t.flatMap(f=>f.kind==="work"?f.activityIds:[])),p=l(n.filter(f=>!d.has(f.activityId)));p&&u.push({kind:"work",id:"work-unsegmented",journal:p}),t.forEach((f,g)=>{if(f.kind==="text"){f.content&&u.push({kind:"text",id:`text-${g}`,content:f.content});return}let v=f.activityIds.map(C=>a.get(C)).filter(C=>C!==void 0);if(v.length===0)return;let x=l(v);x&&u.push({kind:"work",id:`work-${f.activityIds[0]??g}`,journal:x})});let m=s(n);return m.terminal||m.hint?u.push({kind:"work",id:"work-tail",journal:{outcome:"running",visibleRows:[],hiddenRows:[],...m.terminal?{terminal:m.terminal}:{},...m.hint?{hint:m.hint}:{},...m.nextBoundaryAtMs===void 0?{}:{nextBoundaryAtMs:m.nextBoundaryAtMs}}}):u.push({kind:"loading",id:"work-tail"}),u}function bp(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function u5(){return typeof navigator<"u"&&!!navigator.mediaDevices?.getUserMedia&&typeof RTCPeerConnection<"u"}function CI(e){return e?typeof e=="string"?e:e.src||"":""}function sE(e){return CI(e.cover)||CI(e.avatar)||Bl(e.name)}function tc(e){let t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src=Bl())}function lE(e){let{template:t,bot:n}=e;return t.replace(/{name}/g,n.name||"Assistant").replace(/{title}/g,n.title||"").replace(/{handle}/g,n.handle||"")}function y5(e,t){switch(e){case"bot":return`${t} ended the call`;case"idle-timeout":return"Call ended after 30 seconds of silence";case"network":return"Call dropped. Connection lost.";case"session-cap":return"Call reached its time limit";case"unavailable":return"Call couldn\u2019t connect"}}function A5(e,t){this.v=e,this.k=t}function AI(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function O5(e){if(Array.isArray(e))return e}function D5(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}function P5(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
95
95
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R5(e,t){return O5(e)||D5(e,t)||U5(e,t)||P5()}function U5(e,t){if(e){if(typeof e=="string")return AI(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?AI(e,t):void 0}}function yp(e){var t,n;function i(o,a){try{var s=e[o](a),l=s.value,u=l instanceof A5;Promise.resolve(u?l.v:l).then(function(d){if(u){var p=o==="return"&&l.k?o:"next";if(!l.k||d.done)return i(p,d);d=e[p](d).value}r(!!s.done,d)},function(d){i("throw",d)})}catch(d){r(2,d)}}function r(o,a){o===2?t.reject(a):t.resolve({value:a,done:o}),(t=t.next)?i(t.key,t.arg):n=null}this._invoke=function(o,a){return new Promise(function(s,l){var u={key:o,arg:a,resolve:s,reject:l,next:null};n?n=n.next=u:(t=n=u,i(o,a))})},typeof e.return!="function"&&(this.return=void 0)}function xt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return xy(e,t,n)}}function mE(e){return function(){return _y(e,[...arguments])}}function Ge(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fo;if(OI&&OI(e,null),!Ja(t))return e;let i=t.length;for(;i--;){let r=t[i];if(typeof r=="string"){let o=n(r);o!==r&&(j5(t)||(t[i]=o),r=o)}e[r]=!0}return e}function H5(e){for(let t=0;t<e.length;t++)Ir(e,t)||(e[t]=null);return e}function Rr(e){let t=Ha(null);for(let i of cE(e)){var n=R5(i,2);let r=n[0],o=n[1];Ir(e,r)&&(t[r]=Ja(o)?H5(o):o&&typeof o=="object"&&o.constructor===Object?Rr(o):o)}return t}function K5(e){switch(typeof e){case"string":return e;case"number":return B5(e);case"boolean":return Z5(e);case"bigint":return UI?UI(e):"0";case"symbol":return jI?jI(e):"Symbol()";case"undefined":return Yl(e);case"function":case"object":{if(e===null)return Yl(e);let t=e,n=Hr(t,"toString");if(typeof n=="function"){let i=n(t);return typeof i=="string"?i:Yl(i)}return Yl(e)}default:return Yl(e)}}function Hr(e,t){for(;e!==null;){let i=dE(e,t);if(i){if(i.get)return xt(i.get);if(typeof i.value=="function")return xt(i.value)}e=uE(e)}function n(){return null}return n}function W5(e,t){for(;e!==null;){let n=dE(e,t);if(n)return n.get?xt(n.get):null;e=uE(e)}return null}function q5(e){try{return Xt(e,""),!0}catch{return!1}}function fE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lP(),t=ie=>fE(ie);if(t.version="3.4.17",t.removed=[],!e||!e.document||e.document.nodeType!==Ct.document||!e.Element)return t.isSupported=!1,t;let n=e.document,i=n,r=i.currentScript;e.DocumentFragment;let o=e.HTMLTemplateElement,a=e.Node,s=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let u=e.DOMParser,d=e.trustedTypes,p=s.prototype,m=Hr(p,"cloneNode"),f=Hr(p,"remove"),g=Hr(p,"removeAttributeNode"),v=Hr(p,"nextSibling"),x=Hr(p,"childNodes"),C=Hr(p,"parentNode"),S=Hr(p,"shadowRoot"),A=Hr(p,"attributes"),j=a&&a.prototype?Hr(a.prototype,"nodeType"):null,O=a&&a.prototype?Hr(a.prototype,"nodeName"):null,P=a&&a.prototype?Hr(a.prototype,"ownerDocument"):null,Q=function(h){return j?j(h):h.nodeType},ue=function(h){return O?O(h):h.nodeName},ae=W5(p,"namespaceURI"),ce=function(h){return ae?ae(h):h.namespaceURI};if(typeof o=="function"){let ie=n.createElement("template");ie.content&&ie.content.ownerDocument&&(n=ie.content.ownerDocument)}let me,B="",se,He=!1,tt=0,ft=function(){if(tt>0)throw ti('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},Re=function(h){ft(),tt++;try{return me.createHTML(h)}finally{tt--}},Be=function(h){ft(),tt++;try{return me.createScriptURL(h)}finally{tt--}},Ut=function(){return He||(se=cP(d,r),He=!0),se},Er=n,mr=Er.implementation,gt=Er.createNodeIterator,yt=Er.createDocumentFragment,Wr=Er.getElementsByTagName,Et=i.importNode,Ye=KI();t.isSupported=typeof cE=="function"&&typeof C=="function"&&mr&&mr.createHTMLDocument!==void 0;let Ht=Y5,er=X5,Tr=Q5,fr=eP,qr=tP,hr=rP,k=nP,I=oP,M=BI,F=null,Y=Ge({},[...MI,...ly,...cy,...uy,...LI]),_=null,D=Ge({},[...VI,...dy,...FI,...wp]),y=Object.seal(Ha(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),U=null,E=null,J=Object.seal(Ha(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ne=!0,fe=!0,ve=!1,we=!0,ye=!1,Ne=!0,Me=!1,Xe=!1,_t=null,$t=null,jt=!1,Kt=!1,vt=!1,Tt=!1,Jr=!0,$e=!1,es="user-content-",zi=!0,ko=!1,Gr=null,ri={},On=null,sc=Ge({},"annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp".split(".")),lc=null,ts=Ge({},["audio","video","img","source","image","track"]),ni=null,dn=Ge({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Dn="http://www.w3.org/1998/Math/MathML",xo="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1999/xhtml",ii=Ur,rs=!1,ns=null,cc=Ge({},[Dn,xo,Ur],sy),is=Bt(["mi","mo","mn","ms","mtext"]),X=Ge({},is),L=Bt(["annotation-xml"]),H=Ge({},L),Qe=Ge({},["title","style","font","a","script"]),ke=null,bt=["application/xhtml+xml","text/html"],ct=null,_o=null,ME=n.createElement("form"),Uy=function(h){return h instanceof RegExp||h instanceof Function},Vp=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(_o&&_o===h)return;h&&typeof h=="object"||(h={}),h=Rr(h),ke=bt.indexOf(h.PARSER_MEDIA_TYPE)===-1?"text/html":h.PARSER_MEDIA_TYPE,ct=ke==="application/xhtml+xml"?sy:fo,F=Ti(h,"ALLOWED_TAGS",Y,{transform:ct}),_=Ti(h,"ALLOWED_ATTR",D,{transform:ct}),ns=Ti(h,"ALLOWED_NAMESPACES",cc,{transform:sy}),ni=Ti(h,"ADD_URI_SAFE_ATTR",dn,{transform:ct,base:dn}),lc=Ti(h,"ADD_DATA_URI_TAGS",ts,{transform:ct,base:ts}),On=Ti(h,"FORBID_CONTENTS",sc,{transform:ct}),U=Ti(h,"FORBID_TAGS",Rr({}),{transform:ct}),E=Ti(h,"FORBID_ATTR",Rr({}),{transform:ct}),ri=Ir(h,"USE_PROFILES")?h.USE_PROFILES&&typeof h.USE_PROFILES=="object"?Rr(h.USE_PROFILES):h.USE_PROFILES:!1,ne=h.ALLOW_ARIA_ATTR!==!1,fe=h.ALLOW_DATA_ATTR!==!1,ve=h.ALLOW_UNKNOWN_PROTOCOLS||!1,we=h.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=h.SAFE_FOR_TEMPLATES||!1,Ne=h.SAFE_FOR_XML!==!1,Me=h.WHOLE_DOCUMENT||!1,Kt=h.RETURN_DOM||!1,vt=h.RETURN_DOM_FRAGMENT||!1,Tt=h.RETURN_TRUSTED_TYPE||!1,jt=h.FORCE_BODY||!1,Jr=h.SANITIZE_DOM!==!1,$e=h.SANITIZE_NAMED_PROPS||!1,zi=h.KEEP_CONTENT!==!1,ko=h.IN_PLACE||!1,M=q5(h.ALLOWED_URI_REGEXP)?h.ALLOWED_URI_REGEXP:BI,ii=typeof h.NAMESPACE=="string"?h.NAMESPACE:Ur,X=my(h,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ge({},is)),H=my(h,"HTML_INTEGRATION_POINTS",()=>Ge({},L));let T=my(h,"CUSTOM_ELEMENT_HANDLING",()=>Ha(null));if(y=Ha(null),Ir(T,"tagNameCheck")&&Uy(T.tagNameCheck)&&(y.tagNameCheck=T.tagNameCheck),Ir(T,"attributeNameCheck")&&Uy(T.attributeNameCheck)&&(y.attributeNameCheck=T.attributeNameCheck),Ir(T,"allowCustomizedBuiltInElements")&&typeof T.allowCustomizedBuiltInElements=="boolean"&&(y.allowCustomizedBuiltInElements=T.allowCustomizedBuiltInElements),Qt(y),ye&&(fe=!1),vt&&(Kt=!0),ri&&(F=Ge({},LI),_=Ha(null),ri.html===!0&&(Ge(F,MI),Ge(_,VI)),ri.svg===!0&&(Ge(F,ly),Ge(_,dy),Ge(_,wp)),ri.svgFilters===!0&&(Ge(F,cy),Ge(_,dy),Ge(_,wp)),ri.mathMl===!0&&(Ge(F,uy),Ge(_,FI),Ge(_,wp))),J.tagCheck=null,J.attributeCheck=null,Ir(h,"ADD_TAGS")&&(typeof h.ADD_TAGS=="function"?J.tagCheck=h.ADD_TAGS:Ja(h.ADD_TAGS)&&(F===Y&&(F=Rr(F)),Ge(F,h.ADD_TAGS,ct))),Ir(h,"ADD_ATTR")&&(typeof h.ADD_ATTR=="function"?J.attributeCheck=h.ADD_ATTR:Ja(h.ADD_ATTR)&&(_===D&&(_=Rr(_)),Ge(_,h.ADD_ATTR,ct))),Ir(h,"ADD_FORBID_CONTENTS")&&Ja(h.ADD_FORBID_CONTENTS)&&(On===sc&&(On=Rr(On)),Ge(On,h.ADD_FORBID_CONTENTS,ct)),zi&&(F["#text"]=!0),Me&&Ge(F,["html","head","body"]),F.table&&(Ge(F,["tbody"]),delete U.tbody),h.TRUSTED_TYPES_POLICY){if(typeof h.TRUSTED_TYPES_POLICY.createHTML!="function")throw ti('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof h.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ti('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let re=me;me=h.TRUSTED_TYPES_POLICY;try{B=Re("")}catch(oe){throw me=re,oe}}else h.TRUSTED_TYPES_POLICY===null?(me=void 0,B=""):(me===void 0&&(me=Ut()),me&&typeof B=="string"&&(B=Re("")));Bt&&Bt(h),_o=h},jy=Ge({},[...ly,...cy,...J5]),My=Ge({},[...uy,...G5]),LE=function(h,T,re){return T.namespaceURI===Ur?h==="svg":T.namespaceURI===Dn?h==="svg"&&(re==="annotation-xml"||X[re]):!!jy[h]},VE=function(h,T,re){return T.namespaceURI===Ur?h==="math":T.namespaceURI===xo?h==="math"&&H[re]:!!My[h]},FE=function(h,T,re){return T.namespaceURI===xo&&!H[re]||T.namespaceURI===Dn&&!X[re]?!1:!My[h]&&(Qe[h]||!jy[h])},BE=function(h){let T=ce(h),re=fo(ue(h)),oe=C(h),Ee,Ce;return oe&&Q(oe)===Ct.element?(Ee={namespaceURI:ce(oe)},Ce=fo(ue(oe))):(Ee={namespaceURI:ii},Ce="template"),ns[T]?T===xo?LE(re,Ee,Ce):T===Dn?VE(re,Ee,Ce):T===Ur?FE(re,Ee,Ce):!!(ke==="application/xhtml+xml"&&ns[T]):!1},Ci=function(h){ql(t.removed,{element:h});try{C(h).removeChild(h)}catch{if(f(h),!C(h))throw ti("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ly=function(h,T,re){try{g(h,T)}catch{try{h.removeAttribute(re)}catch{}}},Fp=function(h){Zp(h);let T=x(h);T&&ei(L5(T),oe=>{try{f(oe)}catch{}});let re=Q(h)===Ct.element?A(h):null;if(re)for(let oe=re.length-1;oe>=0;--oe){let Ee=re[oe],Ce=Ee&&Ee.name;typeof Ce=="string"&&Ly(h,Ee,Ce)}},$o=function(h,T,re){if(!re)try{re=T.getAttributeNode(h)}catch{re=null}ql(t.removed,{attribute:re||null,from:T});try{re?g(T,re):T.removeAttribute(h)}catch{try{T.removeAttribute(h)}catch{}}if(h==="is")if(Kt||vt)try{Ci(T)}catch{}else try{T.setAttribute(h,"")}catch{}},Vy=function(h){let T=A(h);if(T)for(let re=T.length-1;re>=0;--re){let oe=T[re],Ee=oe&&oe.name;typeof Ee!="string"||_[ct(Ee)]||Ly(h,oe,Ee)}},Bp=function(h,T){let re=arguments.length>2&&arguments[2]!==void 0&&arguments[2],oe=[h];for(;oe.length>0;){let Ee=oe.pop();if(T(Ee)===!1)continue;if(re&&Q(Ee)===Ct.element){let Le=S(Ee);oi(Le)&&oe.push(Le)}let Ce=x(Ee);if(Ce)for(let Le=Ce.length-1;Le>=0;--Le)oe.push(Ce[Le])}},Zp=function(h){Bp(h,T=>{Q(T)===Ct.element&&Vy(T)})},Hp=function(h){let T=[];return Bp(h,re=>{T.push(re)},!0),T},ZE=function(h,T){let re=oy();ei(Hp(h),oe=>{Q(oe)===Ct.element&&ay(re,oe)}),ei(T,oe=>{Q(oe)===Ct.element&&!Jl(re,oe)&&Vy(oe)})},Fy=function(h,T){let re=!1;return ei(t.removed,oe=>{oe.element&&(re=re||oe.element===h,Zp(oe.element))}),ZE(h,T),re},HE=function(h,T){let re=Gr,oe=null,Ee=()=>(oe||(oe=oy(),ei(T,Ce=>{ay(oe,Ce)})),oe);for(let Ce=0;;Ce++){let Le=Hp(h),At=[h],pn=!1;if(ei(Le,nr=>{Q(nr)===Ct.documentFragment?ql(At,nr):!pn&&!Jl(re,nr)&&(pn=Jl(Ee(),nr))}),!pn)return;if(Ce>=8)throw ti("the tree kept changing during in-place sanitization; refusing to return it");ei(At,(nr,gr)=>{KE(nr,gr>0,h,Ee())})}},KE=function(h,T,re,oe){let Ee=Kp(h),Ce;for(;Ce=Ee.nextNode();)Jl(oe,Ce)&&!Jl(Gr,Ce)&&(T&&Yr(Ye.uponSanitizeShadowNode,Ce,null),qp(Ce,re),Jp(Ce,re),oi(Ce.content)&&as(Ce.content))},WE=function(h){Gr&&ay(Gr,h)},By=function(h,T){return Ne?h==="patchsrc"||h==="for"&&T!=="label"&&T!=="output":!1},qE=function(h){Ne&&Bp(h,T=>{let re=Q(T);if(re===Ct.processingInstruction||re===Ct.comment&&Xt(ZI,T.data)){try{f(T)}catch{}return!1}if(re===Ct.element){let oe=T,Ee=ct(ue(T));try{oe.hasAttribute&&oe.hasAttribute("patchsrc")&&oe.removeAttribute("patchsrc"),oe.hasAttribute&&oe.hasAttribute("for")&&By("for",Ee)&&oe.removeAttribute("for")}catch{}}return!0})},Zy=function(h){let T=null,re=null;if(jt)h="<remove></remove>"+h;else{let Ce=PI(h,/^[\r\n\t ]+/);re=Ce&&Ce[0]}ke==="application/xhtml+xml"&&ii===Ur&&(h='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+h+"</body></html>");let oe=me?Re(h):h;if(ii===Ur)try{T=new u().parseFromString(oe,ke)}catch{}if(!T||!T.documentElement){T=mr.createDocument(ii,"template",null);try{T.documentElement.innerHTML=rs?B:oe}catch{}}let Ee=T.body||T.documentElement;return h&&re&&Ee.insertBefore(n.createTextNode(re),Ee.childNodes[0]||null),ii===Ur?Wr.call(T,Me?"html":"body")[0]:Me?T.documentElement:Ee},Kp=function(h){let T=P?P(h):h.ownerDocument;return gt.call(T||h,h,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},uc=function(h){return h=Gl(h,Ht," "),h=Gl(h,er," "),h=Gl(h,Tr," "),h},Wp=function(h){Hy(h);let T=h.querySelectorAll?.call(h,"template");T&&ei(T,re=>{oi(re.content)&&Wp(re.content)})},Hy=function(h){h.normalize();let T=P?P(h):h.ownerDocument,re=gt.call(T||h,h,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),oe=re.nextNode();for(;oe;)oe.data=uc(oe.data),oe=re.nextNode()},dc=function(h){let T=O?O(h):null;return typeof T!="string"||ct(T)!=="form"?!1:typeof h.nodeName!="string"||typeof h.textContent!="string"||typeof h.removeChild!="function"||h.attributes!==A(h)||typeof h.removeAttribute!="function"||typeof h.removeAttributeNode!="function"||typeof h.getAttributeNode!="function"||typeof h.setAttribute!="function"||typeof h.namespaceURI!="string"||typeof h.insertBefore!="function"||typeof h.hasChildNodes!="function"||h.nodeType!==j(h)||h.childNodes!==x(h)},oi=function(h){if(!j||typeof h!="object"||!h)return!1;try{return j(h)===Ct.documentFragment}catch{return!1}},os=function(h){if(!j||typeof h!="object"||!h)return!1;try{return typeof j(h)=="number"}catch{return!1}};function Yr(ie,h,T){ie.length!==0&&ei(ie,re=>{re.call(t,h,T,_o)})}let JE=function(h,T){return!!(Ne&&h.hasChildNodes()&&!os(h.firstElementChild)&&Xt(py,h.textContent)&&Xt(py,h.innerHTML)||Ne&&sP[T]&&Q(h)===Ct.element&&ce(h)===Ur&&(os(h.firstElementChild)||typeof h.textContent=="string"&&Xt(py,h.textContent))||h.nodeType===Ct.processingInstruction||Ne&&h.nodeType===Ct.comment&&Xt(ZI,h.data))},pc=function(h,T){return h instanceof RegExp?Xt(h,T):h instanceof Function&&!!h(T,...[...arguments].slice(2))},GE=function(h,T,re){if(!U[T]&&qy(T)&&pc(y.tagNameCheck,T))return!1;if(zi&&!On[T]&&!On[fo(T)]){let oe=C(h),Ee=x(h);if(Ee&&oe){let Ce=Ee.length;for(let Le=Ce-1;Le>=0;--Le){let At=h===re?m(Ee[Le],!0):Ee[Le];oe.insertBefore(At,v(h))}}}return Ci(h),!0},Ky=function(h,T,re,oe){return h.length===0?T:T===re||T===oe?Rr(T):T},So=function(h,T){return h===T||C(h)!==null?!1:(ko&&Zp(h),!0)},qp=function(h,T){if(WE(h),Yr(Ye.beforeSanitizeElements,h,null),So(h,T))return!0;if(dc(h))return Ci(h),!0;let re=ct(ue(h));if(F=Ky(Ye.uponSanitizeElement,F,Y,_t),Yr(Ye.uponSanitizeElement,h,{tagName:re,allowedTags:F}),So(h,T))return!0;if(JE(h,re))return Ci(h),!0;if(U[re]||!(J.tagCheck instanceof Function&&J.tagCheck(re))&&!F[re]){let oe=GE(h,re,T);return oe===!1&&(Yr(Ye.afterSanitizeElements,h,null),So(h,T))?!0:oe}if(Q(h)===Ct.element&&!BE(h)||(re==="noscript"||re==="noembed"||re==="noframes")&&Xt(aP,h.innerHTML))return Ci(h),!0;if(ye&&h.nodeType===Ct.text){let oe=uc(h.textContent);h.textContent!==oe&&(ql(t.removed,{element:h.cloneNode()}),h.textContent=oe)}return Yr(Ye.afterSanitizeElements,h,null),So(h,T)},Wy=function(h,T,re){if(E[T]||By(T,h)||Jr&&(T==="id"||T==="name")&&(re in n||re in ME))return!1;let oe=_[T]||J.attributeCheck instanceof Function&&J.attributeCheck(T,h);return fe&&Xt(fr,T)||ne&&Xt(qr,T)?!0:oe?ni[T]||Xt(M,Gl(re,k,""))||(T==="src"||T==="xlink:href"||T==="href")&&h!=="script"&&RI(re,"data:")===0&&lc[h]||ve&&!Xt(hr,Gl(re,k,""))?!0:!re:qy(h)&&pc(y.tagNameCheck,h)&&pc(y.attributeNameCheck,T,h)||T==="is"&&y.allowCustomizedBuiltInElements&&pc(y.tagNameCheck,re)},YE=Ge({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),qy=function(h){return!YE[fo(h)]&&Xt(I,h)},XE=function(h,T,re,oe){if(me&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!re)switch(d.getAttributeType(h,T)){case"TrustedHTML":return Re(oe);case"TrustedScriptURL":return Be(oe)}return oe},QE=function(h,T,re,oe){try{return re?h.setAttributeNS(re,T,oe):h.setAttribute(T,oe),!dc(h)||(Ci(h),!1)}catch{return $o(T,h),!1}},Jy=function(h,T){return Ne&&Xt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,T)?!0:fo(h)==="attributename"&&PI(T,"href")!==null},Jp=function(h,T){if(Yr(Ye.beforeSanitizeAttributes,h,null),So(h,T))return;let re=h.attributes;if(!re||dc(h))return;_=Ky(Ye.uponSanitizeAttribute,_,D,$t);let oe={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:_,forceKeepAttr:void 0},Ee=re.length,Ce=ct(h.nodeName);for(;Ee--;){let Le=re[Ee],At=Le.name,pn=Le.namespaceURI,nr=Le.value,gr=ct(At),Io=nr,vr=At==="value"?Io:F5(Io),Gy=!1;oe.attrName=gr,oe.attrValue=vr,oe.keepAttr=!0,oe.forceKeepAttr=void 0,Yr(Ye.uponSanitizeAttribute,h,oe),vr=oe.attrValue,$e&&(gr==="id"||gr==="name")&&RI(vr,es)!==0&&($o(At,h,Le),vr=es+vr,Gy=!0),Jy(At,vr)?$o(At,h,Le):oe.forceKeepAttr||(oe.keepAttr?!we&&Xt(HI,vr)?$o(At,h,Le):(ye&&(vr=uc(vr)),Wy(Ce,gr,vr)?(vr=XE(Ce,gr,pn,vr),vr!==Io&&QE(h,At,pn,vr)&&Gy&&DI(t.removed)):$o(At,h,Le)):$o(At,h,Le))}Yr(Ye.afterSanitizeAttributes,h,null),So(h,T)},as=function(h){let T=null,re=Kp(h);for(Yr(Ye.beforeSanitizeShadowDOM,h,null);T=re.nextNode();)if(Yr(Ye.uponSanitizeShadowNode,T,null),qp(T,h),Jp(T,h),oi(T.content)&&as(T.content),Q(T)===Ct.element){let oe=S(T);oi(oe)&&(Gp(oe),as(oe))}ye&&Hy(h),Yr(Ye.afterSanitizeShadowDOM,h,null)},Gp=function(h){let T=[{node:h,shadow:null}];for(;T.length>0;){let re=T.pop();if(re.shadow){as(re.shadow);continue}let oe=re.node,Ee=Q(oe)===Ct.element,Ce=x(oe);if(Ce)for(let Le=Ce.length-1;Le>=0;--Le)T.push({node:Ce[Le],shadow:null});if(Ee){let Le=O?O(oe):null;if(typeof Le=="string"&&ct(Le)==="template"){let At=oe.content;oi(At)&&T.push({node:At,shadow:null})}}if(Ee){let Le=S(oe);oi(Le)&&T.push({node:null,shadow:Le},{node:Le,shadow:null})}}};return t.sanitize=function(ie){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},T=null,re=null,oe=null,Ee=null;if(rs=!ie,rs&&(ie="<!-->"),typeof ie!="string"&&!os(ie)&&(ie=K5(ie),typeof ie!="string"))throw ti("dirty is not a string, aborting");if(!t.isSupported)return ie;Xe?(F=_t,_=$t):Vp(h),(Ye.uponSanitizeElement.length>0||Ye.uponSanitizeAttribute.length>0)&&(F=Rr(F)),Ye.uponSanitizeAttribute.length>0&&(_=Rr(_)),t.removed=[];let Ce=ko&&typeof ie!="string"&&os(ie),Le=[],At=Gr;if(Ce){qE(ie);let gr=ue(ie);if(typeof gr=="string"){let Io=ct(gr);if(!F[Io]||U[Io])throw Fp(ie),ti("root node is forbidden and cannot be sanitized in-place")}if(dc(ie))throw Fp(ie),ti("root node is clobbered and cannot be sanitized in-place");Le=Hp(ie),Gr=oy()}else if(os(ie))T=Zy("<!---->"),re=T.ownerDocument.importNode(ie,!0),re.nodeType===Ct.element&&re.nodeName==="BODY"||re.nodeName==="HTML"?T=re:T.appendChild(re),Gp(T);else{if(!Kt&&!ye&&!Me&&ie.indexOf("<")===-1)return me&&Tt?Re(ie):ie;if(T=Zy(ie),!T)return Kt?null:Tt?B:""}T&&jt&&Ci(T.firstChild);let pn=Ce?ie:T;try{Ce&&Gp(ie);let gr=Kp(pn);for(;oe=gr.nextNode();)qp(oe,pn),Jp(oe,pn),oi(oe.content)&&as(oe.content);Ce&&HE(ie,Le)}catch(gr){throw Ce&&(Fp(ie),Fy(ie,Le)),gr}finally{Gr=At}if(Ce){if(Fy(ie,Le))throw ti("a node selected for removal could not be safely returned; refusing to sanitize in place");return ye&&Wp(ie),ie}if(Kt){if(ye&&Wp(T),vt)for(Ee=yt.call(T.ownerDocument);T.firstChild;)Ee.appendChild(T.firstChild);else Ee=T;return(_.shadowroot||_.shadowrootmode)&&(Ee=Et.call(i,Ee,!0)),Ee}let nr=Me?T.outerHTML:T.innerHTML;return Me&&F["!doctype"]&&T.ownerDocument&&T.ownerDocument.doctype&&T.ownerDocument.doctype.name&&Xt(iP,T.ownerDocument.doctype.name)&&(nr="<!DOCTYPE "+T.ownerDocument.doctype.name+`>
|
|
96
96
|
`+nr),ye&&(nr=uc(nr)),me&&Tt?Re(nr):nr},t.setConfig=function(){let ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Vp(ie),Xe=!0,_t=F,$t=_},t.clearConfig=function(){_o=null,Xe=!1,_t=null,$t=null,me=se,B=""},t.isValidAttribute=function(ie,h,T){_o||Vp({});let re=ct(ie),oe=ct(h);return typeof T=="string"&&(Jy(h,T)||!we&&Xt(HI,T))?!1:Wy(re,oe,T)},t.addHook=function(ie,h){typeof h=="function"&&Ir(Ye,ie)&&ql(Ye[ie],h)},t.removeHook=function(ie,h){if(Ir(Ye,ie)){if(h!==void 0){let T=M5(Ye[ie],h);return T===-1?void 0:V5(Ye[ie],T,1)[0]}return DI(Ye[ie])}},t.removeHooks=function(ie){Ir(Ye,ie)&&(Ye[ie]=[])},t.removeAllHooks=function(){Ye=KI()},t}function uP(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}function dP(e,t){uP(e,t),t.add(e)}function pP(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError("Private element is not present on this object")}function Ey(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function gE(e){vo=e}function Za(e){let t=[];return n=>{let i=Math.max(0,Math.min(3,n-1)),r=t[i];return r||(r=e(i),t[i]=r),r}}function Oe(e,t=""){let n=typeof e=="string"?e:e.source,i={replace:(r,o)=>{let a=typeof o=="string"?o:o.source;return a=a.replace(Zt.caret,"$1"),n=n.replace(r,a),i},getRegex:()=>new RegExp(n,t)};return i}function Pr(e,t){if(t){if(Zt.escapeTest.test(e))return e.replace(Zt.escapeReplace,GI)}else if(Zt.escapeTestNoEncode.test(e))return e.replace(Zt.escapeReplaceNoEncode,GI);return e}function oR(e){return Zt.numericCharacterReference.test(e)?e.replace(Zt.numericCharacterReferenceOrAmpersand,(t,n,i)=>{if(n===void 0&&i===void 0)return"&";let r=n===void 0?Number.parseInt(i,16):Number.parseInt(n,10);return r===0||r>1114111||r>=55296&&r<=57343?"\uFFFD":r===38?"&":String.fromCodePoint(r)}):e}function YI(e){try{e=encodeURI(e).replace(Zt.percentDecode,"%")}catch{return null}return e}function XI(e,t){let n=e.replace(Zt.findPipe,(r,o,a)=>{let s=!1,l=o;for(;--l>=0&&a[l]==="\\";)s=!s;return s?"|":" |"}).split(Zt.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(Zt.slashPipe,"|");return n}function Ni(e,t,n){let i=e.length;if(i===0)return"";let r=0;for(;r<i;){let o=e.charAt(i-r-1);if(o===t&&!n)r++;else if(o!==t&&n)r++;else break}return e.slice(0,i-r)}function QI(e){let t=e.split(`
|
|
97
97
|
`),n=t.length-1;for(;n>=0&&Zt.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
@@ -163,4 +163,4 @@ ${B}
|
|
|
163
163
|
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"DM Mono", "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-amber-500:#f99c00;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-slate-200:#e2e8f0;--color-slate-950:#020618;--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:48rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-theme-0:var(--theme-0,#fff);--color-theme-25:var(--theme-25,#f8fafc);--color-theme-50:var(--theme-50,#f3f4f6);--color-theme-100:var(--theme-100,#e5e7eb);--color-theme-200:var(--theme-200,#d1d5db);--color-theme-300:var(--theme-300,#9ca3af);--color-theme-400:var(--theme-400,#6b7280);--color-theme-500:var(--theme-500,#4b5563);--color-theme-600:var(--theme-600,#374151);--color-theme-700:var(--theme-700,#1f2a44);--color-theme-800:var(--theme-800,#111827);--color-theme-900:var(--theme-900,#0c0a13);--color-theme-950:var(--theme-950,#030712);--color-primary-300:var(--primary-300,#60a5fa);--color-primary-400:var(--primary-400,#3b82f6);--color-primary-500:var(--primary-500,#2563eb);--color-primary-600:var(--primary-600,#1d4ed8)}@supports (color:color(display-p3 0 0 0)){:root,:host{--color-red-300:color(display-p3 .956922 .651886 .645122);--color-red-400:color(display-p3 .933534 .431676 .423491);--color-red-500:color(display-p3 .903738 .262579 .253307);--color-red-600:color(display-p3 .830323 .140383 .133196);--color-amber-500:color(display-p3 .93994 .620584 .0585367);--color-green-300:color(display-p3 .600292 .935514 .68114);--color-green-400:color(display-p3 .399536 .862346 .49324);--color-green-500:color(display-p3 .308734 .774754 .374307);--color-green-600:color(display-p3 .243882 .640824 .294808);--color-slate-200:color(display-p3 .890322 .909405 .939294);--color-slate-950:color(display-p3 .0102437 .0227555 .0878731)}}@supports (color:lab(0% 0 0)){:root,:host{--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-slate-200:lab(91.7353% -.998765 -4.76968);--color-slate-950:lab(1.76974% 1.32743 -9.28855)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container\\/bot{container:bot/inline-size}.\\@container\\/chat{container:chat/inline-size}.\\@container\\/chat-preview{container:chat-preview/inline-size}.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.-top-1\\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\.5{top:calc(var(--spacing) * 1.5)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-\\[5\\%\\]{top:5%}.-right-1\\.5{right:calc(var(--spacing) * -1.5)}.-right-16{right:calc(var(--spacing) * -16)}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-1{right:var(--spacing)}.right-1\\.5{right:calc(var(--spacing) * 1.5)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.right-\\[5\\%\\]{right:5%}.-bottom-\\[3\\%\\]{bottom:-3%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-16{left:calc(var(--spacing) * -16)}.-left-\\[3\\%\\]{left:-3%}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.left-\\[13px\\]{left:13px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[999999\\]{z-index:999999}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline-start:auto;margin-inline-end:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\\[-\\.07em\\]{margin-top:-.07em}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.i-heroicons-calendar{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-chat-bubble-left-right{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M20.25 8.511c.884.284 1.5 1.128 1.5 2.097v4.286c0 1.136-.847 2.1-1.98 2.193q-.51.041-1.02.072v3.091l-3-3q-2.031 0-4.02-.163a2.1 2.1 0 0 1-.825-.242m9.345-8.334a2 2 0 0 0-.476-.095a48.6 48.6 0 0 0-8.048 0c-1.131.094-1.976 1.057-1.976 2.192v4.286c0 .837.46 1.58 1.155 1.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.5 48.5 0 0 0 11.25 3c-2.115 0-4.198.137-6.24.402c-1.608.209-2.76 1.614-2.76 3.235v6.226c0 1.621 1.152 3.026 2.76 3.235q.865.113 1.74.194V21l4.155-4.155'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-envelope{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-phone{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.04 12.04 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-question-mark-circle{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9.879 7.519c1.172-1.025 3.071-1.025 4.243 0c1.171 1.025 1.171 2.687 0 3.712q-.308.268-.67.442c-.746.361-1.452.999-1.452 1.827v.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 5.25h.008v.008H12z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-sparkles{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09m8.445-7.188L18 9.75l-.259-1.035a3.38 3.38 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.38 3.38 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.38 3.38 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.38 3.38 0 0 0-2.456 2.456m-1.365 11.852L16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183l.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394l-1.183.394a2.25 2.25 0 0 0-1.423 1.423'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-facebook{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978c.401 0 .955.042 1.468.103a9 9 0 0 1 1.141.195v3.325a9 9 0 0 0-.653-.036a27 27 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.7 1.7 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103l-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-instagram{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.9 5.9 0 0 0-2.124 1.388a5.9 5.9 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076s-.069 1.688-.063 4.947s.021 3.667.083 4.947c.061 1.277.264 2.149.563 2.911c.308.789.72 1.457 1.388 2.123a5.9 5.9 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552c1.278.056 1.689.069 4.947.063s3.668-.021 4.947-.082c1.28-.06 2.147-.265 2.91-.563a5.9 5.9 0 0 0 2.123-1.388a5.9 5.9 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912c.056-1.28.07-1.69.063-4.948c-.006-3.258-.02-3.667-.081-4.947c-.06-1.28-.264-2.148-.564-2.911a5.9 5.9 0 0 0-1.387-2.123a5.9 5.9 0 0 0-2.128-1.38c-.764-.294-1.636-.496-2.914-.55C15.647.009 15.236-.006 11.977 0S8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.7 3.7 0 0 1-1.382-.895a3.7 3.7 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228c-.06-1.264-.072-1.644-.08-4.848c-.006-3.204.006-3.583.061-4.848c.05-1.169.246-1.805.408-2.228c.216-.561.477-.96.895-1.382a3.7 3.7 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417c1.265-.06 1.644-.072 4.848-.08c3.203-.006 3.583.006 4.85.062c1.168.05 1.804.244 2.227.408c.56.216.96.475 1.382.895s.681.817.9 1.378c.165.422.362 1.056.417 2.227c.06 1.265.074 1.645.08 4.848c.005 3.203-.006 3.583-.061 4.848c-.051 1.17-.245 1.805-.408 2.23c-.216.56-.477.96-.896 1.38a3.7 3.7 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418c-1.266.06-1.645.072-4.85.079s-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442a1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024a6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16A4 4 0 0 1 8 12.008'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-linkedin{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-threads{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M18.263 11.097c-.03-3.486-1.92-5.586-5.111-5.586c-2.13 0-3.922.963-4.863 2.499l2.062 1.438c.535-.843 1.272-1.543 2.628-1.543c1.528 0 2.318.85 2.544 2.431a15 15 0 0 0-2.236-.173c-4.125 0-6.068 1.867-6.068 4.336s1.943 3.99 4.804 3.99c3.139 0 5.013-2.115 5.781-4.735c.798.361 1.348 1.204 1.348 2.47c0 3.387-3.907 5.232-7.22 5.232c-4.885 0-8.077-3.207-8.077-8.424c0-6.392 4.223-10.487 9.9-10.487c3.808 0 5.69 1.671 6.97 3.914l2.108-1.475C21.44 2.078 18.331 0 13.663 0C6.227 0 1.168 5.277 1.168 12.934c0 7 4.953 11.066 10.856 11.066c4.878 0 9.809-2.846 9.809-7.716c0-2.545-1.46-4.231-3.569-5.187m-6.33 4.855c-1.077 0-2.026-.512-2.026-1.453c0-1.483 1.822-1.934 3.606-1.934c.678 0 1.34.045 1.927.173c-.422 1.927-1.671 3.215-3.508 3.214Z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-tiktok{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12.525.02c1.31-.02 2.61-.01 3.91-.02c.08 1.53.63 3.09 1.75 4.17c1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97c-.57-.26-1.1-.59-1.62-.93c-.01 2.92.01 5.84-.02 8.75c-.08 1.4-.54 2.79-1.35 3.94c-1.31 1.92-3.58 3.17-5.91 3.21c-1.43.08-2.86-.31-4.08-1.03c-2.02-1.19-3.44-3.37-3.65-5.71c-.02-.5-.03-1-.01-1.49c.18-1.9 1.12-3.72 2.58-4.96c1.66-1.44 3.98-2.13 6.15-1.72c.02 1.48-.04 2.96-.04 4.44c-.99-.32-2.15-.23-3.02.37c-.63.41-1.11 1.04-1.36 1.75c-.21.51-.15 1.07-.14 1.61c.24 1.64 1.82 3.02 3.5 2.87c1.12-.01 2.19-.66 2.77-1.61c.19-.33.4-.67.41-1.06c.1-1.79.06-3.57.07-5.36c.01-4.03-.01-8.05.02-12.07'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-x{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-90-ring-with-bg{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25'/%3E%3Cpath fill='black' d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z'%3E%3CanimateTransform attributeName='transform' dur='0.75s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-ring-resize{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg stroke='black'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-linecap='round' stroke-width='3'%3E%3Canimate attributeName='stroke-dasharray' calcMode='spline' dur='1.5s' keySplines='0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1' keyTimes='0;0.475;0.95;1' repeatCount='indefinite' values='0 150;42 150;42 150;42 150'/%3E%3Canimate attributeName='stroke-dashoffset' calcMode='spline' dur='1.5s' keySplines='0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1' keyTimes='0;0.475;0.95;1' repeatCount='indefinite' values='0;-16;-59;-59'/%3E%3C/circle%3E%3CanimateTransform attributeName='transform' dur='2s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-alert-circle{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-4v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-right{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-6 6l6-6m-6-6l6 6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m6-8l-6-6m-6 6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-brand-github{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-brand-youtube{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2 8a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4z'/%3E%3Cpath d='m10 9l5 3l-5 3z'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-calendar{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-check{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 12l5 5L20 7'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-down{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-right{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-circle-check{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-clock{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-copy{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z'/%3E%3Cpath d='M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-file{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-flag{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 5a5 5 0 0 1 7 0a5 5 0 0 0 7 0v9a5 5 0 0 1-7 0a5 5 0 0 0-7 0zm0 16v-7'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-globe{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 9a4 4 0 1 0 8 0a4 4 0 0 0-8 0'/%3E%3Cpath d='M5.75 15A8.015 8.015 0 1 0 15 2m-4 15v4m-4 0h8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-info-circle{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-3h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-link{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 15l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-lock{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M11 16a1 1 0 1 0 2 0a1 1 0 0 0-2 0m-3-5V7a4 4 0 1 1 8 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-logout{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2'/%3E%3Cpath d='M9 12h12l-3-3m0 6l3-3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-mail{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='m3 7l9 6l9-6'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-menu{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h16M4 16h16'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-message-circle{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 20l1.3-3.9C1.976 12.663 2.874 8.228 6.4 5.726c3.526-2.501 8.59-2.296 11.845.48c3.255 2.777 3.695 7.266 1.029 10.501S11.659 20.922 7.7 19z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-microphone{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M9 5a3 3 0 0 1 3-3a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3a3 3 0 0 1-3-3z'/%3E%3Cpath d='M5 10a7 7 0 0 0 14 0M8 21h8m-4-4v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-microphone-filled{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19 9a1 1 0 0 1 1 1a8 8 0 0 1-6.999 7.938L13 20h3a1 1 0 0 1 0 2H8a1 1 0 0 1 0-2h3v-2.062A8 8 0 0 1 4 10a1 1 0 1 1 2 0a6 6 0 0 0 12 0a1 1 0 0 1 1-1m-7-8a4 4 0 0 1 4 4v5a4 4 0 1 1-8 0V5a4 4 0 0 1 4-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-microphone-off{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m3 3l18 18M9 5a3 3 0 0 1 6 0v5a3 3 0 0 1-.13.874m-2 2A3 3 0 0 1 9 10.002v-1'/%3E%3Cpath d='M5 10a7 7 0 0 0 10.846 5.85m2-2A6.97 6.97 0 0 0 18.998 10M8 21h8m-4-4v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-phone{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-phone-off{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 21L21 3M5.831 14.161A15.95 15.95 0 0 1 3 6a2 2 0 0 1 2-2h4l2 5l-2.5 1.5q.162.33.345.645m1.751 2.277A11 11 0 0 0 13.5 15.5L15 13l5 2v4a2 2 0 0 1-2 2a15.96 15.96 0 0 1-10.344-4.657'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-player-stop-filled{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M17 4H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plus{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m-7-7h14'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-share{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m12-6a3 3 0 1 0 6 0a3 3 0 1 0-6 0m0 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-6.3-7.3l6.6-3.4m-6.6 6l6.6 3.4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-share-2{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 9H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1m-4 5V3M9 6l3-3l3 3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-sparkles{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2m0-12a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2M9 18a6 6 0 0 1 6-6a6 6 0 0 1-6-6a6 6 0 0 1-6 6a6 6 0 0 1 6 6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-tool{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10h3V7L6.5 3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8z'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-trash{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-circle{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='M9 10a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-2.832 8.849A4 4 0 0 1 10 16h4a4 4 0 0 1 3.834 2.855'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-square-rounded{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6'/%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9s-9-1.8-9-9s1.8-9 9-9'/%3E%3Cpath d='M6 20.05V20a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v.05'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-users{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-world{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m.6-3h16.8M3.6 15h16.8'/%3E%3Cpath d='M11.5 3a17 17 0 0 0 0 18m1-18a17 17 0 0 1 0 18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-x{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.size-\\[1\\.1em\\]{width:1.1em;height:1.1em}.size-\\[9px\\]{width:9px;height:9px}.size-\\[13px\\]{width:13px;height:13px}.size-\\[15px\\]{width:15px;height:15px}.size-\\[17px\\]{width:17px;height:17px}.size-\\[18px\\]{width:18px;height:18px}.size-\\[25px\\]{width:25px;height:25px}.size-\\[36\\%\\]{width:36%;height:36%}.size-full{width:100%;height:100%}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[17px\\]{height:17px}.h-\\[28px\\]{height:28px}.h-\\[38px\\]{height:38px}.h-\\[60px\\]{height:60px}.h-\\[80px\\]{height:80px}.h-\\[80vh\\]{height:80vh}.h-\\[600px\\]{height:600px}.h-\\[min\\(600px\\,calc\\(100vh-4rem\\)\\)\\]{height:min(600px,100vh - 4rem)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[calc\\(100vh-48px\\)\\]{max-height:calc(100vh - 48px)}.min-h-0{min-height:0}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\\[20px\\]{min-height:20px}.min-h-full{min-height:100%}.w-0{width:0}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-96{width:calc(var(--spacing) * 96)}.w-\\[2px\\]{width:2px}.w-\\[3px\\]{width:3px}.w-\\[5px\\]{width:5px}.w-\\[28px\\]{width:28px}.w-\\[46ch\\]{width:46ch}.w-\\[60px\\]{width:60px}.w-\\[80\\%\\]{width:80%}.w-\\[80px\\]{width:80px}.w-\\[min\\(400px\\,calc\\(100vw-2rem\\)\\)\\]{width:min(400px,100vw - 2rem)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[88\\%\\]{max-width:88%}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[255px\\]{max-width:255px}.max-w-\\[260px\\]{max-width:260px}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[480px\\]{max-width:480px}.max-w-\\[640px\\]{max-width:640px}.max-w-\\[900px\\]{max-width:900px}.max-w-\\[calc\\(100vw-48px\\)\\]{max-width:calc(100vw - 48px)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-screen-md{max-width:var(--breakpoint-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.basis-0{flex-basis:0}.origin-center{transform-origin:50%}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-4{--tw-translate-x:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\\[30px\\]{--tw-translate-x:calc(30px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\\[30px\\]{--tw-translate-y:calc(30px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\\[30px\\]{--tw-translate-y:30px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:0deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.\\[justify-content\\:safe_center\\]{justify-content:safe center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\\[2px\\]{gap:2px}.gap-\\[5px\\]{gap:5px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1\\.5{row-gap:calc(var(--spacing) * 1.5)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[14px\\]{border-radius:14px}.rounded-\\[20px\\]{border-radius:20px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-black\\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-green-400{border-color:var(--color-green-400)}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-500\\/40{border-color:var(--color-primary-500)}@supports (color:color-mix(in lab, red, red)){.border-primary-500\\/40{border-color:color-mix(in oklab, var(--color-primary-500) 40%, transparent)}}.border-red-400{border-color:var(--color-red-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-theme-100{border-color:var(--color-theme-100)}.border-theme-200{border-color:var(--color-theme-200)}.border-theme-300{border-color:var(--color-theme-300)}.border-theme-400{border-color:var(--color-theme-400)}.border-theme-950\\/\\[0\\.06\\]{border-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.border-theme-950\\/\\[0\\.06\\]{border-color:color-mix(in oklab, var(--color-theme-950) 6%, transparent)}}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/0{border-color:#0000}@supports (color:color-mix(in lab, red, red)){.border-white\\/0{border-color:color-mix(in oklab, var(--color-white) 0%, transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\\/25{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.border-white\\/25{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.border-t-primary-500{border-top-color:var(--color-primary-500)}.bg-\\[\\#0A1522\\]{background-color:#0a1522}.bg-\\[\\#050F19\\]{background-color:#050f19}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-current{background-color:currentColor}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-primary-500,.bg-primary-500\\/20{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab, red, red)){.bg-primary-500\\/20{background-color:color-mix(in oklab, var(--color-primary-500) 20%, transparent)}}.bg-primary-600{background-color:var(--color-primary-600)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-theme-0{background-color:var(--color-theme-0)}.bg-theme-25{background-color:var(--color-theme-25)}.bg-theme-50{background-color:var(--color-theme-50)}.bg-theme-100{background-color:var(--color-theme-100)}.bg-theme-200,.bg-theme-200\\/70{background-color:var(--color-theme-200)}@supports (color:color-mix(in lab, red, red)){.bg-theme-200\\/70{background-color:color-mix(in oklab, var(--color-theme-200) 70%, transparent)}}.bg-theme-300{background-color:var(--color-theme-300)}.bg-theme-400{background-color:var(--color-theme-400)}.bg-theme-800,.bg-theme-800\\/60{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab, red, red)){.bg-theme-800\\/60{background-color:color-mix(in oklab, var(--color-theme-800) 60%, transparent)}}.bg-theme-900{background-color:var(--color-theme-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.bg-white\\/50{background-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\\[\\#050F19\\]\\/82{--tw-gradient-from:#050f19d1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color:color(display-p3 0 0 0)){.from-\\[\\#050F19\\]\\/82{--tw-gradient-from:color(display-p3 .0270841 .0577423 .0947219/.82)}}@supports (color:lab(0% 0 0)){.from-\\[\\#050F19\\]\\/82{--tw-gradient-from:lab(3.9307% -1.22581 -7.24003/.82)}}.from-black\\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab, red, red)){.from-black\\/70{--tw-gradient-from:color-mix(in oklab, var(--color-black) 70%, transparent)}}.from-black\\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab, red, red)){.from-black\\/80{--tw-gradient-from:color-mix(in oklab, var(--color-black) 80%, transparent)}}.from-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab, red, red)){.from-black\\/90{--tw-gradient-from:color-mix(in oklab, var(--color-black) 90%, transparent)}}.from-black\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-theme-25{--tw-gradient-from:var(--color-theme-25);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-theme-800{--tw-gradient-from:var(--color-theme-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\\[\\#050F19\\]\\/90{--tw-gradient-via:#050f19e6;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}@supports (color:color(display-p3 0 0 0)){.via-\\[\\#050F19\\]\\/90{--tw-gradient-via:color(display-p3 .0270841 .0577423 .0947219/.9)}}@supports (color:lab(0% 0 0)){.via-\\[\\#050F19\\]\\/90{--tw-gradient-via:lab(3.9307% -1.22581 -7.24003/.9)}}.via-black\\/10{--tw-gradient-via:#0000001a}@supports (color:color-mix(in lab, red, red)){.via-black\\/10{--tw-gradient-via:color-mix(in oklab, var(--color-black) 10%, transparent)}}.via-black\\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/50{--tw-gradient-via:#00000080}@supports (color:color-mix(in lab, red, red)){.via-black\\/50{--tw-gradient-via:color-mix(in oklab, var(--color-black) 50%, transparent)}}.via-black\\/50{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/60{--tw-gradient-via:#0009}@supports (color:color-mix(in lab, red, red)){.via-black\\/60{--tw-gradient-via:color-mix(in oklab, var(--color-black) 60%, transparent)}}.via-black\\/60{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/90{--tw-gradient-via:#000000e6}@supports (color:color-mix(in lab, red, red)){.via-black\\/90{--tw-gradient-via:color-mix(in oklab, var(--color-black) 90%, transparent)}}.via-black\\/90{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\\[\\#050F19\\]\\/99{--tw-gradient-to:#050f19fc;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color:color(display-p3 0 0 0)){.to-\\[\\#050F19\\]\\/99{--tw-gradient-to:color(display-p3 .0270841 .0577423 .0947219/.99)}}@supports (color:lab(0% 0 0)){.to-\\[\\#050F19\\]\\/99{--tw-gradient-to:lab(3.9307% -1.22581 -7.24003/.99)}}.to-black\\/40{--tw-gradient-to:#0006}@supports (color:color-mix(in lab, red, red)){.to-black\\/40{--tw-gradient-to:color-mix(in oklab, var(--color-black) 40%, transparent)}}.to-black\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black\\/80{--tw-gradient-to:#000c}@supports (color:color-mix(in lab, red, red)){.to-black\\/80{--tw-gradient-to:color-mix(in oklab, var(--color-black) 80%, transparent)}}.to-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black\\/100{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-theme-950{--tw-gradient-to:var(--color-theme-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-24{padding:calc(var(--spacing) * 24)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-9{padding-inline:calc(var(--spacing) * 9)}.px-14{padding-inline:calc(var(--spacing) * 14)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3\\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-\\[120px\\]{padding-bottom:120px}.pb-\\[max\\(3rem\\,env\\(safe-area-inset-bottom\\)\\)\\]{padding-bottom:max(3rem, env(safe-area-inset-bottom))}.pb-\\[max\\(env\\(safe-area-inset-bottom\\)\\,1rem\\)\\]{padding-bottom:max(env(safe-area-inset-bottom), 1rem)}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-\\[22px\\]{padding-left:22px}.pl-\\[30px\\]{padding-left:30px}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13\\.5px\\]{font-size:13.5px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\.55\\]{--tw-leading:1.55;line-height:1.55}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.35em\\]{--tw-tracking:.35em;letter-spacing:.35em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#050F19\\]{color:#050f19}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-950{color:var(--color-slate-950)}.text-theme-0{color:var(--color-theme-0)}.text-theme-300{color:var(--color-theme-300)}.text-theme-400{color:var(--color-theme-400)}.text-theme-500{color:var(--color-theme-500)}.text-theme-600{color:var(--color-theme-600)}.text-theme-700{color:var(--color-theme-700)}.text-theme-800{color:var(--color-theme-800)}.text-theme-900{color:var(--color-theme-900)}.text-theme-950{color:var(--color-theme-950)}.text-white{color:var(--color-white)}.text-white\\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\\/35{color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.text-white\\/35{color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.text-white\\/95{color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.placeholder-theme-300::placeholder{color:var(--color-theme-300)}.placeholder-theme-400::placeholder{color:var(--color-theme-400)}.placeholder-theme-500::placeholder{color:var(--color-theme-500)}.placeholder-white\\/50::placeholder{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.placeholder-white\\/50::placeholder{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_2px_rgba\\(15\\,23\\,42\\,0\\.04\\)\\,0_12px_32px_rgba\\(15\\,23\\,42\\,0\\.07\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0f172a0a), 0 12px 32px var(--tw-shadow-color,#0f172a12);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_8px_32px_-4px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0 8px 32px -4px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_24px_80px_-12px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0_8px_24px_-8px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:0 24px 80px -12px var(--tw-shadow-color,#0003), 0 8px 24px -8px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.ring-theme-200,.ring-theme-200\\/50{--tw-ring-color:var(--color-theme-200)}@supports (color:color-mix(in lab, red, red)){.ring-theme-200\\/50{--tw-ring-color:color-mix(in oklab, var(--color-theme-200) 50%, transparent)}}.ring-theme-900{--tw-ring-color:var(--color-theme-900)}.ring-theme-950\\/20{--tw-ring-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.ring-theme-950\\/20{--tw-ring-color:color-mix(in oklab, var(--color-theme-950) 20%, transparent)}}.ring-theme-950\\/\\[0\\.06\\]{--tw-ring-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.ring-theme-950\\/\\[0\\.06\\]{--tw-ring-color:color-mix(in oklab, var(--color-theme-950) 6%, transparent)}}.ring-white{--tw-ring-color:var(--color-white)}.ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.ring-white\\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.ring-white\\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.ring-white\\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.ring-white\\/20{--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.ring-white\\/20{--tw-ring-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.duration-\\[400ms\\]{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\.25\\,1\\,0\\.33\\,1\\)\\]{--tw-ease:cubic-bezier(.25,1,.33,1);transition-timing-function:cubic-bezier(.25,1,.33,1)}.ease-\\[cubic-bezier\\(0\\.52\\,0\\.01\\,0\\.16\\,1\\)\\]{--tw-ease:cubic-bezier(.52,.01,.16,1);transition-timing-function:cubic-bezier(.52,.01,.16,1)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[animation-duration\\:3s\\]{animation-duration:3s}.\\[overflow-anchor\\:none\\]{overflow-anchor:none}@media (hover:hover){.group-hover\\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\\:opacity-40:is(:where(.group):hover *){opacity:.4}.group-hover\\/msg\\:opacity-100:is(:where(.group\\/msg):hover *){opacity:1}}.focus-within\\:bg-white\\/15:focus-within{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.focus-within\\:bg-white\\/15:focus-within{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.focus-within\\:opacity-100:focus-within{opacity:1}.focus-within\\:ring-theme-950\\/30:focus-within{--tw-ring-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.focus-within\\:ring-theme-950\\/30:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-theme-950) 30%, transparent)}}.focus-within\\:ring-white\\/25:focus-within{--tw-ring-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.focus-within\\:ring-white\\/25:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}@media (hover:hover){.hover\\:translate-y-\\[-1px\\]:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:rotate-90:hover{rotate:90deg}.hover\\:border-green-300:hover{border-color:var(--color-green-300)}.hover\\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\\:border-red-300:hover{border-color:var(--color-red-300)}.hover\\:border-theme-200:hover{border-color:var(--color-theme-200)}.hover\\:border-theme-300:hover{border-color:var(--color-theme-300)}.hover\\:border-white\\/10:hover{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/10:hover{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\\:border-white\\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/40:hover{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.hover\\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\\:bg-primary-500:hover{background-color:var(--color-primary-500)}.hover\\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\\:bg-theme-25:hover{background-color:var(--color-theme-25)}.hover\\:bg-theme-50:hover{background-color:var(--color-theme-50)}.hover\\:bg-theme-100:hover{background-color:var(--color-theme-100)}.hover\\:bg-theme-200:hover{background-color:var(--color-theme-200)}.hover\\:bg-theme-700:hover{background-color:var(--color-theme-700)}.hover\\:bg-theme-800:hover{background-color:var(--color-theme-800)}.hover\\:bg-theme-950\\/5:hover{background-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-theme-950\\/5:hover{background-color:color-mix(in oklab, var(--color-theme-950) 5%, transparent)}}.hover\\:bg-white\\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/5:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\\:bg-white\\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\\:text-primary-600:hover{color:var(--color-primary-600)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:text-theme-400:hover{color:var(--color-theme-400)}.hover\\:text-theme-500:hover{color:var(--color-theme-500)}.hover\\:text-theme-600:hover{color:var(--color-theme-600)}.hover\\:text-theme-700:hover{color:var(--color-theme-700)}.hover\\:text-theme-800:hover{color:var(--color-theme-800)}.hover\\:text-theme-900:hover{color:var(--color-theme-900)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.hover\\:text-white\\/80:hover{color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/80:hover{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.hover\\:opacity-70:hover{opacity:.7}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:ring-theme-950\\/30:hover{--tw-ring-color:var(--color-theme-950)}@supports (color:color-mix(in lab, red, red)){.hover\\:ring-theme-950\\/30:hover{--tw-ring-color:color-mix(in oklab, var(--color-theme-950) 30%, transparent)}}.hover\\:ring-white\\/25:hover{--tw-ring-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\\:ring-white\\/25:hover{--tw-ring-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:border-theme-900:focus{border-color:var(--color-theme-900)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-theme-900:focus-visible{--tw-ring-color:var(--color-theme-900)}.focus-visible\\:ring-white:focus-visible{--tw-ring-color:var(--color-white)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:-translate-y-0\\.5:active{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.active\\:scale-\\[1\\.06\\]:active{scale:1.06}.active\\:bg-theme-800\\/80:active{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab, red, red)){.active\\:bg-theme-800\\/80:active{background-color:color-mix(in oklab, var(--color-theme-800) 80%, transparent)}}.active\\:bg-white\\/25:active{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.active\\:bg-white\\/25:active{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.active\\:opacity-70:active{opacity:.7}.active\\:opacity-80:active{opacity:.8}.active\\:duration-100:active{--tw-duration:.1s;transition-duration:.1s}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\\:top-6{top:calc(var(--spacing) * 6)}.sm\\:right-6{right:calc(var(--spacing) * 6)}.sm\\:bottom-6{bottom:calc(var(--spacing) * 6)}.sm\\:left-6{left:calc(var(--spacing) * 6)}.sm\\:size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.sm\\:h-24{height:calc(var(--spacing) * 24)}.sm\\:max-h-\\[620px\\]{max-height:620px}.sm\\:w-24{width:calc(var(--spacing) * 24)}.sm\\:max-w-\\[420px\\]{max-width:420px}.sm\\:flex-none{flex:none}.sm\\:items-center{align-items:center}.sm\\:justify-center{justify-content:center}.sm\\:rounded-\\[32px\\]{border-radius:32px}.sm\\:bg-\\[\\#050F19\\]\\/45{background-color:#050f1973;background-color:color(display-p3 .0270841 .0577423 .0947219/.45);background-color:lab(3.9307% -1.22581 -7.24003/.45)}.sm\\:p-6{padding:calc(var(--spacing) * 6)}.sm\\:px-12{padding-inline:calc(var(--spacing) * 12)}.sm\\:pb-9{padding-bottom:calc(var(--spacing) * 9)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\\:shadow-\\[0_32px_80px_rgba\\(5\\,15\\,25\\,0\\.45\\)\\]{--tw-shadow:0 32px 80px var(--tw-shadow-color,#050f1973);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (min-width:48rem){.md\\:h-\\[600px\\]{height:600px}}@container bot (width>=480px){.\\@\\[480px\\]\\/bot\\:px-6{padding-inline:calc(var(--spacing) * 6)}}@container chat (width>=24rem){.\\@sm\\/chat\\:ml-\\[2em\\]{margin-left:2em}.\\@sm\\/chat\\:size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}}@container chat-preview (width>=24rem){.\\@sm\\/chat-preview\\:max-w-\\[78\\%\\]{max-width:78%}}@container chat (width>=24rem){.\\@sm\\/chat\\:max-w-\\[320px\\]{max-width:320px}.\\@sm\\/chat\\:pr-\\[2em\\]{padding-right:2em}.\\@sm\\/chat\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\\@sm\\/chat\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\\@sm\\/chat\\:text-\\[11px\\]{font-size:11px}.\\@sm\\/chat\\:text-\\[15px\\]{font-size:15px}.\\@sm\\/chat\\:leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}}@container chat (width>=28rem){.\\@md\\/chat\\:block{display:block}}@container chat (width>=32rem){.\\@lg\\/chat\\:px-8{padding-inline:calc(var(--spacing) * 8)}.\\@lg\\/chat\\:text-\\[15\\.5px\\]{font-size:15.5px}.\\@lg\\/chat\\:leading-\\[1\\.55\\]{--tw-leading:1.55;line-height:1.55}}@container chat (width>=64rem){.\\@5xl\\/chat\\:max-w-\\[720px\\]{max-width:720px}.\\@5xl\\/chat\\:max-w-\\[740px\\]{max-width:740px}.\\@5xl\\/chat\\:px-5{padding-inline:calc(var(--spacing) * 5)}.\\@5xl\\/chat\\:pt-3\\.5{padding-top:calc(var(--spacing) * 3.5)}.\\@5xl\\/chat\\:pb-3{padding-bottom:calc(var(--spacing) * 3)}}@media (prefers-color-scheme:dark){.dark\\:bg-theme-600\\/90{background-color:var(--color-theme-600)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-theme-600\\/90{background-color:color-mix(in oklab, var(--color-theme-600) 90%, transparent)}}}@media (pointer:coarse){.pointer-coarse\\:size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.pointer-coarse\\:opacity-100{opacity:1}}.\\[\\&_\\.chat-msg-rich\\]\\:max-w-none .chat-msg-rich{max-width:none}.\\[\\&_\\.chat-msg-rich\\]\\:text-\\[13px\\] .chat-msg-rich{font-size:13px}.\\[\\&_\\.chat-msg-rich\\]\\:leading-\\[1\\.6\\] .chat-msg-rich{--tw-leading:1.6;line-height:1.6}.\\[\\&_\\.chat-msg-rich\\]\\:italic .chat-msg-rich{font-style:italic}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}}.chat-dots{align-items:center;gap:3px;display:inline-flex}.chat-dots>span{background:currentColor;border-radius:9999px;width:5px;height:5px;animation:1.4s cubic-bezier(.25,1,.33,1) infinite chat-dot}.chat-dots>span:nth-child(2){animation-delay:.16s}.chat-dots>span:nth-child(3){animation-delay:.32s}@keyframes chat-dot{0%,52%,to{opacity:.25;transform:translateY(0)}22%{opacity:1;transform:translateY(-1.5px)}}.chat-dots--mini{gap:2.5px}.chat-dots--mini>span{width:3.5px;height:3.5px}.chat-pulse-dot{animation:1.4s cubic-bezier(.25,1,.33,1) infinite chat-pulse-dot}@keyframes chat-pulse-dot{0%,to{opacity:.35;transform:scale(.7)}35%{opacity:1;transform:scale(1)}}.chat-live-enter{animation:.28s cubic-bezier(.25,1,.33,1) both chat-live-enter}@keyframes chat-live-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-dots>span,.chat-pulse-dot{opacity:.55;animation:none}.chat-live-enter{animation:none}}.chat-msg-prose :first-child{margin-top:0}.chat-msg-prose :last-child{margin-bottom:0}.chat-msg-prose+.chat-msg-prose{margin-top:1em}.chat-msg-prose strong{font-weight:600}.chat-msg-prose em{font-style:italic}.chat-msg-prose a{color:var(--color-primary-500);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--color-primary-500);-webkit-text-decoration-color:var(--color-primary-500);-webkit-text-decoration-color:var(--color-primary-500);text-decoration-color:var(--color-primary-500)}@supports (color:color-mix(in lab, red, red)){.chat-msg-prose a{-webkit-text-decoration-color:color-mix(in oklch, var(--color-primary-500) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--color-primary-500) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--color-primary-500) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--color-primary-500) 40%, transparent)}}.chat-msg-prose a{font-weight:500;transition:text-decoration-color .15s}.chat-msg-prose a:hover{-webkit-text-decoration-color:var(--color-primary-500);-webkit-text-decoration-color:var(--color-primary-500);-webkit-text-decoration-color:var(--color-primary-500);text-decoration-color:var(--color-primary-500)}.chat-msg-prose.chat-msg-prose-invert a{color:#fff;text-decoration-color:#ffffff73}.chat-msg-prose.chat-msg-prose-invert a:hover{text-decoration-color:#fff}.chat-msg-prose.chat-msg-prose-invert pre,.chat-msg-prose.chat-msg-prose-invert table{background:#ffffff14;border-color:#ffffff2e}.chat-msg-prose.chat-msg-prose-invert td{border-top-color:#ffffff1f}.chat-msg-prose.chat-msg-prose-invert :not(pre)>code{background:#ffffff24}.chat-msg-prose.chat-msg-prose-invert hr{border-top-color:#ffffff38}.chat-msg-prose p{margin:1em 0;line-height:1.55}.chat-msg-prose h1{letter-spacing:-.012em;margin:1.1em 0 .5em;font-size:1.25em;font-weight:600;line-height:1.3}.chat-msg-prose h2{letter-spacing:-.01em;margin:1.1em 0 .45em;font-size:1.15em;font-weight:600;line-height:1.3}.chat-msg-prose h3{letter-spacing:-.008em;margin:1em 0 .4em;font-size:1.05em;font-weight:600;line-height:1.35}.chat-msg-prose h4,.chat-msg-prose h5,.chat-msg-prose h6{margin:.9em 0 .35em;font-size:1em;font-weight:600;line-height:1.4}.chat-msg-prose ul,.chat-msg-prose ol{margin:.7em 0 .9em;padding-left:1.4em;line-height:1.55}.chat-msg-prose ul{list-style-type:disc}.chat-msg-prose ol{list-style-type:decimal}.chat-msg-prose li{margin-bottom:.35em}.chat-msg-prose li p{margin:0}.chat-msg-prose li::marker{color:currentColor;opacity:.4}.chat-msg-prose li:has(>input[type=checkbox]){margin-left:-1.4em;list-style:none}.chat-msg-prose li>input[type=checkbox]{-webkit-appearance:none;appearance:none;vertical-align:-.06em;border:1px solid var(--color-theme-300);background:0 0;border-radius:.22em;width:.82em;height:.82em;margin:0 .5em 0 .1em}.chat-msg-prose li>input[type=checkbox]:checked{border-color:var(--color-theme-900);background:var(--color-theme-900) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4.2 3.8 6.8 9 1.2' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / .55em no-repeat}.chat-msg-prose.chat-msg-prose-invert li>input[type=checkbox]{border-color:#fff6}.chat-msg-prose.chat-msg-prose-invert li>input[type=checkbox]:checked{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4.2 3.8 6.8 9 1.2' fill='none' stroke='%230c0a13' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:#fff}.chat-msg-prose pre{background:var(--color-theme-25);border:1px solid var(--color-theme-200);border-radius:.625rem;margin:1.4em 0;padding:.85em 1em;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82em;line-height:1.5;overflow-x:auto}.chat-msg-prose pre code{font-size:inherit;background:0 0;padding:0;font-family:inherit}.chat-msg-prose :not(pre)>code{background:var(--color-theme-200);border-radius:.3rem;padding:.15em .4em;font-size:.85em}@supports (color:color-mix(in lab, red, red)){.chat-msg-prose :not(pre)>code{background:color-mix(in oklch, var(--color-theme-200) 45%, transparent)}}.chat-msg-prose :not(pre)>code{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.chat-msg-prose blockquote{opacity:.8;margin:1.3em 0;padding:0 0 0 1.1em;font-style:italic}.chat-msg-prose blockquote p{margin:.15em 0}.chat-msg-prose table{background:var(--color-theme-0);border-collapse:separate;border-spacing:0;border:1px solid var(--color-theme-200);border-radius:.625rem;width:100%;margin:1.4em 0;font-size:.9em;line-height:1.45;overflow:hidden}.chat-msg-prose th,.chat-msg-prose td{text-align:left;padding:.65em .8em}.chat-msg-prose th{font-weight:600}.chat-msg-prose td{border-top:1px solid var(--color-theme-200)}@supports (color:color-mix(in lab, red, red)){.chat-msg-prose td{border-top:1px solid color-mix(in oklch, var(--color-theme-200) 45%, transparent)}}.chat-msg-prose td{color:currentColor}@supports (color:color-mix(in lab, red, red)){.chat-msg-prose td{color:color-mix(in oklch, currentColor 75%, transparent)}}.chat-msg-prose td:first-child{color:inherit}.chat-msg-prose [align=center]{text-align:center}.chat-msg-prose [align=right]{text-align:right}.chat-msg-prose [align=left]{text-align:left}.chat-msg-prose hr{border:none;border-top:1px solid var(--color-theme-200)}@supports (color:color-mix(in lab, red, red)){.chat-msg-prose hr{border-top:1px solid color-mix(in oklch, var(--color-theme-200) 42%, transparent)}}.chat-msg-prose hr{margin:1.2em 0}.chat-msg-prose img{border-radius:.5rem;max-width:100%;height:auto;margin:.6em 0}.chat-msg-prose p+p{margin-top:.65em}.chat-msg-prose p+ul,.chat-msg-prose p+ol{margin-top:.4em}.chat-msg-prose h1+p,.chat-msg-prose h2+p,.chat-msg-prose h3+p{margin-top:.2em}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}`,SL={"data-test":"auth-panel",class:"flex flex-col justify-end h-full px-5 pb-8 pt-6"},IL={class:"flex-1 flex flex-col justify-center"},EL={key:0,class:"text-xs text-red-500 mb-4"},TL={class:"space-y-3"},NL={key:0},zL={key:1,class:"space-y-3"},CL={key:2,class:"space-y-3"},AL={class:"text-xs text-theme-400"},OL=Pe({__name:"ElAuthPanel",props:{sdk:{}},setup(e){let t=G(!1),n=G("email"),i=G({email:"",code:""}),r=G(!1);function o(){e.sdk.error.value=null,e.sdk.auth.loginWithGoogle({onError:l=>{e.sdk.error.value=l}})}async function a(){if(!r.value){r.value=!0,e.sdk.error.value=null;try{await e.sdk.auth.requestAuthCode({email:i.value.email})&&(n.value="code")}finally{r.value=!1}}}async function s(){if(!r.value){r.value=!0,e.sdk.error.value=null;try{await e.sdk.auth.loginWithCode({email:i.value.email,code:i.value.code})}finally{r.value=!1}}}return(l,u)=>(w(),$("div",SL,[b("div",IL,[u[4]||(u[4]=b("div",{class:"space-y-3 mb-10"},[b("h3",{class:"text-2xl font-light text-theme-900 leading-snug"},[kt(" Your AI assistant,"),b("br"),kt("ready in two minutes. ")]),b("p",{class:"text-sm text-theme-400 leading-relaxed max-w-[260px]"}," Sign in to create and deploy a personal AI that works for you. ")],-1)),e.sdk.error.value?(w(),$("p",EL,de(e.sdk.error.value),1)):ee("",!0)]),b("div",TL,[b("button",{"data-test":"google-auth-btn",class:"w-full flex items-center justify-center gap-3 px-5 py-3.5 rounded-xl border border-theme-200 bg-theme-0 text-theme-800 font-medium text-sm transition-all duration-150 hover:border-theme-300 hover:bg-theme-25 active:scale-[0.98] cursor-pointer",onClick:o},[...u[5]||(u[5]=[ZS('<svg class="size-[18px]" viewBox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg> Continue with Google ',2)])]),u[8]||(u[8]=b("div",{class:"flex items-center gap-3 py-1"},[b("div",{class:"flex-1 h-px bg-theme-100"}),b("span",{class:"text-[11px] text-theme-300 uppercase tracking-widest"},"or"),b("div",{class:"flex-1 h-px bg-theme-100"})],-1)),t.value?ee("",!0):(w(),$("div",NL,[b("button",{"data-test":"email-auth-link",class:"w-full px-5 py-3 rounded-xl border border-theme-100 text-sm text-theme-500 transition-all duration-150 hover:border-theme-200 hover:text-theme-700 cursor-pointer",onClick:u[0]||(u[0]=d=>t.value=!0)}," Use email instead ")])),t.value&&n.value==="email"?(w(),$("div",zL,[be(Op,{modelValue:i.value.email,"onUpdate:modelValue":u[1]||(u[1]=d=>i.value.email=d),"data-test":"auth-email-input",onKeyup:Jn(a,["enter"])},null,8,["modelValue"]),be(Ga,{"data-test":"auth-send-code",theme:"dark",size:"md",class:"w-full",loading:r.value,disabled:!i.value.email||r.value,onClick:a},{default:ot(()=>[...u[6]||(u[6]=[kt(" Send verification code ",-1)])]),_:1},8,["loading","disabled"])])):ee("",!0),t.value&&n.value==="code"?(w(),$("div",CL,[b("p",AL," Code sent to "+de(i.value.email),1),be(Dp,{modelValue:i.value.code,"onUpdate:modelValue":u[2]||(u[2]=d=>i.value.code=d),length:6,"focus-first":!0,"data-test":"auth-code-input",onAutoSubmit:s},null,8,["modelValue"]),be(Ga,{"data-test":"auth-verify-code",theme:"dark",size:"md",class:"w-full",loading:r.value,disabled:i.value.code.length!==6||r.value,onClick:s},{default:ot(()=>[...u[7]||(u[7]=[kt(" Verify ",-1)])]),_:1},8,["loading","disabled"]),b("button",{class:"w-full text-xs text-theme-300 hover:text-theme-500 transition-colors py-1 cursor-pointer",onClick:u[3]||(u[3]=d=>n.value="email")}," Use a different email ")])):ee("",!0)])]))}}),DL={"data-test":"create-panel",class:"flex flex-col justify-end h-full px-5 pb-8 pt-6"},PL={class:"flex-1 flex flex-col justify-center"},RL={key:0,class:"text-xs text-red-500 mb-4"},UL={class:"space-y-3"},jL=["disabled"],ML=Pe({__name:"ElCreateBot",props:{sdk:{}},emits:["created"],setup(e,{emit:t}){let n=t,i=G(""),r=G(!1),o=G(null);async function a(){if(!r.value&&i.value.trim()){r.value=!0,o.value=null;try{let s=e.sdk.currentOrg.value?.orgId??e.sdk.activeUser.value?.orgs?.[0]?.orgId;if(!s)throw Error("No workspace found. Please sign in again.");let l=await e.sdk.computer.create({orgId:s,primaryBot:{name:i.value.trim()}});n("created",l)}catch(s){o.value=s instanceof Error?s.message:"Failed to create bot"}finally{r.value=!1}}}return(s,l)=>(w(),$("div",DL,[b("div",PL,[l[1]||(l[1]=b("div",{class:"space-y-3 mb-10"},[b("h3",{class:"text-2xl font-light text-theme-900 leading-snug"},[kt(" What should we call"),b("br"),kt("your assistant? ")]),b("p",{class:"text-sm text-theme-400 leading-relaxed max-w-[260px]"}," Pick a name. You can change it later. ")],-1)),o.value?(w(),$("p",RL,de(o.value),1)):ee("",!0)]),b("div",UL,[qd(b("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>i.value=u),"data-test":"bot-name-input",type:"text",placeholder:"e.g. Alex, Casey, Jordan",class:"w-full px-4 py-3 text-theme-900 placeholder-theme-300 bg-theme-0 border border-theme-200 rounded-xl focus:outline-none focus:border-theme-900 transition-colors",style:{"font-size":"16px"},onKeyup:Jn(a,["enter"])},null,544),[[ap,i.value]]),b("button",{"data-test":"bot-create-btn",class:"w-full px-5 py-3.5 rounded-xl bg-primary-600 text-white text-sm font-medium transition-all duration-150 hover:bg-primary-500 active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",disabled:!i.value.trim()||r.value,onClick:a},de(r.value?"Creating...":"Create assistant"),9,jL)])]))}}),LL={"data-test":"provisioning-panel",class:"flex flex-col items-center justify-center h-full p-6"},VL={class:"w-full max-w-xs space-y-6 text-center"},FL={class:"text-sm text-theme-500"},BL={class:"text-sm text-red-500"},ZL=Pe({__name:"ElProvisioningStatus",props:{sdk:{},computerId:{}},emits:["ready","error"],setup(e,{emit:t}){let n=e,i=t,r=G("Setting up your assistant\u2026"),o=G(!1),a=G(""),s={starting:"Starting your assistant\u2026",running:"Ready!",stopped:"Setting up your assistant\u2026"};async function l(){o.value=!1,a.value="";try{await n.sdk.computer.waitUntilReady({computerId:n.computerId,onStatus:u=>{r.value=s[u]??"Setting up your assistant\u2026"}}),i("ready")}catch(u){o.value=!0,a.value=u instanceof Error?u.message:"Something went wrong",i("error",a.value)}}return Rt(()=>{l()}),(u,d)=>(w(),$("div",LL,[b("div",VL,[o.value?(w(),$(ge,{key:1},[b("p",BL,de(a.value),1),b("button",{"data-test":"provision-retry-btn",class:"px-6 py-2.5 rounded-lg bg-primary-600 text-white text-sm font-medium hover:bg-primary-500 transition-colors cursor-pointer",onClick:l}," Try again ")],64)):(w(),$(ge,{key:0},[d[0]||(d[0]=b("div",{class:"flex justify-center"},[b("div",{class:"animate-spin rounded-full size-6 border-2 border-theme-200 border-t-primary-500"})],-1)),b("p",FL,de(r.value),1)],64))])]))}});function HL(e){return e.hasToken?e.hasBot?e.isNewBot?e.provisionError?"error":e.botReady?"chat":"provisioning":"chat":"create":"auth"}var KL=["data-test-state"],WL={class:"flex items-center justify-between px-4 py-3 border-b border-theme-100"},qL={class:"text-sm font-medium text-theme-800"},JL={class:"flex-1 overflow-hidden"},GL={key:4,class:"flex flex-col items-center justify-center h-full p-6"},YL={class:"w-full max-w-xs space-y-6 text-center"},XL={class:"text-sm text-red-500"},QL={key:0,class:"border-t border-theme-100 px-4 py-2 text-center"},eV=["href"],tV=Pe({__name:"BotWidgetOnboard",props:{sdk:{},onClose:{type:Function}},setup(e){let t=e,n=t.sdk||Wl.getInstance({isDev:typeof window<"u"?window.location.hostname==="localhost"||window.location.hostname.includes("127.0.0.1"):!1}),i=qe(),r=G(!1),o=G(),a=G(!1),s=R(()=>i.value??n.currentBot.value),l=qe(),u=qe();mt(()=>s.value?.botId.value,x=>{if(!x||!s.value){l.value=void 0,u.value=void 0;return}let C=s.value;l.value=C,u.value=new rc({sdk:n,bot:C,chatStreamFn:async S=>{await n.chat.chatStreamAuthenticated({botId:x,orgId:C.computer.orgId.value,message:S.message,attachments:S.attachments?.map(A=>q0.parse(A)),conversationId:S.conversationId,history:S.history,onDelta:S.onDelta,onDone:S.onDone,onError:S.onError,onStatus:S.onStatus,onToolActivity:S.onToolActivity,onWorkingEnd:S.onWorkingEnd})}})},{immediate:!0});let d=R(()=>HL({hasToken:!!n.token.value,hasBot:!!s.value,isNewBot:a.value,botReady:r.value,provisionError:o.value})),p=R(()=>`${Qn(n.apiBase,n.isDev)}/`);function m(x){i.value=x,o.value=void 0,r.value=!1,a.value=!0}function f(){r.value=!0}function g(x){o.value=x}function v(){o.value=void 0,r.value=!1}return(x,C)=>(w(),$("div",{class:"size-full flex flex-col bg-theme-0","data-test":"onboard-widget","data-test-state":d.value},[b("div",WL,[b("span",qL,de(s.value?.name.value||"PageLines"),1),t.onClose?(w(),$("button",{key:0,class:"text-theme-400 hover:text-theme-600 transition-colors cursor-pointer",onClick:C[0]||(C[0]=S=>t.onClose?.())},[...C[1]||(C[1]=[b("svg",{xmlns:"http://www.w3.org/2000/svg",class:"size-5",viewBox:"0 0 20 20",fill:"currentColor"},[b("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)])])):ee("",!0)]),b("div",JL,[d.value==="auth"?(w(),Fe(OL,{key:0,sdk:Ae(n)},null,8,["sdk"])):ee("",!0),d.value==="create"?(w(),Fe(ML,{key:1,sdk:Ae(n),onCreated:m},null,8,["sdk"])):ee("",!0),d.value==="provisioning"&&s.value?(w(),Fe(ZL,{key:2,sdk:Ae(n),"computer-id":s.value.computerId.value,onReady:f,onError:g},null,8,["sdk","computer-id"])):ee("",!0),d.value==="chat"&&l.value&&u.value?(w(),Fe(bo,{key:3,"chat-controller":u.value,bot:l.value,variant:"light",class:"size-full"},null,8,["chat-controller","bot"])):ee("",!0),d.value==="error"?(w(),$("div",GL,[b("div",YL,[b("p",XL,de(o.value),1),b("button",{class:"px-6 py-2.5 rounded-lg bg-primary-600 text-white text-sm font-medium hover:bg-primary-500 transition-colors cursor-pointer",onClick:v}," Try again ")])])):ee("",!0)]),d.value==="chat"?(w(),$("div",QL,[b("a",{href:p.value,target:"_blank",class:"text-xs text-theme-400 hover:text-primary-600 transition-colors"}," Go to Dashboard \u2192 ",8,eV)])):ee("",!0)],8,KL))}}),rV={class:"relative size-16 rounded-full overflow-hidden"},nV=["src","alt"],iV={class:"flex items-center shrink-0 border-b border-theme-100 px-4 py-3"},oV={class:"flex items-center gap-3 flex-1 min-w-0"},aV=["src","alt"],sV={class:"min-w-0"},lV={class:"text-sm font-medium text-theme-900 truncate"},cV={class:"flex-1 overflow-hidden"},uV={class:"shrink-0 flex items-center justify-center border-t border-theme-100 py-1.5"},dV=["href"],pV=Ap(Pe({__name:"BotWidgetPopup",props:{sdk:{},handle:{},bot:{},context:{},firstMessage:{},position:{},chatController:{}},setup(e,{expose:t}){let n=e,i=G(!1),r=G(!1),o=qe(),{currentBot:a,currentContext:s,currentFirstMessage:l,update:u}=Xa(n),d=R(()=>({"bottom-left":"bottom-4 left-4 sm:bottom-6 sm:left-6","top-right":"top-4 right-4 sm:top-6 sm:right-6","top-left":"top-4 left-4 sm:top-6 sm:left-6","bottom-right":"bottom-4 right-4 sm:bottom-6 sm:right-6"})[n.position||"bottom-right"]),p=R(()=>({"bottom-left":"bottom left","top-right":"top right","top-left":"top left","bottom-right":"bottom right"})[n.position||"bottom-right"]),m=R(()=>({"bottom-left":"bottom-0 left-0","top-right":"top-0 right-0","top-left":"top-0 left-0","bottom-right":"bottom-0 right-0"})[n.position||"bottom-right"]);function f(C,S){n.chatController||o.value||(o.value=new rc({sdk:S,bot:C,context:s.value,firstMessage:l.value}))}mt(i,async C=>{if(!C||r.value)return;r.value=!0;let S=n.chatController||o.value;if(S)try{await S.startTextConversation()}catch(A){console.error("BotWidgetPopup: startTextConversation failed",A)}});function g(){i.value=!i.value}function v(){i.value=!0}function x(){i.value=!1}return t({toggle:g,open:v,close:x,update:u}),(C,S)=>(w(),Fe(Rp,{sdk:e.sdk,handle:e.handle,bot:Ae(a),context:Ae(s),"first-message":Ae(l)},{default:ot(({bot:A,sdk:j})=>[A?(w(),$("div",{key:0,ref:()=>f(A,j),class:V(["fixed z-[999999] pointer-events-auto",d.value])},[b("div",{class:V(["widget-container transform-gpu overflow-hidden",i.value?"w-[min(400px,calc(100vw-2rem))] h-[min(600px,calc(100vh-4rem))] shadow-[0_24px_80px_-12px_rgba(0,0,0,0.2),0_8px_24px_-8px_rgba(0,0,0,0.08)]":"w-16 h-16 shadow-[0_8px_32px_-4px_rgba(0,0,0,0.15)] cursor-pointer"]),style:Se({"border-radius":i.value?"16px":"32px","transform-origin":p.value}),onClick:S[0]||(S[0]=O=>i.value?void 0:g())},[b("div",{class:V(["absolute size-16 transition-opacity duration-200",[m.value,i.value?"opacity-0 pointer-events-none":"opacity-100"]])},[b("div",rV,[b("img",{src:Ae(sE)(A.toData()),alt:`${A.name.value} bot`,class:"h-full w-full object-cover pointer-events-none",width:"64",height:"64"},null,8,nV),S[1]||(S[1]=b("div",{class:"absolute inset-0 pointer-events-none bg-gradient-to-br from-transparent via-black/10 to-black/40 opacity-60"},null,-1))])],2),b("div",{class:V(["absolute inset-0 flex flex-col bg-white transition-opacity duration-250",i.value?"opacity-100":"opacity-0 pointer-events-none"])},[b("div",iV,[b("div",oV,[b("img",{src:A.avatarUrl.value,alt:A.name.value,class:"size-8 rounded-full object-cover shrink-0"},null,8,aV),b("div",sV,[b("div",lV,de(A.displayName.value),1),b("div",{class:V(["text-[11px]",A.desiredStatus.value==="active"?"text-green-500":"text-theme-400"])},de(A.desiredStatus.value==="active"?"Online":"Offline"),3)])]),b("button",{class:"cursor-pointer flex items-center justify-center p-2 -mr-1 rounded-xl text-theme-400 hover:text-theme-600 hover:bg-theme-50 transition-colors",onClick:It(x,["stop"])},[...S[2]||(S[2]=[b("i",{class:"size-5 i-tabler-x"},null,-1)])])]),b("div",cV,[r.value?(w(),Fe(bo,{key:0,"chat-controller":e.chatController||o.value,bot:A,variant:"light","setup-hint":"","empty-state-message":"Send a message to get started"},null,8,["chat-controller","bot"])):ee("",!0)]),b("div",uV,[b("a",{href:Ae(Vl).urls.app,target:"_blank",rel:"noopener",class:"text-[10px] text-theme-300 hover:text-theme-400 transition-colors"}," Learning Bot\u2122 by PageLines ",8,dV)])],2)],6),A.desiredStatus.value==="active"?(w(),$("div",{key:0,class:V(["absolute top-[5%] right-[5%] transition-opacity duration-200 pointer-events-none",i.value?"opacity-0":"opacity-100"])},[...S[3]||(S[3]=[b("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"5s"}},null,-1),b("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"},null,-1)])],2)):ee("",!0)],2)):ee("",!0)]),_:1},8,["sdk","handle","bot","context","first-message"]))}}),[["__scopeId","data-v-5674cae2"]]),Cn=lo("PLWidget"),ac=class wo{static create(t){return new wo(t)}static collectPageContext(){if(typeof window>"u"||typeof document>"u")return"";let t=[],n=window.location.href;n&&t.push(`Page URL: ${n}`);let i=document.title;i&&t.push(`Page title: ${i}`);let r=document.querySelector('meta[name="description"]')?.getAttribute("content");r&&t.push(`Page description: ${r}`);let o=document.querySelector('meta[property="og:title"]')?.getAttribute("content");o&&o!==i&&t.push(`OG title: ${o}`);let a=document.referrer;a&&t.push(`Referrer: ${a}`);let s=window.location.pathname;return s&&s!=="/"&&t.push(`Path: ${s}`),t.join(`
|
|
164
164
|
`)}constructor(t){q(this,"app",null),q(this,"shadowRoot",null),q(this,"widgetInstance",null),q(this,"config",void 0),q(this,"sdk",void 0),q(this,"container",null);let n=[wo.collectPageContext(),t.context||""].filter(Boolean).join(`
|
|
165
165
|
|
|
166
|
-
`);if(this.config={...t,context:n||void 0},!t.mode)throw Error("PLWidget: mode is required");if(!t.handle&&!t.bot&&t.mode!=="onboard")throw Error("PLWidget: either handle or bot is required");if(t.mode!=="modal"&&t.mode!=="button"&&t.mode!=="onboard"&&!t.el)throw Error(`PLWidget: el (HTMLElement) is required for ${t.mode} mode`);if(t.mode==="modal"||t.mode==="onboard"){let r=t.handle||t.bot?.botId.value||"default",o=wo.modalInstances.get(r);o&&(Cn.warn(`Destroying existing modal widget for: ${r}`),o.destroy()),wo.modalInstances.set(r,this)}let i=typeof window<"u"?window.location.hostname==="localhost"||window.location.hostname.includes("127.0.0.1"):!1;this.sdk=Wl.getInstance({isDev:i,...t.apiBase&&{apiBase:t.apiBase}}),Cn.info(`Initializing ${t.mode} mode for @${t.handle||t.bot?.handle} (isDev: ${i})`),this.init().catch(r=>{Cn.error("PLWidget init failed",{error:r})})}async init(){if(this.config.mode==="button"){await this.mountMode(this.config.el);return}this.config.mode==="modal"||this.config.mode==="onboard"?(this.container=document.createElement("div"),this.container.id=`pagelines-modal-${this.config.handle||this.config.bot?.botId.value||"widget"}`,this.container.style.cssText="position: fixed; inset: 0; z-index: 9999;",document.body.appendChild(this.container),this.shadowRoot=this.container.attachShadow({mode:"open"})):this.shadowRoot=this.config.el.attachShadow({mode:"open"});let t=document.createElement("style");t.textContent=$L,this.shadowRoot.appendChild(t);let n=document.createElement("div");n.id="pagelines-widget-root",n.style.cssText="width: 100%; height: 100%;",this.shadowRoot.appendChild(n),await this.mountMode(n)}async mountMode(t){let{mode:n}=this.config;if(n==="inline"){let{default:i}=await Promise.resolve().then(()=>(DE(),OE));this.app=Ml(i,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly}),this.widgetInstance=this.app.mount(t)}else if(n==="button"){if(!this.config.el)throw Error("PLWidget: el is required for button mode");let i=this.config.el;i.style.cursor="pointer";let r=()=>{wo.create({mode:"modal",handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly,onClose:this.config.onClose})};i.addEventListener("click",r),this.destroy=()=>{i.removeEventListener("click",r),Cn.info(`Button mode widget destroyed for handle: ${this.config.handle}`)}}else if(n==="popup")this.app=Ml(pV,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,position:this.config.position||"bottom-right",chatOnly:this.config.chatOnly,chatController:this.config.chatController}),this.widgetInstance=this.app.mount(t);else if(n==="modal"){let{default:i}=await Promise.resolve().then(()=>(RE(),PE));this.app=Ml(i,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly,onClose:()=>{this.config.onClose&&this.config.onClose(),this.destroy()}}),this.widgetInstance=this.app.mount(t)}else if(n==="onboard")this.app=Ml(tV,{sdk:this.sdk,onClose:()=>{this.config.onClose&&this.config.onClose(),this.destroy()}}),this.widgetInstance=this.app.mount(t);else throw Error("PLWidget: unsupported mode")}update(t){this.widgetInstance?.update?(this.widgetInstance.update(t),Cn.info(`Widget updated: ${Object.keys(t).join(", ")}`)):Cn.warn("Widget instance does not support update()")}toggle(){this.widgetInstance?.toggle?this.widgetInstance.toggle():Cn.warn("Widget mode does not support toggle()")}open(){this.widgetInstance?.open?this.widgetInstance.open():Cn.warn("Widget mode does not support open()")}close(){this.widgetInstance?.close?this.widgetInstance.close():Cn.warn("Widget mode does not support close()")}destroy(){if(this.app&&(this.app.unmount(),this.app=null),this.shadowRoot&&(this.shadowRoot.innerHTML="",this.shadowRoot=null),this.config.mode==="modal"||this.config.mode==="onboard"){this.container&&(this.container.remove(),this.container=null);let t=this.config.handle||this.config.bot?.botId.value||"default";wo.modalInstances.delete(t)}this.widgetInstance=null,Cn.info(`Widget destroyed for handle: ${this.config.handle||this.config.bot?.handle}`)}};q(ac,"modalInstances",new Map);var Kr={info:(...e)=>console.log("[PLWidget]",...e),error:(...e)=>console.error("[PLWidget]",...e)},An=new Map,jE=!0,Qa=null;function Lp(e){if(An.has(e))return An.get(e)||null;let t=e.getAttribute("data-pagelines-bot"),n=e.getAttribute("data-mode");if(!t)return Kr.error("data-pagelines-bot requires a bot handle as its value"),null;if(!n||!["inline","button","popup","modal"].includes(n))return Kr.error("Invalid or missing data-mode. Must be: inline|button|popup|modal"),null;try{let i={el:e,mode:n,handle:t,context:e.getAttribute("data-context")||void 0,firstMessage:e.getAttribute("data-first-message")||void 0,buttonText:e.getAttribute("data-button-text")||void 0,buttonIcon:e.getAttribute("data-button-icon")||void 0,position:e.getAttribute("data-position")||"bottom-right",chatOnly:e.hasAttribute("data-chat-only"),apiBase:e.getAttribute("data-api-base")||void 0},r=new ac(i);return An.set(e,r),Kr.info(` \u2713 Initialized ${n} widget for @${t}`),r}catch(i){return Kr.error(`Failed to initialize widget: ${i instanceof Error?i.message:String(i)}`),null}}function mV(){let e=document.querySelectorAll("[data-pagelines-bot]");e.length!==0&&(Kr.info(`Found ${e.length} data-pagelines-bot element(s)`),e.forEach(t=>{Lp(t)}))}function fV(e,t){let n=An.get(e);if(n){if(t==="data-pagelines-bot"){Kr.info("Handle changed, reinitializing widget"),n.destroy(),An.delete(e),Lp(e);return}if(t==="data-context"||t==="data-first-message"||t==="data-button-text"||t==="data-button-icon"){let i=e.getAttribute("data-context")||void 0,r=e.getAttribute("data-first-message")||void 0,o=e.getAttribute("data-button-text")||void 0,a=e.getAttribute("data-button-icon")||void 0;n.update({context:i,firstMessage:r,buttonText:o,buttonIcon:a}),Kr.info(`Updated widget: ${t}`)}}}function hV(){!jE||Qa||(Qa=new MutationObserver(e=>{e.forEach(t=>{if(t.type==="childList"&&(t.addedNodes.forEach(n=>{if(n.nodeType===Node.ELEMENT_NODE){let i=n;i.hasAttribute("data-pagelines-bot")&&Lp(i),i.querySelectorAll("[data-pagelines-bot]").forEach(o=>{Lp(o)})}}),t.removedNodes.forEach(n=>{if(n.nodeType===Node.ELEMENT_NODE){let i=n;An.has(i)&&(An.get(i)?.destroy(),An.delete(i),Kr.info("Widget removed from DOM, destroyed")),i.querySelectorAll("[data-pagelines-bot]").forEach(o=>{let a=An.get(o);a&&(a.destroy(),An.delete(o),Kr.info("Widget removed from DOM, destroyed"))})}})),t.type==="attributes"&&t.target.nodeType===Node.ELEMENT_NODE){let n=t.target;n.hasAttribute("data-pagelines-bot")&&t.attributeName&&fV(n,t.attributeName)}})}),Qa.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-pagelines-bot","data-context","data-first-message","data-button-text","data-button-icon"]}),Kr.info("MutationObserver enabled for dynamic widget detection"))}function UE(){jE=!1,Qa&&(Qa.disconnect(),Qa=null,Kr.info("Auto-detection disabled"))}if(typeof window<"u"){window.PLWidget=ac,window.PLWidgetAPI={disableAutoDetect:UE};let e=()=>{if(document.querySelector('script[src*="@pagelines/widget"]')?.getAttribute("data-pagelines-auto-detect")==="false"){UE(),Kr.info("Auto-detection disabled via script tag attribute");return}mV(),hV()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}var
|
|
166
|
+
`);if(this.config={...t,context:n||void 0},!t.mode)throw Error("PLWidget: mode is required");if(!t.handle&&!t.bot&&t.mode!=="onboard")throw Error("PLWidget: either handle or bot is required");if(t.mode!=="modal"&&t.mode!=="button"&&t.mode!=="onboard"&&!t.el)throw Error(`PLWidget: el (HTMLElement) is required for ${t.mode} mode`);if(t.mode==="modal"||t.mode==="onboard"){let r=t.handle||t.bot?.botId.value||"default",o=wo.modalInstances.get(r);o&&(Cn.warn(`Destroying existing modal widget for: ${r}`),o.destroy()),wo.modalInstances.set(r,this)}let i=typeof window<"u"?window.location.hostname==="localhost"||window.location.hostname.includes("127.0.0.1"):!1;this.sdk=Wl.getInstance({isDev:i,...t.apiBase&&{apiBase:t.apiBase}}),Cn.info(`Initializing ${t.mode} mode for @${t.handle||t.bot?.handle} (isDev: ${i})`),this.init().catch(r=>{Cn.error("PLWidget init failed",{error:r})})}async init(){if(this.config.mode==="button"){await this.mountMode(this.config.el);return}this.config.mode==="modal"||this.config.mode==="onboard"?(this.container=document.createElement("div"),this.container.id=`pagelines-modal-${this.config.handle||this.config.bot?.botId.value||"widget"}`,this.container.style.cssText="position: fixed; inset: 0; z-index: 9999;",document.body.appendChild(this.container),this.shadowRoot=this.container.attachShadow({mode:"open"})):this.shadowRoot=this.config.el.attachShadow({mode:"open"});let t=document.createElement("style");t.textContent=$L,this.shadowRoot.appendChild(t);let n=document.createElement("div");n.id="pagelines-widget-root",n.style.cssText="width: 100%; height: 100%;",this.shadowRoot.appendChild(n),await this.mountMode(n)}async mountMode(t){let{mode:n}=this.config;if(n==="inline"){let{default:i}=await Promise.resolve().then(()=>(DE(),OE));this.app=Ml(i,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly}),this.widgetInstance=this.app.mount(t)}else if(n==="button"){if(!this.config.el)throw Error("PLWidget: el is required for button mode");let i=this.config.el;i.style.cursor="pointer";let r=()=>{wo.create({mode:"modal",handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly,onClose:this.config.onClose})};i.addEventListener("click",r),this.destroy=()=>{i.removeEventListener("click",r),Cn.info(`Button mode widget destroyed for handle: ${this.config.handle}`)}}else if(n==="popup")this.app=Ml(pV,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,position:this.config.position||"bottom-right",chatOnly:this.config.chatOnly,chatController:this.config.chatController}),this.widgetInstance=this.app.mount(t);else if(n==="modal"){let{default:i}=await Promise.resolve().then(()=>(RE(),PE));this.app=Ml(i,{sdk:this.sdk,handle:this.config.handle,bot:this.config.bot,context:this.config.context,firstMessage:this.config.firstMessage,buttonText:this.config.buttonText,buttonIcon:this.config.buttonIcon,chatOnly:this.config.chatOnly,onClose:()=>{this.config.onClose&&this.config.onClose(),this.destroy()}}),this.widgetInstance=this.app.mount(t)}else if(n==="onboard")this.app=Ml(tV,{sdk:this.sdk,onClose:()=>{this.config.onClose&&this.config.onClose(),this.destroy()}}),this.widgetInstance=this.app.mount(t);else throw Error("PLWidget: unsupported mode")}update(t){this.widgetInstance?.update?(this.widgetInstance.update(t),Cn.info(`Widget updated: ${Object.keys(t).join(", ")}`)):Cn.warn("Widget instance does not support update()")}toggle(){this.widgetInstance?.toggle?this.widgetInstance.toggle():Cn.warn("Widget mode does not support toggle()")}open(){this.widgetInstance?.open?this.widgetInstance.open():Cn.warn("Widget mode does not support open()")}close(){this.widgetInstance?.close?this.widgetInstance.close():Cn.warn("Widget mode does not support close()")}destroy(){if(this.app&&(this.app.unmount(),this.app=null),this.shadowRoot&&(this.shadowRoot.innerHTML="",this.shadowRoot=null),this.config.mode==="modal"||this.config.mode==="onboard"){this.container&&(this.container.remove(),this.container=null);let t=this.config.handle||this.config.bot?.botId.value||"default";wo.modalInstances.delete(t)}this.widgetInstance=null,Cn.info(`Widget destroyed for handle: ${this.config.handle||this.config.bot?.handle}`)}};q(ac,"modalInstances",new Map);var Kr={info:(...e)=>console.log("[PLWidget]",...e),error:(...e)=>console.error("[PLWidget]",...e)},An=new Map,jE=!0,Qa=null;function Lp(e){if(An.has(e))return An.get(e)||null;let t=e.getAttribute("data-pagelines-bot"),n=e.getAttribute("data-mode");if(!t)return Kr.error("data-pagelines-bot requires a bot handle as its value"),null;if(!n||!["inline","button","popup","modal"].includes(n))return Kr.error("Invalid or missing data-mode. Must be: inline|button|popup|modal"),null;try{let i={el:e,mode:n,handle:t,context:e.getAttribute("data-context")||void 0,firstMessage:e.getAttribute("data-first-message")||void 0,buttonText:e.getAttribute("data-button-text")||void 0,buttonIcon:e.getAttribute("data-button-icon")||void 0,position:e.getAttribute("data-position")||"bottom-right",chatOnly:e.hasAttribute("data-chat-only"),apiBase:e.getAttribute("data-api-base")||void 0},r=new ac(i);return An.set(e,r),Kr.info(` \u2713 Initialized ${n} widget for @${t}`),r}catch(i){return Kr.error(`Failed to initialize widget: ${i instanceof Error?i.message:String(i)}`),null}}function mV(){let e=document.querySelectorAll("[data-pagelines-bot]");e.length!==0&&(Kr.info(`Found ${e.length} data-pagelines-bot element(s)`),e.forEach(t=>{Lp(t)}))}function fV(e,t){let n=An.get(e);if(n){if(t==="data-pagelines-bot"){Kr.info("Handle changed, reinitializing widget"),n.destroy(),An.delete(e),Lp(e);return}if(t==="data-context"||t==="data-first-message"||t==="data-button-text"||t==="data-button-icon"){let i=e.getAttribute("data-context")||void 0,r=e.getAttribute("data-first-message")||void 0,o=e.getAttribute("data-button-text")||void 0,a=e.getAttribute("data-button-icon")||void 0;n.update({context:i,firstMessage:r,buttonText:o,buttonIcon:a}),Kr.info(`Updated widget: ${t}`)}}}function hV(){!jE||Qa||(Qa=new MutationObserver(e=>{e.forEach(t=>{if(t.type==="childList"&&(t.addedNodes.forEach(n=>{if(n.nodeType===Node.ELEMENT_NODE){let i=n;i.hasAttribute("data-pagelines-bot")&&Lp(i),i.querySelectorAll("[data-pagelines-bot]").forEach(o=>{Lp(o)})}}),t.removedNodes.forEach(n=>{if(n.nodeType===Node.ELEMENT_NODE){let i=n;An.has(i)&&(An.get(i)?.destroy(),An.delete(i),Kr.info("Widget removed from DOM, destroyed")),i.querySelectorAll("[data-pagelines-bot]").forEach(o=>{let a=An.get(o);a&&(a.destroy(),An.delete(o),Kr.info("Widget removed from DOM, destroyed"))})}})),t.type==="attributes"&&t.target.nodeType===Node.ELEMENT_NODE){let n=t.target;n.hasAttribute("data-pagelines-bot")&&t.attributeName&&fV(n,t.attributeName)}})}),Qa.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-pagelines-bot","data-context","data-first-message","data-button-text","data-button-icon"]}),Kr.info("MutationObserver enabled for dynamic widget detection"))}function UE(){jE=!1,Qa&&(Qa.disconnect(),Qa=null,Kr.info("Auto-detection disabled"))}if(typeof window<"u"){window.PLWidget=ac,window.PLWidgetAPI={disableAutoDetect:UE};let e=()=>{if(document.querySelector('script[src*="@pagelines/widget"]')?.getAttribute("data-pagelines-auto-detect")==="false"){UE(),Kr.info("Auto-detection disabled via script tag attribute");return}mV(),hV()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}var fK=ac;})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pagelines/widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.931",
|
|
4
4
|
"description": "Embeddable PageLines agent widget for any website",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/widget.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"vue-tsc": "3.3.11"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@pagelines/sdk": "1.0.
|
|
48
|
+
"@pagelines/sdk": "1.0.931"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"dev": "vite --config vite.config.widget.ts",
|